Integrationer

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

Add Webhook
Product Updated Hook Active
https://api.myapp.com/webhooks/pim-updates
Events: product.update, product.create
Inventory Sync Hook Active
https://wms.partner.com/incoming/stock
Events: inventory.change
Delivery Status (Last 24h)

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.

1

Å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.

2

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.

3

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.

4

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

event: det præcise hændelsesnavn, fx `product.updated`
timestamp: tidspunkt for afsendelse i ISO 8601
account: virksomhedens eksterne ID og navn
app: appens eksterne ID og navn
webhook: webhookens eksterne ID

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.