Cost+Docs

Webhook-ar

Fáðu rauntímatilkynningar um stöðu greiðslna

Webhook-ar gera Cost+ kleift að tilkynna þjóninum þínum í rauntíma hvenær sem staða pöntunar breytist. Í stað þess að kanna API gefur þú upp URL og Cost+ sendir HTTP POST-beiðni á hann hvenær sem uppfærsla á sér stað.

Hvernig webhook-ar virka

  1. Þú tilgreinir webhook_url þegar þú stofnar pöntun eða stillir sjálfgefið webhook-URL á verkefnisstigi.
  2. Þegar staða pöntunar breytist (t.d. úr new í completed) sendir Cost+ POST-beiðni á webhook-URL-ið þitt.
  3. Þjónninn þinn tekur á móti webhook-inum og kallar síðan á Cost+ API til að sækja fulla pöntunarupplýsingarnar.
  4. Þú uppfærir kerfið þitt byggt á staðfestri stöðu pöntunar.

Treystu aldrei webhook-gagnagrunni einum til að uppfylla pöntun. Staðfestu alltaf stöðu pöntunar með GET /v1/orders/{id}/ beiðni eftir móttöku webhook. Webhook-urinn er tilkynningarkerfi, ekki sannleiksuppspretta.

Gagnagrunnur webhook

Meginmál webhook-sins er JSON-hlutur sem inniheldur tegund atburðar og auðkenni pöntunar:

{
  "event": "status_changed",
  "order_id": "b9ae6...",
  "project_id": "proj_abc123"
}
ReiturLýsing
eventTegund atburðar. Nú er status_changed fyrir uppfærslur pantana.
order_idEinstakt auðkenni pöntunarinnar sem breytti stöðu.
project_idVerkefnið sem pöntunin tilheyrir.

Stilling webhook-URL

Þú getur stillt webhook-URL á tvo vegu:

Á hverja pöntun

Taktu webhook_url reitinn með þegar þú stofnar pöntun:

{
  "currency": "EUR",
  "amount": 1295,
  "webhook_url": "https://www.example.com/webhook"
}

Sjálfgefið verkefni

Stilltu sjálfgefið webhook-URL í Cost+ stjórnborðinu þínu undir verkefnisstillingum. Þetta URL verður notað fyrir allar pantanir sem tilgreina ekki eigið webhook_url.

Jafnvel þótt þú hafir sjálfgefið á verkefnisstigi geturðu yfirskrifað það á hverja pöntun með því að taka webhook_url með í beiðni um stofnun pöntunar.

Endurtilraunarrök

Ef þjónninn þinn svarar ekki með 2xx stöðukóða reynir Cost+ aftur:

  • Hámarksendurtilraunir: 10 tilraunir
  • Endurtilraunabil: 2 mínútur á milli hverrar tilraunar
  • Tímamörk fyrstu tilraunar: 4 sekúndur
  • Tímamörk síðari tilrauna: 10 sekúndur

Ef allar 10 endurtilraunir mistakast er webhook-urinn merktur sem misheppnaður. Þú getur samt sótt stöðu pöntunar hvenær sem er með könnun gegnum API.

Gakktu úr skugga um að webhook-endapunkturinn þinn svari fljótt (innan 4 sekúndna fyrir fyrstu tilraun). Framkvæmdu hvaða langvarandi vinnslu sem er á ósamstilltan hátt eftir að 200 OK svar hefur verið skilað.

Bestu venjur

  • Staðfestu alltaf gegnum API. Við móttöku webhook-s, kallaðu á GET /v1/orders/\{order_id\}/ til að staðfesta núverandi stöðu áður en gripið er til aðgerða eins og sendingar vöru eða veitingar aðgangs.
  • Skilaðu 200 fljótt. Staðfestu webhook-inn með 200 svari strax og vinndu úr pöntuninni á ósamstilltan hátt til að forðast tímamörk.
  • Meðhöndlaðu tvítekningar. Webhook-endapunkturinn þinn gæti fengið sama atburðinn oftar en einu sinni. Gakktu úr skugga um að vinnslurökin þín séu idempotent.
  • Notaðu HTTPS. Notaðu alltaf HTTPS URL fyrir webhook-endapunkt þinn til að tryggja örugga sendingu gagnagrunnsins.
  • Skráðu webhook-gagnagrunna. Geymdu móttekinn webhook-gögn til villuleitar og endurskoðunar.

Tengdir endapunktar

On this page