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êmeuuid:DOUBLON_IGNOREdit qu’elle était arrivée. - Le même
uuidpour une autre vente reçoit409 UUID_REUTILISE. - Seul
NON_TROUVEE, à la consultation, prouve qu’une vente n’existe pas.
Les rappels
Quand une vente atteint son statut final, Umeme envoie unPOST 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ᵉ
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.

