Vignetim

Керування Webhooks (Webhook Management)

Керуйте ендпоінтами webhook для отримання сповіщень про події в реальному часі. Ви можете зареєструвати до 10 ендпоінтів webhook на організацію.

Створити Webhook

POST /webhooks

Тіло запиту

{
	"url": "https://yourapp.com/webhooks/vignetim",
	"events": ["order.completed", "order.failed"],
	"description": "Production order notifications"
}
ПолеТипОбов'язковеОпис
urlstringТакHTTPS URL ендпоінта для отримання доставок webhook
eventsstring[]ТакМасив типів подій для підписки (або ["*"] для всіх)
descriptionstringНіЗрозумілий людині опис для цього ендпоінта

Відповідь (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"
}

Важливо: signingSecret повертається лише при першому створенні webhook. Збережіть його надійно -- він знадобиться вам для перевірки вхідних підписів webhook. Його неможливо отримати повторно.

Захист від SSRF

URL-адреси webhook повинні бути загальнодоступними HTTPS-ендпоінтами. Наступні адреси відхиляються:

  • Приватні/внутрішні IP-адреси (10.x.x.x, 172.16-31.x.x, 192.168.x.x)
  • Localhost та loopback-адреси
  • URL без HTTPS

Список Webhooks

GET /webhooks

Відповідь

{
	"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"
		}
	]
}

Оновити Webhook

PUT /webhooks/:id

Параметри шляху

НазваТипОбов'язковийОпис
idstringТакID webhook-а

Тіло запиту

{
	"url": "https://yourapp.com/webhooks/vignetim-v2",
	"events": ["*"],
	"description": "Updated to receive all events"
}

Усі поля необов'язкові. Оновлюються лише надані поля.

Відповідь

Повертає оновлений об'єкт webhook.

Видалити Webhook

DELETE /webhooks/:id

Параметри шляху

НазваТипОбов'язковийОпис
idstringТакID webhook-а

Відповідь

Повертає 204 No Content у разі успіху.

Тестувати Webhook

Надішліть тестову подію для перевірки того, що ваш ендпоінт доступний та коректно обробляє доставки webhook.

POST /webhooks/:id/test

Параметри шляху

НазваТипОбов'язковийОпис
idstringТакID webhook-а

Відповідь

{
	"success": true,
	"statusCode": 200,
	"responseTime": 145,
	"message": "Test webhook delivered successfully"
}

Якщо тестова доставка не вдалася:

{
	"success": false,
	"statusCode": 500,
	"responseTime": 10000,
	"message": "Webhook endpoint returned non-2xx status code"
}