Webhooks marchand
Créer, lister et supprimer l'abonnement webhook d'un marchand rattaché
Ces appels utilisent la clé de votre entreprise Service Provider, pas la clé plateforme. L'abonnement est créé sur le magasin dédié : la liste et la suppression ne portent que sur vos abonnements, pas sur ceux des autres Service Providers du marchand, ni sur les webhooks magasin du marchand lui-même.
La signature, les reprises et le corps TRANSACTION_COMPLETED sont décrits dans Webhooks.
Créer l'abonnement
Un marchand n'a qu'un abonnement actif sur votre magasin dédié.
POST /partner_api/service_providers/business_webhook_subscriptionsRequête :
{
"merchantBusinessId": "59ae202a-f583-4a15-970f-9e99bd1e0baa",
"url": "https://partner.example/webhooks/jeko",
"name": "Production",
"events": ["TRANSACTION_COMPLETED", "SERVICE_PROVIDER_LINK_REQUEST"]
}merchantBusinessId et url sont obligatoires. url doit être en https. name est optionnel (255 caractères au plus). events est optionnel.
Réponse (201) :
{
"id": "b7e2c1a0-4d5f-4a6b-8c9d-0e1f2a3b4c5d",
"url": "https://partner.example/webhooks/jeko",
"name": "Production",
"businessId": "59ae202a-f583-4a15-970f-9e99bd1e0baa",
"events": ["TRANSACTION_COMPLETED", "SERVICE_PROVIDER_LINK_REQUEST"],
"createdAt": "2026-09-25T12:00:00.000Z",
"updatedAt": "2026-09-25T12:00:00.000Z",
"secret": "whsec_returned_only_once"
}secret n'est renvoyé qu'à la création. C'est la clé HMAC de l'en-tête Jeko-Signature. Stockez-la tout de suite.
Si events est omis, la valeur enregistrée est null. C'est le défaut : l'abonnement reçoit les notifications entreprise, y compris SERVICE_PROVIDER_LINK_REQUEST et ESCROW_HELD / ESCROW_RELEASED / ESCROW_REFUNDED. Un tableau qui ne contient que TRANSACTION_COMPLETED ne les reçoit pas. Les webhooks limités à un magasin du marchand ne reçoivent que TRANSACTION_COMPLETED.
Valeurs acceptées dans events :
| Événement | Corps |
|---|---|
TRANSACTION_COMPLETED | Transaction plate. Voir Webhooks |
SERVICE_PROVIDER_LINK_REQUEST | Corps plat de la demande. L'événement est l'en-tête Jeko-Event. Voir Rattachement |
ESCROW_HELD, ESCROW_RELEASED, ESCROW_REFUNDED | Champs escrow plus event. Voir Escrow |
COMPLIANCE_VERIFICATION_COMPLETED | Filtre valide. La délivrance n'est pas encore en production : sondez la vérification |
Lisez Jeko-Event avant de traiter le corps comme une transaction. Pour l'escrow, event est aussi dans le corps. HMAC-SHA256 porte sur le corps JSON brut.
id d'erreur | HTTP | Signification |
|---|---|---|
max_webhook_subscriptions_reached | 409 | Un abonnement actif existe déjà sur votre magasin dédié chez ce marchand |
| — | 401 | Marchand non rattaché à votre Service Provider |
| — | 422 | url absente, non https, ou valeur d'events inconnue |
Lister
GET /partner_api/service_providers/business_webhook_subscriptions?merchantBusinessId={merchantBusinessId}Réponse (200) : tableau d'abonnements. Le secret n'y figure pas.
[
{
"id": "b7e2c1a0-4d5f-4a6b-8c9d-0e1f2a3b4c5d",
"url": "https://partner.example/webhooks/jeko",
"name": "Production",
"businessId": "59ae202a-f583-4a15-970f-9e99bd1e0baa",
"events": null,
"createdAt": "2026-09-25T12:00:00.000Z",
"updatedAt": "2026-09-25T12:00:00.000Z"
}
]Supprimer
DELETE /partner_api/service_providers/business_webhook_subscriptions/{subscriptionId}?merchantBusinessId={merchantBusinessId}Réponse (200) : un objet dont message est optionnel. Un abonnement introuvable renvoie 404, avec le même objet.
Le détachement ne supprime pas les webhooks du marchand.