clientCorrelator parameter usage in REST API payloads

When you review the Real-Time Communications (RTC) API details on the AT&T API Marketplace (APIM) https://apimarket.att.com you should be observing a common required request body parameter called clientCorrelator.

clientCorrelator is a value always provided by client side, APIM does not set any. Think about that value as a MAC address or any type of device identifier for APIM. Some use cases that clientCorrelator is crucial:

  • Query active calls on a specific device. Same user can have multiple devices but interested in just one of them to query (after a restart maybe).
  • When a notification comes to APIM, APIM does not send the notification to mobile push channel if there is a websocket channel with same clientCorrelator exists (namely client in foreground – no need for push).
  • APIM has limits for subscriptions per user, considering clientCorrelator as a distinct subscription for any service. If there is a new subscription request comes with an existing clientCorrelator, that existing subscription is overridden, it is not treated as a new subscription (so POST with an existing clientCorrelator is treated as PUT against the individual mapping resource).

Client is free to change it and responsible with the lifecycle of that, considering the impacts.
APIM does not enforce a format other then expecting a string value. For the apps that does not involve multiple clients per same user, keeping value of clientCorrelator as a static string would be an option.

You can find more information on the AT&T API Marketplace Developer Documentation pages https://apimarket.att.com/developer

3 Likes