Met de Customix Integrations API haal je je gepersonaliseerde bestellingen op in je eigen systemen: de printbestanden die Customix heeft gegenereerd en alles wat je klanten tijdens het personaliseren hebben ingevoerd, zoals namen, eigen tekst, kleuren en gekozen lay-outs. Gebruik de API wanneer een productietool, een spreadsheet of een automatiseringsplatform zoals Make je bestelgegevens nodig heeft zonder dat iemand ze met de hand hoeft over te nemen.

Voor een API-sleutel ga je in de linkerzijbalk naar Instellingen, open je het tabblad Integraties en klik je in de kaart API-sleutel op Sleutel aanmaken. Zie Hoe krijg ik een Customix-API-sleutel voor de details.

🔑 Authenticatie

Alle verzoeken vereisen je API-sleutel in de header:

Authorization: Bearer <your_api_key>

🌐 Base URL

https://app.customix.io/api/integrations/v1

📘 Endpoints

1. Lijst met bestellingen ophalen

Endpoint:

GET /orders

Beschrijving: haal je gepersonaliseerde bestellingen op, standaard de nieuwste eerst.

Parameters:

ParameterTypeVerplichtBeschrijving
shopstring✅Naam van de Shopify-winkel. Als de URL van je winkel abcdef.myshopify.com is, dan is shop=abcdef
limitinteger⬜Standaard is 50, maximumwaarde is 250
created_at_mindate⬜Toon bestellingen die op of na deze datum zijn aangemaakt (formaat: 2025-01-21)
created_at_maxdate⬜Toon bestellingen die op of vóór deze datum zijn aangemaakt (formaat: 2025-01-30)
order_statusstring⬜created: toon alleen open bestellingen. paid: toon alleen betaalde bestellingen. fulfilled: toon alleen afgehandelde bestellingen.
order_bystring⬜Standaard is 'ordered_at desc'. Kan ook 'ordered_at asc', 'id asc' of 'id desc' zijn

Headers:

HeaderWaarde
AuthorizationBearer API_KEY

Voorbeeldverzoek:

GET https://app.customix.io/api/integrations/v1/orders?shop=abcdef&limit=2

Respons:

{
  "data": [
    {
      "shop": "abcdef.myshopify.com",
      "order_id": 123456789,
      "order_number": "#1001",
      "currency": "USD",
      "customer": "John Doe",
      "email": "[email protected]",
      "ip": "123.123.123.123",
      "total_price": 123.45,
      "financial_status": "paid",
      "fulfillment_status": "fulfilled",
      "ordered_at": "2025-01-21 01:01:01",
      "customizations": [
        {
          "id": "01jjavmg7t7vqj5z6qvxwie14b",
          "public_customization_id": "01jjavmg7t7vqj5z6qvxwpc9kd",
          "campaign_id": "01jphjdfmtxhaio94h0wd0kv0c",
          "shopify_line_item_id": 11106133639222,
          "shopify_product_id": 11179841648222,
          "shopify_variant_id": 11191300929074,
          "platform": "shopify",
          "line_item_quantity": 1,
          "files": [
            {
              "id": "01jb3092vabc7m8qw4cdqv09we",
              "name": "default",
              "path": "https://d6opbaohxg209.cloudfront.net/temp/extracted_67d7d664c7awe/Accessory/Laptop.png"
            }
          ],
          "values": [
            { "key": "100001", "label": "Name", "type": "text-field", "value": "Emma" },
            { "key": "layout_100003", "label": "Layout", "type": "layout-swatch", "value": "Portrait" },
            { "key": "100004", "label": "Color", "type": "color-picker", "value": "#1a2b3c" }
          ]
        }
      ]
    }
  ]
}

Foutreacties:

CodeBerichtBeschrijving
401UnauthorizedOngeldig of ontbrekend token
403ForbiddenJe hebt geen toestemming om bestellingen van deze winkel te bekijken

2. Een specifieke bestelling ophalen

Endpoint:

GET /orders/{id}

Beschrijving: haal één bestelling op, met de printbestanden en personalisatiewaarden.

Parameters:

ParameterTypeVerplichtBeschrijving
shopstring✅Naam van de Shopify-winkel. Als de URL van je winkel abcdef.myshopify.com is, dan is shop=abcdef
idinteger✅Shopify-bestel-ID, in het pad

Headers:

HeaderWaarde
AuthorizationBearer API_KEY
Content-Typeapplication/json

Voorbeeldverzoek:

GET https://app.customix.io/api/integrations/v1/orders/123456789?shop=abcdef

Respons: één bestelling in data, met dezelfde velden als één item uit de bovenstaande lijst:

{
  "data": {
    "shop": "abcdef.myshopify.com",
    "order_id": 123456789,
    "order_number": "#1001",
    "customizations": [
      {
        "id": "01jjavmg7t7vqj5z6qvxwie14b",
        "public_customization_id": "01jjavmg7t7vqj5z6qvxwpc9kd",
        "line_item_quantity": 1,
        "files": [
          { "id": "01jb3092vabc7m8qw4cdqv09we", "name": "default", "path": "https://d6opbaohxg209.cloudfront.net/temp/extracted_67d7d664c7awe/Accessory/Laptop.png" }
        ],
        "values": [
          { "key": "100001", "label": "Name", "type": "text-field", "value": "Emma" }
        ]
      }
    ]
  }
}

