Når der er opsat et slutpunkt, som er i stand til at modtage og dekryptere beskederne, der bliver produceret af de webhooks, du har opsat, vil du begynde at modtage dine beskeder udløst af de handlinger, du har opsat for dine webhooks.

Beskederne er opbygget af to dele. Den første del af beskeden er headers, som indeholder information vedrørende beskedens oprindelse og udløser, mens den anden del er beskendens body, som indeholder den krypterede data omkring selve objektet, der er ændret.

Headers

I webhook beskedens headers finder man fem custom headers fra Shipmondo, der indeholder yderligere information om beskedens oprindelse.

De fem custom headers er følgende:

  • SMD-Resource-Type: indeholder information om hvilken ressource, webhooket der har oprettet beskeden anvender

  • SMD-Resource-Id: indeholder information om id værdien for det specifikke objekt, beskeden indeholder

  • SMD-Webhook-Id: indeholder information om id værdien for det webhook, beskeden er afsendt med

  • SMD-Action: indeholder information om hvilken handling, der har udløst beskeden

  • SMD-User: indeholder information om hvilken bruger, der lavede handlingen som udløste beskeden

Body

Beskedens body er et JSON objekt, der indeholder en nøgle "data", som har en krypteret værdi.

Et eksempel på hvordan beskedens body kan se ud kan ses her:

{
"data": "eyJhbGciOiJIUzI1NiJ9.IntcIndlYmhvb2tcIjpcIldlYmhv..."
}

Når man anvender JWT med HS256 på værdien for "data" får man et objekt, der indeholder følgende information:

  • webhook: navnet på det webhook der har sendt beskeden

  • data: data body med et JSON objekt, der tilsvarer, hvad man ville få hvis man kaldte ressourcens GET endpoint gennem Shipmondos API

  • url: URL på det slutpunkt beskeden er sendt til

Et eksempel på den ovenstående body der er dekrypteret kan ses her:

{
"webhook":"Webhook1",
"data": {
"id": 119175,
"order_id": "2042",
"ordered_at ": "2021-02-22T11:41:08.000+01:00",
"order_status ": "on_hold ",
"fulfillment_status ": "unfulfilled"
....
},
"url": "https://example.com/webhook"
}

Fandt du dit svar?