L'API d'intégrations Customix vous permet de récupérer vos commandes personnalisées dans vos propres systèmes : les fichiers d'impression générés par Customix et tout ce que vos clients ont saisi lors de la personnalisation, comme les noms, les textes personnalisés, les couleurs et les dispositions choisies. Utilisez-la lorsqu'un outil de production, un tableur ou une plateforme d'automatisation comme Make a besoin des détails de vos commandes sans que personne ait à les copier à la main.

Pour obtenir une clé API, accédez à Paramètres dans la barre latérale gauche, ouvrez l'onglet Intégrations, puis cliquez sur Créer une clé dans la carte Clé API. Consultez Comment obtenir la clé API Customix pour plus de détails.

🔑 Authentification

Toutes les requêtes nécessitent votre clé API dans l'en-tête :

Authorization: Bearer <your_api_key>

🌐 URL de base

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

📘 Endpoints

1. Obtenir la liste des commandes

Endpoint :

GET /orders

Description : récupère vos commandes personnalisées, les plus récentes en premier par défaut.

Paramètres :

ParamètreTypeObligatoireDescription
shopstring✅Nom de la boutique Shopify. Si l'URL de votre boutique est abcdef.myshopify.com, alors shop=abcdef
limitinteger⬜La valeur par défaut est 50, la valeur maximale est 250
created_at_mindate⬜Affiche les commandes créées à partir de cette date incluse (format : 2025-01-21)
created_at_maxdate⬜Affiche les commandes créées jusqu'à cette date incluse (format : 2025-01-30)
order_statusstring⬜created : affiche uniquement les commandes ouvertes. paid : affiche uniquement les commandes payées. fulfilled : affiche uniquement les commandes traitées.
order_bystring⬜La valeur par défaut est « ordered_at desc ». Peut aussi être « ordered_at asc », « id asc » ou « id desc »

En-têtes :

En-têteValeur
AuthorizationBearer API_KEY

Exemple de requête :

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

Réponse :

{
  "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éponses d'erreur :

CodeMessageDescription
401UnauthorizedJeton invalide ou manquant
403ForbiddenVous n'avez pas l'autorisation de consulter les commandes de cette boutique

2. Obtenir une commande spécifique

Endpoint :

GET /orders/{id}

Description : récupère une commande, avec ses fichiers d'impression et ses valeurs de personnalisation.

Paramètres :

ParamètreTypeObligatoireDescription
shopstring✅Nom de la boutique Shopify. Si l'URL de votre boutique est abcdef.myshopify.com, alors shop=abcdef
idinteger✅ID de commande Shopify, dans le chemin

En-têtes :

En-têteValeur
AuthorizationBearer API_KEY
Content-Typeapplication/json

Exemple de requête :

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

Réponse : une seule commande dans data, avec les mêmes champs qu'une entrée de la liste ci-dessus :

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

(Abrégée ici : la vraie réponse inclut tous les champs affichés dans l'exemple de liste.)

Réponses d'erreur :

CodeMessageDescription
401UnauthorizedJeton invalide ou manquant
403ForbiddenVous n'avez pas l'autorisation de consulter cette commande
404Not FoundCommande introuvable

3. Obtenir la personnalisation d'une commande spécifique

Endpoint :

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

Description : récupère une personnalisation d'une commande.

Paramètres :

ParamètreTypeObligatoireDescription
shopstring✅Nom de la boutique Shopify. Si l'URL de votre boutique est abcdef.myshopify.com, alors shop=abcdef
order_idinteger✅ID de commande Shopify, dans le chemin
public_customization_idstring✅Le public_customization_id de la personnalisation, dans le chemin. Il figure dans la réponse de la commande, et sur la commande dans Shopify sous la forme de la propriété d'article _cm-customization-id

En-têtes :

En-têteValeur
AuthorizationBearer API_KEY
Content-Typeapplication/json

Exemple de requête :

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

Réponse : la personnalisation seule, non encapsulée dans 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éponses d'erreur :

CodeMessageDescription
401UnauthorizedJeton invalide ou manquant
403ForbiddenVous n'avez pas l'autorisation de consulter cette personnalisation
404Not FoundCommande introuvable, ou personnalisation introuvable

🖊️ Valeurs de personnalisation

Chaque personnalisation inclut des values : une entrée pour chaque champ de personnalisation enregistré avec la commande, soit les mêmes détails que ceux visibles comme propriétés d'article sur la commande dans Shopify. Chaque entrée comporte :

  • key : l'identifiant du champ dans votre modèle. Il reste identique d'une commande à l'autre pour le même champ du même modèle ; utilisez-le donc pour faire correspondre les champs dans votre intégration.
  • label : le nom de l'option que vos clients ont vu, par exemple « Name ». Il peut être vide sur les commandes plus anciennes.
  • type : le type d'option, par exemple text-field, color-picker, font-swatch, image-swatch, layout-swatch, date-picker ou file-upload.
  • value : ce que votre client a choisi ou saisi, toujours sous forme de texte.

Comment value se présente pour chaque type d'option :

  • Texte : exactement ce que votre client a saisi.
  • Sélecteur de couleur : le code couleur choisi par votre client.
  • Nuanciers de police, d'image, de couleur et de contour : la valeur du nuancier choisi par votre client.
  • Nuanciers de disposition : le nom de la disposition choisie par votre client, tel qu'il était nommé au moment de la commande.
  • Sélecteurs de date et d'heure : la date ou l'heure choisie par votre client.
  • Fichiers et vecteurs importés : un lien vers le fichier importé par votre client.
  • Palettes et polices de nuage de mots : les couleurs ou les polices choisies par votre client, séparées par des virgules.
  • Les options sans forme textuelle, comme les styles de carte, les lieux ou les titres Spotify, renvoient une valeur vide : utilisez les fichiers d'impression pour celles-ci.

⚠️ Codes d'erreur courants

CodeDescription
400Bad Request
401Unauthorized : clé API invalide ou manquante
403Forbidden : aucune autorisation pour cette boutique, ou l'accès à l'API n'est pas disponible avec votre offre actuelle
404Not Found
422Nom de boutique manquant : le paramètre shop est obligatoire
500Internal Server Error

📌 Remarques

  • Toutes les réponses sont au format JSON.
  • Limite de débit : 2 requests/second.
  • Contactez [email protected] pour toute question.

Mis à jour le : 14/09/2026