Aller au contenu
Livstick Développeurs

Avant de lire cette page

Lisez d’abord les références Authentification et Conteneurs de la v3. La v3.1 utilise les mêmes clés Bearer et la même enveloppe d’erreur ; les différences sont décrites ici. Clés d’API, scopes et contraintes de plateforme

URL de base et plateformes

Toutes les routes de la v3.1 se trouvent sous le chemin de base /api/v3.1, sur l’hôte de l’API client qui vous est communiqué lors de l’onboarding. Le chemin de base de la v3.1 ne partage aucune route avec /api/v3 : un appel à /api/v3.1/containers n’atteint jamais un handler de la v3, et un appel v3 n’atteint jamais un handler de la v3.1.

http
https://<client-api-host>/api/v3.1/containers
Authorization: Bearer liv_<prefix>_<secret>
  • La v3.1 ne sert que les plateformes V3. Une clé dont la plateforme n’est pas sur l’application utilisateur V3 reçoit 403 PLATFORM_NOT_V3.
  • Un conteneur créé via la v3.1 est marqué comme créé par l’API. Un conteneur créé par la v3 ou par l’ancienne stack n’est pas visible depuis la v3.1, et un conteneur v3.1 n’est pas visible depuis la v3.
  • Votre clé doit porter exactement une contrainte de plateforme. Une clé sans contrainte, ou avec plusieurs, reçoit 403 INVALID_PLATFORM_CONSTRAINTS.

Différences avec la v3

La plupart des appels ressemblent à leurs équivalents v3. Voici les changements qu’un intégrateur doit anticiper.

La v3 et la v3.1 comparées
Sujet v3 v3.1
Chemin de base /api/v3 /api/v3.1
Mode d’un conteneur Non défini par l’API Obligatoire à la création (single ou gallery), fixé pour toute la vie du conteneur
Identité d’un message Conteneur et urid Conteneur et mrid, votre propre référence, unique au sein du conteneur
Accès à l’enregistrement Clé d’édition et lien d’enregistrement Jeton d’enregistrement (rt_…) émis par votre serveur, avec mise en attente facultative jusqu’au paiement
Accès à la lecture urid Jeton de visualisation (vt_…) émis par votre serveur, éventuellement limité à un mrid
Notifications Envoyées par les appels notify et unlock Réglées par public à la création : organisateur, contributeurs, destinataire
Événements Non disponible Webhooks signés, envoyés au moins une fois
Liste des messages Non disponible GET /containers/{crid}/messages, avec des champs limités par messageAccess

Toutes les routes

Le tableau liste chaque route de la v3.1, le scope dont sa clé a besoin et la page qui la documente. Une route absente de ce tableau n’existe pas en v3.1.

Routes de l’API v3.1
Méthode Chemin Scope Documentée dans
GET /health aucun Cette page
POST /containers containers:write Conteneurs
GET /containers containers:read Conteneurs
GET /containers/{crid} containers:read Conteneurs
PATCH /containers/{crid} containers:write Conteneurs
POST /containers/{crid}/notify containers:notify Conteneurs
POST /containers/{crid}/unlock containers:unlock Conteneurs
GET /containers/{crid}/qrcode containers:qrcode Conteneurs
GET /containers/{crid}/card containers:card Conteneurs
GET /containers/{crid}/messages messages:read Messages et jetons
GET /containers/{crid}/messages/{mrid} messages:read Messages et jetons
POST /containers/{crid}/messages/{mrid}/release messages:publish Messages et jetons
DELETE /containers/{crid}/messages/{mrid} messages:publish Messages et jetons
POST /containers/{crid}/record-tokens tokens:record Messages et jetons
POST /containers/{crid}/view-tokens tokens:view Messages et jetons
GET /webhooks/deliveries webhooks:read Webhooks
GET /docs/doc.json aucun Cette page

Erreurs

Les erreurs utilisent l’enveloppe de la v3 : un objet avec un code en majuscules et un message en anglais. Lisez le code, pas le texte du message.

json
{
  "error": {
    "code": "MODE_MISMATCH",
    "message": "Container is a single-message container; a contributor token cannot be issued."
  }
}
Codes propres à la v3.1
Code Statut Signification
PLATFORM_NOT_V3 403 La plateforme de la clé n’est pas servie par la v3.1.
IMMUTABLE_FIELD 400 mode, ou gallery.mode, a été envoyé dans un PATCH. Le mode est fixé à la création.
CRID_IN_USE 409 Le crid appartient à un conteneur que la v3.1 n’a pas créé.
MODE_MISMATCH 409 Le rôle ne correspond pas au conteneur : un jeton organisateur pour un conteneur dont le message principal a un autre mrid, ou un jeton contributeur pour un conteneur single.
GALLERY_CLOSED 409 Un jeton d’enregistrement a été demandé pour une galerie fermée.
GALLERY_NOT_EMPTY 409 Suppression du message principal d’une galerie alors que d’autres messages y restent.
MESSAGE_REJECTED 409 Le message a été rejeté par la modération et ne peut pas être supprimé via l’API.
MESSAGE_MISSING 409 notify a été appelé avant qu’un message soit listé.
RATE_LIMITED 429 Trop d’appels pour cette clé. Espacez vos appels, puis réessayez.