Zapier y Make.com
Las apps de Genius Checkout en Zapier y Make.com hablan con los mismos tres endpoints REST-hook. Usan el Bearer API key estándar — sin OAuth separado — y emiten los mismos payloads documentados en Webhooks.
También puedes llamar estos endpoints directamente desde cualquier sistema que admita el patrón REST-hook (Zapier, Make, Pipedream, n8n, código propio).
Cómo Zapier / Make consumen los endpoints
Un trigger REST-hook tiene tres partes:
- Subscribe — Zapier hace
POSTcon el target URL del usuario cuando el Zap se activa. - Recibir eventos — Genius Checkout empuja webhooks firmados a esa URL.
- Unsubscribe — Zapier hace
DELETEcuando el Zap se desactiva o elimina.
Para la configuración inicial, Zapier muestra una UI de "Test trigger" que llama a /zapier/sample-payments para que el usuario pueda mapear campos sin necesitar una transacción real. El módulo "Watch events" de Make.com funciona igual.
Subscribe
POST /api/v1/zapier/subscriptions| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
target_url | string | Sí | URL HTTPS que Zapier / Make proveen. Empujamos eventos aquí. |
event | string | Sí | Único evento al que suscribirse. Ver lista abajo. |
Eventos soportados
payment.createdpayment.completedpayment.failedpayment.refundedsubscription.chargedsubscription.cancelledcheckout_session.completed
Respuesta (201)
{
"id": "whe_zap_abcdef123456",
"event": "payment.completed",
"target_url": "https://hooks.zapier.com/hooks/catch/123/abc/"
}El id es el manejador de suscripción que Zapier / Make almacenan y presentan al endpoint de unsubscribe. Internamente modelamos cada suscripción como un webhook endpoint GC de primera clase, así que los comercios también ven el cableado en Dashboard → Webhooks.
Unsubscribe
DELETE /api/v1/zapier/subscriptions/{id}Devuelve { "ok": true } si tiene éxito. 404 si la suscripción no existe para el comercio autenticado.
Sample payments (para la UX de "Test trigger")
GET /api/v1/zapier/sample-paymentsDevuelve hasta 3 pagos recientes del comercio autenticado, con la misma forma del payload real de webhook (id, receipt_number, amount, currency, status, card_brand, card_last4, mode, created_at, metadata).
Si el comercio aún no tiene transacciones, devolvemos una muestra sintética para que el Zap-builder nunca quede bloqueado en una cuenta nueva.
curl -H "Authorization: Bearer $GC_API_KEY" \
https://app.geniuscheckout.com/api/v1/zapier/sample-paymentsPonerlo todo junto
// Node — suscribir Zapier a eventos payment.completed
const sub = await fetch('https://app.geniuscheckout.com/api/v1/zapier/subscriptions', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.GC_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
target_url: 'https://hooks.zapier.com/hooks/catch/123/abc/',
event: 'payment.completed',
}),
}).then(r => r.json())
// Luego, cuando el Zap se desactiva:
await fetch(`https://app.geniuscheckout.com/api/v1/zapier/subscriptions/${sub.id}`, {
method: 'DELETE',
headers: { Authorization: `Bearer ${process.env.GC_API_KEY}` },
})Payload de webhook y firma
Los eventos entregados al target URL de Zapier / Make usan el envelope estándar de webhook GC y la firma HMAC-SHA256. Ver Webhooks → Verificación de firma. Los inspectores de Zapier y Make.com exponen los encabezados X-GC-Signature y X-GC-Timestamp si necesitas depurar una entrega.
Siguiente
- Webhooks — forma del payload, encabezado de firma, ventana de repetición
- Límites de tasa — Zapier subscribe/unsubscribe cae en el tier
writes
