Gestion des webhooks (Webhook Management)
Gerez vos endpoints webhook pour recevoir des notifications d'evenements en temps reel. Vous pouvez enregistrer jusqu'a 10 endpoints webhook par organisation.
Creer un webhook
POST /webhooks
Corps de la requete
{
"url": "https://yourapp.com/webhooks/vignetim",
"events": ["order.completed", "order.failed"],
"description": "Production order notifications"
}
| Champ | Type | Requis | Description |
|---|---|---|---|
url | string | Oui | URL de l'endpoint HTTPS pour recevoir les livraisons de webhook |
events | string[] | Oui | Tableau des types d'evenements auxquels s'abonner (ou ["*"] pour tous) |
description | string | Non | Une description lisible pour cet endpoint |
Reponse (201 Created)
{
"id": "wh-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"url": "https://yourapp.com/webhooks/vignetim",
"events": ["order.completed", "order.failed"],
"description": "Production order notifications",
"active": true,
"signingSecret": "whs_a1b2c3d4e5f6789012345678901234567890abcdef",
"createdAt": "2026-03-20T14:30:00.000Z"
}
Important : Le
signingSecretn'est retourne que lors de la creation du webhook. Stockez-le en toute securite -- vous en aurez besoin pour verifier les signatures des webhooks entrants. Il ne peut pas etre recupere ulterieurement.
Protection SSRF
Les URL de webhook doivent etre des endpoints HTTPS accessibles publiquement. Les suivants sont rejetes :
- Adresses IP privees/internes (10.x.x.x, 172.16-31.x.x, 192.168.x.x)
- Adresses localhost et loopback
- URL non-HTTPS
Lister les webhooks
GET /webhooks
Reponse
{
"data": [
{
"id": "wh-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"url": "https://yourapp.com/webhooks/vignetim",
"events": ["order.completed", "order.failed"],
"description": "Production order notifications",
"active": true,
"consecutiveFailures": 0,
"createdAt": "2026-03-20T14:30:00.000Z",
"updatedAt": "2026-03-20T14:30:00.000Z"
}
]
}
Mettre a jour un webhook
PUT /webhooks/:id
Parametres de chemin
| Nom | Type | Requis | Description |
|---|---|---|---|
id | string | Oui | L'ID du webhook |
Corps de la requete
{
"url": "https://yourapp.com/webhooks/vignetim-v2",
"events": ["*"],
"description": "Updated to receive all events"
}
Tous les champs sont optionnels. Seuls les champs fournis sont mis a jour.
Reponse
Retourne l'objet webhook mis a jour.
Supprimer un webhook
DELETE /webhooks/:id
Parametres de chemin
| Nom | Type | Requis | Description |
|---|---|---|---|
id | string | Oui | L'ID du webhook |
Reponse
Retourne 204 No Content en cas de succes.
Tester un webhook
Envoyez un evenement de test pour verifier que votre endpoint est joignable et traite correctement les livraisons de webhook.
POST /webhooks/:id/test
Parametres de chemin
| Nom | Type | Requis | Description |
|---|---|---|---|
id | string | Oui | L'ID du webhook |
Reponse
{
"success": true,
"statusCode": 200,
"responseTime": 145,
"message": "Test webhook delivered successfully"
}
Si la livraison de test echoue :
{
"success": false,
"statusCode": 500,
"responseTime": 10000,
"message": "Webhook endpoint returned non-2xx status code"
}