États des conteneurs et des messages
Un conteneur et le message qu’il contient répondent à deux questions différentes, posées par deux acteurs différents, à deux moments différents. Confondre les deux états est l’erreur d’intégration la plus courante — cette page les distingue clairement.
Avant cette page
Cette page suppose que vous savez déjà ce que sont un conteneur et un message. Conteneurs et messages
Deux questions, deux machines à états
Le conteneur répond à la question de votre intégration : peut-on encore enregistrer ? Le message répond à celle du destinataire : peut-il le voir ? Rien n’oblige ces deux états à évoluer ensemble — un conteneur peut rester recording_open un moment après que le message qu’il contient a déjà été mis à disposition, et un conteneur peut se fermer alors que le message est encore pending_release.
État du conteneur : l’enregistrement est-il encore ouvert ?
ContainerState répond à une question sur l’enregistreur, pas sur la remise. Il prend deux valeurs.
| État | Signification | Ce que vous pouvez faire |
|---|---|---|
| recording_open | Le conteneur accepte encore un enregistrement. | Affichez l’enregistreur. L’expéditeur peut encore enregistrer ou réenregistrer. |
| recording_closed | L’enregistrement est terminé pour ce conteneur. | Ne proposez plus l’enregistreur. Affichez plutôt la lecture ou un aperçu. |
État du message : le destinataire peut-il le voir ?
MessageState répond à une question sur la remise au destinataire, que l’enregistrement soit encore ouvert ou non. Il prend quatre valeurs.
| État | Signification | Ce que vous pouvez faire |
|---|---|---|
| pending_release | Le message existe mais n’a pas encore été mis à disposition du destinataire. | Patientez, ou déclenchez vous-même la remise avec notify ou unlock. |
| released | Le destinataire peut désormais voir le message. | Considérez le message comme remis dans votre propre suivi. |
| delivery_triggered | La remise a été déclenchée — notify ou unlock a été appelé. | N’appelez pas de nouveau notify ou unlock ; patientez plutôt que de redéclencher la remise. |
| unknown | L’état du message n’a pas pu être déterminé. | Ne présumez de rien — vérifiez à nouveau plutôt que d’annoncer au destinataire que son message est prêt. |
Lire les deux états en un seul appel
Inutile de faire deux requêtes pour répondre aux deux questions. GET /containers/{crid} renvoie en un seul appel l’état actuel du conteneur et celui du message qu’il contient.
curl https://client-api.v5.livstick.com/api/v3/containers/{crid} \
-H "Authorization: Bearer {ACCESS_TOKEN}"