Ir diretamente para o conteúdo principal
Um pedido à Fabrixa API no ecrã — payload da encomenda em JSON com cabeçalhos de autenticação, sobre tecido
Desenvolvedores · Guia de integração

De Auth ao fulfilment em quinze minutos.

Existem duas formas de enviar encomendas para a Fabrixa: ligar a loja que já gere — Shopify ou WooCommerce — sem necessidade de programação, ou criar diretamente na integração API. Este guia aborda ambas as opções: ligue um canal de vendas em poucos minutos ou passe da autorização ao processamento da encomenda em quinze.

Shopify e WooCommerce sem código · REST + JSON API · Autenticação com dois cabeçalhos · 30 pedidos/min

Sem código · Shopify e WooCommerce

Já vende no Shopify ou no WooCommerce? Liga-te em poucos minutos.

A maioria das lojas nunca utiliza a API. Adicione a Fabrixa como canal de vendas e as encomendas da sua loja passam diretamente para a produção — os produtos são sincronizados, os estados são atualizados automaticamente, sem necessidade de escrever ou manter código. A rota API, mais adiante, destina-se a lojas personalizadas e plataformas POD.

Criar canal → escolher a forma de venda

No seu painel de controlo, abra Create channel e escolha o tipo de integração. Cada canal mantém os seus próprios produtos, encomendas importadas e regras de importação — ligue quantos canais pretender.

  • Shopify — OAuth com um clique a partir do painel de administração do Shopify
  • WooCommerce — estabelecer ligação com as chaves REST API
  • Personalizado API — Plataformas POD e lojas online personalizadas através da integração API
  • Parceiro de impressão — receber ordens de produção de um parceiro Fabrixa
account.fabrixa.com/channels/create
O ecrã de criação de canal da Fabrixa — escolha de um tipo de integração: Shopify, WooCommerce, API personalizado ou parceiro de impressão, através do formulário de ligação do WooCommerceO ecrã de criação de canal da Fabrixa — escolha de um tipo de integração: Shopify, WooCommerce, API personalizado ou parceiro de impressão, através do formulário de ligação do WooCommerce
Shopify

OAuth com um clique

Não é necessário copiar nenhuma chave. Autorize a Fabrixa a partir do seu painel de administração do Shopify e a ligação fica ativa.

  1. Em Create channel, selecione Shopify.
  2. Aprovar a ligação a partir do painel de administração do Shopify (OAuth) — não é necessário copiar nenhuma chave.
  3. Os produtos e as encomendas são sincronizados automaticamente. Cada nova encomenda do Shopify é importada para a Fabrixa e entra em produção.
WooCommerce

Ligar-se com as chaves REST API

Uma loja WordPress liga-se através de um par de chaves REST de leitura/escrita — gerado no WooCommerce e colado no Fabrixa uma única vez.

  1. No WooCommerce: Settings → Advanced → REST API → Add key com Leitura/Escrita permissões.
  2. Cole o ck_ chave, cs_ o código secreto e o domínio da sua loja no Fabrixa.
  3. Guardar — as encomendas são sincronizadas automaticamente assim que a ligação for estabelecida. Pode alterar as regras de importação mais tarde, nas definições do canal.

Vende produtos personalizados? Fabrixa Studio — o editor de design de marca branca — também está disponível nas lojas Shopify e WooCommerce, para que os seus clientes possam personalizar os produtos com a sua marca. Ver Fabrixa Studio →

account.fabrixa.com/channels
A vista «Canais Fabrixa» — canais de vendas do Shopify, WooCommerce e API ligados lado a lado, com produtos sincronizados, encomendas importadas e receitas por canalA vista «Canais Fabrixa» — canais de vendas do Shopify, WooCommerce e API ligados lado a lado, com produtos sincronizados, encomendas importadas e receitas por canal
Um painel de controlo

Todos os canais, todas as encomendas, uma única visão.

As lojas conectadas aparecem ao lado do seu API e dos canais dos seus parceiros na vista «Canais» — produtos sincronizados, encomendas recebidas, a última referência importada e a receita por canal. Mude um canal do estado «rascunho» para «ativo» quando estiver pronto; nada muda a jusante.

Prefere criar uma loja online personalizada ou a sua própria plataforma POD? O resto deste guia aborda a abordagem API — desde a autenticação até ao cumprimento da encomenda, em quatro passos.

Pré-requisitos

O que é necessário antes de começar.

Há três passos que o levam do zero até à ativação de uma encomenda. Todos eles são efetuados a partir do seu painel de controlo Fabrixa ou pelo seu engenheiro de soluções.

01
Credenciais API

Um token de acesso da aplicação e uma chave da aplicação. Ambos são obrigatórios em todas as solicitações — o token no cabeçalho «Authorization» e a chave no cabeçalho «X-Application-Key». Crie um canal de vendas no seu painel de controlo para os gerar instantaneamente — sem necessidade de enviar qualquer solicitação.

02
Ponto de extremidade do webhook

Um ponto final HTTPS acessível ao público que aceita pedidos POST em JSON. O localhost funciona em ambiente de desenvolvimento através de um túnel. Deve verificar a assinatura HMAC-SHA256 em cada carga antes do processamento.

03
Ficheiros de ilustrações

O seu ficheiro de arte final — PDF, TIFF, JPG ou PNG — acessível via HTTPS sem autenticação. Cor RGB, até 50 MB e 15 000 px por lado. Os PDFs com várias páginas têm uma página por camada. Recebemos o ficheiro e criamos os ficheiros de impressão corretos quando processamos o trabalho.

Passo 1 — Autenticar-se

Verifique as suas credenciais com um comando «ping».

Todas as solicitações são encaminhadas para o URL base https://api.fabrixa.com/v2/integration com ambos os cabeçalhos definidos. GET /ping confirma se o token e a chave são válidos antes de fazer qualquer outra coisa.

A 401 significa que falta um cabeçalho ou que o token foi revogado. A 403 significa que as credenciais são válidas, mas não têm permissão para aceder ao recurso.

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
Passo 2 — Listar produtos

Veja os SKUs disponíveis na sua conta.

O catálogo apresenta as variantes do produto com os seus códigos SKU e variant_id. Cada resposta da lista é envolvida no links / meta / data envelope, por isso, paginar com o next_page link. Armazenar em cache localmente — o catálogo não é específico para cada pedido.

Os detalhes completos do campo encontram-se no Referência do 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" }
  ]
}
Passo 3 — Fazer uma encomenda

Um POST coloca a encomenda em produção.

Enviar rows (SKU + quantidade + um ficheiro PDF de referência), customer e shipping_address. Defina o seu próprio number como referência — se a omitir, iremos gerar uma. Guarde o ID da encomenda Fabrixa devolvido associado à sua encomenda.

Troca de encomendas entre estúdios sources para um cart_item_key — tudo o resto é idêntico.

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"
  }
}
Passo 4 — Webhooks

Mantenha-se a par do ciclo de vida da encomenda.

Defina o URL do seu webhook no painel de controlo. Enviamos um pedido POST order.created e order.updated para ele com o corpo completo da encomenda, um x-webhook-signature (HMAC-SHA256) e um x-webhook-topic cabeçalho. Verificar a assinatura, devolver 200 rápido, processar de forma assíncrona.

Todos os eventos e os excertos de verificação encontram-se no referência de webhooks.

POST → o seu ponto final
# 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"
}
Erros e rate limits

O que esperar quando as coisas correm mal.

Os erros são devolvidos em formato JSON, nunca em HTML. O errors.messages A variável `array` indica o que falhou; no caso de um erro 400, apresenta os campos que não foram validados.

400 / 401 / 403 / 404

Erro de validação, credenciais em falta ou revogadas, permissão insuficiente ou recurso desconhecido.

429 Demasiados pedidos

30 pedidos por aplicação por minuto. X-RateLimit-Limit e X-RateLimit-Remaining estão presentes em todas as respostas.

5xx

Do lado do servidor. Tente novamente com um intervalo de espera; se o problema persistir, envie o ID do pedido ao seu engenheiro de soluções.

Resposta ao erro
{
  "links": { "self": ".../v2/integration/orders" },
  "meta":  [],
  "errors": {
    "messages": [
      "Application Key is not specified."
    ]
  }
}
Não sabes o que fazer?

Falar com um engenheiro de soluções.

Para assistência na integração, questões relacionadas com credenciais ou canais de vendas, requisitos personalizados ou planeamento de capacidade — contacte o canal técnico de Engenheiros de Vendas (SE), e não a linha de vendas. Resposta no prazo de um dia útil.