Modalities

Communication modality with the Service

Communication : Socket ou WebSocket

The connections are equally made via Socket or Websocket. The protocol used is strictly identical. The Socket connection and the WebSocket connection each have a different dedicated port.



Note:
The connection is made via Socket or WebSocket to be persistent : The Targets receive spontaneous network events when the user is requesting it.


Tip:
Websockets are allowing to test the use of the service very quickly, in Javascript for example.

Protocol format : JSON

The communication format is JSON.
In accordance with JSON norm, the packages have to be encoded in UTF-8.

Messages Identification

All messages are JSON objects. They automatically contain a “type” field specifying the nature of the message.
For example :

identityAll -> Service
   {
       "type" : "identity"
       //...
   }

Confirmations

Each message sent to the server/host leads to an immediate acknowledgment of receipt.
The confirmation type always is :
"confirm_" + the package type which has been well received.


confirm_identityService -> All
   {
       "type" : "confirm_identity"
       //...
   }

Note :
Those confirmation messages will contain information you already have. The purpose is to validate the smooth running of the dialogue at each stage.

API connection address :

TCP : golem.ai:3003
Web Socket : golem.ai:3004/ws
Web Socket Sécurisé (WSS) : golem.ai:3005/ws
HTTP : golem.ai:3004/http
HTTPS : golem.ai:3005/http