For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

1

Accede a los postbacks de notificación de eventos

  1. En la barra de navegación superior, seleccione [Perfil de usuario] → Configuración.

  2. Bajo la Técnico sección, seleccione Notificaciones de eventos.

2

Completa los campos de configuración global

  1. Pasa el cursor sobre el evento para el que quieres configurar un postback de notificación y selecciona [Editar].

  2. Usa la tabla siguiente para configurar los ajustes de entrega:

Campo
Descripción

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

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.

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
Intento de reintento
Retraso antes del reintento

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?