Webhooks
Описание
Webhook используется для получения результатов выполнения запросов асинхронно. Это особенно удобно при работе с очередями и длительными задачами, когда результат не может быть возвращён сразу в ответ на запрос.
Webhook позволяет GenAPI автоматически отправить результат обработки на указанный вами URL после завершения генерации.
Как работает Webhook
- Вы отправляете запрос на генерацию и указываете
callback_url. - Запрос помещается в очередь и обрабатывается асинхронно.
- После завершения обработки GenAPI отправляет POST HTTP-запрос на ваш
callback_urlс результатом выполнения. - Ваш сервер принимает и обрабатывает полученные данные.
Настройка callback URL
В теле запроса необходимо указать параметр callback_url — URL вашего сервера, который готов принимать входящие HTTP-запросы от GenAPI.
Ваш endpoint должен:
- принимать
POST-запросы; - корректно обрабатывать JSON-тело;
- возвращать HTTP-код
200 OKпри успешном приёме данных.
Формат запроса Webhook
GenAPI отправляет результат в формате JSON. Пример структуры запроса:
Подробнее про статусы и типы генераций можно узнать тут.
Повторные попытки доставки
Если ваш сервер временно недоступен или вернул ошибку, GenAPI может выполнить повторную попытку доставки webhook-запроса. Убедитесь, что ваш endpoint стабилен и отвечает корректными HTTP-кодами.
График повторных попыток
| Попытка | Задержка |
|---|---|
| 1 | 10 секунд |
| 2 | 1 минута |
| 3 | 5 минут |
| 4 | 1 час |
| 5 | 6 часов |
| 6 | 24 часа |
Когда использовать Webhook
Мы рекомендуем использовать этот подход, когда нет необходимости в получении синхронного ответа.
