Vai al contenuto principale
Richiesta Fabrixa API visualizzata sullo schermo — payload dell'ordine in formato JSON con intestazioni di autenticazione, su sfondo di tessuto intrecciato
Sviluppatori · Guida all'integrazione

Da Auth al fulfilment in quindici minuti.

Due modi per inviare gli ordini a Fabrixa: colleghi il negozio che già gestisce — Shopify o WooCommerce — senza bisogno di scrivere codice, oppure sviluppi direttamente sull’API di integrazione. Questa guida illustra entrambe le opzioni: colleghi un canale di vendita in pochi minuti oppure passi dall’autenticazione all’evasione dell’ordine in quindici minuti.

Shopify e WooCommerce senza codice · REST + JSON API · Autenticazione a due intestazioni · 30 richieste/min

Senza codice · Shopify e WooCommerce

Vendi già su Shopify o WooCommerce? Collegati in pochi minuti.

La maggior parte dei negozi non utilizza mai l'API. Aggiunga Fabrixa come canale di vendita e gli ordini provenienti dal Suo negozio confluiranno direttamente in produzione: i prodotti vengono sincronizzati, gli stati aggiornati in tempo reale, senza bisogno di scrivere o gestire codice. Il percorso API descritto più avanti è destinato alle vetrine personalizzate e alle piattaforme POD.

Crea un canale → scegli come vendere

Nella Sua dashboard, apri Create channel e scegli il tipo di integrazione. Ogni canale gestisce autonomamente i propri prodotti, gli ordini importati e le regole di importazione: puoi collegarne quanti ne utilizzi.

  • Shopify — OAuth con un solo clic dalla Sua area di amministrazione di Shopify
  • WooCommerce — connettersi con le chiavi REST API
  • API personalizzata — Piattaforme POD e vetrine personalizzate tramite l'integrazione API
  • Partner di stampa — ricevere ordini di produzione da un partner Fabrixa
account.fabrixa.com/channels/create
La schermata di creazione del canale Fabrixa — scelta del tipo di integrazione: Shopify, WooCommerce, API personalizzato o partner di stampa, tramite il modulo di connessione WooCommerceLa schermata di creazione del canale Fabrixa — scelta del tipo di integrazione: Shopify, WooCommerce, API personalizzato o partner di stampa, tramite il modulo di connessione WooCommerce
Shopify

OAuth con un solo clic

Non è necessario copiare alcuna chiave. Autorizzi Fabrixa dalla Sua area di amministrazione di Shopify e la connessione sarà attiva.

  1. In Create channel, scegli Shopify.
  2. Approvi la connessione dalla Sua area di amministrazione di Shopify (OAuth): non è necessario copiare alcuna chiave.
  3. I prodotti e gli ordini vengono sincronizzati automaticamente. Ogni nuovo ordine Shopify viene importato in Fabrixa e passa alla fase di produzione.
WooCommerce

Connettiti utilizzando le chiavi REST API

Un negozio WordPress si collega tramite una coppia di chiavi REST di lettura/scrittura, generata in WooCommerce e inserita una sola volta in Fabrixa.

  1. In WooCommerce: Settings → Advanced → REST API → Add key con Lettura/Scrittura autorizzazioni.
  2. Incolli la chiave ck_ e il secret cs_ e il dominio del Suo negozio in Fabrixa.
  3. Salva: gli ordini si sincronizzano automaticamente una volta stabilita la connessione. È possibile modificare le regole di importazione in un secondo momento nelle impostazioni del canale.

Vendete prodotti personalizzati? Fabrixa Studio — l’editor di design white label — è disponibile anche sui negozi Shopify e WooCommerce, così i Suoi clienti possono personalizzare i prodotti con il Suo marchio. Vedi Fabrixa Studio →

account.fabrixa.com/channels
La vista "Canali Fabrixa": i canali di vendita Shopify, WooCommerce e API collegati affiancati, con prodotti sincronizzati, ordini importati e fatturato per canaleLa vista "Canali Fabrixa": i canali di vendita Shopify, WooCommerce e API collegati affiancati, con prodotti sincronizzati, ordini importati e fatturato per canale
Un unico pannello di controllo

Ogni canale, ogni ordine, una sola panoramica.

I negozi collegati compaiono accanto ai Suoi canali API e a quelli dei partner nella vista "Canali": prodotti sincronizzati, ordini ricevuti, l'ultimo riferimento importato e il fatturato per canale. Quando è pronto, passi un canale dalla bozza alla versione definitiva; nulla cambia a valle.

Preferisce creare un negozio online personalizzato o la Sua piattaforma POD? Il resto di questa guida illustra il percorso API: dall'autenticazione all'evasione dell'ordine in quattro passaggi.

Prerequisiti

Cosa vi serve prima di iniziare.

Ci sono tre passaggi da seguire per passare da zero a un ordine attivo. Tutti e tre vengono rilasciati dalla Sua dashboard Fabrixa o dal Suo Solutions Engineer.

01
Credenziali API

Un Application Access Token e un'Application Key. Entrambi sono obbligatori in ogni richiesta: il token nell'intestazione Authorization, la chiave in X-Application-Key. Crei un canale di vendita nella Sua dashboard per generarli immediatamente, senza bisogno di inviare alcuna richiesta.

02
Endpoint del webhook

Un endpoint HTTPS accessibile pubblicamente che accetta richieste POST in formato JSON. Durante lo sviluppo, è possibile utilizzare localhost tramite un tunnel. È necessario verificare la firma HMAC-SHA256 su ogni payload prima dell'elaborazione.

03
File grafici

Il file della grafica — in formato PDF, TIFF, JPG o PNG — deve essere accessibile tramite HTTPS senza autenticazione. Colori RGB, fino a 50 MB e 15.000 px per lato. I PDF multipagina devono avere una pagina per ogni livello. Recuperiamo il file e creiamo i file di stampa corretti al momento del rendering del lavoro.

Fase 1 — Autenticazione

Verifichi le Sue credenziali con un ping.

Ogni richiesta viene indirizzata all'URL di base https://api.fabrixa.com/v2/integration con entrambe le intestazioni impostate. GET /ping verifica che il token e la chiave siano validi prima di procedere con qualsiasi altra operazione.

A 401 significa che manca un’intestazione o che il token è stato revocato. A 403 significa che le credenziali sono valide ma non dispongono dell'autorizzazione per la risorsa.

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
Fase 2 — Elencare i prodotti

Scopra gli SKU disponibili sul Suo account.

Il catalogo restituisce le varianti del prodotto con i codici SKU e variant_id. Ogni risposta della lista è racchiusa nel tag standard links / meta / data busta, quindi impaginare con il next_page link. Memorizza nella cache locale: il catalogo non viene generato per ogni richiesta.

I dettagli completi sul campo sono riportati nel Riferimento a 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" }
  ]
}
Fase 3 — Effettua un ordine

Un POST avvia la produzione dell'ordine.

Invia rows (SKU + quantità + un PDF di riferimento), customer e shipping_address. Imposti le Sue preferenze number come riferimento — se lo omette, ne generiamo uno noi. Associ l'ID ordine Fabrixa restituito al Suo ordine.

Gli ordini Studio sostituiscono sources con un cart_item_key — tutto il resto è identico.

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"
  }
}
Fase 4 — Webhook

Rimani aggiornato sul ciclo di vita dell'ordine.

Imposti l'URL del Suo webhook nella dashboard. Inviamo un POST con order.created e order.updated a quell'URL, con il corpo completo dell'ordine, un'intestazione x-webhook-signature (HMAC-SHA256) e un'intestazione x-webhook-topic e verifichi la firma, restituisca subito 200 ed elabori in modo asincrono.

Tutti gli eventi e i frammenti di codice di verifica si trovano su riferimento ai webhook.

POST → il Suo 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"
}
Errori e rate limit

Cosa aspettarsi quando le cose vanno male.

Gli errori vengono restituiti in formato JSON, mai in HTML. Il errors.messages array indica cosa non ha funzionato; in caso di errore 400, elenca i campi che non sono stati convalidati.

400 / 401 / 403 / 404

Errore di convalida, credenziali mancanti o revocate, autorizzazioni insufficienti o risorsa sconosciuta.

429 Too Many Requests

30 richieste al minuto per ogni applicazione. X-RateLimit-Limit e X-RateLimit-Remaining sono presenti in ogni risposta.

5xx

Lato server. Riprovare con un back-off; se il problema persiste, inviare l'ID della richiesta al proprio Solutions Engineer.

Risposta all'errore
{
  "links": { "self": ".../v2/integration/orders" },
  "meta":  [],
  "errors": {
    "messages": [
      "Application Key is not specified."
    ]
  }
}
Sei in difficoltà?

Parli con un Solutions Engineer.

Per assistenza in materia di integrazione, problemi relativi alle credenziali o ai canali di vendita, esigenze personalizzate o pianificazione della capacità: rivolgersi al canale tecnico SE, non alla linea commerciale. Risposta entro un giorno lavorativo.