API

Veebikonks

Veebikonks on HTTP-päring, mille FoodSoul saadab teie süsteemi aadressile, kui kontol toimub mõni sündmus: uus tellimus, staatuse muutus, tagasiside ja muud.

Tellimus aadressi ja sündmustega luuakse meetodiga:

POST Loo veebikonksu tellimus

Aadress — tellimuse URL, meetod — POST.

Vorming, allkiri ja kordused

Webhooki päringu keha. Iga päring on POST koos Content-Type: application/json tellimuse URL-ile. URL peab algama https-ga.
Päised: X-Webhook-Event — sündmuse kood, X-Webhook-ID — event_uuid, X-Webhook-Signature — sha256= ja HMAC-SHA256 päringu algse keha hex-kujul filiaali saladusega (webhooks_subscriptions.generate_secret).
Kontrollige allkirja algse keha põhjal enne JSON-i parsimist: hash_equals(hash_hmac('sha256', $body, $secret), substr($signature, 7)). Ajatemplit allkirjas pole, kanal on kaitstud HTTPS-iga.
Kohaletoimetamine loetakse aktsepteerituks mis tahes 2xx vastusega 10 sekundi jooksul. Ümber suunamisi ei tehta. Vastasel juhul toimub uuesti saatmine: 7 katset, esimene kohe, seejärel 1, 5, 15, 60, 180 ja 360 minuti pärast. Kõik ühe kohaletoimetamise katsed sisaldavad sama X-Webhook-ID. Korduv saatmine logist (webhooks_logs.resend) sisaldab sama X-Webhook-ID — selle järgi jätke juba töödeldud kohaletoimetamised vahele.
20 järjestikust ebaõnnestunud kohaletoimetamist peatavad tellimuse (blocked) ning konto omanik ja süsteemiadministraator saavad e-kirja. webhooks_subscriptions.unblock lubab tellimuse uuesti.
Keha sisaldab sündmuse andmeid: klient, tagasiside ja tellimiskaart edastatakse täielikult. Boonusjääki ei edastata: see on ühine võrgustiku jaoks, selle saab API kaudu.

Päised

X-Webhook-Eventstringkohustuslik

Näide: order.created

X-Webhook-IDstringkohustuslik

Näide: 5f0c6b1e-6a1d-4c1e-9d6b-3a7f0e2b8c41

X-Webhook-Signaturestringkohustuslik

Näide: sha256=9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08

Sündmused

  • client.registered
  • client.updated
  • client.bonuses_changed
  • order.created
  • order.status_changed
  • order.payment_status_changed
  • feedback.created
  • courier.assigned
  • item.stop_list_changed
  • branch.work_status_changed

Päringu keha

object (WebhookPayload)
eventstringkohustuslik

Väärtused:client.registeredclient.updatedclient.bonuses_changedorder.createdorder.status_changedorder.payment_status_changedfeedback.createdcourier.assigneditem.stop_list_changedbranch.work_status_changed

Näide: order.status_changed

event_uuidstringkohustuslik

Näide: 5f0c6b1e-6a1d-4c1e-9d6b-3a7f0e2b8c41

date_creationstring (DataTimeFormatSQL) kohustuslik

Näide: 2024-05-02 08:31:16

branch_idintegerkohustuslik

Näide: 8412

dataoneOfkohustuslik
Üks variantidest
object (WebhookDataClientRegistered)

client.registered — uus telefon või konto esimene sisselogimine selles filiaalis

client_branch_profile_idintegerkohustuslik

Näide: 730112

namestringvõib olla null

Näide: John Doe

phonestringkohustuslik

Telefon rahvusvahelises formaadis, ilma vormindamiseta

Näide: +79114579423

genderstringvõib olla null

Väärtused:womanman

Näide: man

date_of_birthstringvõib olla null

Sünnikuupäev vormingus Y-m-d

Näide: 1982-01-03

Näidiskeha

{
  "event": "order.status_changed",
  "event_uuid": "5f0c6b1e-6a1d-4c1e-9d6b-3a7f0e2b8c41",
  "date_creation": "2024-05-02 08:31:16",
  "branch_id": 8412,
  "data": {
    "client_branch_profile_id": 730112,
    "name": "John Doe",
    "phone": "+79114579423",
    "gender": "man",
    "date_of_birth": "1982-01-03"
  }
}

Teie süsteemi vastus

2XX

Vastu võetud

default

Не принято, доставка повторяется