API-ul de integrare Customix îți permite să preiei comenzile personalizate în propriile sisteme: fișierele de imprimare generate de Customix și tot ce au introdus clienții în timpul personalizării, cum ar fi nume, texte personalizate, culori și aspecte alese. Folosește-l când un instrument de producție, o foaie de calcul sau o platformă de automatizare precum Make are nevoie de detaliile comenzilor tale, fără ca cineva să le copieze manual.

Pentru a obține o cheie API, mergi la Setări în bara laterală din stânga, deschide fila Integrări, apoi fă clic pe Creați cheia în cardul Cheie API. Consultă Cum obții cheia API Customix pentru detalii.

🔑 Autentificare

Toate cererile necesită cheia ta API în antet:

Authorization: Bearer <your_api_key>

🌐 URL de bază

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

📘 Endpointuri

1. Obținerea listei de comenzi

Endpoint:

GET /orders

Descriere: preia comenzile tale personalizate, implicit cele mai noi primele.

Parametri:

ParametruTipObligatoriuDescriere
shopstring✅Numele magazinului Shopify. Dacă URL-ul magazinului tău este abcdef.myshopify.com, atunci shop=abcdef
limitinteger⬜Valoarea implicită este 50, valoarea maximă este 250
created_at_mindate⬜Afișează comenzile create la această dată sau după ea (format: 2025-01-21)
created_at_maxdate⬜Afișează comenzile create la această dată sau înainte de ea (format: 2025-01-30)
order_statusstring⬜created: afișează doar comenzile deschise. paid: afișează doar comenzile plătite. fulfilled: afișează doar comenzile onorate.
order_bystring⬜Valoarea implicită este 'ordered_at desc'. Poate fi și 'ordered_at asc', 'id asc' sau 'id desc'

Anteturi:

AntetValoare
AuthorizationBearer API_KEY

Exemplu de cerere:

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

Răspuns:

{
  "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" }
          ]
        }
      ]
    }
  ]
}

Răspunsuri de eroare:

CodMesajDescriere
401UnauthorizedToken invalid sau lipsă
403ForbiddenNu ai permisiunea de a vedea comenzile acestui magazin

2. Obținerea unei comenzi specifice

Endpoint:

GET /orders/{id}

Descriere: preia o comandă, cu fișierele de imprimare și valorile de personalizare.

Parametri:

ParametruTipObligatoriuDescriere
shopstring✅Numele magazinului Shopify. Dacă URL-ul magazinului tău este abcdef.myshopify.com, atunci shop=abcdef
idinteger✅ID-ul comenzii Shopify, în cale

Anteturi:

AntetValoare
AuthorizationBearer API_KEY
Content-Typeapplication/json

Exemplu de cerere:

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

Răspuns: o singură comandă în data, cu aceleași câmpuri ca o intrare din lista de mai sus:

{
  "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" }
        ]
      }
    ]
  }
}

(Prescurtat aici — răspunsul real include toate câmpurile afișate în exemplul din listă.)

Răspunsuri de eroare:

CodMesajDescriere
401UnauthorizedToken invalid sau lipsă
403ForbiddenNu ai permisiunea de a vedea această comandă
404Not FoundComanda nu a fost găsită

3. Obținerea personalizării unei comenzi specifice

Endpoint:

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

Descriere: preia o personalizare a unei comenzi.

Parametri:

ParametruTipObligatoriuDescriere
shopstring✅Numele magazinului Shopify. Dacă URL-ul magazinului tău este abcdef.myshopify.com, atunci shop=abcdef
order_idinteger✅ID-ul comenzii Shopify, în cale
public_customization_idstring✅public_customization_id al personalizării, în cale. Se găsește în răspunsul comenzii și în comanda din Shopify, ca proprietate de articol _cm-customization-id

Anteturi:

AntetValoare
AuthorizationBearer API_KEY
Content-Typeapplication/json

Exemplu de cerere:

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

Răspuns: personalizarea singură, fără a fi încadrată în 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" }
  ]
}

Răspunsuri de eroare:

CodMesajDescriere
401UnauthorizedToken invalid sau lipsă
403ForbiddenNu ai permisiunea de a vedea această personalizare
404Not FoundComanda sau personalizarea nu a fost găsită

🖊️ Valorile personalizării

Fiecare personalizare include values — câte o intrare pentru fiecare câmp de personalizare salvat cu comanda, aceleași detalii pe care le vezi ca proprietăți ale articolului în comanda din Shopify. Fiecare intrare are:

  • key: identificatorul câmpului în șablonul tău. Rămâne același de la o comandă la alta pentru același câmp al aceluiași șablon, așa că folosește-l pentru a asocia câmpurile în integrarea ta.
  • label: numele opțiunii văzut de clienți, de exemplu „Name”. Poate fi gol în comenzile mai vechi.
  • type: tipul opțiunii, de exemplu text-field, color-picker, font-swatch, image-swatch, layout-swatch, date-picker sau file-upload.
  • value: ce a ales sau a introdus clientul, întotdeauna sub formă de text.

Cum arată value pentru fiecare tip de opțiune:

  • Text: exact ce a scris clientul.
  • Selector de culoare: codul culorii alese de client.
  • Mostre de font, imagine, culoare și contur: valoarea mostrei alese de client.
  • Mostre de aspect: numele aspectului ales de client, așa cum se numea în momentul plasării comenzii.
  • Selectoare de dată și oră: data sau ora alese de client.
  • Încărcări de fișiere și vectori: un link către fișierul încărcat de client.
  • Palete și fonturi pentru nor de cuvinte: culorile sau fonturile alese de client, separate prin virgule.
  • Opțiunile care nu au o formă text, precum stilurile de hartă, locațiile sau piesele Spotify, vin cu valoare goală; pentru acestea, folosește fișierele de imprimare.

⚠️ Coduri de eroare frecvente

CodDescriere
400Bad Request
401Unauthorized — cheie API invalidă sau lipsă
403Forbidden — nu ai permisiune pentru acest magazin sau accesul la API nu este disponibil în planul tău actual
404Not Found
422Numele magazinului lipsește — parametrul shop este obligatoriu
500Internal Server Error

📌 Note

  • Toate răspunsurile sunt în format JSON.
  • Limită de cereri: 2 requests/second.
  • Scrie la [email protected] pentru întrebări.

Actualizat la: 14/09/2026