Webhooks: enviar vendas para o Zapier e faturar no InvoiceXpress

Atualizado a 29 de setembro de 2026

Um webhook envia cada venda paga e cada novo lead da tua loja para um endereço teu, em segundos: produto, cliente (nome, email, NIF quando o indica e campos personalizados), valor, cupão e método de pagamento. Com o Zapier, isso chega para emitir a fatura-recibo no InvoiceXpress ou juntar o cliente à tua lista de email.

1. Criar o Zap e copiar o URL

  1. 1No Zapier, cria um Zap novo e escolhe o gatilho Webhooks by Zapier → Catch Hook.
  2. 2Continua até o Zapier te mostrar o URL do webhook (começa por https://hooks.zapier.com/hooks/catch/) e copia-o.

2. Ligar à Shelf

  1. 1No painel, vai a Definições → Integrações → Webhooks, cola o URL e clica em Ligar webhook.
  2. 2Clica em Enviar evento de teste.
  3. 3No Zapier, clica em Test trigger: aparece uma venda de exemplo (Cliente Teste, NIF 123456789) com todos os campos para mapear.

O NIF do cliente chega em data.buyer.nif: nos checkouts pagos, quem compra pode abrir Quero fatura com NIF e escrevê-lo, se quiser (ligas ou desligas em Definições → Faturação). Sem NIF, o campo vem a null: deixa o NIF da fatura vazio e ela fica para consumidor final. Não é preciso criar um campo personalizado.

3. Emitir a fatura-recibo no InvoiceXpress

  1. 1Adiciona um passo Filter by Zapier: continua só se type for sale.paid, se test não existir e se data.amount.total for maior que 0. Uma venda com cupão de 100% chega com total 0.00 e coupon_full: true.
  2. 2Adiciona a ação InvoiceXpress → Create Invoice-Receipt e liga a tua conta InvoiceXpress.
  3. 3Mapeia os campos (tabela abaixo). Escolhe a taxa de IVA ou o motivo de isenção que se aplica a ti; se tiveres dúvidas, confirma com o teu contabilista.
  4. 4Adiciona InvoiceXpress → Finalize Invoice-Receipt para a fatura ficar emitida e, se quiseres, Sends Invoice by Email para o cliente a receber.
  5. 5Testa o Zap com o evento de teste e liga-o.
InvoiceXpressCampo do webhook
Nome do clientedata.buyer.name
Email do clientedata.buyer.email
NIFdata.buyer.nif (vazio: consumidor final)
Descrição do artigodata.product.title
Preçodata.amount.total
Referênciadata.order_id

Os eventos

  • sale.paid: uma venda paga, incluindo order bumps. Uma venda com cupão de 100% também conta, com coupon_full: true.
  • lead.created: alguém recebe um produto gratuito ou um lead magnet.

Os dois eventos trazem também data.consents, com o que o cliente aceitou no checkout: terms (os teus termos e condições, com a version do texto e accepted_at) e immediate_access (o pedido de acesso imediato, com kind e accepted_at). Cada um vem a null quando não se aplica.

Verificar a assinatura (opcional, para quem programa)

Cada pedido traz o cabeçalho Shelf-Signature: t=…,v1=…, em que v1 é o HMAC-SHA256 de t + "." + corpo com o segredo que vês uma única vez ao ligar o webhook. Recusa pedidos com mais de 5 minutos. O mesmo evento pode, raramente, chegar duas vezes: usa o id para ignorar repetidos.

Perguntas frequentes

Posso usar o Make ou o n8n em vez do Zapier?+

Sim. No Make, usa o módulo Custom webhook; no n8n, o nó Webhook. Recebem exatamente os mesmos dados.

O que acontece se o meu Zap estiver desligado?+

Tentamos de novo até 8 vezes ao longo de cerca de 45 horas. Se o endereço responder 410 (removido), o webhook é desligado; reativa-o em Definições → Integrações.

Onde vejo se os envios estão a funcionar?+

Em Definições → Integrações → Webhooks, na lista Últimos envios: cada evento com o estado e o código de resposta.

Quantos webhooks posso ligar?+

Um por loja, por agora.

E se o meu produto já tem um campo personalizado «NIF»?+

Continua a funcionar. Nesse produto a Shelf não mostra o Quero fatura com NIF, e o que o cliente escrever no teu campo também chega em data.buyer.nif, se for um NIF válido.

Ainda não tens loja Shelf?

Cria a tua em minutos — 14 dias grátis, 0% de comissão sobre as vendas.

Criar a minha loja