Best Practices

Listed below are the common best practices for HTTP/gRPC:

  • Reconnection during connection failures: In case of any errors on the HTTP/GRPC channels, partners are expected to handle the errors on their end and follow the standard retry policies. We recommend you to implement exponential retry with a 5 minutes time reset to avoid error overheads. Partners are also expected to use the fromTimestamp parameter to retrieve old data during this error period.

  • De-duplication of events: Duplication of events may occur due to streams failures/retries/any other cases. Partners are expected to handle de-duplication of events on their end using the recordUid field.

  • Privacy Settings: In the Partner documentation, we recommend you to read the App Config > Privacy Settings and decide the PII fields based on their real need or use case, instead of opting to receive all event details. For example, if your use case needs to uniquely identify a device, you may not need to receive the MAC address details, instead each event carries the deviceId(generated by Cisco Spaces) and that may be adequate.

  • Events Settings: In the Partner documentation, we recommend you to read the App Config > Events Settings section and select only the events that you are interested in, instead of selecting all event types. For example: if your use case deals with locating the current physical location on a floor, you might only need the Device Location Updates, App Activation, and the Location Change events type details.

  • Location Settings: Select only the desired Location Type settings instead of selecting all event types. For example, if your use case deals with floor location, you might only need the Floor Location Type event details. Refer to the Location Settings section for more details.