Habilitar postbacks de notificación de eventos para marcas
Los postbacks de notificación de eventos (webhooks) notifican a tus sistemas internos en tiempo real cuando ocurren eventos específicos. Aunque los datos enviados varían según el evento, el proceso de configuración es el mismo para todos.
Accede a los postbacks de notificación de eventos
En la barra de navegación superior, seleccione
[Perfil de usuario] → Configuración.
Bajo la Técnico sección, seleccione Notificaciones de eventos.
Completa los campos de configuración global
Pasa el cursor sobre el evento para el que quieres configurar un postback de notificación y selecciona
[Editar].
Usa la tabla siguiente para configurar los ajustes de entrega:
URL
El punto final de tu servidor que recibirá los datos.
Método HTTP
GET: Los datos se anexan a la URL como cadenas de consulta.
POST: Los datos se envían en el cuerpo de la solicitud, que incluye varios parámetros opcionales que puedes configurar.
Consulta Eventos de notificación y cargas útiles para obtener más información sobre cada evento y el contenido de la carga útil.
Encabezado HTTP
(Opcional) Añade encabezados personalizados para la autenticación (p. ej., Authorization: Bearer token).
Retraso mínimo
Establece Retraso mínimo en segundos para proteger tu servidor de picos de tráfico.
Solicitudes máximas
Establece Solicitudes máximas por segundo para proteger tu servidor de picos de tráfico.
Respuesta de éxito
La cadena de texto específica o el código de estado HTTP que devuelve tu servidor cuando un postback se procesa correctamente.
Respuesta de error
La cadena de texto o el código de estado que indica un fallo (p. ej., ERROR o 500).
Eventos de notificación y cargas útiles
Cada notificación de evento envía un conjunto único de puntos de datos configurables (p. ej., {ActionId}). Consulta los eventos a continuación para saber qué puntos de datos puedes extraer de las cargas útiles.
Eventos del ciclo de vida de la acción
Los eventos del ciclo de vida de la acción emitirán una solicitud HTTP a una URL especificada (y cualquier parámetro incluido) cuando una acción se registra, modifica o revierte.
// Un ejemplo de POST en formato JSON
{
"CampaignId": 9876, // ID del programa
"ActionTrackerId": 12345, // ID del tipo de evento
"MediaPartnerId": 555, // ID del socio
"CampaignName": "Promoción Global de Primavera", // Nombre del programa
"ActionTrackerName": "Seguimiento de Venta Estándar", // Nombre del tipo de evento
"MediaPartnerName": "Afiliados de Primer Nivel", // Nombre del socio
"ActionId": "ACT-778899", // ID de la acción
"Status": "MODIFIED", // Estado de la acción
"StatusDetail": "Devolución del artículo - pago ajustado", // Más detalles sobre el estado de la acción
"AdId": 44332, // ID del anuncio
"Payout": 10.50, // Pago de la acción al socio, en la moneda del socio
"DeltaPayout": -5.00, // El cambio del importe del pago
"IntendedPayout": 15.50, // El importe de pago previsto para una acción que supera el límite
"Amount": 100.00, // Importe de la acción, en la moneda de la cuenta
"DeltaAmount": -50.00, // Importe corregido de la acción anterior
"IntendedAmount": 150.00, // El importe de venta previsto para una acción que supera el límite
"Currency": "USD", // Moneda de la acción
"OriginalCurrency": "USD", // Moneda original (es decir, del carrito) para la acción
"OriginalAmount": 100.00, // Importe original (es decir, del carrito) para la acción
// Colección "items": datos de los artículos individuales en esta acción
"items": [{join(items, i,
"\{\"sku\":\"{i.sku}\",
\"item_price\":{i.amt},
\"category\":\"{i.cat}\",
\"quantity\":{i.qty},
\"cartamt\":{i.cartamt},
\"rbt\":\"{i.rbt}\",
\"name\":\"{i.name}\"\}")}],
"EventDate": "2026-04-08T09:00:00Z", // Fecha de conversión
"CreationDate": "2026-04-08T09:05:00Z", // Fecha creada en el sistema
"LockingDate": "2026-05-08T00:00:00Z", // Fecha en que se bloqueará la acción
"ClearedDate": "2026-05-15T00:00:00Z", // Fecha programada para liquidarse
"ReferringDomain": "blog.partner.com", // Dominio de referencia
"LandingPageUrl": "https://brand.com/sale", // URL de la página de destino
"RefCustomerArea": "California", // Área del cliente (derivada de la IP)
"RefCustomerCity": "San Francisco", // Ciudad del cliente (derivada de la IP)
"RefCustomerRegion": "CA", // Región del cliente (derivada de la IP)
"RefCustomerCountry": "US", // Código de país del cliente (derivado de la IP)
"RefClickId": "CLK9988776655", // Identificador único del clic
"SharedId": "social_post_01", // ID compartido por el socio
"PromoCode": "SAVE20", // Código promocional general
"CustomerStatus": "EXISTING", // Estado del cliente
"Oid": "ORD-554433", // ID del pedido
"Note": "Partial return processed", // Nota suministrada con la acción
"CustomerPostCode": "94105", // Código postal del cliente
"CustomerCity": "San Francisco", // Ciudad del cliente
"CustomerCountry": "US", // Código de país del cliente
"CustomerRegion": "CA", // Región del cliente
"CustomerId": "CUST-12345", // ID del cliente
"CustomerEmail": "a665a45920422f9d417...", // Correo electrónico del cliente con hash
"IpAddress": "192.168.1.1", // Dirección IP
"CallerId": null, // Número de teléfono de la persona que llama
// Campos complementarios personalizados
"Text1": "Custom Val 1", // Texto 1
"Date1": "2026-04-08", // Fecha 1
"Money1": 10.00, // Dinero 1
"Numeric1": 1, // Numérico 1
// Metadatos del dispositivo y la aplicación
"appPackage": "com.brand.app", // Paquete de la aplicación móvil
"appName": "BrandStore", // Nombre de la aplicación móvil
"appVersion": "4.2.1", // Versión de la aplicación móvil
"deviceOs": "iOS", // Sistema operativo del dispositivo
"deviceOsVersion": "17.4", // Versión del sistema operativo del dispositivo
"deviceManuf": "Apple", // Fabricante del dispositivo
"deviceModel": "iPhone 15", // Modelo del dispositivo
"macAddress": "00:1B:44:11:3A:B7", // Dirección MAC (mayúsculas)
"macAddressLower": "00:1b:44:11:3a:b7", // Dirección MAC (minúsculas)
"macAddressAlpha": "001B44113AB7", // Dirección MAC (sin dos puntos)
"macAddressSha1": "47a32...", // MAC SHA1
"iosIfa": "EA7583CD-A667-48BC-B806-42ECB2B48606", // ID de publicidad de iOS
"iosAdTracking": "1", // Configuración de seguimiento de anuncios de iOS
"androidId": null, // ID de Android
"deviceId": "D-556677", // ID del dispositivo
"deviceIp": "192.168.1.1" // IP del dispositivo
}Eventos de consulta de acción
Los eventos de consulta de acción emitirán una solicitud HTTP a una URL especificada (y cualquier parámetro incluido) cuando se creen o resuelvan consultas de acción.
// Un ejemplo de POST en formato JSON
{
"Id": 554433, // Identificador único de la consulta de acción en el sistema
"MediaPartnerId": 555, // ID del socio
"MediaPartnerName": "Afiliados de Primer Nivel", // Nombre del socio
"CampaignId": 9876, // ID del programa
"CampaignName": "Promoción Global de Primavera", // Nombre del programa
"OrderId": "ORD-12345", // ID del pedido de la acción reportada
"TransactionDate": "2026-04-01T14:30:00Z", // Fecha de la transacción del evento que activó la consulta de acción
"TransactionAmount": 250.00, // Importe de la transacción del evento que activó la consulta de acción
"InquiryType": "MISSING_ACTION", // Tipo de consulta de acción
"ExpectedPayout": 25.00, // Importe de pago esperado por el socio
"ResolutionDeadlineDate": "2026-05-01T00:00:00Z", // La fecha límite para aceptar o rechazar la consulta
"TrackingLink": "https://proweb.com/click?cid=1&pid=555", // Enlace de seguimiento proporcionado por el socio
"ActionId": "ACT-999000", // ID de la acción (si está asociada con una acción existente)
"AutoApprovalDate": "2026-05-05T00:00:00Z", // La fecha en que el sistema ejecutará las reglas de aprobación automática
"ResolutionStatus": "PENDING", // Estado de resolución final de la consulta de acción
"RejectReason": null, // Motivo por el que se rechazó la consulta de acción
"FinalPayout": 0.00, // Pago final asociado con la consulta de acción
"ResolutionDate": null, // La fecha en que se decidió la consulta
"CreationDate": "2026-04-08T10:05:00Z", // Fecha en que se crea la consulta en el sistema
"InquiryNotes": "Customer claims they clicked the link but no credit was shown.", // Notas de la consulta enviadas por el socio
"ResolutionNotes": null, // Notas enviadas cuando se decidió la consulta
"Comments": "[{\"user\": \"support_agent\", \"text\": \"Verificando los registros de clics ahora.\"}, {\"user\": \"partner\", \"text\": \"El cliente proporcionó el recibo.\"}]" // Comentarios añadidos a la consulta (en formato JSON)
}Eventos de liquidación de acciones
Los eventos de liquidación de acciones emitirán una solicitud HTTP a una URL especificada (y cualquier parámetro incluido) cuando se liquiden acciones.
// Un ejemplo de POST en formato JSON
{
"ActionTrackerId": 12345, // ID del tipo de evento
"ActionTrackerName": "Seguimiento de Venta Estándar", // Nombre del tipo de evento
"CampaignId": 9876, // ID del programa
"CampaignName": "Promoción Global de Primavera", // Nombre del programa
"MediaPartnerId": 555, // ID del socio
"MediaPartnerName": "Afiliados de Primer Nivel", // Nombre del socio
"OrderIds": "ORD-9921,ORD-9922", // ID de los pedidos de las acciones reportadas (separados por comas)
"ActionIds": "ACT-101,ACT-102", // ID de las acciones (separados por comas)
"ClearedDate": "2026-04-15T12:00:00Z", // Fecha (ISO 8601) en que está programado que se liquide la acción
"LedgerDate": "2026-04-08T09:54:43Z" // Fecha (ISO 8601) en que se liquidó la acción
}Eventos de solicitud de valor de seguimiento
Los eventos de solicitud de valor de seguimiento emitirán una solicitud HTTP a una URL especificada (y cualquier parámetro incluido) cuando se creen solicitudes de seguimiento.
// Un ejemplo de POST en formato JSON
{
"CampaignId": 9876, // ID del programa
"ActionTrackerId": 12345, // ID del tipo de evento
"MediaPartnerId": 555, // ID del socio
"ActionId": "ACT-778899", // ID de la acción
"Amount": 150.00, // Importe de la acción en la moneda de la cuenta
"Currency": "USD", // Moneda de la acción
"Oid": "ORD-554433", // ID del pedido
// Colección "items": desglose de los productos individuales en la acción
"items": [{join(items, i, "\{\"sku\":\"{i.sku}\",\"item_price\":{i.amt},\"category\":\"{i.cat}\",\"quantity\":{i.qty},\"cartamt\":{i.cartamt},\"rbt\":\"{i.rbt}\",\"name\":\"{i.name}\"\}")}],
"EventDate": "2026-04-08T09:00:00Z", // Fecha de conversión
"IpAddress": "192.168.1.1", // Dirección IP del dispositivo
"RefClickId": "CLK9988776655" // Identificador único del clic
}Eventos de trabajos completados
Los eventos de trabajos completados emitirán una solicitud HTTP a una URL especificada (y cualquier parámetro adicional) cuando se haya completado un trabajo para un Exportación de informe o Haz clic en Exportar.
Eventos de solicitud de socio
Nota: Esta funcionalidad está en beta. Contacta a tu CSM o a nuestro equipo de soporte si quieres probar esta función.
Los eventos de solicitud de socio emitirán una solicitud HTTP a una URL especificada cuando un socio envíe una solicitud y cada vez que la solicitud sea aprobada, rechazada o retirada.
Si una PENDING carga útil se entrega con campos vacíos, el sistema está diseñado para activar actualizaciones a medida que la información esté disponible. Las entregas exitosas posteriores completarán esos campos previamente vacíos, lo que garantiza que tus registros se mantengan sincronizados con la información procesada más reciente.
Importante: Si tienes flujos de trabajo de solicitudes configurados, se ejecutan antes de que se active el webhook. El webhook se activa con el resultado Estado: APPROVED o REJECTED si un flujo de trabajo procesó la solicitud, PENDING si no se aplicó ningún flujo de trabajo, o RETRACTED si el socio retiró la solicitud.
El contenido de la carga útil varía según Estado. El siguiente ejemplo muestra un PENDING evento, con comentarios que indican qué campos aparecen para otros estados.
Mecanismo de reintento de postback
Si un postback falla al intentar publicarse en la URL de destino, la entrega se reintenta automáticamente según un programa establecido hasta 15 veces. Los reintentos ayudan a compensar problemas temporales de red o la indisponibilidad del servidor.
Condiciones en las que no se producirán reintentos
Un postback no se reintentará en los siguientes casos:
La URL de destino está mal formada o no es válida.
La URL de destino o su host no se resuelven, por ejemplo, debido a un error de búsqueda DNS.
Programación de reintentos
Los intentos de reintento siguen la programación siguiente. Se omiten los reintentos 1, 2 y 3 si el código de respuesta HTTP está en el rango de 400 para 500.
Referencia de la programación de reintentos
Reintento 1
+15 segundos
Reintento 2
+15 segundos
Reintento 3
+15 segundos
Reintento 4
+3 minutos
Reintento 5
+3 minutos
Reintento 6
+15 minutos
Reintento 7
+15 minutos
Reintento 8
+15 minutos
Reintento 9
+2 horas
Reintento 10
+2 horas
Reintento 11
+2 horas
Reintento 12
+6 horas
Reintento 13
+6 horas
Reintento 14
+6 horas
Reintento 15
+6 horas
Última actualización
¿Te fue útil?

