Ingestion d'événements
Envoyez un batch de 1 à 100 événements clients. Chaque event_id sert de clé d'idempotence — les doublons sont ignorés sans erreur.
POST
https://zedcheckout.com/api/v1/eventsEssentielEnvoyez un batch de 1 à 100 événements clients. Chaque event_id sert de clé d'idempotence — les doublons sont ignorés sans erreur.
Auth — X-API-Key
Catégorie — Events
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
| events | array | ✓ | Liste des événements (min 1, max 100) |
| event_id | string | ✓ | ID unique côté client (idempotence) |
| customer_id | string | ✓ | Identifiant client dans votre système |
| event_type | string | ✓ | Type d'événement (voir Types d'événements) |
| occurred_at | datetime | ✓ | Date ISO8601 UTC de l'événement |
| value | number | — | Montant monétaire (≥ 0) |
| data | object | — | Métadonnées libres (max 64 Ko) |
Headers
| Nom | Type | Requis | Description |
|---|---|---|---|
| X-API-Key | string | ✓ | Clé API du tenant |
| Content-Type | string | ✓ | application/json |
Exemples
Corps de requête
1{2 "events": [{3 "event_id": "evt_20260515_abc123",4 "customer_id": "cust_789",5 "event_type": "order_completed",6 "occurred_at": "2026-05-15T10:30:00Z",7 "value": 149.99,8 "data": { "order_id": "ORD-001", "items_count": 3 }9 }]10}curl -X POST 'https://zedcheckout.com/api/v1/events' \
-H 'X-API-Key: api_zedcheckout_votre_cle_api' \
-H 'Content-Type: application/json' \
-d '{ "events": [{ "event_id": "evt_20260515_abc123", "customer_id": "cust_789", "event_type": "order_completed", "occurred_at": "2026-05-15T10:30:00Z", "value": 149.99, "data": { "order_id": "ORD-001", "items_count": 3 } }]}'Réponses
202Accepted
Tous les événements ont été acceptés.
{
"accepted": 1,
"rejected": 0,
"duplicates": 0,
"results": [{ "event_id": "evt_20260515_abc123", "status": "accepted" }]
}207Multi-Status
Résultat mixte dans le batch.
{
"accepted": 1,
"rejected": 1,
"duplicates": 0,
"results": [
{ "event_id": "evt_ok", "status": "accepted" },
{ "event_id": "evt_bad", "status": "rejected", "error": "Invalid event type" }
]
}Erreurs
- 400
validation_errorevent_type invalide ou batch vide - 401
unauthorizedClé API manquante ou invalide - 429
rate_limitedQuota dépassé