Customix Integrations API låter dig hämta dina personaliserade beställningar till dina egna system – de tryckfiler som Customix har genererat och allt som dina kunder angav när de personaliserade, till exempel namn, egen text, färger och valda layouter. Använd den när ett produktionsverktyg, ett kalkylblad eller en automationsplattform som Make behöver dina orderuppgifter utan att någon kopierar dem för hand.
För att få en API Key går du till Inställningar i sidomenyn till vänster, öppnar fliken Integrationer och klickar sedan på Skapa nyckel i kortet API Key. Mer information finns i Så hämtar du din Customix API Key.
🔑 Autentisering
Alla anrop kräver din API Key i headern:
Authorization: Bearer <your_api_key>🌐 Base URL
https://app.customix.io/api/integrations/v1📘 Endpoints
1. Hämta en lista över beställningar
Endpoint:
GET /ordersBeskrivning: Hämta dina personaliserade beställningar, som standard med de nyaste först.
Parametrar:
| Parameter | Typ | Obligatorisk | Beskrivning |
|---|---|---|---|
shop | string | ✅ | Shopify-butikens namn. Om din butiks URL är abcdef.myshopify.com är shop=abcdef |
limit | integer | ⬜ | Standard är 50, högsta värde är 250 |
created_at_min | date | ⬜ | Visa beställningar som skapats på eller efter detta datum (format: 2025-01-21) |
created_at_max | date | ⬜ | Visa beställningar som skapats på eller före detta datum (format: 2025-01-30) |
order_status | string | ⬜ | created: visa bara öppna beställningar. paid: visa bara betalda beställningar. fulfilled: visa bara levererade beställningar. |
order_by | string | ⬜ | Standard är 'ordered_at desc'. Kan också vara 'ordered_at asc', 'id asc' eller 'id desc' |
Headers:
| Header | Värde |
|---|---|
Authorization | Bearer API_KEY |
Exempel på anrop:
GET https://app.customix.io/api/integrations/v1/orders?shop=abcdef&limit=2Svar:
{
"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" }
]
}
]
}
]
}Felsvar:
| Kod | Meddelande | Beskrivning |
|---|---|---|
| 401 | Unauthorized | Ogiltig eller saknad token |
| 403 | Forbidden | Du har inte behörighet att visa beställningar för den här butiken |
2. Hämta en specifik beställning
Endpoint:
GET /orders/{id}Beskrivning: Hämta en beställning med dess tryckfiler och personaliseringsvärden.
Parametrar:
| Parameter | Typ | Obligatorisk | Beskrivning |
|---|---|---|---|
shop | string | ✅ | Shopify-butikens namn. Om din butiks URL är abcdef.myshopify.com är shop=abcdef |
id | integer | ✅ | Shopify-beställnings-ID, i sökvägen |
Headers:
| Header | Värde |
|---|---|
Authorization | Bearer API_KEY |
Content-Type | application/json |
Exempel på anrop:
GET https://app.customix.io/api/integrations/v1/orders/123456789?shop=abcdefSvar: en enskild beställning i data, med samma fält som en post i listan ovan:
{
"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" }
]
}
]
}
}(Förkortat här – det verkliga svaret innehåller alla fält som visas i listexemplet.)
Felsvar:
| Kod | Meddelande | Beskrivning |
|---|---|---|
| 401 | Unauthorized | Ogiltig eller saknad token |
| 403 | Forbidden | Du har inte behörighet att visa den här beställningen |
| 404 | Not Found | Beställningen hittades inte |
3. Hämta en specifik orders anpassning
Endpoint:
GET /orders/{order_id}/customizations/{public_customization_id}Beskrivning: Hämta en anpassning i en beställning.
Parametrar:
| Parameter | Typ | Obligatorisk | Beskrivning |
|---|---|---|---|
shop | string | ✅ | Shopify-butikens namn. Om din butiks URL är abcdef.myshopify.com är shop=abcdef |
order_id | integer | ✅ | Shopify-beställnings-ID, i sökvägen |
public_customization_id | string | ✅ | Anpassningens public_customization_id, i sökvägen. Den finns i orderns svar och på beställningen i Shopify som artikelegenskapen _cm-customization-id |
Headers:
| Header | Värde |
|---|---|
Authorization | Bearer API_KEY |
Content-Type | application/json |
Exempel på anrop:
GET https://app.customix.io/api/integrations/v1/orders/123456789/customizations/01jjavmg7t7vqj5z6qvxwpc9kd?shop=abcdefSvar: själva anpassningen, inte inpackad i 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" }
]
}Felsvar:
| Kod | Meddelande | Beskrivning |
|---|---|---|
| 401 | Unauthorized | Ogiltig eller saknad token |
| 403 | Forbidden | Du har inte behörighet att visa den här anpassningen |
| 404 | Not Found | Beställningen eller anpassningen hittades inte |
🖊️ Anpassningsvärden
Varje anpassning innehåller values – en post för varje personaliseringsfält som sparats med beställningen, samma uppgifter som du ser som artikelegenskaper (item properties) på beställningen i Shopify. Varje post har:
- key: fältets identifierare i din mall. Den är densamma från beställning till beställning för samma fält i samma mall, så använd den för att mappa fält i din integration.
- label: alternativets namn som dina kunder såg, till exempel ”Name”. Det kan vara tomt i äldre beställningar.
- type: typ av alternativ, till exempel
text-field,color-picker,font-swatch,image-swatch,layout-swatch,date-pickerellerfile-upload. - value: det din kund valde eller skrev, alltid som text.
Så ser value ut för olika typer av alternativ:
- Text: exakt det din kund skrev.
- Färgväljare: färgkoden som din kund valde.
- Färgprov för typsnitt, bilder, färger och konturer: värdet för det färgprov som din kund valde.
- Layoutfärgprov: namnet på den layout som din kund valde, så som den hette när kunden lade beställningen.
- Datum- och tidsväljare: datumet eller tiden som din kund valde.
- Fil- och vektoruppladdningar: en länk till filen som din kund laddade upp.
- Paletter och typsnitt för ordmoln: färgerna eller typsnitten som din kund valde, separerade med kommatecken.
- Alternativ som saknar textform, till exempel kartstilar, platser eller Spotify-låtar, returneras med ett tomt värde – använd tryckfilerna för dem.
⚠️ Vanliga felkoder
| Kod | Beskrivning |
|---|---|
| 400 | Bad Request |
| 401 | Unauthorized – ogiltig eller saknad API Key |
| 403 | Forbidden – ingen behörighet för den här butiken, eller så ingår inte API-åtkomst i din nuvarande plan |
| 404 | Not Found |
| 422 | Butiksnamn saknas – parametern shop är obligatorisk |
| 500 | Internal Server Error |
📌 Anmärkningar
- Alla svar är i JSON.
- Hastighetsbegränsning (rate limit):
2 requests/second. - Kontakta [email protected] om du har frågor.
Uppdaterad: 14/09/2026