Contagt Realtime API
Seit API Version 1.76.0 bietet contagt einen neue
Realtime API
basierend auf Websockets.
Damit können subscriptions
auf RPCs registriert werden, die sofort und kontinuierlich Ergebnisse
zurückliefern, wenn sich ein relevanter Wert ändert.
Welche RPCs echtzeitfähig sind, können Sie der Referenz entnehmen.
Beispiele
Im folgenden soll mit einem einfachen Beispiel die Verwendung der Realtime API
dargestellt werden.
Subscription
Am Beispiel der RequestSharedLocation
.
request ->
{
"apiKey": "<API_KEY>",
"function": "RequestSharedLocation",
"userToken": "<USER_TOKEN>",
"params": {
"userToken": "<PARAM>",
"sharedSecret": "<PARAM>",
"alias": "My_Test_Asset"
}
}
Die Realtime API
antwortet immer mit einem Subscription-Handle dass aus 16 alphanumerischen Zeichen besteht.
<- response
{
"subscription_handle": "<SUBSCRIPTION_HANDLE>"
}
Wenn ein RPC nicht Echtzeitfähig ist, wird ein entsprechender Fehler zurückgegeben.
Unsubscribe
Mit diesem subscription_handle
kann der Client sich auch von einem RPC de-registrieren, ohne die Verbindung schließen zu müssen.
request ->
{
"apiKey": "<API_KEY>",
"function": "Unsubscribe",
"userToken": "<USER_TOKEN>",
"params": {
"subscription_handle": "<SUBSCRIPTION_HANDLE>"
}
}
<- response
{
"unsubscribed": true,
"subscription_handle": "<SUBSCRIPTION_HANDLE>"
}
Die API antwortet nun mit einer Erfolgsmeldung (falls das Handle gefunden wurde) und liefert auch das entsprechende Handle zurück, es sei denn, es wurde ohne solches aufgerufen.