Évènements

File d'attente des évènements

Le service COMHUB gère une liste d'événements à destination des utilisateurs Teambox. Ces événements sont stockés pendant un certain temps sur le serveur. Par exemple, lorsque le poste d'un utilisateur sonne, l'événement « ringing » est généré pour cet utilisateur; cet événement peut par exemple être exploité par un logiciel client pour déclencher une action de montée de fiche.

Il est important de bien noter que la gestion des événements est indépendante des éventuelles connexions au service COMHUB: il est tout a fait possible de récupérer un événement lorsque la connexion COMHUB est ouverte après la génération de cet événement. De même, il est tout à fait possible d'ouvrir plusieurs connexions COMHUB et de récupérer ces événements sur chacune d'elles.

Seule la durée de conservation des événements joue un rôle sur leur accessibilité, et cette durée de conservation dépend entre autre de la nature de l'événement. Par exemple, on ne conserve pas les événements « ringing » très longtemps car cela n'a pas de sens.

Format des évènements

Chaque événement est une liste de couples «champ=valeur » ; tous les événements ont en commun les champs suivants:

Champ Signification
type Type de l'événement (chaîne de caractères)
seq Numéro se séquence de l'événement: ce numéro identifie de manière unique l'événement sur le système COMHUB ; plus le numéro est élevé, plus l'évènement est récent. Ce champ est utile pour naviguer dans la liste des événements disponibles. Les numéros de séquence sont discontinus: on peut recevoir les événements consécutifs #1023 puis #2036 (sans rien entre les deux).
time Date (format numérique EPOCH) à laquelle l'événement à été généré par le service COMHUB. Cette date est exprimée dans le timezone du serveur
category Sous système associé à l'évenement (ex: « call » pour la gestion des appels)

Requête « nextevent » - boucle événementielle

La requête « nextevent » permet de récupérer un événement à partir d'un numéro de séquence donné.

Le numéro de séquence peut être omis. Dans ce cas, on retournera une liste de tous les événements disponibles pour le user. Depuis une application cliente, la gestion des événements peut s'effectue schématiquement de cette manière:

      $seq=0
boucle   
	récupérer les événements a partir de $seq
	conserver le numéro de séquence du dernier événement récupéré dans $seq
	traiter les événements reçus  
fin-boucle
  

Notes:

Avertissement

Il est possible que vous observiez des informations non documentées dans les évènements émis par un système COMHUB ; il est important de ne jamais se baser sur l'existence de ces informations sont le contenu peu varier d'une version à l'autre, ou simplement être supprimé.