Seu sistema fica sabendo de cada venda, na hora.

Os webhooks do Cord avisam seu servidor sempre que algo acontece no seu ciclo de vendas: um orçamento enviado, visualizado, aprovado ou pago, uma fatura emitida, um cliente novo. Cada aviso é um POST em JSON assinado com HMAC-SHA256, com novas tentativas automáticas e um histórico que você pode revisar no Workbench.

Em todos os planos: 16 endpoints no Grátis, no Starter e no Profissional, 32 no Scale e 100 no Developer.

POST https://erp.mdvalle-usa.com/webhooks/cord200 OK
User-Agent: Cord-Webhooks/1.0
X-Cord-Event: quote.paid
X-Cord-Event-Id: evt_9c1f4be07a2d4e61b3f8a05c7d92e1aa
X-Cord-Attempt: 1
X-Cord-Signature-V1: t=1790786728,v1=5f2c09d1e4a7b38c…
{
  "id": "evt_9c1f4be07a2d4e61b3f8a05c7d92e1aa",
  "event": "quote.paid",
  "created_at": "2026-09-30T22:45:28.114Z",
  "data": {
    "id": "c2f9a1d4-7b3e-4c1a-9e55-01a6c3d8f2b7",
    "folio": "COT-0149",
    "status": "paid",
    "moneda": "USD",
    "total": 4123.4,
    "cliente": "Ridgeline Builders LLC",
    "cliente_id": "9b41c2e0-3d7a-4f12-8c55-6e0b1a2d4f90",
    "link_publico": "https://cordhq.app/q/q8Fz2LkP"
  }
}
assinado · HMAC-SHA256timeout de 5 s · até 11 tentativas

ASSINATURA

Confirme que o aviso veio do Cord.

Cada entrega leva X-Cord-Signature-V1 com um timestamp e o HMAC-SHA256 do corpo bruto, assinado com o segredo do seu endpoint. Você valida em poucas linhas antes de processar o evento, e o timestamp protege você contra alguém que reenvie uma entrega antiga.

  • X-Cord-Event-Id para deduplicar sem ler o corpo
  • X-Cord-Attempt informa o número da tentativa de entrega
  • Durante uma rotação, assina com o segredo novo e com o anterior
verify-cord.jsNode.js
import crypto from 'node:crypto';

// header = req.headers['x-cord-signature-v1'], rawBody = corpo bruto, sem parse
export function verifyCord(rawBody, header, secret) {
  const parts = header.split(',');
  const t = parts.find((p) => p.startsWith('t='))?.slice(2);
  if (!t || Math.abs(Date.now() / 1000 - Number(t)) > 300) return false;
  const expected = crypto.createHmac('sha256', secret)
    .update(`${t}.${rawBody}`).digest();
  // durante uma rotação chegam dois v1: basta que um confira
  return parts.filter((p) => p.startsWith('v1=')).some((p) => {
    const got = Buffer.from(p.slice(3), 'hex');
    return got.length === expected.length && crypto.timingSafeEqual(got, expected);
  });
}

CATÁLOGO

41 eventos para todo o ciclo de vendas.

Não só orçamentos. Receba avisos de faturas finalizadas, enviadas, pagas ou vencidas, de pagamentos parciais ou com falha, reembolsos, contestações, repasses, clientes, produtos, tarefas e promessas de pagamento. Inscreva cada endpoint apenas no que ele precisa.

  • quote.* · invoice.* · payment.* · refund.* · payout.*
  • client.* · product.* · task.* · promise.* · dispute.*
  • Os mesmos tipos que GET /api/v1/events devolve
Visão geralLogsErrosEventosWebhooksShellChavesSaúde
Todos os tiposTodosCom falhaNa filaEntreguesID do objeto…Ao vivo
invoice.paidFatura pagaf3a8d1c4…2a61Sistema9 de out., 16:52:08
quote.createdOrçamento criadoc2f9a1d4…f2b7API9 de out., 16:43:29
quote.approvedOrçamento aprovado8a3e5d17…2e85Sistema9 de out., 16:31:40
client.updatedCliente atualizado9b41c2e0…4f90API9 de out., 16:29:52
payment.partialPagamento parcial recebidoa72c19e4…d4b3Sistema9 de out., 16:12:05
task.completedTarefa concluída4e0c7b2a…9a27Painel9 de out., 15:58:17
refund.succeededReembolso concluídoe6b1d904…1f63Sistema9 de out., 15:40:51
promise.createdPromessa de pagamento registrada0d5f8c3e…d635Painel9 de out., 15:21:33
payout.paidRepasse pagoSistema9 de out., 14:05:00
dispute.createdContestação aberta7b9e2a41…2a59Sistema9 de out., 11:20:46
invoice.overdueFatura vencida5d0e7c31…1b88Sistema9 de out., 09:00:02
quote.expiring3c7a1e90…7f30Sistema9 de out., 08:00:01
product.updatedProduto atualizado61f2a8d0…7f48Painel9 de out., 07:12:44

SEM CÓDIGO

Zapier, Make e n8n, sem copiar chaves.

O Zapier e o Make se conectam ao Cord por OAuth: você autoriza o app uma vez e ele aparece no Workbench como conexão autorizada, que pode ser revogada quando você quiser. O n8n usa uma chave de API. Os três criam as próprias inscrições de webhook, com uma cota separada de 100 que não consome os endpoints da sua equipe.

  • Autorização OAuth para Zapier e Make
  • Revogue um app sem mexer nas suas chaves
  • HubSpot, Slack e Microsoft Teams se conectam direto pelas Configurações
Visão geralLogsErrosEventosWebhooksShellChavesSaúde
Uso da API neste mês3.486 / 5.000Só contam as chamadas com chaves de produção; as de teste e as do Workbench, não.
Versão da API2026-10-01Cada chave e cada webhook ficam fixados na versão vigente ao serem criados; o header Cord-Version a altera por requisição.

Chaves de API

Conectam seu próprio sistema ou o n8n ao Cord. Zapier e Make não precisam delas: aparecem aqui como conexões autorizadas. Trate cada chave como uma senha.

TesteProduçãoPlano Profissional: 5/20+ Gerar chave
NomeTokenPermissõesÚltimo usoCriação
ZapierOAuthConexão autorizadaEscritahoje, 16:3124 de set. de 2026LogsRevogar
MakeOAuthConexão autorizadaEscritaontem, 18:0218 de set. de 2026LogsRevogar
Claude · FinanceiroProduçãoRestritark_live_••••••••••••••••••••7c3d3 recursoshoje, 16:3710 de set. de 2026LogsEditarRotacionarRevogar
n8n · AutomaçõesProduçãoSecreta1 IPsk_live_••••••••••••••••••••c71eEscritahoje, 15:121 de set. de 2026LogsEditarRotacionarRevogar
Portal de clientesProduçãoPublicávelpk_live_••••••••••••••••••••41c9Leiturahoje, 16:4128 de ago. de 2026LogsEditarRotacionarRevogar
ERP · Sincronização noturnaProduçãoSecreta2 IPVence em 14 de out. de 2026sk_live_••••••••••••••••••••8f2aEscritahoje, 16:4321 de ago. de 2026LogsEditarRotacionarRevogar
Testes locaisTesteSecretask_test_••••••••••••••••••••d77eEscritahoje, 15:3119 de ago. de 2026LogsEditarRotacionarRevogar
Script de relatóriosProduçãoSecretask_live_••••••••••••••••••••b0e3Leitura10 de set., 11:001 de ago. de 2026Revogada

PERGUNTAS FREQUENTES

Webhooks e integrações: o que os desenvolvedores perguntam.

É um aviso automático: quando acontece um evento na sua conta, como um orçamento aprovado ou uma fatura paga, o Cord faz um POST em JSON para a URL que você cadastrou, assinado com HMAC-SHA256 para que você verifique a origem.

O Cord tenta de novo até 11 vezes, com espera crescente, por quase quatro dias, com um timeout de 5 segundos por tentativa. Após 3 falhas seguidas, você recebe um aviso, e após 5 o endpoint é desativado até que você o reative.

Use o X-Cord-Event-Id, que também vem como campo id no corpo. Ele é o mesmo em todas as tentativas de um evento, então basta guardar os que você já processou.

Não. A conexão direta existe para HubSpot, Slack e Microsoft Teams, entre outros. Para SAP, Salesforce ou Oracle, você aponta um webhook para o seu backend ou para o Zapier, o Make ou o n8n, e usa a API REST para gravar de volta no Cord.

16 no Grátis, no Starter e no Profissional, 32 no Scale e 100 no Developer. As inscrições criadas pelo Zapier, Make ou n8n têm uma cota separada de 100 por organização.

Conheça o resto da plataforma para desenvolvedores.

Receba seu primeiro evento de teste.

Cadastre um endpoint no Workbench e use Testar para ver a entrega chegar.

Saiba quanto vai pagar

Preços publicados, com a tarifa de cada cobrança sempre visível.

Informações sobre preços →

Comece a construir

Comece a operar e a enviar orçamentos no plano Grátis.

Opções de integração →