API publique des fichiers d'impression

URL de base : https://app.customix.io/api

Authentification : Comment obtenir la clé API Customix

Authorization: Bearer {your-api-token}

Limite de débit : 100 requêtes par minute (par utilisateur)

Présentation

Envoyez une personnalisation de produit sous forme de texte brut sur plusieurs lignes et recevez en retour une liste
d'URL de fichiers d'impression pour cette soumission.

Créer des fichiers d'impression

POST /print-files

Corps de la requête

ChampTypeObligatoireDescription
shop_namestringOuiNom de votre boutique (par exemple my-etsy-shop)
namestringOuiNom d'un modèle que vous possédez dans cette boutique. Le premier modèle correspondant au nom est utilisé.
contentstringOuiPersonnalisation sur plusieurs lignes. Chaque ligne est <option name>: <value>. Le - initial est facultatif.

Format du contenu

Chaque ligne associe une option personnalisable du modèle à une valeur.

  • Les noms d'option sont comparés sans tenir compte de la casse, et les espaces autour sont ignorés.
  • Les options texte / couleur / date prennent la valeur telle quelle, par exemple

Harry, #ffffff, 2026-12-25.

  • Les options de nuancier (police, image, couleur, disposition, etc.) prennent un entier qui

sélectionne l'une des valeurs de nuancier disponibles. Par défaut, 1 sélectionne la première
valeur, 2 la deuxième, et ainsi de suite.

Exemple :

- Enter your name: Harry
- Text color: #ffffff
- Font: 1

Réponse 201

{
  "id": "01jyz5kqxz2hrcwqzdq4jdv7r9",
  "print_file_urls": [
    "https://.../1.png",
    "https://.../2.png"
  ]
}
ChampTypeDescription
idstringIdentifiant de la soumission
print_file_urlsstring[]Une URL par fichier d'impression du modèle, dans l'ordre du modèle

Les fichiers d'impression sont disponibles aux URL renvoyées une fois la génération terminée
(généralement quelques secondes après la réponse).

Réponses d'erreur

StatutCorpsCause
401{"message": "Unauthenticated."}Jeton bearer manquant ou invalide
403{"message": "Unauthenticated"}Le jeton est valide, mais l'appelant n'a pas accès à shop_name
404{"message": "Template not found: …"}Aucun modèle portant ce name n'existe dans cette boutique
422{"errors": {"shop_name": […], "name": […], "content": […]}}Champs obligatoires manquants
422{"message": "Unknown option: <name>"}Une ligne fait référence à une option qui n'existe pas dans le modèle
422{"message": "Swatch index N is out of range for option '…' …"}L'index du nuancier est hors de la plage disponible
422{"message": "Option '…' expects an integer swatch index, got …"}Valeur non entière transmise à une option de nuancier

Exemple de requête

curl -X POST 'https://app.customix.io/api/print-files' \
  -H 'Authorization: Bearer 01jyz0z…|abc…' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d '{
    "shop_name": "my-etsy-shop",
    "name": "My Template",
    "content": "- Enter your name: Harry\n- Text color: #ffffff\n- Font: 1"
  }'

Mis à jour le : 20/05/2026