Webhooks

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


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

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


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

Чтобы включить webhooks, перейдите на страницу настроек API, войдя в веб-приложение Meshy. Найдите раздел "Webhooks" ниже ваших API Keys и нажмите кнопку "Create 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 на ваш компьютер или codespace. Ниже приведены рекомендуемые шаги с использованием 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 отправит POST полезную нагрузку webhook на настроенный вами URL. Полезная нагрузка содержит объект задачи в формате JSON. Полное описание всех свойств объекта задачи и примеры полезных нагрузок см. здесь: