Que tu sistema se entere de cada venta, al momento.

Los webhooks de Cord avisan a tu servidor cada vez que pasa algo en tu ciclo de venta: una cotización enviada, vista, aprobada o pagada, una factura emitida, un cliente nuevo. Cada aviso es un POST en JSON firmado con HMAC-SHA256, con reintentos automáticos y un historial que puedes revisar en el Workbench.

En todos los planes: 16 endpoints en Gratis, Starter y Profesional, 32 en Scale y 100 en 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"
  }
}
firmado · HMAC-SHA256timeout 5 s · hasta 11 intentos

FIRMA

Verifica que el aviso vino de Cord.

Cada entrega lleva X-Cord-Signature-V1 con una marca de tiempo y el HMAC-SHA256 del cuerpo crudo, firmado con el secreto de tu endpoint. Lo validas en unas pocas líneas antes de procesar el evento, y la marca de tiempo te protege de que alguien reenvíe una entrega vieja.

  • X-Cord-Event-Id para deduplicar sin leer el cuerpo
  • X-Cord-Attempt dice qué intento de entrega es
  • Durante una rotación firma con el secreto nuevo y el anterior
verify-cord.jsNode.js
import crypto from 'node:crypto';

// header = req.headers['x-cord-signature-v1'], rawBody = cuerpo sin parsear
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 una rotación llegan dos v1: basta con que uno cuadre
  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 el ciclo de venta.

No solo cotizaciones. Recibe avisos de facturas finalizadas, enviadas, pagadas o vencidas, de pagos parciales o fallidos, reembolsos, contracargos, depósitos, clientes, productos, tareas y promesas de pago. Suscribe cada endpoint solo a lo que necesita.

  • quote.* · invoice.* · payment.* · refund.* · payout.*
  • client.* · product.* · task.* · promise.* · dispute.*
  • Los mismos tipos que devuelve GET /api/v1/events
ResumenRegistrosErroresEventosWebhooksShellLlavesSalud
Todos los tiposTodosFallidasEn colaEntregadasID del objeto…En vivo
invoice.paidFactura pagadaf3a8d1c4…2a61Sistema9 oct, 16:52:08
quote.createdCotización creadac2f9a1d4…f2b7API9 oct, 16:43:29
quote.approvedCotización aprobada8a3e5d17…2e85Sistema9 oct, 16:31:40
client.updatedCliente actualizado9b41c2e0…4f90API9 oct, 16:29:52
payment.partialPago parcial recibidoa72c19e4…d4b3Sistema9 oct, 16:12:05
task.completedTarea completada4e0c7b2a…9a27Panel9 oct, 15:58:17
refund.succeededReembolso completadoe6b1d904…1f63Sistema9 oct, 15:40:51
promise.createdPromesa de pago registrada0d5f8c3e…d635Panel9 oct, 15:21:33
payout.paidDepósito pagadoSistema9 oct, 14:05:00
dispute.createdContracargo abierto7b9e2a41…2a59Sistema9 oct, 11:20:46
invoice.overdueFactura vencida5d0e7c31…1b88Sistema9 oct, 09:00:02
quote.expiring3c7a1e90…7f30Sistema9 oct, 08:00:01
product.updatedProducto actualizado61f2a8d0…7f48Panel9 oct, 07:12:44

SIN CÓDIGO

Zapier, Make y n8n, sin copiar llaves.

Zapier y Make se conectan con Cord por OAuth: autorizas la app una vez y aparece en el Workbench como conexión autorizada, que puedes revocar cuando quieras. n8n usa una API key. Las tres crean sus propias suscripciones de webhook, con un cupo aparte de 100 que no consume los endpoints de tu equipo.

  • Autorización OAuth para Zapier y Make
  • Revoca una app sin tocar tus llaves
  • HubSpot, Slack y Microsoft Teams se conectan directo desde Ajustes
ResumenRegistrosErroresEventosWebhooksShellLlavesSalud
Uso de la API este mes3,486 / 5,000Solo cuentan las llamadas con llaves en vivo; las de prueba y las del Workbench no.
Versión de la API2026-10-01Cada llave y cada webhook quedan fijados a la versión vigente al crearse; el header Cord-Version la cambia por petición.

Claves de API

Conectan tu propio sistema o n8n con Cord. Zapier y Make no las necesitan: aparecen aquí como conexiones autorizadas. Trata cada llave como una contraseña.

PruebaVivoPlan Profesional: 5/20+ Generar clave
NombreTokenPermisosÚltimo usoCreación
ZapierOAuthConexión autorizadaEscriturahoy, 16:3124 sep 2026RegistrosRevocar
MakeOAuthConexión autorizadaEscrituraayer, 18:0218 sep 2026RegistrosRevocar
Claude · FinanzasVivoRestringidark_live_••••••••••••••••••••7c3d3 recursoshoy, 16:3710 sep 2026RegistrosEditarRotarRevocar
n8n · AutomatizacionesVivoSecreta1 IPsk_live_••••••••••••••••••••c71eEscriturahoy, 15:121 sep 2026RegistrosEditarRotarRevocar
Portal de clientesVivoPúblicapk_live_••••••••••••••••••••41c9Lecturahoy, 16:4128 ago 2026RegistrosEditarRotarRevocar
ERP · Sincronización nocturnaVivoSecreta2 IPVence 14 oct 2026sk_live_••••••••••••••••••••8f2aEscriturahoy, 16:4321 ago 2026RegistrosEditarRotarRevocar
Pruebas localesPruebaSecretask_test_••••••••••••••••••••d77eEscriturahoy, 15:3119 ago 2026RegistrosEditarRotarRevocar
Script de reportesVivoSecretask_live_••••••••••••••••••••b0e3Lectura10 sep, 11:001 ago 2026Revocada

PREGUNTAS FRECUENTES

Lo que preguntan los developers sobre Webhooks e integraciones.

Es un aviso automático: cuando pasa un evento en tu cuenta, como una cotización aprobada o una factura pagada, Cord hace un POST en JSON a la URL que registraste, firmado con HMAC-SHA256 para que verifiques su origen.

Cord reintenta hasta 11 veces con espera creciente durante casi cuatro días, con un timeout de 5 segundos por intento. Tras 3 fallos seguidos recibes un aviso y tras 5 el endpoint se desactiva hasta que lo reactives.

Usa X-Cord-Event-Id, que también viaja como campo id en el cuerpo. Es el mismo en todos los reintentos de un evento, así que basta con guardar los que ya procesaste.

No. La conexión directa existe para HubSpot, Slack y Microsoft Teams, entre otras. Para SAP, Salesforce u Oracle apuntas un webhook a tu backend o a Zapier, Make o n8n, y usas la API REST para escribir de vuelta en Cord.

16 en Gratis, Starter y Profesional, 32 en Scale y 100 en Developer. Las suscripciones que crean Zapier, Make o n8n tienen un cupo aparte de 100 por organización.

Explora el resto de la plataforma para desarrolladores.

Recibe tu primer evento de prueba.

Registra un endpoint en el Workbench y usa Probar para ver la entrega llegar.

Ve lo que pagarás

Precios publicados, con la tarifa de cada cobro a la vista.

Información sobre precios →

Empieza a construir

Empieza a operar y a enviar cotizaciones desde el plan Gratis.

Opciones de integración →