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 a chave ck_ e o segredo cs_ e o domínio da sua loja na 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.

Estado 401 significa que falta um cabeçalho ou que o token foi revogado. Estado 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.

As encomendas do estúdio substituem as sources ficheiro com o cart_item_key do desenho guardado; 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, x-webhook-signature (HMAC-SHA256) e x-webhook-topic nos cabeçalhos. Verifique a assinatura, devolva 200 rápido, processe 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."
    ]
  }
}
Perguntas frequentes

Integração, respondida

Quantas solicitações API por minuto permite a Fabrixa?

A Fabrixa permite 30 pedidos por aplicação por minuto; se esse limite for ultrapassado, é devolvida uma resposta 429 Too Many Requests. Os cabeçalhos X-RateLimit-Limit e X-RateLimit-Remaining são incluídos em todas as respostas, para que uma integração possa acompanhar a quota restante antes de atingir o limite.

Que formatos de imagem aceita a Fabrixa para os ficheiros de impressão?

A Fabrixa aceita ficheiros de arte final em formato PDF, TIFF, JPG ou PNG na cor RGB, com um tamanho máximo de 50 MB e 15 000 px por lado, acessíveis através de HTTPS sem autenticação. Os PDFs com várias páginas são tratados como uma página por camada, e a Fabrixa obtém o próprio ficheiro para criar os ficheiros de impressão corretos quando o trabalho é renderizado.

Como é que se liga uma loja WooCommerce à Fabrixa?

No WooCommerce, aceda a «Definições», depois a «Avançado» e, em seguida, a «REST API», e adicione uma chave com permissões de leitura/escrita. Cole a chave «ck_» resultante, o segredo «cs_» e o domínio da sua loja no Fabrixa, guarde e as encomendas serão sincronizadas automaticamente — as regras de importação podem ser alteradas posteriormente nas definições do canal.

O que preciso de ter antes da minha primeira encomenda de Fabrixa e API?

Antes de efetuar a primeira encomenda, necessita de um «Token de Acesso da Aplicação» e de uma «Chave da Aplicação» de um canal de vendas, de um ponto final público de webhook HTTPS que verifique a assinatura HMAC-SHA256 em cada payload e de material gráfico acessível via HTTPS sem autenticação. Todos estes três elementos são emitidos ou configurados a partir do painel de controlo da Fabrixa, e as credenciais são geradas instantaneamente quando o canal de vendas é criado.

O que significa uma resposta 403 da Fabrixa API?

Um código de erro 403 significa que o token de acesso da aplicação e a chave da aplicação são válidos, mas não têm permissão para aceder ao recurso solicitado. Isto difere de um código de erro 401, que significa que falta um cabeçalho obrigatório ou que o token foi revogado; ambos podem ser verificados com um pedido GET /ping antes de se prosseguir com o desenvolvimento.

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.

Base de conhecimento

Tem dúvidas sobre integrações e a API?

Todas as 8 respostas sobre Integrações e API → Contacte a nossa equipa de apoio →