Veebihaagid
Saage reaalajas makse oleku teavitusi
Veebihaagid võimaldavad Cost+-il teavitada teie serverit reaalajas, kui tellimuse olek muutub. Selle asemel, et API-d küsitleda, esitate URL-i ja Cost+ saadab sellele HTTP POST päringu iga uuenduse korral.
Kuidas veebihaagid töötavad
- Määrate
webhook_urltellimuse loomisel või seadistate vaikimisi veebihaagi URL-i projekti tasemel. - Kui tellimuse olek muutub (nt
new-istcompleted-iks), saadab Cost+ POST päringu teie veebihaagi URL-ile. - Teie server võtab veebihaagi vastu ja kutsub seejärel Cost+ API-t, et pärida täielikud tellimuse üksikasjad.
- Te uuendate oma süsteemi kontrollitud tellimuse oleku alusel.
Ärge kunagi usaldage tellimuse täitmiseks ainult veebihaagi andmeid. Kontrollige alati tellimuse olekut, tehes GET /v1/orders/{id}/ päringu pärast veebihaagi saamist. Veebihaak on teavitusmehhanism, mitte tõe allikas.
Veebihaagi andmed
Veebihaagi keha on JSON-objekt, mis sisaldab sündmuse tüüpi ja tellimuse ID-d:
{
"event": "status_changed",
"order_id": "b9ae6...",
"project_id": "proj_abc123"
}| Väli | Kirjeldus |
|---|---|
event | Sündmuse tüüp. Praegu status_changed tellimuse uuenduste jaoks. |
order_id | Tellimuse unikaalne identifikaator, mille olek muutus. |
project_id | Projekt, kuhu tellimus kuulub. |
Veebihaagi URL-i määramine
Saate veebihaagi URL-i määrata kahel viisil:
Tellimuse kohta
Lisage tellimuse loomisel väli webhook_url:
{
"currency": "EUR",
"amount": 1295,
"webhook_url": "https://www.example.com/webhook"
}Projekti vaikeväärtus
Seadistage vaikimisi veebihaagi URL oma Cost+ juhtpaneelil projekti seadete all. Seda URL-i kasutatakse kõigi tellimuste jaoks, mis ei määra oma webhook_url-i.
Isegi kui teil on projekti tasemel vaikeväärtus, saate selle tellimuse kohta üle kirjutada, lisades tellimuse loomise päringule webhook_url.
Korduskatsete loogika
Kui teie server ei vasta 2xx olekukoodiga, proovib Cost+ veebihaagi uuesti kohale toimetada:
- Maksimaalselt korduskatseid: 10 katset
- Korduskatsete vahemik: 2 minutit iga katse vahel
- Esimese katse ajalõpp: 4 sekundit
- Järgnevate katsete ajalõpp: 10 sekundit
Kui kõik 10 korduskatset ebaõnnestuvad, märgitakse veebihaak ebaõnnestunuks. Saate siiski tellimuse olekut igal ajal kontrollida API küsitlemise teel.
Veenduge, et teie veebihaagi lõpp-punkt vastab kiiresti (4 sekundi jooksul esimese katse korral). Teostage pikaajaline töötlemine asünkroonselt pärast 200 OK vastuse tagastamist.
Parimad tavad
- Kontrollige alati API kaudu. Pärast veebihaagi saamist kutsuge
GET /v1/orders/\{order_id\}/, et kinnitada praegune olek enne tegutsemist, nagu kaupade saatmine või juurdepääsu andmine. - Tagastage 200 kiiresti. Kinnitage veebihaaki
200vastusega kohe ja töötlege tellimus asünkroonselt, et vältida ajalõppe. - Käsitlege duplikaate. Teie veebihaagi lõpp-punkt võib sama sündmuse saada rohkem kui korra. Veenduge, et teie töötlemisloogika on idempotentne.
- Kasutage HTTPS-i. Kasutage oma veebihaagi lõpp-punkti jaoks alati HTTPS URL-i, et tagada andmete turvaline edastamine.
- Logige veebihaagi andmed. Salvestage sissetulevad veebihaagi andmed silumise ja auditeerimise eesmärgil.
Seotud lõpp-punktid
- Tellimuse loomine — määrake
webhook_urltellimuse kohta - Tellimuse uuendamine — uuendage olemasoleva tellimuse veebihaagi URL-i
- Veebihaagi sündmuse skeemid —
OrderStatusChangedEventjaTransactionStatusChangedEventandmevorming