Aller au contenu

Ressources

Spécification OpenAPI

La description de l’API lisible par une machine, servie en direct par l’API elle-même.

Ouvrir la spécificationhttps://api.smsend.net/public/v1/openapi.json

La récupérer

Le document est en OpenAPI 3.1.0, renvoyé sans enveloppe à la racine parce que c’est ce qu’attendent tous les outils.

curl https://api.smsend.net/public/v1/openapi.json -o smsend-openapi.json

Les réponses sont cachables pendant cinq minutes. Récupérez-la dans votre build plutôt qu’à chaque démarrage de l’application.

Générer un client

N’importe quel générateur OpenAPI la consommera. Traitez le code généré comme un point de départ : le générateur ne peut exprimer ni le contrat d’idempotence, ni la vérification de signature, ni le fait qu’un 202 peut porter des destinataires rejetés.

npx @openapitools/openapi-generator-cli generate \
  -i https://api.smsend.net/public/v1/openapi.json \
  -g typescript-fetch \
  -o ./smsend-client

Extensions SMSend

Le document porte trois extensions propriétaires contenant des détails de contrat pour lesquels OpenAPI n’a pas de champ standard :

  • Chaque code d’erreur avec son statut HTTP et son caractère réessayable ou non — le même tableau que le guide des erreurs, sous forme lisible par une machine.
  • La spécification de signature, le contrat d’ordre, la politique de livraison et de reprise, et la liste des événements.
  • La version actuelle et les versions prises en charge, la politique de dépréciation, et ce qui compte ou non comme changement cassant.

En cas de désaccord entre les deux, croyez ce site