Aller au contenu

Référence API

Référence API

Onze points de terminaison répartis sur cinq ressources. Chacun est du JSON sur HTTPS, authentifié par une clé API.

URL de base

https://api.smsend.net/public/v1

Chaque chemin de cette référence est relatif à cette base. La version fait partie du chemin et n’est jamais négociée par un en-tête.

Enveloppe de réponse

Les réponses réussies encapsulent leur charge utile dans un objet data. Les échecs encapsulent la leur dans un objet error. Rien n’est jamais renvoyé à la racine.

Réponse
{
  "data": {
    "batch_id": "01K3F7XQZ8V2N4M6P8R0T5CJWE",
    "status": "QUEUED"
  }
}
Erreurs
{
  "error": {
    "code": "INSUFFICIENT_FUNDS",
    "message": "Wallet balance 0 XOF is below the 23700 XOF required.",
    "retryable": false,
    "detail": {},
    "request_id": "01K3F7XQZ8V2N4M6P8R0T5CJWE"
  }
}

La seule exception est le document OpenAPI, renvoyé sans enveloppe parce que tous les outils qui le consomment attendent la spécification à la racine.

Points de terminaison

Compatibilité ascendante

SMSend ajoute des éléments à la version actuelle sans changement de version. Deux obligations pèsent sur votre client, et les deux sont mises à contribution quand des changements non cassants sont livrés :

  • Tolérez les champs inconnus. Des champs optionnels sont ajoutés aux réponses et aux charges utiles des webhooks sans changement de version ; un désérialiseur strict qui les rejette cassera un jour où rien n’avait été annoncé.
  • Tolérez les valeurs d’énumération inconnues. De nouveaux statuts, motifs de rejet et types d’événements sont ajoutés sans changement de version : aiguillez donc avec une branche par défaut plutôt qu’en levant une exception.