Webhooks
Opsæt udgående webhooks på hver app, så Indexed PIM sender signerede JSON-hændelser, hver gang vigtige data ændres. Leveringen køsættes, du kan se logs, og du kan koble platformen på eksterne workflows i realtid.
Webhook Configuration
Sådan fungerer webhooks i appen
Webhooks opsættes pr. app – ikke som én global kontakt. Fra en apps indstillinger åbner du webhook-administrationen, opretter ét eller flere endpoints, vælger én hændelse pr. webhook og slår leveringen til eller fra efter behov.
Når Indexed PIM udsender en livscyklushændelse som product.updated eller order.created, finder platformen alle aktive webhooks for netop den hændelse, bygger et JSON-payload og sender leveringen videre til Messenger-køen, så brugerens handling ikke bliver blokeret.
Køen udfører derefter det udgående HTTP POST, signerer payloadet med HMAC SHA256 og gemmer en webhook-log med request-payload, response-payload, HTTP-status, svartid og revisionsdata, når de findes.
Det får du
Opret, ret og slet webhooks pr. app med URL, hændelse og aktiv-status
Aktivér, deaktivér og slet flere webhooks på én gang
Køsat udgående levering via Messengers webhook-transport
Egen secret pr. webhook og `X-Webhook-Signature`-header
Logvisning med payload, statuskode, svar, svartid og revisionskontekst
Sådan sætter du det op i Indexed PIM
Opsætningen er enkel: vælg appen, registrér dit endpoint, vælg én hændelse, og lad køen levere payloadet.
Åbn en app med webhook-administration
Webhook-administrationen findes i redigeringsmenuen i apps som Produkter, Ordrer, Lager og Priser. Hver app har sin egen liste over webhooks og sine egne logs.
Opret en webhook
Oprettelsen validerer mål-URL’en, kræver ét hændelsesnavn og lader dig vælge, om webhooken skal være aktiv fra start. Et unikt eksternt ID og en tilfældig secret genereres automatisk, når webhooken oprettes.
Vent på en matchende hændelse
Platformen lytter efter hændelser, når data oprettes, opdateres eller slettes. Når hændelsesnavnet matcher webhooken præcist, klargøres payloadet, og leveringen sendes videre til køen.
Gennemgå leveringsloggen
Loggen er pagineret pr. app og viser HTTP-status, svartid, tidspunkt, request-payload, response-payload og produktrevisionsdata, når hændelsen stammer fra en produktændring.
Hvad det udgående payload indeholder
Payloads bygges dynamisk ud fra den pågældende entitet og pakkes ind med oplysninger om konto, app og webhook.
Konvolutfelter
Entitetsdelen
Nøglen for entiteten afledes af hændelsens præfiks. For eksempel giver `brand.created` et `brand`-objekt, og `product.updated` giver et `product`-objekt.
Serialiseringen sker automatisk ud fra entitetens felter. Simple værdier kopieres direkte, datoer formateres som ISO-tidsstempler, relaterede objekter bidrager med ID og eksternt ID, når de findes, og array-felter springes over.
Ved produkthændelser tilføjes den seneste produktrevision separat med handling, brugernavn, tidspunkt og ændringer på feltniveau.
Eksempel på struktur
{
"event": "product.updated",
"timestamp": "2026-04-21T12:00:00+00:00",
"account": {
"external_id": "acc_123",
"name": "Acme"
},
"app": {
"external_id": "app_456",
"name": "Products"
},
"webhook": {
"external_id": "web_abc"
},
"product": {
"id": 42,
"externalId": "prod_789"
},
"revision": {
"action": "updated",
"user_name": "Jane Doe",
"timestamp": "2026-04-21T11:59:54+00:00",
"changes": []
}
}
Tilgængelige hændelsestyper
Brugerfladen tilbyder en fast liste over hændelser. Hver webhook abonnerer på præcis én hændelse fra listen.
Kataloghændelser
Du kan vælge oprettelse, opdatering og sletning af brands, leverandører, kategorier, produkter, produktgrupper, egenskabsgrupper, egenskaber, medier og filer.
Kommercielle hændelser
Livscyklushændelser for ordrer, kunder, kundegrupper, prisregler, betalingsbetingelser, valutaer, enheder og sprog kan alle sendes som webhook-notifikationer.
App-hændelser
Listen omfatter også hændelser på app-niveau, så eksterne systemer kan reagere, når selve apps oprettes, opdateres eller slettes.
Godt at vide
Hver webhook abonnerer på én hændelse. Skal flere hændelser sendes til samme URL, opretter du én webhook pr. hændelse, der alle peger på samme endpoint.
Sikkerhed, levering og overblik
Funktionen leveres med praktiske værktøjer til at verificere requests og fejlsøge, når noget går galt.
Signerede requests
Hver webhook får sin egen genererede secret. Det rå JSON-payload signeres med HMAC SHA256 og sendes i headeren `X-Webhook-Signature`.
Solution:
Modtageren kan genberegne signaturen med den delte secret og afvise forfalskede requests.
Asynkron levering
Webhookens POST-requests sendes fra Messengers webhook-transport i stedet for samtidig med brugerens handling, så applikationen forbliver hurtig.
Solution:
Tunge eller langsomme modtagere blokerer ikke for at gemme data.
Detaljerede logs
Loggen gemmer request-payload, response-payload, HTTP-status, svartid, hændelsesnavn og webhookens eksterne ID for hvert leveringsforsøg.
Solution:
Du kan gennemgå fejlede payloads og sammenligne det, der blev sendt, med det, modtageren svarede.
Begrænsning, du skal kende
Den udgående levering har ikke indbygget genforsøg eller eksponentiel backoff. Fejlede requests logges med HTTP-status `0` ved undtagelser, men der forsøges ikke automatisk igen.
Solution:
Betragt funktionen som køsat levering med fuldt overblik – ikke som et komplet lag til styring af genforsøg.
Har du brug for hændelsesdrevne integrationer uden at bygge dit eget eksportlag?
Brug webhooks på app-niveau i Indexed PIM til at sende signerede payloads til automatiseringsværktøjer, middleware, ERP-flows eller interne systemer, så snart forretningshændelser sker.