L'API Integrations di Customix ti permette di importare i tuoi ordini personalizzati nei tuoi sistemi: i file di stampa generati da Customix e tutto ciò che i tuoi clienti hanno inserito durante la personalizzazione, come nomi, testi personalizzati, colori e layout scelti. Usala quando uno strumento di produzione, un foglio di calcolo o una piattaforma di automazione come Make ha bisogno dei dettagli dei tuoi ordini senza che nessuno debba copiarli a mano.
Per ottenere una chiave API, vai a Impostazioni nella barra laterale sinistra, apri la scheda Integrazioni, poi fai clic su Crea chiave nella scheda Chiave API. Per i dettagli, consulta Come ottenere la chiave API di Customix.
🔑 Autenticazione
Tutte le richieste richiedono la tua chiave API nell'header:
Authorization: Bearer <your_api_key>🌐 URL di base
https://app.customix.io/api/integrations/v1📘 Endpoint
1. Ottenere l'elenco degli ordini
Endpoint:
GET /ordersDescrizione: recupera i tuoi ordini personalizzati, per impostazione predefinita dal più recente.
Parametri:
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
shop | string | ✅ | Nome del negozio Shopify. Se l'URL del tuo negozio è abcdef.myshopify.com, allora shop=abcdef |
limit | integer | ⬜ | Il valore predefinito è 50, il valore massimo è 250 |
created_at_min | date | ⬜ | Mostra gli ordini creati a partire da questa data (inclusa) (formato: 2025-01-21) |
created_at_max | date | ⬜ | Mostra gli ordini creati fino a questa data (inclusa) (formato: 2025-01-30) |
order_status | string | ⬜ | created: mostra solo gli ordini aperti. paid: mostra solo gli ordini pagati. fulfilled: mostra solo gli ordini evasi. |
order_by | string | ⬜ | Il valore predefinito è 'ordered_at desc'. Può essere anche 'ordered_at asc', 'id asc' o 'id desc' |
Header:
| Header | Valore |
|---|---|
Authorization | Bearer API_KEY |
Richiesta di esempio:
GET https://app.customix.io/api/integrations/v1/orders?shop=abcdef&limit=2Risposta:
{
"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" }
]
}
]
}
]
}Risposte di errore:
| Codice | Messaggio | Descrizione |
|---|---|---|
| 401 | Unauthorized | Token non valido o mancante |
| 403 | Forbidden | Non hai il permesso di visualizzare gli ordini di questo negozio |
2. Ottenere un ordine specifico
Endpoint:
GET /orders/{id}Descrizione: recupera un ordine, con i suoi file di stampa e i valori di personalizzazione.
Parametri:
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
shop | string | ✅ | Nome del negozio Shopify. Se l'URL del tuo negozio è abcdef.myshopify.com, allora shop=abcdef |
id | integer | ✅ | ID dell'ordine Shopify, nel percorso |
Header:
| Header | Valore |
|---|---|
Authorization | Bearer API_KEY |
Content-Type | application/json |
Richiesta di esempio:
GET https://app.customix.io/api/integrations/v1/orders/123456789?shop=abcdefRisposta: un singolo ordine in data, con gli stessi campi di una voce dell'elenco sopra:
{
"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" }
]
}
]
}
}(Qui abbreviata: la risposta reale include tutti i campi mostrati nell'esempio dell'elenco.)
Risposte di errore:
| Codice | Messaggio | Descrizione |
|---|---|---|
| 401 | Unauthorized | Token non valido o mancante |
| 403 | Forbidden | Non hai il permesso di visualizzare questo ordine |
| 404 | Not Found | Ordine non trovato |
3. Ottenere la personalizzazione di un ordine specifico
Endpoint:
GET /orders/{order_id}/customizations/{public_customization_id}Descrizione: recupera una personalizzazione di un ordine.
Parametri:
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
shop | string | ✅ | Nome del negozio Shopify. Se l'URL del tuo negozio è abcdef.myshopify.com, allora shop=abcdef |
order_id | integer | ✅ | ID dell'ordine Shopify, nel percorso |
public_customization_id | string | ✅ | Il public_customization_id della personalizzazione, nel percorso. Si trova nella risposta dell'ordine e, nell'ordine in Shopify, come proprietà dell'articolo _cm-customization-id |
Header:
| Header | Valore |
|---|---|
Authorization | Bearer API_KEY |
Content-Type | application/json |
Richiesta di esempio:
GET https://app.customix.io/api/integrations/v1/orders/123456789/customizations/01jjavmg7t7vqj5z6qvxwpc9kd?shop=abcdefRisposta: la personalizzazione da sola, non racchiusa 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" }
]
}Risposte di errore:
| Codice | Messaggio | Descrizione |
|---|---|---|
| 401 | Unauthorized | Token non valido o mancante |
| 403 | Forbidden | Non hai il permesso di visualizzare questa personalizzazione |
| 404 | Not Found | Ordine non trovato, oppure personalizzazione non trovata |
🖊️ Valori della personalizzazione
Ogni personalizzazione include dei values: una voce per ogni campo di personalizzazione salvato con l'ordine, gli stessi dettagli che vedi come proprietà dell'articolo nell'ordine in Shopify. Ogni voce ha:
- key: l'identificatore del campo nel tuo modello. Resta lo stesso da un ordine all'altro per lo stesso campo dello stesso modello, quindi usalo per mappare i campi nella tua integrazione.
- label: il nome dell'opzione che i tuoi clienti hanno visto, ad esempio "Name". Può essere vuoto negli ordini meno recenti.
- type: il tipo di opzione, ad esempio
text-field,color-picker,font-swatch,image-swatch,layout-swatch,date-pickerofile-upload. - value: ciò che il cliente ha scelto o inserito, sempre come testo.
Come viene espresso value per ogni tipo di opzione:
- Testo: esattamente ciò che il cliente ha scritto.
- Selettore di colore: il codice del colore scelto dal cliente.
- Campioni di font, immagine, colore e contorno: il valore del campione scelto dal cliente.
- Campioni di layout: il nome del layout scelto dal cliente, così come era denominato quando è stato effettuato l'ordine.
- Selettori di data e ora: la data o l'ora scelta dal cliente.
- Caricamenti di file e vettoriali: un link al file caricato dal cliente.
- Palette e font delle nuvole di parole: i colori o i font scelti dal cliente, separati da virgole.
- Le opzioni che non hanno una forma testuale, come stili di mappa, località o brani Spotify, restituiscono un valore vuoto: per queste usa i file di stampa.
⚠️ Codici di errore comuni
| Codice | Descrizione |
|---|---|
| 400 | Bad Request |
| 401 | Unauthorized — chiave API non valida o mancante |
| 403 | Forbidden — nessun permesso per questo negozio, oppure l'accesso API non è disponibile nel tuo piano attuale |
| 404 | Not Found |
| 422 | Nome del negozio mancante — il parametro shop è obbligatorio |
| 500 | Internal Server Error |
📌 Note
- Tutte le risposte sono in JSON.
- Limite di richieste:
2 requests/second. - Contatta [email protected] per qualsiasi domanda.
Aggiornato il: 14/09/2026