Aller directement au contenu principal
Une requête API Fabrixa à l'écran — payload de commande JSON avec en-têtes d'authentification, sur fond de textile tissé
Développeurs · Guide d'intégration

De Auth au fulfilment en quinze minutes.

Il existe deux façons d'envoyer des commandes à Fabrixa : connecter la boutique que vous gérez déjà (Shopify ou WooCommerce) sans avoir à écrire de code, ou développer directement sur l'API d'intégration. Ce guide couvre les deux méthodes : connectez un canal de vente en quelques minutes, ou passez de l'authentification au fulfilment en quinze minutes.

Shopify et WooCommerce sans code · REST + JSON API · Authentification à deux en-têtes · 30 requêtes/min

Sans code · Shopify et WooCommerce

Vous vendez déjà sur Shopify ou WooCommerce ? Connectez-vous en quelques minutes.

La plupart des boutiques ne touchent jamais à l'API. Ajoutez Fabrixa comme canal de vente et les commandes passées sur votre boutique sont directement transmises à la production : synchronisation des produits, mise à jour des statuts, sans avoir à écrire ni à maintenir de code. La méthode API présentée plus loin est destinée aux vitrines personnalisées et aux plateformes POD.

Créer un canal → choisir votre mode de vente

Dans votre tableau de bord, ouvrez Create channel et choisissez votre type d'intégration. Chaque canal conserve ses propres produits, commandes importées et règles d'importation : connectez-en autant que vous en utilisez.

  • Shopify — OAuth en un clic depuis votre interface d'administration Shopify
  • WooCommerce — se connecter à l'aide des clés REST API
  • Custom API — plateformes POD et vitrines personnalisées via l'API d'intégration
  • Partenaire d'impression — recevoir des commandes de production d'un partenaire Fabrixa
account.fabrixa.com/channels/create
L'écran de création de canal Fabrixa — choix d'un type d'intégration : Shopify, WooCommerce, API personnalisé ou partenaire d'impression, via le formulaire de connexion WooCommerceL'écran de création de canal Fabrixa — choix d'un type d'intégration : Shopify, WooCommerce, API personnalisé ou partenaire d'impression, via le formulaire de connexion WooCommerce
Shopify

OAuth en un clic

Aucune clé à copier. Autorisez Fabrixa depuis votre interface d'administration Shopify et la connexion est établie.

  1. Dans Create channel, sélectionnez Shopify.
  2. Validez la connexion depuis votre interface d'administration Shopify (OAuth) — aucune clé à copier.
  3. Les produits et les commandes se synchronisent automatiquement. Chaque nouvelle commande Shopify est importée dans Fabrixa et passe en production.
WooCommerce

Se connecter à l'aide des clés REST API

Une boutique WordPress se connecte à l'aide d'une paire de clés REST en lecture/écriture — générée dans WooCommerce, puis collée une seule fois dans Fabrixa.

  1. Dans WooCommerce : Settings → Advanced → REST API → Add key avec Lecture/Écriture autorisations.
  2. Collez la clé ck_ et le secret cs_ et le domaine de votre boutique dans Fabrixa.
  3. Enregistrez — les commandes se synchronisent automatiquement dès que la connexion est établie. Vous pourrez modifier les règles d'importation ultérieurement dans les paramètres du canal.

Vous vendez des produits personnalisés ? Fabrixa Studio — l'éditeur de design white-label — est également disponible sur les boutiques Shopify et WooCommerce, ce qui permet à vos clients de personnaliser les produits sous votre marque. Voir Fabrixa Studio →

account.fabrixa.com/channels
La vue « Canaux Fabrixa » : les canaux de vente Shopify, WooCommerce et API connectés s'affichent côte à côte, avec les produits synchronisés, les commandes importées et le chiffre d'affaires par canalLa vue « Canaux Fabrixa » : les canaux de vente Shopify, WooCommerce et API connectés s'affichent côte à côte, avec les produits synchronisés, les commandes importées et le chiffre d'affaires par canal
Un tableau de bord

Tous les canaux, toutes les commandes, une seule vue d'ensemble.

Les boutiques connectées apparaissent à côté de vos canaux API et partenaires dans la vue « Canaux » : produits synchronisés, commandes reçues, dernière référence importée et chiffre d'affaires par canal. Passez un canal du statut « Brouillon » au statut « Actif » lorsque vous êtes prêt ; cela n'entraîne aucun changement en aval.

Vous préférez créer une boutique en ligne personnalisée ou votre propre plateforme POD ? La suite de ce guide présente la méthode API : de l'authentification au fulfilment en quatre étapes.

Conditions préalables

Ce dont vous avez besoin avant de commencer.

Trois éléments vous permettent de passer de zéro à une commande réelle. Ils sont tous délivrés depuis votre tableau de bord Fabrixa ou par votre Solutions Engineer.

01
Identifiants API

Un Application Access Token et une Application Key. Ces deux éléments sont obligatoires pour chaque requête : le jeton doit figurer dans l'en-tête « Authorization », et la clé dans l'en-tête « X-Application-Key ». Créez un canal de vente dans votre tableau de bord pour les générer instantanément — aucune demande d'accès nécessaire.

02
Endpoint de webhook

Un endpoint HTTPS accessible au public qui accepte les requêtes POST au format JSON. « Localhost » fonctionne en mode développement via un tunnel. Vous vérifiez la signature HMAC-SHA256 de chaque payload avant de le traiter.

03
Fichiers d'impression

Votre fichier d'impression — au format PDF, TIFF, JPG ou PNG — accessible via HTTPS sans authentification. Couleurs RGB, jusqu’à 50 Mo et 15 000 px par côté. Les PDF de plusieurs pages doivent comporter une page par calque. Nous récupérons le fichier et générons les fichiers d'impression adaptés lors du rendu du travail.

Étape 1 — S'authentifier

Vérifiez vos identifiants à l'aide d'une commande ping.

Chaque requête est envoyée à l'URL de base https://api.fabrixa.com/v2/integration les deux en-têtes étant définis. GET /ping vérifie que le jeton et la clé sont valides avant toute autre opération.

A 401 signifie qu'un en-tête manque ou que le jeton a été révoqué. A 403 signifie que les identifiants sont valides mais qu'ils ne disposent pas des autorisations nécessaires pour accéder à la ressource.

GET /v2/integration/ping
# Verify auth before anything else
curl https://api.fabrixa.com/v2/integration/ping \
  -H "Accept: application/json" \
  -H "Authorization: Bearer APPLICATION_ACCESS_TOKEN" \
  -H "X-Application-Key: APPLICATION_KEY"

# 200 OK   → credentials valid
# 401      → missing header or revoked token
# 403      → valid, but no access to the resource
Étape 2 — Répertorier les produits

Consultez les SKU disponibles sur votre compte.

Le catalogue affiche les variantes de produit avec leurs codes SKU et variant_id. Chaque réponse de la liste est encadrée par la balise standard links / meta / data enveloppe, donc numérotez les pages avec le next_page lien. Mise en cache locale — le catalogue n'est pas généré à chaque requête.

Le détail complet des champs figure dans la Référence Swagger.

GET /v2/integration/products
GET /v2/integration/products?page=1

{
  "links": {
    "self":      ".../products?page=1",
    "next_page": ".../products?page=2",
    "prev_page": null
  },
  "meta":  { "total": 248, "current_page": 1, "per_page": 10 },
  "data": [
    { "id": 1306, "name": "Unisex AOP T-shirt", "SKU": "COF099191" }
  ]
}
Étape 3 — Passer une commande

Une seule requête POST suffit pour lancer la commande en production.

Envoyer rows (SKU + quantité + un fichier PDF source), customer et shipping_address. Définissez votre propre number en tant que référence — si vous ne l'indiquez pas, nous en générerons un. Enregistrez l'identifiant de commande Fabrixa renvoyé en association avec votre commande.

Les commandes Studio remplacent sources par un cart_item_key — tout le reste est identique.

POST /v2/integration/orders
POST /v2/integration/orders

{
  "number":       "ORD-2026-0142",
  "purchased_at": "2026-05-28 14:22:01",
  "rows": [
    {
      "sku":      "COF099191",
      "quantity": 1,
      "sources": [
        { "type": "file", "url": "https://cdn.you.com/art/9812.pdf" }
      ]
    }
  ],
  "customer": {
    "first_name": "Maria", "last_name": "Silva",
    "email": "maria@example.com", "phone": "+351912345678"
  },
  "shipping_address": {
    "address": "Rua do Carmo 42", "city": "Lisboa",
    "postal_code": "1200-094",
    "country_code": "PT", "country": "Portugal"
  }
}
Étape 4 — Webhooks

Restez informé à chaque étape du cycle de vie de la commande.

Configurez l'URL de votre webhook dans le tableau de bord. Nous y envoyons order.created et order.updated en POST avec le corps complet de la commande, un en-tête x-webhook-signature (HMAC-SHA256) et un en-tête x-webhook-topic et vérifiez la signature, renvoyez rapidement un 200 puis traitez de manière asynchrone.

Tous les événements et les extraits de code de vérification se trouvent dans la référence des webhooks.

POST → votre endpoint
# Request headers
content-type:       application/json
x-webhook-topic:    order.updated
x-webhook-signature: YmEwNjBhMGMy...AxMw==

# Body (truncated)
{
  "id": 23069,
  "number": "1250211835",
  "status": "imported",
  "fulfillment_status": "unfulfilled",
  "updated_at": "2026-05-28T07:43:52Z"
}
Erreurs et rate limits

Ce à quoi il faut s'attendre lorsque les choses tournent mal.

Les erreurs sont renvoyées au format JSON, jamais au format HTML. Le errors.messages array indique ce qui a échoué ; en cas d'erreur 400, il répertorie les champs qui n'ont pas été validés.

400 / 401 / 403 / 404

Erreur de validation, identifiants manquants ou révoqués, autorisations insuffisantes ou ressource inconnue.

429 Too Many Requests

30 requêtes par application et par minute. X-RateLimit-Limit et X-RateLimit-Remaining figurent dans chaque réponse.

5xx

Côté serveur. Réessayez avec back-off ; si le problème persiste, envoyez l'identifiant de la requête à votre Solutions Engineer.

Réponse d'erreur
{
  "links": { "self": ".../v2/integration/orders" },
  "meta":  [],
  "errors": {
    "messages": [
      "Application Key is not specified."
    ]
  }
}
Vous êtes bloqué ?

Adressez-vous à un Solutions Engineer.

Pour toute assistance en matière d'intégration, de problèmes liés aux identifiants ou aux canaux de vente, d'exigences spécifiques ou de planification des capacités, veuillez vous adresser au canal technique des Solutions Engineers (SE), et non au service commercial. Réponse sous un jour ouvré.