Webhooks

Ang Webhooks ay nagbibigay-daan sa iyo na makatanggap ng mga real-time na update mula sa Meshy kapag ang iyong mga API na gawain ay natapos o nagbago ng status. Kapag nakumpigura na, ang Meshy ay magpo-POST ng mga event payload sa json format sa mga URL na iyong tinukoy.


Bakit Gumawa ng Webhooks

Ang paggamit ng webhooks ay may ilang mga bentahe, lalo na sa pag-check ng mga status ng API na gawain nang awtomatiko. Ang Webhooks ay nangangailangan ng mas kaunting pagsisikap at gastos kaysa sa patuloy na pag-polling sa API para makuha ang mga update sa status ng gawain. Ang Webhooks ay nagbibigay-daan din sa halos real-time na mga update at sa huli ay mas mahusay na mag-scale kaysa sa API polling. Ito rin ay nagbibigay-daan sa iyo na mas mahusay na pamahalaan ang iyong mga rate limit, lalo na kung ikaw ay patuloy na nagpo-polling.


Setup at Konpigurasyon

Upang paganahin ang webhooks, pumunta sa pahina ng mga setting ng API kapag naka-log in sa Meshy web application. Hanapin ang seksyong "Webhooks" sa ibaba ng iyong mga API Keys at i-click ang button na "Create Webhook". Ibigay ang iyong nais na https URL upang makatanggap ng webhooks at paganahin ang webhook upang awtomatikong makatanggap ng mga update sa gawain mula sa Meshy. Maaari kang magkaroon ng maximum na 5 aktibong webhooks bawat Meshy account. Kapag ang isang webhook ay pinagana, lahat ng mga update sa status ng API na gawain ay awtomatikong ipapadala sa payload URL. Para sa mga layuning pang-seguridad, pinapayagan lamang namin ang pagpapadala ng webhooks sa mga https URL sa oras na ito. Kung nais mong i-configure ang lokal na pagsusuri, tingnan ang sumusunod na seksyon.


Mga Kinakailangan sa Paghahatid ng Webhook

Para ang iyong webhook ay gumana nang normal at patuloy na makatanggap ng mga event:

  • Ang iyong server ay dapat tumugon ng isang HTTP status code na mas mababa sa 400 (hal., 200 OK, 202 Accepted).
  • Anumang tugon na may status code >= 400 ay ituturing na isang nabigong paghahatid.
  • Ang maraming magkakasunod na pagkabigo ay maaaring:
    • Magdulot ng pagkaantala o hindi pagkakasunod-sunod ng mga update sa progress
    • Awtomatikong i-disable ang iyong webhook pagkatapos ng paulit-ulit na mga pagtatangka (tingnan ang Auto-Disable Policy)

Tip: Palaging magbalik ng isang matagumpay na tugon pagkatapos mong i-validate at i-store ang webhook payload, kahit na ang karagdagang pagproseso ay nangyayari nang asynchronous.


Pagpapasa ng Webhooks para sa Lokal na Pagsusuri

Kung nais mong subukan ang iyong webhook code nang lokal, na karaniwang nasa isang http address, maaari mong gamitin ang isang webhook proxy URL upang ipasa ang webhooks sa iyong computer o codespace. Ang mga sumusunod ay mga inirerekomendang hakbang gamit ang smee.io, ngunit maaari mong gamitin ang anumang serbisyo na gusto mo upang makabuo ng isang webhook proxy URL.

Kumuha ng isang webhook proxy URL:

  1. Sa iyong browser, pumunta sa https://smee.io/
  2. I-click ang "Start a new channel"
  3. Kopyahin ang buong URL sa ilalim ng "Webhook Proxy URL". Gagamitin mo ang URL na ito sa mga sumusunod na hakbang sa setup.

Ipasok ang webhooks:

  1. Kung wala ka pang smee-client na naka-install, patakbuhin ang sumusunod na utos sa iyong terminal.
npm install --global smee-client
  1. Upang makatanggap ng mga ipinadalang webhooks mula sa smee.io, patakbuhin ang sumusunod na utos sa iyong terminal. Palitan ang WEBHOOK_PROXY_URL ng iyong webhook proxy URL mula kanina.
smee --url WEBHOOK_PROXY_URL --path /webhook --port 3000

Makikita mo ang output na ganito, kung saan ang WEBHOOK_PROXY_URL ay ang iyong webhook proxy URL:

Forwarding WEBHOOK_PROXY_URL to http://127.0.0.1:3000/webhook
Connected WEBHOOK_PROXY_URL
  1. Panatilihing tumatakbo ito habang sinusubukan mo ang iyong webhook. Kapag nais mong itigil ang pagpapasa ng webhooks, pindutin ang Ctrl+C.
    Tandaan na ang path ay /webhook at ang port ay 3000. Ang mga halagang ito ay maaaring maging kapaki-pakinabang kapag nais mong i-set up ang iyong sariling code upang makatanggap ng mga paghahatid ng webhook sa hinaharap.

Gumawa ng isang webhook:

Maaari mo na ngayong gamitin ang webhook proxy URL upang lumikha ng isang bagong webhook sa pahina ng mga setting ng Meshy API.


Halimbawang Tugon

Kapag nagbago ang status ng isang gawain, ang Meshy ay magpo-POST ng isang webhook payload sa iyong nakumpigurang URL. Ang payload ay naglalaman ng task object sa JSON format. Para sa kumpletong paglalarawan ng lahat ng mga katangian ng task object at mga halimbawa ng payloads, tingnan: