Una CDP lleva los eventos a tu almacén de datos, tu herramienta de ventas, tu publicidad o tus mensajes; un bus de eventos, a tus servicios. Les damos los cambios del lineal en tus tiendas, con tus identificadores. Cada dirección es del conector desde cuya página la añades, donde puedes pausarla. Cómo añadirla, sus firmas y sus reintentos: webhooks: recibir y comprobar los mensajes.
Los eventos de datos
| Evento | Qué lleva |
|---|---|
gap.opened |
Un hueco de distribución abierto en una tienda: su tipo y la semana de la mirada |
gap.closed |
Un hueco anunciado que se ha cerrado: visto de nuevo (seen) o que ya no figura (cleared) |
issue.opened |
Una incidencia de lineal abierta o abierta de nuevo: su identificador, su tipo y sus semanas |
issue.closed |
Una incidencia de lineal cerrada, y cómo se cerró |
price.changed |
El precio observado de la semana y el anterior, con sus semanas |
promotion.result |
El resultado de una promoción seguida en una tienda y semana, con su lugar y su nivel |
shelf.snapshot |
Una tienda y semana publicadas: tus referencias, vistas o no, con sus facings, nivel y precio |
ledger.updated |
Las líneas de tu registro de valor: recuentos, euros estimados con tus cifras y entradas |
Cada uno nombra la tienda (nuestro identificador, nombre, cadena, dirección, código postal, localidad, código INE de la provincia y coordenadas, con el código y el GLN que le dio tu catálogo) y la referencia (nuestro identificador, nombre, variante, marca, tamaño y categoría, con tu código y tu EAN). Solo nombra semanas, nunca el momento de un recorrido, una persona, una foto, una nota ni un producto de la competencia: del lugar de una promoción nombra las marcas que lo compartían. shelf.snapshot lista tus referencias de las categorías que miró el recorrido, hasta 50 por mensaje (part de parts). Los huecos se ponen en cola cada mañana; los precios y las instantáneas de una semana, la mañana siguiente a su publicación. issue.opened, issue.closed y promotion.result llegan con el módulo de campo. ledger.updated es de tu cuenta: sin tienda ni referencia, lleva la ventana, los recuentos y euros de cada línea (null sin cifra) y la semana de cada cifra, cuando las líneas cambian (registro de valor). Los campos, en la referencia de webhooks.
Los formatos
Cada dirección elige uno en «Formato».
- MercaMap, JSON firmado (
standard):{ "id", "type", "data", "event_id", "created_at" }. - JSON plano (
flat): un nivel de claves en snake_case, primeroevent_id,event_type,event_versionycreated_at; las anidadas, unidas con guion bajo (store_code,reference_ean). - CloudEvents 1.0 (
cloudevents): modo estructurado, comoapplication/cloudevents+json, conhttps://mercamap.com/portalcomosource,com.mercamap.gap.openedcomotypey la tienda comosubject. - Tealium (
tealium): el cuerpo plano con cada atributo precedido demercamap_, el evento comotealium_event(mercamap_gap_opened) y, si lo pides, untealium_visitor_idpor tienda; hasta 10 eventos por petición, como mucho 50 por segundo. - Segment o RudderStack (
segment): llamadastrack(Gap Opened) con el cuerpo plano comopropertiesy el identificador del evento comomessageId; hasta 100 por lote. - Adobe Experience Platform (
adobe_aep), Azure Event Grid (eventgrid) y Confluent Cloud (confluent): formatos predefinidos, más abajo.
Los demás formatos envían un evento por petición. Un grupo de Tealium o de Segment recibe una sola respuesta y cuenta como un solo fallo; sus cabeceras de identificador nombran el grupo (batch_…). Tealium, Segment y los predefinidos comprueban su clave. Las muestras, en la referencia de webhooks.
Configuración de Tealium
- En Tealium («Connect» › «Data Sources»), añade una fuente de datos «HTTP API – Advanced» y publica el perfil. Escribe aquí su cuenta, su perfil y su clave («Data Source Key») o la dirección que generó Tealium, región incluida: MercaMap no crea fuentes de datos.
- «ID de visitante»: ninguno para EventStream; con AudienceStream, uno por tienda o pide a Tealium su filtro de eventos, porque AudienceStream guarda un visitante por cada evento sin él.
- Puedes dar a un evento el
tealium_eventde tus especificaciones de evento (el nuestro,mercamap_gap_opened…) y añadir hasta 20 parámetros, textos fijos o copias de atributos; reglas y atributos de cada evento, en la referencia de webhooks.
Configuración de Segment o RudderStack
- Añade una fuente HTTP API en Segment, o una fuente HTTP API en RudderStack, y copia su clave de escritura.
- Añade una dirección con el formato Segment, la región de tu espacio o RudderStack y la dirección https de tu data plane, y la clave de escritura, que se guarda cifrada.
- Asigna las llamadas
track(Gap Opened,Shelf Snapshot…) a tus destinos;messageIdpermite a Segment descartar un repetido.
Adobe Experience Platform
Crea una conexión de streaming HTTP API para datos en bruto, con un flujo de datos que asigne el cuerpo plano a tu esquema, y añade una dirección con su formato y los identificadores de la entrada y del flujo. La dirección es https://dcs.adobedc.net/collection/<inlet id>; cada petición nombra el flujo en x-adobe-flow-id y lleva un evento en el cuerpo plano, dentro de 1 MB. Si pide autenticación, da su acceso OAuth Server-to-Server con la API de Experience Platform (Adobe Developer Console), añadido en «Permissions» a un rol con el sandbox de la entrada y «Manage Datasets»: lo cambiamos por un token que renovamos antes de que caduque; si Adobe lo rechaza, los mensajes terminan con 401. Customer Journey Analytics lee el conjunto de datos que llena el flujo.
{"event_id":"gap.opened:…","event_type":"gap.opened","event_version":1,"created_at":"2026-10-26T06:12:30.000Z","week":"2026-W42","store_code":"T-0042","reference_ean":"8410000000017",…}
Azure Event Grid
Crea un tema personalizado con el esquema de entrada CloudEvents v1.0 y añade una dirección con su formato, el punto de conexión del tema, que debe estar en eventgrid.azure.net (https://<topic>.<region>-1.eventgrid.azure.net/api/events), y una clave del tema, que viaja en aeg-sas-key y se guarda cifrada. Cada petición es un evento CloudEvents 1.0 en modo estructurado, como application/cloudevents+json:
{"specversion":"1.0","id":"gap.opened:…","source":"https://mercamap.com/portal","type":"com.mercamap.gap.opened","time":"2026-10-26T06:12:30.000Z","subject":"3f6c2a10-…","datacontenttype":"application/json","data":{…} }
Confluent Cloud
En la consola de Confluent Cloud, anota el punto de conexión REST del clúster y su identificador (lkc-…), crea el tema y una clave de API que pueda escribir en él, y añade una dirección con su formato y esos datos; la clave y su secreto van cifrados en la autenticación Basic. Cada petición produce un registro con Kafka REST v3 en /kafka/v3/clusters/<cluster>/topics/<topic>/records, con el identificador de la tienda como clave (los eventos de una tienda conservan su orden en una partición) y nuestro cuerpo como valor.
{"key":{"type":"STRING","data":"3f6c2a10-…"},"value":{"type":"JSON","data":{"id":"…","type":"gap.opened","data":{…},"event_id":"gap.opened:…","created_at":"2026-10-26T06:12:30.000Z"} } }
Adónde pueden ir los datos
A tus sistemas y a quien los trata por cuenta tuya. Nunca a una cadena, a su red de medios o su sala limpia, a quien vende publicidad en tienda, a una plataforma publicitaria que revende segmentos o usa señales de compra, ni a un revendedor de datos: esas direcciones se rechazan, ningún conector, tampoco el de tu CDP, puede llevar allí nuestros datos, y nuestro equipo, que ve los servidores de cada cuenta, desactiva la que incumpla las condiciones, y con ella las demás de tu cuenta en su servidor o su nube (Tealium y Segment cuentan, cada uno, como un servidor; para reactivarlas, escríbenos desde «Soporte»). En una plataforma publicitaria (Criteo, Amazon Ads, The Trade Desk) puedes decidir con ellos, por ejemplo pausar la inversión cerca de las tiendas donde no se vio tu referencia, enviándole solo tus ajustes de segmentación, nunca nuestros datos (conectores).