Passer au contenu principal

Une API asynchrone

Une vente se soumet, puis s’achève plus tard. La réponse à POST /v1/ventes dit seulement si la vente est prise ; son issue arrive par le rappel, ou par GET /v1/ventes/{uuid}.

L’uuid, votre filet de sécurité

  • Générez un UUID v4 pour chaque vente, et enregistrez-le avant l’appel.
  • En cas de doute (délai dépassé, erreur 5xx), renvoyez la même vente avec le même uuid : DOUBLON_IGNORE dit qu’elle était arrivée.
  • Le même uuid pour une autre vente reçoit 409 UUID_REUTILISE.
  • Seul NON_TROUVEE, à la consultation, prouve qu’une vente n’existe pas.
Un délai dépassé ou une erreur 5xx n’est jamais un échec : la vente a peut-être été prise. Renvoyez-la avec le même uuid, ou consultez-la.

Les rappels

Quand une vente atteint son statut final, Umeme envoie un POST en HTTPS à votre URL de rappel. Répondez 200 ; sinon, Umeme réessaie huit fois en 25 minutes :
0:001ʳᵉ
1:002ᵉ
2:003ᵉ
5:004ᵉ
10:005ᵉ
15:006ᵉ
20:007ᵉ
25:008ᵉ
Chaque tentative attend 10 s la connexion et 30 s la réponse. Ensuite, le rappel se renvoie à la demande pendant 90 jours. Chaque rappel porte un identifiant d’événement, le même à chaque tentative : il vous sert à écarter les doublons. Chaque rappel est signé par la clé privée d’Umeme, selon la RFC 9421. Vous le vérifiez avec la clé publique que sert GET /v1/cle-publique : voir Recevoir et vérifier les rappels.
Umeme ne promet aucune adresse IP de départ pour les rappels : la signature est votre seule garantie d’origine.

Montants et heures

Les montants sont en dollars US, en nombre décimal, deux décimales au plus : 5, 12.5. Les heures sont en UTC, au format ISO 8601 : 2026-11-07T08:26:44Z.

Codes et messages

Chaque refus et chaque échec porte un code stable et un message en français. Comparez les codes, jamais les messages : un message se corrige, un code ne se renomme jamais. Voir Codes d’erreur.

Ce qui peut changer

Umeme peut ajouter des champs, des codes ou des routes : ignorez ce que vous ne connaissez pas. Rien n’est retiré ni renommé sans une nouvelle version, annoncée au Journal des changements.