Vignetim

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"
}
ChampTypeRequisDescription
urlstringOuiURL de l'endpoint HTTPS pour recevoir les livraisons de webhook
eventsstring[]OuiTableau des types d'evenements auxquels s'abonner (ou ["*"] pour tous)
descriptionstringNonUne 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 signingSecret n'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

NomTypeRequisDescription
idstringOuiL'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

NomTypeRequisDescription
idstringOuiL'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

NomTypeRequisDescription
idstringOuiL'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"
}