UDVIKLER · Integration API-reference

Fabrixa Integration API-reference

6 min læst Sidst opdateret:07-08-2026 20:55

Integrations-API'en hjælper dig med at oprette og administrere Fabrixa-ordrer, starte Fabrixa Studio og forblive synkroniseret med produktions- og opfyldelsesstatus via webhooks. API'en følger REST-konventioner og bruger JSON til alle anmodnings- og svarinstanser.

BASE URL

https://api.fabrixa.com/v2/integration

Send alle anmodninger til denne basis-URL efterfulgt af den specifikke slutpunktsti. Basis-URL'en er grundlaget for interaktion med Fabrixa API - hentning, oprettelse, opdatering eller sletning af ressourcer.

FØR DIN FØRSTE FORESPØRGSEL

Autentificering

For at få adgang til Integration API skal du godkende dine anmodninger ved hjælp af både et Application Access Token og en Application Key:

Autorisationshoved
Authorization: Bearer APPLICATION_ACCESS_TOKEN
Applikationsnøglehoved
X-Application-Key: APPLICATION_KEY
Eksempel på cURL-kommando
curl -X 'GET' \
  'https://api.fabrixa.com/v2/integration/ping' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer APPLICATION_ACCESS_TOKEN' \
  -H 'X-Application-Key: APPLICATION_KEY'

Erstat APPLICATION_ACCESS_TOKEN med dit faktiske adgangstoken og APPLICATION_KEY med din faktiske applikationsnøgle.

HVORDAN SVAR ER STRUKTURERET

Slutpunkter og anmodninger

Integration API-endepunkterne er organiseret efter ressourcetype og følger den RESTful-arkitektoniske stil. Hvert slutpunkt repræsenterer en ressource, og handlinger på disse ressourcer udføres ved hjælp af standard HTTP-metoder.

Alle Integration API-anmodninger og -svar er i JSON-format, hvilket giver en ensartet og brugervenlig grænseflade til interaktion med API'en.

For fulde detaljer om hvert endpoint, inklusive eksempler på requests og responses, se vores Swagger-dokumentation.

Svarformat

Alle endepunkter returnerer data i et standardiseret format med disse objekter:

{
  "links": {
    "self": "https://api.fabrixa.com/v2/integration/products",
    "first_page": "https://api.fabrixa.com/v2/integration/products?page=1",
    "last_page": "https://api.fabrixa.com/v2/integration/products?page=2",
    "next_page": "https://api.fabrixa.com/v2/integration/products?page=2",
    "prev_page": null
  },
  "meta": {
    "total": 2,
    "current_page": 1,
    "per_page": 10
  },
  "data": [
    {
      "id": 1,
      "name": "Product 1",
      "description": "Description of Product 1"
    },
    {
      "id": 2,
      "name": "Product 2",
      "description": "Description of Product 2"
    }
  ]
}

Beskrivelse af svarobjekter

links

Indeholder sideinddelingslinks til at navigere gennem resultaterne.

  • self — URL'en på den aktuelle side.
  • first_page — URL'en på den første side med resultater.
  • last_page — URL'en på den sidste side med resultater.
  • next_page — URL'en på den næste side. null hvis der ikke er nogen næste side.
  • prev_page — URL'en på den forrige side. null hvis der ikke er nogen tidligere side.

meta

Indeholder metadata om svaret, såsom pagineringsoplysninger.

  • total — det samlede antal tilgængelige varer på alle sider.
  • current_page — det aktuelle sidenummer for resultaterne.
  • per_page — antallet af varer pr. side.

data

Hovedindholdet i svaret. data varierer efter slutpunkt - det kan være et enkelt objekt, for eksempel et produkt, eller en række objekter, for eksempel en liste over produkter.

NÅR NOGET GÅR GALT

Fejl og statuskoder

Alle API-anmodninger returnerer HTTP-statuskoder, der giver indsigt i svaret.

400 Bad Request

Serveren kan ikke behandle anmodningen på grund af valideringsfejl - manglende eller ugyldige parametre.

401 Unauthorized

Klienten har ikke angivet gyldige godkendelsesoplysninger. Returneres også, når adgangstokenet er blevet tilbagekaldt.

403 Forbidden

Serveren afviste anmodningen på grund af utilstrækkelige adgangsrettigheder, typisk forårsaget af forkerte eller manglende adgangstilladelser.

404 Not Found

Den anmodede ressource kunne ikke findes på serveren.

429 Too Many Requests

Klienten har overskredet det tilladte antal anmodninger i en given tidsramme. Se Rate Limits.

5xx Errors

Der opstod en intern serverfejl. Kontakt venligst Fabrixas support med detaljer om den mislykkede anmodning.

Error Response Body

Et eksempel på en fejlsvartekst:

{
    "links": {
        "self": "https://api.fabrixa.com/v2/integration/ping"
    },
    "meta": [],
    "errors": {
        "messages": [
            "Application Key is not specified."
        ]
    }
}

errors indeholder detaljer om, hvad der fejlede. messages-arrayet viser fejlbeskrivelser. For en dårlig anmodning vil du modtage navnene på de felter, der mislykkedes ved validering.

KEND DINE FORESPØRGGSGRÆNSER

Satsgrænser

Integrations-API'en understøtter en grænse på 30 anmodninger pr. applikation pr. minut.

Hvis du overskrider denne grænse, vil du modtage et 429 Too Many Requests svar.

Alle Integration API-svar inkluderer X-RateLimit-Remaining-headeren, hvor mange anmodninger klienten stadig kan lave, og X-RateLimit-Limit-headeren, det samlede tilladte antal pr. minut.

OPRET OG SPOR ORDRER

Ordrer

Opret ordrer i Fabrixa fra din egen butiksfacade eller platform, vedhæft de påkrævede printfiler, og følg hver vare, mens den bevæger sig gennem opfyldelsen.

FORBERED DINE ORDREDATA

Opret en ordre

For at oprette en ordre via Fabrixa Integration API skal du sende en POST anmodning til https://api.fabrixa.com/v2/integration/orders. Anmodningsorganet skal omfatte:

Anmod om kropsstruktur

  • number (valgfrit) - ordrenummeret. Hvis det ikke angives, genereres et unikt nummer.
  • comments (valgfrit) - yderligere kommentarer eller noter til ordren.
  • purchased_at - dato og klokkeslæt for købet, formateret som YYYY-MM-DD HH:MM:SS.
  • client_ip (valgfrit) - kundens IP-adresse.
  • client_user_agent (valgfrit) - kundens user-agent-streng.
  • rows - array med ordrelinjer, hver med:
    • sku - produktvariantens SKU. Se Swagger for detaljer.
    • quantity - antal bestilte produktvarianter.
    • client_barcode (valgfrit) - unik klient-side-identifikator pr. ordrelinje, formateret som Code 128.
    • cart_item_key (påkrævet uden sources) - unik identifikator fra platformen, der indlejrer Fabrixa Studio, brugt til at knytte gemte tilpasninger til ordren.
    • sources (påkrævet uden cart_item_key) - array med kildefiler til produktet, hver med:
      • type - produkttypen; brug som standard "file".
      • url - URL til kildefilen.
  • customer - kundeoplysninger:
    • first_name, last_name, email, phone.
  • shipping_address - leveringsoplysninger:
    • address, address2 (valgfrit), address3 (valgfrit).
    • city, country_code (ISO 3166-2), country, postal_code, state (valgfrit).
    • first_name, last_name, phone (valgfrit), company (valgfrit).
  • shipping_label (valgfrit) - labeloplysninger:
    • method_name - f.eks. "Post NL".
    • tracking_number, tracking_url, label_pdf_url.
    • date_created - formateret som YYYY-MM-DD HH:MM:SS.

Eksempel på anmodning

{
  "number": "NL2024010201",
  "comments": "Customer agrees with a low resolution file.",
  "purchased_at": "2024-06-26 21:12:22",
  "client_ip": "127.0.0.1",
  "client_user_agent": "Mozilla",
  "rows": [
    {
      "variant_id": 2705,
      "quantity": 1,
      "client_barcode": "1234567890",
      "sources": [
        {
          "type": "file",
          "url": "https://samples-files.com/samples/sample.pdf"
        }
      ]
    }
  ],
  "customer": {
    "first_name": "John",
    "last_name": "Doe",
    "email": "3VJtP@example.com",
    "phone": "0647185332"
  },
  "shipping_address": {
    "address": "Pierre cuypershof",
    "address2": "17",
    "city": "Amsterdam",
    "country_code": "NL",
    "country": "Netherlands",
    "postal_code": "1012 AB",
    "state": "North Holland",
    "first_name": "John",
    "last_name": "Doe",
    "phone": "0647185332"
  },
  "shipping_label": {
    "method_name": "Post NL",
    "tracking_number": "3SYZXG1585577",
    "tracking_url": "https://postnl.nl/tracktrace/3SYZXG1585577",
    "label_pdf_url": "https://api.fabrixa.com/storage/8966630826422f36d822f91680012141.pdf",
    "date_created": "2024-01-01 00:00:00"
  }
}
SPOR DINE ORDREVARER

Sporopfyldelse

For at få opfyldelsesstatus for en specifik ordre skal du sende en GET anmodning til https://api.fabrixa.com/v2/integration/orders/{order_id}/fulfillments. Svaret giver en liste over opfyldelser forbundet med ordren, herunder hver varestatus, produktdetaljer og produktionstrinsfremskridt.

Eksempel svar

{
    "data": [
        {
            "id": 1499,
            "barcode": "1200004169200",
            "status": "unfulfilled",
            "created_at": "2024-08-19T12:38:59.000000Z",
            "updated_at": "2024-08-19T12:39:00.000000Z",
            "variant": {
                "id": 32327,
                "name": "Test iAPI blanket product",
                "subtitle": "100 x 150 cm",
                "SKU": "COF099191"
            },
            "product": {
                "id": 1306,
                "name": "Test iAPI blanket product",
                "subtitle": "Test iAPI blanket product"
            },
            "production_steps": [
                {
                    "id": 5,
                    "name": "Print duvet",
                    "description": "Printing the duvet according to the specified design and dimensions.",
                    "status": {
                        "value": "pending",
                        "notes": null,
                        "updated_at": null
                    }
                },
                {
                    "id": 6,
                    "name": "Print pillow",
                    "description": "Printing the pillow cover with the assigned design.",
                    "status": {
                        "value": "pending",
                        "notes": null,
                        "updated_at": null
                    }
                }
            ]
        }
    ]
}

Svaret inkluderer en liste over opfyldelser, der hver giver:

  • id - unik identifikator for fulfilment.
  • barcode - stregkode til intern sporing og identifikation; kan også printes på produktet.
  • status - den aktuelle fulfilment-status: unfulfilled eller fulfilled.
  • created_at og updated_at - tidsstempler for oprettelse og seneste opdatering.
  • variant - detaljerede oplysninger om produktvarianten: navn, undertitel, SKU.
  • product - produktoplysninger: navn, undertitel.
  • production_steps - array med produktionstrin. Listen afhænger af produkttypen. For hvert trin:
    • id - unik identifikator for produktionstrinnet.
    • name - f.eks. "Print duvet".
    • description - hvad produktionstrinnet omfatter.
    • status - den aktuelle status:
      • pending - endnu ikke startet.
      • in progress - er i gang.
      • rejected - trinnet havde et problem og blev ikke fuldført.
      • done - trinnet er fuldført.
    • notes - eventuelle yderligere noter til trinnet.
    • updated_at - seneste tidspunkt hvor trinstatus blev opdateret.

Hver opfyldelsespost svarer til et specifikt produkt eller produktvariant i ordren, og hver kopi af produktet i ordren har sin egen opfyldelsespost - hver vare spores individuelt gennem hele produktionen.

Hvis der ikke returneres nogen opfyldelse af en ordre, er ordren endnu ikke gået ind i behandlingsfasen.

SÅDAN LEVERER DU UDSKRIFTSFILER

Krav til kildefil

Når du inkluderer kildefiler i din ordre, skal du sikre dig, at de opfylder følgende krav:

type

Du skal angive en PDF-fil som kilde. Hvis dit design indeholder flere produktlag, skal du inkludere hvert lag som en separat side i den samme PDF. Under behandlingen behandles hver side som et individuelt lag, så du kan indsende et flerlagsdesign som en enkelt kildefil. Se PDF-krav og siderækkefølge.

type i kildeobjektet skal indstilles til "file".

"sources": [
    {
        "type": "file",
        "url": "https://samples-files.com/samples/source.pdf"
    }
]

For yderligere detaljer, se Swagger-dokumentationen.

url

Feltet url skal indeholde et direkte link til kildefilen. Sørg for, at URL'en er tilgængelig, og at filen kan downloades uden godkendelse. Linket skal forblive tilgængeligt gennem hele produktionsprocessen.

Filformat

Giv filer i PDF-format. Sørg for, at billeder er af høj kvalitet og egnede til udskrivning.

Billeddimensioner

Maksimale dimensioner er 15,000 pixels på hver side. Billeder, der overskrider denne grænse, kan ændres eller afvises. Billedopløsningen skal matche produktdimensioner; Ellers kan billederne blive ændret eller beskåret, så de passer.

Opløsning

Intet specifikt krav til opløsning - bare sørg for, at billedkvaliteten er tilstrækkelig til udskrivning.

Farverum

Billeder skal være i RGB farverum for nøjagtig farvegengivelse. Andre farverum vil blive konverteret under behandlingen, hvilket kan resultere i forkerte farver.

Filstørrelse

Hver kildefil bør ikke overstige 50 MB. Større filer kan blive afvist eller forårsage forsinkelser i behandlingen.

PDF-krav og siderækkefølge

Rækkefølgen af ​​sider i PDF'en er vigtig. Sider matches til produktlag efter position, og den forventede siderækkefølge afhænger af produkttypen. Sørg for, at siderne i din PDF følger den korrekte lagsekvens for det produkt, du indsender.

ProduktPDF-siderækkefølge
Duvet Cover
  1. Duvet cover
  2. Pillow front
  3. Pillow back
Curtains
  1. Left curtain
  2. Right curtain
T-shirt
  1. Front
  2. Back
  3. Left sleeve
  4. Right sleeve
  5. Collar
Tanktop
  1. Front
  2. Back
  3. Left sleeve
  4. Right sleeve
  5. Collar
Sweater
  1. Front
  2. Back
  3. Left sleeve
  4. Right sleeve
  5. Left cuff
  6. Right cuff
  7. Collar
  8. Waistband
Hoodie
  1. Front
  2. Back
  3. Left sleeve
  4. Right sleeve
  5. Left cuff
  6. Right cuff
  7. Hood inside left
  8. Hood inside right
  9. Hood outside left
  10. Hood outside right
  11. Waistband
  12. Pocket lower left
  13. Pocket lower right
  14. Pocket upper right
  15. Pocket upper left
Sweatpants
  1. Front right
  2. Front left
  3. Back left
  4. Back right
  5. Left cuff
  6. Right cuff
  7. Waistband
  8. Right pocket
  9. Left pocket
  10. Back pocket
  11. Back pocket interfacing
Sweatshorts
  1. Front right
  2. Front left
  3. Back left
  4. Back right
  5. Waistband
  6. Right pocket
  7. Left pocket

Vigtigt: hver PDF-side skal matche de påkrævede dimensioner for sit produktlag og være orienteret korrekt. Placer kunstværket, så toppen af ​​designet flugter med toppen af ​​siden. Forkert sidestørrelse eller -retning kan forårsage problemer med skalering, rotation eller justering i produktionen.

PRODUKT TILPASNING

Fabrixa Studio

Fabrixa Studio er et værktøj, der lader brugere problemfrit tilpasse og personliggøre produkter i realtid med en intuitiv grænseflade, hvor brugerne kan oprette eller uploade deres egne designs.

Fabrixa Studio er ideel til virksomheder, der tilbyder brugerdefinerede produkter - hvilket gør det muligt for kunderne at visualisere deres design, før de afslutter ordrer.

TILFØJ STUDIO TIL DIN BUTIK

Integrer Fabrixa Studio

Du kan integrere Fabrixa Studio på dit websted ved hjælp af en iframe. Dette gør det muligt for dine kunder at tilpasse produkter direkte på dit websted under kassen.

Eksempel iframe til indlejring af Fabrixa Studio:

<iframe id="fabrixa-studio"
    src="https://studio.fabrixa.com?application_key={application_key}&sku={product_sku}&cart_item_key={cart_item_key}"
    name="FabrixaStudio"
    scrolling="no"
    frameborder="1"
    width="100%"
    height="100%"
    allowfullscreen="">
</iframe>

Erstat værdierne for product_sku, cart_item_key og application_key med dine dynamiske værdier.

Anmodning om at oprette en ordre med cart_item_key

{
  "number": "NL2024010201",
  "purchased_at": "2024-06-26 21:12:22",
  "client_ip": "127.0.0.1",
  "client_user_agent": "Mozilla",
  "rows": [
    {
      "sku": "SB796162",
      "quantity": 1,
      "cart_item_key": "0cb76770-de2d-4524-aa48-47b6e5f0d8a5"
    }
  ],
  "customer": {
    "...": "..."
  },
  "shipping_address": {
    "...": "..."
  },
  "shipping_label": {
    "...": "..."
  }
}
LYT EFTER KUNDENS HANDLINGER

Håndter studiebegivenheder

Når knappen Tilføj til kurv klikkes inde i iframen, udføres følgende kommando:

window.parent.postMessage('customizationFinished', '*');

På samme måde, når der klikkes på knappen Tilbage:

window.parent.postMessage('closeButtonClicked', '*');

postMessage-metoden letter kommunikation på tværs mellem iframen og dens overordnede vindue, så den kan underrette forælderen om specifikke brugerhandlinger.

Det første argument for postMessage er de data, du vil sende. Strengen 'customizationFinished' angiver, at brugeren har afsluttet tilpasningen og tilføjer produktet til indkøbskurven. 'closeButtonClicked' angiver, at brugeren har valgt at gå tilbage.

I det overordnede vindue skal du lytte efter disse beskeder ved hjælp af message begivenhedslytteren:

window.addEventListener('message', function(event) {
    if (event.origin === 'https://studio.fabrixa.com') {
        if (event.data === 'customizationFinished') {
            // Handle the Add to Cart event
            console.log('Customization finished and item can be added to cart.');
        } else if (event.data === 'closeButtonClicked') {
            // Handle the Back button event
            console.log('Back button clicked.');
        }
    }
});

Kontroller altid origin for indgående meddelelser for at sikre, at de kommer fra en pålidelig kilde. Afhængigt af den modtagne besked, udfør de nødvendige handlinger - opdater brugergrænsefladen, bearbejd vognen osv. Validering af origin er afgørende for sikkerheden - det forhindrer uautoriserede scripts i at interagere med din applikation.

VIS DET FÆRDIGE DESIGN

Forhåndsvisning af tilpasning

Når tilpasningen er fuldført, skal du vise det endelige design ved hjælp af forhåndsvisnings-URL'en nedenfor. Denne URL returnerer et billede af det tilpassede produkt, egnet som src værdien i et <img> tag. Ideel til at vise det tilpassede produkt i din indkøbskurv, ordreoversigt eller hvor som helst i din butiksgrænseflade.

https://api.fabrixa.com/v2/studio/customizations/{CART_ITEM_KEY}/preview?Application-Key={APPLICATION_KEY}

Erstat {CART_ITEM_KEY} med den aktuelle nøgle til indkøbskurven og {APPLICATION_KEY} med din gyldige programnøgle.

Eksempel på brug i et billedtag:

<img
    src="https://api.fabrixa.com/v2/studio/customizations/{CART_ITEM_KEY}/preview?Application-Key={APPLICATION_KEY}"
    alt="Customized Product Preview"
    style="max-width: 100%; height: auto;" />
PRØV DET MED DINE VÆRDIER

Live demo

Tilpasningseksemplet vises her, når designet er færdigt.

Customization preview
MODTAG BEGIVENHEDSOPDATERINGER

Webhooks

Webhooks bruges af Fabrixa til at underrette dit system om hændelser i realtid - bestil opdateringer eller kreationer. Når en hændelse opstår, sender Fabrixa en webhook til din server, der indeholder de relevante oplysninger. Din server skal eksponere et offentligt POST-slutpunkt for at håndtere indgående webhooks.

GENNEMGÅ DINE INDGÅENDE HEADERE

Webhook-anmodningsoverskrifter

Webhook-anmodningen indeholder følgende overskrifter for at hjælpe dig med at identificere og validere den indgående anmodning:

{
  "content-type": "application/json",
  "x-webhook-signature": "YmEwNjBhMGMyMzE3ZWQ5NGQ5NDYwOGVhNzNhMjQ4M2MyODZkZmI3NTQ1YzYxYjdkMzNhZjgzYzBmMTkxYTAxMw==",
  "x-webhook-topic": "order.updated"
}
Overskriftsoversigt
VÆLG DINE BEGIVENHEDSEMNER

Webhook-begivenheder

Fabrixa webhooks giver dit system besked om ændringer i ordrestatus eller aktivitet. Hver webhook udløses af en specifik x-webhook-topic værdi. Aktuelt understøttede emner:

EmneBeskrivelse
order.created Udløses når en ny ordre afgives i Fabrixa, enten via API-anmodning eller direkte i platformen.
order.updated Udløses, når ordredetaljer såsom ordrestatus eller opfyldelsesstatus opdateres.

Ordrestatusser

Opfyldelsesstatusser

KONTROLLER DIN BEGIVENHEDSNYTTE

Webhook Payload Eksempel

Et eksempel på nyttelasten sendt med webhook. Denne nyttelast repræsenterer en ordreopdatering:

{
  "id": 23069,
  "number": "1250211835",
  "comments": null,
  "is_archived": false,
  "status": "imported",
  "fulfillment_status": "unfulfilled",
  "purchased_at": "2025-04-17T16:17:21.000000Z",
  "created_at": "2025-04-17T16:17:23.000000Z",
  "updated_at": "2025-04-18T07:43:52.000000Z",
  "rows": [
    {
      "id": 27954,
      "quantity": 1,
      "client_barcode": "1250211835",
      "fulfillment_status": "unfulfilled",
      "variant": {
        "id": 293457,
        "name": "Sherpa fleece deken",
        "subtitle": "100x150",
        "SKU": "SFD787231",
        "product": {
          "id": 5319,
          "name": "Sherpa fleece deken",
          "subtitle": "Sherpa fleece deken"
        }
      },
      "sources": [
        {
          "type": "print",
          "url": "https://storage.googleapis.com/fabrixa-api/storage/99b10aaa-df4d-47e4-9bc9-b1d6a785df4c/orders/merchandise-sources/120002795400.pdf",
          "properties": {
            "fill_style": "contain"
          }
        }
      ]
    }
  ]
}
VERIFICER DIN WEBHOOK-KILDE

Bekræft Webhook-signaturer

For at sikre, at webhook-anmodningen er autentisk og umanipuleret, skal du kontrollere x-webhook-signature-headeren. Dette involverer genberegning af HMAC-SHA256-signaturen ved hjælp af den rå anmodningsnyttelast og din hemmelige nøgle, og derefter sammenligne den med den modtagne signatur.

Eksempel på rå PHP

$payload = file_get_contents('php://input');
$yourSecret = 'your-secret-key';
$expectedSignature = base64_encode(hash_hmac('sha256', $payload, $yourSecret, true));
$receivedSignature = $_SERVER['HTTP_X_WEBHOOK_SIGNATURE'] ?? '';

if (!hash_equals($expectedSignature, $receivedSignature)) {
    http_response_code(403);
    exit('Invalid signature');
}

Laravel eksempel

public function handle(Request $request)
{
    $yourSecret = 'your-secret-key';
    $payload = $request->getContent();
    $expectedSignature = base64_encode(hash_hmac('sha256', $payload, $yourSecret, true));
    $receivedSignature = $request->header('x-webhook-signature');

    if (!hash_equals($expectedSignature, $receivedSignature)) {
        abort(403, 'Invalid signature');
    }

    // Continue processing...
}

Erstat $yourSecret med din delte hemmelige nøgle. Brug altid hash_equals til at sammenligne signaturer for at afbøde timingangreb.

HVAD HVIS LEVERING SLIPSER?

Webhook forsøger igen

Webhooks er som standard deaktiveret efter 10 mislykkede leveringsforsøg. Hvis dit slutpunkt returnerer en mislykket status såsom 404 eller en 5xx fejl, vil webhook forsøge igen i alt 10 gange. Hvis den fortsætter med at returnere en ikke-2xx eller ikke-3xx svarkode, vil den blive deaktiveret. Vellykkede svar omfatter:

RETURNER ET KLART SVAR

Webhook-svar

Vi anbefaler på det kraftigste, at dit slutpunkt returnerer en 200 OK statuskode så hurtigt som muligt for at bekræfte vellykket modtagelse af webhook. Selvom ethvert 2xx- eller 3xx-svar anses for at være vellykket, er 200 det mest almindeligt anvendte og pålidelige.

For at undgå leveringstimeouts eller genforsøg skal du returnere 200 OK med det samme og håndtere webhook-nyttelastbehandling asynkront, for eksempel via et baggrundsjob eller kø. Hvis dit endepunkt tager for lang tid at reagere, kan det blive betragtet som en fejl, selvom svaret i sidste ende lykkes.

Svar med statuskoder i området 4xx eller 5xx, eller timeouts, vil udløse genforsøg i henhold til genforsøgsmekanismen.