Gestionare Webhooks (Webhook Management)
Gestionați endpoint-urile webhook pentru a primi notificări de evenimente în timp real. Puteți înregistra până la 10 endpoint-uri webhook per organizație.
Creare Webhook
POST /webhooks
Corpul cererii
{
"url": "https://yourapp.com/webhooks/vignetim",
"events": ["order.completed", "order.failed"],
"description": "Production order notifications"
}
| Câmp | Tip | Obligatoriu | Descriere |
|---|---|---|---|
url | string | Da | URL-ul endpoint-ului HTTPS pentru primirea livrărilor webhook |
events | string[] | Da | Matricea tipurilor de evenimente la care vă abonați (sau ["*"] pentru toate) |
description | string | Nu | O descriere lizibilă pentru acest endpoint |
Răspuns (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:
signingSecreteste returnat doar la crearea inițială a webhook-ului. Stocați-l în siguranță -- veți avea nevoie de el pentru a verifica semnăturile webhook-urilor primite. Nu poate fi recuperat ulterior.
Protecție SSRF
URL-urile webhook trebuie să fie endpoint-uri HTTPS accesibile public. Următoarele sunt respinse:
- Adrese IP private/interne (10.x.x.x, 172.16-31.x.x, 192.168.x.x)
- Adrese localhost și loopback
- URL-uri non-HTTPS
Listare Webhooks
GET /webhooks
Răspuns
{
"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"
}
]
}
Actualizare Webhook
PUT /webhooks/:id
Parametri de cale
| Nume | Tip | Obligatoriu | Descriere |
|---|---|---|---|
id | string | Da | ID-ul webhook-ului |
Corpul cererii
{
"url": "https://yourapp.com/webhooks/vignetim-v2",
"events": ["*"],
"description": "Updated to receive all events"
}
Toate câmpurile sunt opționale. Doar câmpurile furnizate sunt actualizate.
Răspuns
Returnează obiectul webhook actualizat.
Ștergere Webhook
DELETE /webhooks/:id
Parametri de cale
| Nume | Tip | Obligatoriu | Descriere |
|---|---|---|---|
id | string | Da | ID-ul webhook-ului |
Răspuns
Returnează 204 No Content în caz de succes.
Testare Webhook
Trimiteți un eveniment de test pentru a verifica că endpoint-ul dumneavoastră este accesibil și procesează corect livrările webhook.
POST /webhooks/:id/test
Parametri de cale
| Nume | Tip | Obligatoriu | Descriere |
|---|---|---|---|
id | string | Da | ID-ul webhook-ului |
Răspuns
{
"success": true,
"statusCode": 200,
"responseTime": 145,
"message": "Test webhook delivered successfully"
}
Dacă livrarea de test eșuează:
{
"success": false,
"statusCode": 500,
"responseTime": 10000,
"message": "Webhook endpoint returned non-2xx status code"
}