(Hier ingekort: de echte respons bevat alle velden uit het voorbeeld van de lijst.)

Foutreacties:

CodeBerichtBeschrijving
401UnauthorizedOngeldig of ontbrekend token
403ForbiddenJe hebt geen toestemming om deze bestelling te bekijken
404Not FoundBestelling niet gevonden

3. De personalisatie van een specifieke bestelling ophalen

Endpoint:

GET /orders/{order_id}/customizations/{public_customization_id}

Beschrijving: haal één personalisatie van een bestelling op.

Parameters:

ParameterTypeVerplichtBeschrijving
shopstring✅Naam van de Shopify-winkel. Als de URL van je winkel abcdef.myshopify.com is, dan is shop=abcdef
order_idinteger✅Shopify-bestel-ID, in het pad
public_customization_idstring✅De public_customization_id van de personalisatie, in het pad. Je vindt hem in de respons van de bestelling en bij de bestelling in Shopify als itemeigenschap _cm-customization-id

Headers:

HeaderWaarde
AuthorizationBearer API_KEY
Content-Typeapplication/json

Voorbeeldverzoek:

GET https://app.customix.io/api/integrations/v1/orders/123456789/customizations/01jjavmg7t7vqj5z6qvxwpc9kd?shop=abcdef

Respons: de personalisatie zelf, niet verpakt in data:

{
  "id": "01jjavmg7t7vqj5z6qvxwie14b",
  "public_customization_id": "01jjavmg7t7vqj5z6qvxwpc9kd",
  "campaign_id": "01jphjdfmtxhaio94h0wd0kv0c",
  "shopify_line_item_id": 11106133639222,
  "shopify_product_id": 11179841648222,
  "shopify_variant_id": 11191300929074,
  "platform": "shopify",
  "line_item_quantity": 1,
  "files": [
    {
      "id": "01jb3092vabc7m8qw4cdqv09we",
      "name": "default",
      "path": "https://d6opbaohxg209.cloudfront.net/temp/extracted_67d7d664c7awe/Accessory/Laptop.png"
    }
  ],
  "values": [
    { "key": "100001", "label": "Name", "type": "text-field", "value": "Emma" },
    { "key": "layout_100003", "label": "Layout", "type": "layout-swatch", "value": "Portrait" }
  ]
}

Foutreacties:

CodeBerichtBeschrijving
401UnauthorizedOngeldig of ontbrekend token
403ForbiddenJe hebt geen toestemming om deze personalisatie te bekijken
404Not FoundBestelling niet gevonden, of personalisatie niet gevonden

🖊️ Personalisatiewaarden

Elke personalisatie bevat values: één item voor elk personalisatieveld dat bij de bestelling is opgeslagen, dezelfde gegevens die je in Shopify als itemeigenschappen bij de bestelling ziet. Elk item heeft:

  • key: de identificatie van het veld in je sjabloon. Deze blijft van bestelling tot bestelling gelijk voor hetzelfde veld van hetzelfde sjabloon, dus gebruik hem om velden in je integratie te koppelen.
  • label: de optienaam die je klanten zagen, bijvoorbeeld "Name". Bij oudere bestellingen kan dit leeg zijn.
  • type: het soort optie, bijvoorbeeld text-field, color-picker, font-swatch, image-swatch, layout-swatch, date-picker of file-upload.
  • value: wat je klant heeft gekozen of ingevoerd, altijd als tekst.

Zo ziet value eruit voor elk soort optie:

  • Tekst: precies wat je klant heeft getypt.
  • Kleurkiezer: de kleurcode die je klant heeft gekozen.
  • Lettertype-, afbeeldings-, kleur- en lijnstalen: de waarde van het staal dat je klant heeft gekozen.
  • Lay-outstalen: de naam van de lay-out die je klant heeft gekozen, zoals die heette toen de bestelling werd geplaatst.
  • Datum- en tijdkiezers: de datum of tijd die je klant heeft gekozen.
  • Bestands- en vectoruploads: een link naar het bestand dat je klant heeft geüpload.
  • Paletten en lettertypen voor woordenwolken: de kleuren of lettertypen die je klant heeft gekozen, gescheiden door komma's.
  • Opties die geen tekstvorm hebben, zoals kaartstijlen, locaties of Spotify-nummers, komen terug met een lege waarde. Gebruik hiervoor de printbestanden.

⚠️ Veelvoorkomende foutcodes

CodeBeschrijving
400Bad Request
401Unauthorized — ongeldige of ontbrekende API-sleutel
403Forbidden — geen toestemming voor deze winkel, of API-toegang is niet beschikbaar in je huidige abonnement
404Not Found
422Winkelnaam ontbreekt — de parameter shop is verplicht
500Internal Server Error

📌 Opmerkingen

  • Alle responsen zijn in JSON.
  • Limiet: 2 requests/second.
  • Neem contact op met [email protected] voor vragen.

Bijgewerkt op: 14/09/2026