Webhooks

Webhooks позволяют вам получать обновления в реальном времени от Meshy, когда ваши API задачи завершены или изменяют статус. После настройки Meshy будет отправлять полезные нагрузки событий в формате json на указанные вами URL.


Почему создавать Webhooks

Использование webhooks имеет несколько преимуществ, особенно в отношении автоматической проверки статусов API задач. Webhooks требуют меньше усилий и затрат, чем постоянное опрос API для получения обновлений статуса задач. Webhooks также позволяют получать обновления почти в реальном времени и в конечном итоге масштабируются лучше, чем опрос API. Это также позволяет вам лучше управлять вашими лимитами скорости, особенно если вы постоянно опрашиваете.


Настройка и конфигурация

Чтобы включить webhooks, перейдите на страницу настроек API, войдя в веб-приложение Meshy. Найдите раздел "Webhooks" под вашими API ключами и нажмите кнопку "Создать Webhook". Укажите желаемый https URL для получения webhooks и включите webhook, чтобы автоматически получать обновления задач от Meshy. Вы можете иметь максимум 5 активных webhooks на аккаунт Meshy. Когда webhook включен, все обновления статуса API задач будут автоматически отправляться на URL полезной нагрузки. В целях безопасности мы в настоящее время разрешаем отправку webhooks только на https URL. Если вы хотите настроить локальное тестирование, см. следующий раздел.


Требования к доставке Webhook

Чтобы ваш webhook функционировал нормально и продолжал получать события:

  • Ваш сервер должен отвечать с HTTP кодом состояния ниже 400 (например, 200 OK, 202 Accepted).
  • Любой ответ с кодом состояния >= 400 будет рассматриваться как неудачная доставка.
  • Множественные последовательные сбои могут:
    • Привести к задержке обновлений progress или их получению в неправильном порядке
    • Автоматически отключить ваш webhook после повторных попыток (см. Политику автоотключения)

Совет: Всегда возвращайте успешный ответ после проверки и сохранения полезной нагрузки webhook, даже если дальнейшая обработка происходит асинхронно.


Перенаправление Webhooks для локального тестирования

Если вы хотите протестировать ваш код webhook локально, который обычно находится по http адресу, вы можете использовать URL прокси вебхука для перенаправления webhooks на ваш компьютер или кодовое пространство. Ниже приведены рекомендуемые шаги с использованием smee.io, но вы можете использовать любой сервис, который вам нравится, для генерации URL прокси вебхука.

Получите URL прокси вебхука:

  1. В вашем браузере перейдите на https://smee.io/
  2. Нажмите "Start a new channel"
  3. Скопируйте полный URL под "Webhook Proxy URL". Вы будете использовать этот URL на следующих этапах настройки.

Перенаправление webhooks:

  1. Если у вас еще не установлен smee-client, выполните следующую команду в вашем терминале.
npm install --global smee-client
  1. Чтобы получать перенаправленные webhooks от smee.io, выполните следующую команду в вашем терминале. Замените WEBHOOK_PROXY_URL на ваш URL прокси вебхука из предыдущего шага.
smee --url WEBHOOK_PROXY_URL --path /webhook --port 3000

Вы должны увидеть вывод, похожий на этот, где WEBHOOK_PROXY_URL — это ваш URL прокси вебхука:

Forwarding WEBHOOK_PROXY_URL to http://127.0.0.1:3000/webhook
Connected WEBHOOK_PROXY_URL
  1. Оставьте это запущенным, пока вы тестируете ваш webhook. Когда вы захотите остановить перенаправление webhooks, нажмите Ctrl+C.
    Обратите внимание, что путь — /webhook, а порт — 3000. Эти значения могут быть полезны, когда вы захотите настроить ваш собственный код для получения доставок webhook позже.

Создайте webhook:

Теперь вы можете использовать URL прокси вебхука для создания нового webhook на странице настроек Meshy API.


Пример ответа

Когда статус задачи изменяется, Meshy отправит webhook полезную нагрузку на ваш настроенный URL. Полезная нагрузка содержит объект задачи в формате JSON. Для полного описания всех свойств объекта задачи и примеров полезных нагрузок см. следующие ссылки: