Los webhooks permiten que tu negocio envíe automáticamente eventos de Cents a un sistema externo casi en tiempo real. Configuras una URL de destino, agregas autenticación de forma opcional, y eliges los eventos que quieres recibir. Cuando ocurre uno de esos eventos, Cents envía una solicitud HTTP POST con un payload en formato JSON a tu endpoint. Como un webhook puede apuntar a cualquier URL, puedes conectar Cents con tu propio backend, un CRM, una plataforma de datos, Zapier, o cualquier otro sistema que acepte solicitudes HTTPS entrantes.
Antes de empezar
Los webhooks están en el Business Manager, en Integrations > Webhooks.
Esta función se está habilitando de forma gradual y debe activarse para tu negocio. Si no ves Webhooks, comunícate con nuestro equipo para solicitar acceso.
Los payloads de los webhooks pueden incluir información de clientes y pedidos, así que usa un endpoint HTTPS en producción.
Crea un webhook
En el Business Manager, ve a Integrations > Webhooks, selecciona + Webhook y configura lo siguiente:
Label (etiqueta, opcional): Un nombre para identificar el webhook, como CRM, Zapier, Data Warehouse o Marketing Platform. La etiqueta es solo para tu referencia y no afecta la entrega.
Endpoint URL: El destino al que Cents envía los eventos. Debe ser una URL válida. Se admiten HTTP y HTTPS, pero se recomienda HTTPS en producción, sobre todo porque los payloads pueden contener información de clientes y pedidos.
Authentication (autenticación, opcional): Elige None (ninguna) o Custom Header (encabezado personalizado). Para un encabezado personalizado, ingresa el nombre y el valor del encabezado. El valor se envía exactamente como lo ingresaste, así que incluye tú mismo cualquier prefijo. Cents no agrega Bearer ni ningún otro prefijo automáticamente.
Events to send (eventos a enviar): Selecciona los eventos que se entregarán a este endpoint. Todos los eventos compatibles están habilitados de forma predeterminada, y puedes cambiar la selección más adelante sin cambiar el endpoint.
Ejemplos de encabezados personalizados:
Authorization: Bearer abc123 X-API-Key: secret-value
Eventos compatibles
Puedes enviar cualquiera de estos eventos. Cada webhook tiene su propia selección de eventos, así que puedes enviar distintos eventos a distintos sistemas (por ejemplo, los eventos de clientes a tu CRM y los eventos de pedidos a un data warehouse).
customer_created — Se crea un nuevo perfil de cliente.
customer_updated — Se actualiza un perfil de cliente.
customer_marketing_optin — Un cliente acepta recibir comunicaciones de marketing.
order_created — Se realiza un nuevo pedido.
order_updated — Se actualiza un pedido.
order_completed — Un pedido pasa al estado Complete (completado).
Administra un webhook
La página Manage Webhook muestra la configuración del webhook y su actividad reciente, incluyendo el endpoint, el tipo de autenticación, los eventos habilitados, el historial de entregas reciente y los payloads de los eventos. Desde ahí puedes:
Editar la URL del endpoint.
Actualizar la autenticación.
Cambiar qué eventos están habilitados.
Ver los intentos de entrega.
Ver el payload exacto que se envió para un evento.
Eliminar el webhook.
La configuración del endpoint y de la autenticación y la selección de eventos se pueden actualizar de forma independiente.
Payloads de los eventos
Cada webhook se entrega como una solicitud HTTP POST con Content-Type: application/json. La estructura del payload depende del evento.
Eventos de cliente (customer_created, customer_updated, customer_marketing_optin) incluyen información del cliente, como nombre, teléfono, correo electrónico, origen e identificadores, además de métricas del cliente, como cantidad de pedidos, valor total de pedidos, fecha del último pedido y saldo de puntos de lealtad.
{ "event": "customer_created", "customer": { "id": 4821, "firstName": "Jane", "lastName": "Doe", "phoneNumber": "+15551234567", "businessName": null, "email": "[email protected]", "isCommercial": false, "isInvoicingEnabled": false, "centsCustomerId": 9931, "referralCode": "JANE10", "source": ["assist"] }, "customerMetrics": { "numOrders": 3, "totalOrderValue": 142.50, "lastOrderDate": "2026-08-20T14:32:00.000Z", "loyaltyPointsBalance": 25 } }
Eventos de pedido (order_created, order_updated, order_completed) incluyen información del pedido (estado, totales, fechas, tipo de pedido, detalles de recojo y entrega, tienda y montos de pago), los servicios del pedido (con cantidades, precios, categorías y modificadores), información del cliente, métricas del cliente e información de atribución cuando está disponible.
{ "event": "order_completed", "order": { "id": 88213, "storeId": 42, "status": "COMPLETED", "orderTotal": "45.99", "orderCode": "ORD-88213", "orderType": "ONLINE", "tipAmount": "5.00", "balanceDue": "0.00", "returnMethod": "DELIVERY", "storeName": "Main St Laundromat", "onlineOrderUrl": "https://order.trycents.com/business-name" }, "services": [ { "id": 501, "name": "Wash & Fold", "quantity": 2, "totalPrice": "30.00", "serviceCategoryType": "PER_POUND", "modifiers": [ { "id": 12, "name": "Extra Softener", "totalPrice": "2.00", "quantity": 1 } ] } ], "customer": { "id": 4821, "firstName": "Jane", "lastName": "Doe", "email": "[email protected]", "centsCustomerId": 9931, "source": ["livelink"] }, "customerMetrics": { "numOrders": 4, "totalOrderValue": 188.49, "loyaltyPointsBalance": 30 }, "attributionSource": "google_ads", "attributionParams": { "utm_campaign": "fall_promo" } }
El campo onlineOrderUrl se incluye solo en eventos order_completed cuando el tipo de pedido es ONLINE. No se incluye en otros eventos de pedido ni en pedidos que no son en línea.
Cosas a tener en cuenta:
Los eventos de cliente y de pedido tienen estructuras de payload diferentes.
Algunos campos pueden ser null o no estar disponibles según el cliente o el pedido.
Los campos específicos de cada evento, como onlineOrderUrl, solo aparecen en ciertos casos.
Los payloads pueden evolucionar con el tiempo: se pueden agregar nuevos tipos de eventos y nuevos campos. Diseña tu sistema para ignorar campos desconocidos y manejar nuevos tipos de eventos sin fallar, y no asumas que la estructura actual es permanente.
Puedes inspeccionar el payload exacto que se envió para cualquier evento desde Event Log > View.
Event Log (registro de eventos)
El Event Log muestra los intentos de entrega recientes de los webhooks, incluyendo la hora de entrega, el nombre del evento, el método HTTP, el cuerpo de la solicitud y el estado de la respuesta.
Estados de entrega:
Success / 2xx — El endpoint aceptó la solicitud.
Failed — La entrega falló o el endpoint devolvió un error.
Pending — La entrega aún se está procesando.
Reintentos: Si una entrega falla, Cents reintenta automáticamente hasta 5 intentos en total (1 intento inicial más 4 reintentos) con retroceso exponencial, empezando con un retraso de 1 segundo. No hay opción de reintento o reenvío manual.
Historial: Los datos del Event Log se conservan durante 7 días. Los eventos más antiguos ya no están disponibles en el Event Log.
Eventos duplicados: El mismo evento puede entregarse más de una vez, y Cents actualmente no incluye un ID de idempotencia para la deduplicación. Diseña tu sistema para manejar las entregas duplicadas de forma segura y no asumas una entrega exactamente una vez.
Preguntas frecuentes
¿Por qué no veo Webhooks en el Business Manager? Los webhooks deben estar habilitados para tu negocio. Si no los ves, comunícate con nuestro equipo para solicitar acceso.
¿Puedo crear varios webhooks? Sí. Puedes crear varios webhooks, cada uno con su propio endpoint y selección de eventos.
¿Puedo enviar distintos eventos a distintos sistemas? Sí. Cada webhook tiene sus propios eventos y destino.
¿Puedo usar webhooks con Zapier u otra plataforma? Sí. Cualquier plataforma que ofrezca un endpoint HTTP compatible puede recibir los webhooks de Cents.
¿Cents firma las solicitudes de webhook? No. Cents actualmente no ofrece firmas HMAC ni otras firmas criptográficas de las solicitudes.
¿Puedo usar un encabezado de autenticación personalizado? Sí. Puedes configurar un encabezado personalizado con cualquier nombre y valor. El valor se envía exactamente como lo ingresaste, y Cents no agrega Bearer ni ningún otro prefijo.
¿El payload es igual para todos los eventos? No. La estructura del payload varía según el tipo de evento, y algunos campos solo están disponibles para eventos específicos.
¿Cuándo se incluye onlineOrderUrl? Solo en eventos order_completed cuando el tipo de pedido es ONLINE.
¿Debo esperar que todos los campos tengan un valor? No. Algunos campos pueden ser null o no estar disponibles según el cliente, el pedido o el evento.
¿Puedo reenviar manualmente un webhook fallido? No. Las entregas fallidas se reintentan automáticamente hasta cinco intentos en total, pero el reenvío manual no está disponible actualmente.
¿Puedo enviar un webhook de prueba? Actualmente no. Debe ocurrir un evento real que califique para generar una entrega de webhook.
¿Cents garantiza la entrega exactamente una vez? No. Ten en cuenta las entregas duplicadas y no dependas de una entrega exactamente una vez.
¿Necesitas ayuda?
No dudes en enviar un mensaje de texto a nuestro equipo de Soporte de Cents al 888-302-8809.
