Aller au contenu
Livstick Développeurs

Vous cherchez le comportement des relances et des limites de débit ?

La comparaison des enveloppes v3 et 2.1, ainsi que les limites de débit communes, sont traitées dans la page de concept sur les erreurs et les relances. Cette page-ci recense les codes un par un. Erreurs, relances et limites de débit

L’enveloppe d’erreur

Tout échec v3 prend cette forme :

json
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Container not found"
  }
}

Codes

Une ligne par code — sa cause la plus probable, et ce qu’il faut corriger.

Codes d’erreur v3
Code Cause probable Solution
NOT_FOUND Le crid, l’identifiant de message ou une autre ressource du chemin n’existe pas. Vérifiez l’identifiant envoyé — une faute de frappe ou un crid périmé en est la cause habituelle.
NO_MESSAGE Le conteneur existe, mais aucun message n’y a encore été enregistré. Attendez la fin de l’enregistrement, ou vérifiez que le widget a bien associé un message à ce crid.
MESSAGE_MISSING L’opération appelée exige un message enregistré, et il n’y en a aucun. Même cause que NO_MESSAGE, sur une opération qui ne peut pas aboutir sans message — vérifiez que l’enregistrement est terminé avant de l’appeler.
DATA_INVALID Le corps de la requête ne correspond pas à la structure attendue par l’endpoint. Comparez les champs requis et leurs types à la référence de cette opération, y compris les objets imbriqués comme sender ou recipient.
EMPTY_UPDATE Une requête PATCH a été envoyée sans aucun champ à mettre à jour. Incluez au moins un champ dans le corps de la requête — un corps vide ou absent est rejeté, et non traité comme une opération sans effet.
VALIDATION_ERROR La requête a échoué à la validation pour une raison que DATA_INVALID ne couvre pas — souvent une valeur hors de la plage ou de l’énumération autorisée. Lisez le champ message pour connaître la règle en échec ; il nomme le champ concerné.
FORBIDDEN La clé s’est authentifiée, mais ses scopes ou sa contrainte de plateforme ne couvrent pas cette requête. Vérifiez les scopes et la contrainte de plateforme de la clé — la clé elle-même est valide, elle n’a simplement pas le droit de faire cela.
UNAUTHORIZED La clé est absente, inconnue, expirée ou révoquée. Vérifiez que l’en-tête Authorization est présent et bien formé, puis consultez le statut de la clé dans le portail client.

Ce qui peut être rejoué sans risque

Tous les appels ne se relancent pas avec la même assurance.

  • La création de conteneur est idempotente sur le crid que vous fournissez — la rejouer renvoie les liens du conteneur existant, sans en créer un second ni le modifier.
  • notify et unlock ne sont pas idempotents — rejouer l’un ou l’autre redéclenche son effet, au lieu de renvoyer sans conséquence le même résultat.