Webhooks

Pinapayagan ka ng Webhooks na makatanggap ng real-time na mga update mula sa Meshy kapag nakumpleto o nagbago ng status ang iyong mga API task. Kapag na-configure na, magpo-POST ang Meshy ng mga event payload sa json format sa mga URL na tinukoy mo.


Bakit Gumawa ng Webhooks

Maraming benepisyo ang paggamit ng webhooks, lalo na pagdating sa awtomatikong pagsuri sa mga status ng API task. Mas kaunting pagsisikap at gastos ang kailangan ng Webhooks kaysa sa tuloy-tuloy na pag-poll sa API para makakuha ng mga update sa status ng task. Pinapayagan din ng Webhooks ang halos real-time na mga update at sa huli ay mas mahusay mag-scale kaysa sa API polling. Nagbibigay-daan din ito sa iyo na mas mahusay na mapamahalaan ang iyong mga rate limit, lalo na kung patuloy kang nagpo-poll.


Setup at Configuration

Para i-enable ang webhooks, pumunta sa API settings page kapag naka-log in sa Meshy web application. Hanapin ang seksyong "Webhooks" sa ibaba ng iyong API Keys at i-click ang button na "Create Webhook". Ibigay ang iyong nais na https URL para makatanggap ng webhooks mula rito at i-enable ang webhook para awtomatikong makatanggap ng mga update sa task mula sa Meshy. Maaari kang magkaroon ng maximum na 5 aktibong webhooks bawat Meshy account. Kapag naka-enable ang webhook, awtomatikong ipapadala ang lahat ng update sa status ng API task sa payload URL. Para sa mga layuning pangseguridad, pinapayagan lang namin sa ngayon ang pagpapadala ng webhooks sa mga https URL. Kung gusto mong i-configure ang lokal na pagsubok, tingnan ang sumusunod na seksyon.


Mga Kinakailangan sa Paghahatid ng Webhook

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

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

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


Pag-forward ng Webhooks para sa Lokal na Pagsubok

Kung gusto mong subukan nang lokal ang iyong webhook code, na karaniwang nasa isang http address, maaari kang gumamit ng webhook proxy URL para i-forward ang webhooks sa iyong computer o codespace. Ang mga nasa ibaba ay mga inirerekomendang hakbang gamit ang smee.io, ngunit maaari kang gumamit ng anumang serbisyong gusto mo para bumuo ng webhook proxy URL.

Kumuha ng 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.

I-forward ang webhooks:

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

Dapat kang makakita ng output na ganito ang hitsura, 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. Panatilihin itong tumatakbo habang sinusubukan mo ang iyong webhook. Kapag gusto mong ihinto ang pag-forward ng webhooks, ilagay ang Ctrl+C.
    Tandaan na ang path ay /webhook at ang port ay 3000. Maaaring maging kapaki-pakinabang ang mga value na ito kapag gusto mong i-set up ang sarili mong code para makatanggap ng mga webhook delivery sa susunod.

Gumawa ng webhook:

Maaari mo na ngayong gamitin ang webhook proxy URL para gumawa ng bagong webhook sa Meshy API settings page.


Halimbawang Response

Kapag nagbago ang status ng task, magpo-POST ang Meshy ng webhook payload sa iyong naka-configure na URL. Naglalaman ang payload ng task object sa JSON format. Para sa kumpletong paglalarawan ng lahat ng property ng task object at mga halimbawang payload, tingnan ang: