Ga naar de hoofdinhoud
Een Fabrixa API-verzoek op het scherm — JSON-bestelgegevens met authenticatieheaders, tegen een achtergrond van geweven textiel
Ontwikkelaars · Integratiegids

Van auth tot fulfilment in vijftien minuten.

Er zijn twee manieren om bestellingen naar Fabrixa te verzenden: koppel de webwinkel die je al beheert — Shopify of WooCommerce — zonder te hoeven programmeren, of bouw rechtstreeks via de API-integratie. In deze handleiding komen beide manieren aan bod: koppel een verkoopkanaal binnen enkele minuten, of doorloop het hele proces van authenticatie tot fulfilment in een kwartier.

No-code Shopify & WooCommerce · REST + JSON API · Authenticatie met twee headers · 30 verzoeken/minuut

Geen code · Shopify & WooCommerce

Verkoop je al via Shopify of WooCommerce? Sluit je binnen enkele minuten aan.

De meeste winkels maken nooit gebruik van de API. Voeg Fabrixa toe als verkoopkanaal en bestellingen uit je winkel worden direct naar de productie doorgestuurd — producten worden gesynchroniseerd, statussen worden teruggemeld, en je hoeft geen code te schrijven of te onderhouden. De API-route verderop is bedoeld voor aangepaste webwinkels en POD-platforms.

Kanaal aanmaken → kies hoe je verkoopt

Open in je dashboard Create channel en kies het type integratie. Elk kanaal behoudt zijn eigen producten, geïmporteerde bestellingen en importregels — je kunt er zoveel koppelen als je wilt.

  • Shopify — OAuth met één klik vanuit je Shopify-beheerdersgedeelte
  • WooCommerce — verbinding maken met REST API-sleutels
  • Aangepaste API — POD-platforms en op maat gemaakte webwinkels via de API-integratie
  • Drukwerkpartner — productieopdrachten ontvangen van een Fabrixa-partner
account.fabrixa.com/channels/create
Het scherm ‘Kanaal aanmaken’ van Fabrixa — een integratietype kiezen: Shopify, WooCommerce, Aangepaste API of een printpartner, via het WooCommerce-koppelingsformulierHet scherm ‘Kanaal aanmaken’ van Fabrixa — een integratietype kiezen: Shopify, WooCommerce, Aangepaste API of een printpartner, via het WooCommerce-koppelingsformulier
Shopify

OAuth met één klik

Er hoeven geen sleutels te worden gekopieerd. Geef Fabrixa toestemming via je Shopify-beheerderspaneel en de verbinding is actief.

  1. In Create channel, kies Shopify.
  2. Keur de verbinding goed vanuit je Shopify-beheerdersgedeelte (OAuth) — je hoeft geen sleutels te kopiëren.
  3. Producten en bestellingen worden automatisch gesynchroniseerd. Elke nieuwe Shopify-bestelling wordt geïmporteerd in Fabrixa en gaat in productie.
WooCommerce

Verbinding maken met REST API-sleutels

Een WordPress-webwinkel maakt verbinding via een REST-sleutelpaar voor lezen en schrijven — dat in WooCommerce wordt gegenereerd en eenmalig in Fabrixa wordt ingevoerd.

  1. In WooCommerce: Settings → Advanced → REST API → Add key met Lezen/Schrijven machtigingen.
  2. Plak de ck_ sleutel, cs_ het wachtwoord en het domein van je winkel in Fabrixa.
  3. Opslaan — bestellingen worden automatisch gesynchroniseerd zodra er verbinding is. Je kunt de importregels later aanpassen in de kanaalinstellingen.

Verkoop je producten op maat? Fabrixa Studio — de white-label-ontwerpeditor — is ook beschikbaar in Shopify- en WooCommerce-winkels, zodat je klanten producten onder jouw merknaam kunnen personaliseren. Zie Fabrixa Studio →

account.fabrixa.com/channels
Het overzicht ‘Fabrixa-kanalen’ — gekoppelde verkoopkanalen van Shopify, WooCommerce en API naast elkaar, met gesynchroniseerde producten, geïmporteerde bestellingen en omzet per kanaalHet overzicht ‘Fabrixa-kanalen’ — gekoppelde verkoopkanalen van Shopify, WooCommerce en API naast elkaar, met gesynchroniseerde producten, geïmporteerde bestellingen en omzet per kanaal
Eén dashboard

Elk kanaal, elke bestelling, één overzicht.

Aangesloten winkels staan naast je API- en partnerkanalen in het overzicht ‘Kanalen’ — gesynchroniseerde producten, ontvangen bestellingen, de laatst geïmporteerde referentie en omzet per kanaal. Zet een kanaal van ‘concept’ naar ‘live’ zodra je er klaar voor bent; er verandert verder niets in de keten.

Wil je liever een op maat gemaakte webwinkel bouwen of je eigen POD-platform? De rest van deze handleiding gaat over de API-aanpak: van authenticatie tot fulfilment in vier stappen.

Vereisten

Wat je nodig hebt voordat je begint.

Drie dingen brengen je van nul naar een live bestelling. Alle drie worden verstrekt via je Fabrixa-dashboard of door je solutions engineer.

01
API-inloggegevens

Een Application Access Token en een Application Key. Beide zijn bij elk verzoek vereist: het token in de Authorization-header en de sleutel in X-Application-Key. Maak een verkoopkanaal aan in je dashboard om ze direct te genereren — hiervoor is geen verzoek nodig.

02
Webhook-endpoint

Een voor het publiek toegankelijk HTTPS-endpoint dat JSON POST-verzoeken accepteert. Localhost werkt tijdens de ontwikkeling via een tunnel. Je controleert de HMAC-SHA256-handtekening van elke payload voordat je deze verwerkt.

03
Ontwerpbestanden

Je ontwerpbestand — PDF, TIFF, JPG of PNG — moet via HTTPS zonder authenticatie toegankelijk zijn. RGB-kleur, maximaal 50 MB en 15.000 px per zijde. Bij PDF’s met meerdere pagina’s geldt: één pagina per laag. Wij halen het bestand op en genereren de juiste drukbestanden wanneer we de opdracht verwerken.

Stap 1 — Inloggen

Controleer of je inloggegevens kloppen met een ping.

Elk verzoek wordt naar de basis-URL gestuurd https://api.fabrixa.com/v2/integration waarbij beide headers zijn ingesteld. GET /ping controleert of het token en de sleutel geldig zijn voordat je verdergaat.

Status 401 betekent dat er een header ontbreekt of dat het token is ingetrokken. Status 403 betekent dat de inloggegevens weliswaar geldig zijn, maar dat er geen toestemming is voor de bron.

GET /v2/integration/ping
# Verify auth before anything else
curl https://api.fabrixa.com/v2/integration/ping \
  -H "Accept: application/json" \
  -H "Authorization: Bearer APPLICATION_ACCESS_TOKEN" \
  -H "X-Application-Key: APPLICATION_KEY"

# 200 OK   → credentials valid
# 401      → missing header or revoked token
# 403      → valid, but no access to the resource
Stap 2 — Producten ophalen

Bekijk welke SKU’s er voor je account beschikbaar zijn.

De catalogus geeft productvarianten weer met hun SKU en variant_id. Elk antwoord op de lijst wordt omgeven door de standaard links / meta / data envelope, dus pagineren met de next_page link. Lokaal in de cache opslaan — de catalogus wordt niet per verzoek opgevraagd.

Alle details over het veld staan in de Swagger-referentie.

GET /v2/integration/products
GET /v2/integration/products?page=1

{
  "links": {
    "self":      ".../products?page=1",
    "next_page": ".../products?page=2",
    "prev_page": null
  },
  "meta":  { "total": 248, "current_page": 1, "per_page": 10 },
  "data": [
    { "id": 1306, "name": "Unisex AOP T-shirt", "SKU": "COF099191" }
  ]
}
Stap 3 — Een bestelling plaatsen

Eén POST-verzoek zet de bestelling in productie.

Verzenden rows (SKU + aantal + een bron-PDF), customer en shipping_address. Stel je eigen number als referentie — laat deze weg en wij genereren er een. Sla het geretourneerde Fabrixa-order-id op bij je bestelling.

Studio-opdrachten vervangen de sources bestand met de cart_item_key van het opgeslagen ontwerp; al het andere is identiek.

POST /v2/integration/orders
POST /v2/integration/orders

{
  "number":       "ORD-2026-0142",
  "purchased_at": "2026-05-28 14:22:01",
  "rows": [
    {
      "sku":      "COF099191",
      "quantity": 1,
      "sources": [
        { "type": "file", "url": "https://cdn.you.com/art/9812.pdf" }
      ]
    }
  ],
  "customer": {
    "first_name": "Maria", "last_name": "Silva",
    "email": "maria@example.com", "phone": "+351912345678"
  },
  "shipping_address": {
    "address": "Rua do Carmo 42", "city": "Lisboa",
    "postal_code": "1200-094",
    "country_code": "PT", "country": "Portugal"
  }
}
Stap 4 — Webhooks

Blijf op de hoogte van de levenscyclus van de bestelling.

Stel je webhook-URL in via het dashboard. We sturen daar een POST met order.created en order.updated naartoe, met de volledige body van de bestelling, een x-webhook-signature (HMAC-SHA256) en een x-webhook-topic header. Controleer de handtekening, stuur snel een 200 terug en verwerk asynchroon.

Alle gebeurtenissen en de verificatiefragmenten staan op de webhooks referentie.

POST → je endpoint
# Request headers
content-type:       application/json
x-webhook-topic:    order.updated
x-webhook-signature: YmEwNjBhMGMy...AxMw==

# Body (truncated)
{
  "id": 23069,
  "number": "1250211835",
  "status": "imported",
  "fulfillment_status": "unfulfilled",
  "updated_at": "2026-05-28T07:43:52Z"
}
Fouten en limieten

Wat je kunt verwachten als het misgaat.

Fouten worden weergegeven als JSON, nooit als HTML. De errors.messages array geeft aan wat er mis is gegaan; bij een 400-fout worden de velden weergegeven die niet zijn gevalideerd.

400 / 401 / 403 / 404

Validatiefout, ontbrekende of ingetrokken inloggegevens, onvoldoende rechten of onbekende bron.

429 Too Many Requests

30 verzoeken per applicatie per minuut. X-RateLimit-Limit en X-RateLimit-Remaining staan in elk antwoord.

5xx

Aan de serverzijde. Probeer het opnieuw met een back-off; als het probleem zich blijft voordoen, stuur dan het verzoek-ID naar je solutions engineer.

Foutreactie
{
  "links": { "self": ".../v2/integration/orders" },
  "meta":  [],
  "errors": {
    "messages": [
      "Application Key is not specified."
    ]
  }
}
Veelgestelde vragen

Integratie, beantwoord

Hoeveel API-verzoeken per minuut staat Fabrixa toe?

Fabrixa staat 30 verzoeken per applicatie per minuut toe; als deze limiet wordt overschreden, wordt een 429 Too Many Requests-antwoord teruggestuurd. De headers X-RateLimit-Limit en X-RateLimit-Remaining worden bij elk antwoord meegestuurd, zodat een integratie het resterende quotum kan bijhouden voordat de limiet wordt bereikt.

Welke afbeeldingsformaten accepteert Fabrixa voor drukbestanden?

Fabrixa accepteert PDF-, TIFF-, JPG- of PNG-bestanden in RGB-kleur, met een maximale grootte van 50 MB en 15.000 px per zijde, die via HTTPS zonder authenticatie toegankelijk zijn. PDF’s met meerdere pagina’s worden behandeld als één pagina per laag, en Fabrixa haalt het bestand zelf op om de juiste drukbestanden samen te stellen wanneer de opdracht wordt verwerkt.

Hoe koppel ik een WooCommerce-winkel aan Fabrixa?

Ga in WooCommerce naar Instellingen, vervolgens naar Geavanceerd en daarna naar REST API, en voeg daar een sleutel toe met lees- en schrijfrechten. Plak de gegenereerde ck_-sleutel, het cs_-geheim en het domein van je winkel in Fabrixa, sla de wijzigingen op, en de bestellingen worden automatisch gesynchroniseerd — de importregels kun je later aanpassen in de kanaalinstellingen.

Wat heb ik nodig voordat ik mijn eerste Fabrixa API-bestelling plaats?

Voordat je een eerste bestelling plaatst, heb je een Application Access Token en een Application Key van een verkoopkanaal nodig, een openbaar HTTPS-webhook-endpoint dat de HMAC-SHA256-handtekening op elke payload verifieert, en afbeeldingen die via HTTPS zonder authenticatie toegankelijk zijn. Deze drie worden allemaal uitgegeven of geconfigureerd via het Fabrixa-dashboard, en de inloggegevens worden direct gegenereerd wanneer het verkoopkanaal wordt aangemaakt.

Wat betekent een 403-respons van de Fabrixa API?

Een 403-foutcode betekent dat het Application Access Token en de Application Key weliswaar geldig zijn, maar dat er geen toestemming is voor de aangevraagde bron. Dit verschilt van een 401-foutcode, die aangeeft dat een vereiste header ontbreekt of dat het token is ingetrokken; beide kunnen worden gecontroleerd met een GET /ping-verzoek voordat je verder gaat met de ontwikkeling.

Zit je vast?

Praat met een solutions engineer.

Voor ondersteuning bij integratie, problemen met inloggegevens of verkoopkanalen, specifieke vereisten of capaciteitsplanning: neem contact op met het technische SE-kanaal, niet met de verkoopafdeling. Reactie binnen één werkdag.

Kennisbank

Vragen over integraties en API?

Alle 8 antwoorden over Integraties & API → Neem contact op met ons ondersteuningsteam →