{"info":{"_postman_id":"77cc1fda-7eb1-4ed9-b96e-0794a48f69f9","name":"Engage Api","description":"<html><head></head><body><h2 id=\"api-pública-de-engage-campaigns---documentación\">API Pública de Engage Campaigns - Documentación</h2>\n<h3 id=\"descripción-general\">Descripción General</h3>\n<p>La API Pública de Engage proporciona acceso programático a datos de campañas de engagement enviadas a través de canales de WhatsApp. Esta API permite a los desarrolladores integrar capacidades de reporting, análisis y exportación de datos de campañas en sus aplicaciones y sistemas empresariales.</p>\n<h3 id=\"características-principales\">Características Principales</h3>\n<ul>\n<li><p><strong>Listado de Campañas:</strong> Acceso al catálogo completo de campañas dentro de un rango de fechas, con filtros por tipo de ejecución (one-time o recurrent)</p>\n</li>\n<li><p><strong>Detalles de Campaña:</strong> Información granular a nivel de contacto individual, incluyendo estado de entrega, lectura e interacción, con soporte de paginación</p>\n</li>\n<li><p><strong>Resumen de Métricas:</strong> Estadísticas agregadas por campaña con porcentajes de lectura, interacción y error</p>\n</li>\n<li><p><strong>Estadísticas Globales:</strong> Métricas consolidadas del bot segmentadas por frecuencia temporal (diaria o semanal)</p>\n</li>\n<li><p><strong>Exportación de Datos:</strong> Descarga de detalle de campañas en formato CSV</p>\n</li>\n</ul>\n<hr>\n<h3 id=\"url-base\">URL Base</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://analytics-engage.agentbot.net\n\n</code></pre><hr>\n<h3 id=\"autenticación\">Autenticación</h3>\n<p>Todas las solicitudes a la API requieren <strong>dos headers de autenticación</strong>:</p>\n<p>| |</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Tipo</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>X-Token</code></td>\n<td>Token fijo</td>\n<td>Identificador del bot (BotID). Determina el contexto de datos a consultar.</td>\n</tr>\n<tr>\n<td><code>Authorization</code></td>\n<td>Bearer JWT</td>\n<td>Token JWT de sesión del usuario autenticado (formato <code>Bearer</code> ).</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"ejemplo-de-headers\">Ejemplo de Headers</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>X-Token: eExNcFRrUmtOVFJsWkRKa01HRTNaalZrT0dGaFl6...\nAuthorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...\nContent-Type: application/json\n\n</code></pre><p><strong>Nota:</strong> El token JWT tiene expiración. Asegúrese de renovarlo antes de que expire para evitar respuestas <code>401 Unauthorized</code>. El JWT se obtiene mediante autenticación OAuth contra el proveedor de identidad (Auth0).</p>\n<hr>\n<h3 id=\"formato-de-respuesta\">Formato de Respuesta</h3>\n<p>Las respuestas se devuelven en formato JSON por defecto. El endpoint <code>/campaign/{name}/details</code> soporta además exportación en CSV mediante el parámetro <code>output=csv</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Formato</th>\n<th>Content-Type</th>\n<th>Aplica a</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>JSON</td>\n<td><code>application/json</code></td>\n<td>Todos los endpoints (por defecto)</td>\n</tr>\n<tr>\n<td>CSV</td>\n<td><code>text/csv; charset=utf-8</code></td>\n<td><code>/campaign/{name}/details</code> únicamente (con <code>output=csv</code>)</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h3 id=\"parámetros-comunes\">Parámetros Comunes</h3>\n<h4 id=\"parámetros-de-fecha\">Parámetros de Fecha</h4>\n<p>La mayoría de los endpoints requieren un rango de fechas como query parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parámetro</th>\n<th>Tipo</th>\n<th>Formato</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>from</code></td>\n<td>string</td>\n<td><code>YYYY-MM-DD HH:MM:SS</code> (UTC)</td>\n<td>Fecha y hora de inicio</td>\n</tr>\n<tr>\n<td><code>to</code></td>\n<td>string</td>\n<td><code>YYYY-MM-DD HH:MM:SS</code> (UTC)</td>\n<td>Fecha y hora de fin</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Ejemplo:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>from=2026-04-01 00:00:00\nto=2026-04-10 23:59:59\n\n</code></pre><p>Los valores deben estar URL-encoded en la query string (espacios como , dos puntos como <code>:</code>).</p>\n<h4 id=\"filtros-comunes\">Filtros Comunes</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parámetro</th>\n<th>Tipo</th>\n<th>Valores permitidos</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td><code>one-time</code>, <code>recurrent</code></td>\n<td>Filtra campañas por tipo de ejecución</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h3 id=\"endpoints-disponibles\">Endpoints Disponibles</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Método</th>\n<th>Endpoint</th>\n<th>Descripción</th>\n<th><code>from</code>/<code>to</code></th>\n<th>Filtros opcionales</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>GET</td>\n<td><code>/campaigns</code></td>\n<td>Listado de campañas del bot</td>\n<td>Sí</td>\n<td><code>type</code></td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/campaign/{name}/details</code></td>\n<td>Detalle a nivel contacto (paginado, exportable CSV)</td>\n<td>Sí</td>\n<td><code>type</code>, <code>output</code>, <code>limit</code>, <code>offset</code></td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/campaign/{name}/summary</code></td>\n<td>Resumen de métricas agregadas de una campaña</td>\n<td>Sí</td>\n<td>—</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/stats</code></td>\n<td>Estadísticas globales segmentadas por frecuencia</td>\n<td>Sí</td>\n<td><code>frequency</code>, <code>type</code></td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h3 id=\"límites-de-consulta\">Límites de Consulta</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Endpoint</th>\n<th>Restricción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>/campaign/{name}/details</code></td>\n<td>Rango máximo de <strong>90 días</strong> entre <code>from</code> y <code>to</code></td>\n</tr>\n<tr>\n<td><code>/campaign/{name}/details</code></td>\n<td><code>limit</code> máximo de <strong>10,000</strong> registros por request</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h3 id=\"códigos-de-estado-http\">Códigos de Estado HTTP</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Código</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>200</td>\n<td>Solicitud exitosa</td>\n</tr>\n<tr>\n<td>400</td>\n<td>Solicitud mal formada (parámetros inválidos o faltantes)</td>\n</tr>\n<tr>\n<td>401</td>\n<td>No autenticado (token inválido o expirado)</td>\n</tr>\n<tr>\n<td>403</td>\n<td>No autorizado (sin permisos para el recurso solicitado)</td>\n</tr>\n<tr>\n<td>404</td>\n<td>Recurso no encontrado (campaña inexistente)</td>\n</tr>\n<tr>\n<td>500</td>\n<td>Error interno del servidor</td>\n</tr>\n</tbody>\n</table>\n</div></body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"28918037","collectionId":"77cc1fda-7eb1-4ed9-b96e-0794a48f69f9","publishedId":"2sBXqGsNEF","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-04-27T16:37:47.000Z"},"item":[{"name":"Summary","id":"46de1c89-818a-4b5f-a52b-9d91b01ecf82","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-Token","value":"xxxxxxxxx"},{"key":"Authorization","value":"Bearer xxxxxxx"},{"key":"Content-Type","value":"application/json"}],"url":"https://analytics-engage.agentbot.net/campaign/promo_welcome_test/summary?from=2026-04-01%2000%3A00%3A00&to=2026-04-10%2023%3A59%3A59","description":"<h4 id=\"resumen-de-campaña\">Resumen de Campaña</h4>\n<p>Retorna las métricas agregadas y el resumen estadístico de una campaña dentro de un rango de fechas.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET /campaign/{name}/summary\n\n</code></pre><p><strong>Path Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parámetro</th>\n<th>Tipo</th>\n<th>Requerido</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>Sí</td>\n<td>Nombre identificador de la campaña</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Query Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parámetro</th>\n<th>Tipo</th>\n<th>Requerido</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>from</code></td>\n<td>string</td>\n<td>Sí</td>\n<td>Fecha y hora de inicio (<code>YYYY-MM-DD HH:MM:SS</code>)</td>\n</tr>\n<tr>\n<td><code>to</code></td>\n<td>string</td>\n<td>Sí</td>\n<td>Fecha y hora de fin (<code>YYYY-MM-DD HH:MM:SS</code>)</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Headers requeridos:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Requerido</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>X-Token</code></td>\n<td>Sí</td>\n<td>BotID - Token de acceso</td>\n</tr>\n<tr>\n<td><code>Authorization</code></td>\n<td>Sí</td>\n<td>Bearer token JWT de sesión</td>\n</tr>\n<tr>\n<td><code>Content-Type</code></td>\n<td>Sí</td>\n<td><code>application/json</code></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Ejemplo de Request:</strong></p>\n<p>bash</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>curl --location 'https://analytics-engage.agentbot.net/campaign/promo_welcome_test/summary?from=2026-04-01 00:00:00&amp;to=2026-04-10 23:59:59' \\\n--header 'X-Token: eExNcFRrUmtOVFJsWkRKa01HRTNaalZrT0dGaFl6...' \\\n--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhdXRoMHwxMjM0NTY3ODkwIiwibmFtZSI6IlRlc3QgVXNlciIsImlhdCI6MTcwMDAwMDAwMH0.SIGNATURE_PLACEHOLDER' \\\n--header 'Content-Type: application/json'\n\n</code></pre><p><strong>Ejemplo de Response:</strong></p>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"campaign_id\": \"a1b2c3d4-5678-9101-abcd-ef1234567890\",\n    \"campaign_name\": \"promo_welcome_test\",\n    \"template_name\": \"welcome_april_template\",\n    \"channel_name\": \"Wpp Demo Company +1 555 123 4567\",\n    \"campaign_type\": \"one-time\",\n    \"sent\": 2308,\n    \"received\": 2196,\n    \"readed\": 1156,\n    \"error\": 476,\n    \"total\": 2308,\n    \"interacted\": 62,\n    \"readed_percent\": 50.09,\n    \"interacted_percent\": 2.69,\n    \"error_percent\": 17.1\n}\n\n</code></pre><p><strong>Campos de Response:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>campaign_id</code></td>\n<td>string</td>\n<td>UUID identificador único de la campaña</td>\n</tr>\n<tr>\n<td><code>campaign_name</code></td>\n<td>string</td>\n<td>Nombre de la campaña</td>\n</tr>\n<tr>\n<td><code>template_name</code></td>\n<td>string</td>\n<td>Nombre del template de mensaje utilizado</td>\n</tr>\n<tr>\n<td><code>channel_name</code></td>\n<td>string</td>\n<td>Nombre del canal de WhatsApp asociado</td>\n</tr>\n<tr>\n<td><code>campaign_type</code></td>\n<td>string</td>\n<td>Tipo de campaña: <code>one-time</code> o <code>recurrent</code></td>\n</tr>\n<tr>\n<td><code>sent</code></td>\n<td>integer</td>\n<td>Cantidad total de mensajes enviados</td>\n</tr>\n<tr>\n<td><code>received</code></td>\n<td>integer</td>\n<td>Cantidad de mensajes entregados al destinatario</td>\n</tr>\n<tr>\n<td><code>readed</code></td>\n<td>integer</td>\n<td>Cantidad de mensajes leídos por el destinatario</td>\n</tr>\n<tr>\n<td><code>error</code></td>\n<td>integer</td>\n<td>Cantidad de mensajes con error de entrega</td>\n</tr>\n<tr>\n<td><code>total</code></td>\n<td>integer</td>\n<td>Total de mensajes procesados en la campaña</td>\n</tr>\n<tr>\n<td><code>interacted</code></td>\n<td>integer</td>\n<td>Cantidad de destinatarios que interactuaron</td>\n</tr>\n<tr>\n<td><code>readed_percent</code></td>\n<td>float</td>\n<td>Porcentaje de mensajes leídos sobre el total</td>\n</tr>\n<tr>\n<td><code>interacted_percent</code></td>\n<td>float</td>\n<td>Porcentaje de interacciones sobre el total</td>\n</tr>\n<tr>\n<td><code>error_percent</code></td>\n<td>float</td>\n<td>Porcentaje de errores sobre el total</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[]},"isInherited":true,"source":{"_postman_id":"77cc1fda-7eb1-4ed9-b96e-0794a48f69f9","id":"77cc1fda-7eb1-4ed9-b96e-0794a48f69f9","name":"Engage Api","type":"collection"}},"urlObject":{"protocol":"https","path":["campaign","promo_welcome_test","summary"],"host":["analytics-engage","agentbot","net"],"query":[{"key":"from","value":"2026-04-01%2000%3A00%3A00"},{"key":"to","value":"2026-04-10%2023%3A59%3A59"}],"variable":[]}},"response":[],"_postman_id":"46de1c89-818a-4b5f-a52b-9d91b01ecf82"},{"name":"Stats","id":"8ea7bde0-544e-4263-8c41-b0a73b24e806","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-Token","value":"xxxxxxxx"},{"key":"Authorization","value":"xxxxxxxx"},{"key":"Content-Type","value":"application/json"}],"url":"https://analytics-engage.agentbot.net/stats?from=2026-04-01%2000%3A00%3A00&to=2026-04-10%2023%3A59%3A59","description":"<h4 id=\"4-estadísticas-globales\">4. Estadísticas Globales</h4>\n<p>Retorna métricas consolidadas de mensajes para un bot dentro de un rango de fechas. Los datos se segmentan según el parámetro de frecuencia.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET /stats\n\n</code></pre><p><strong>Query Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parámetro</th>\n<th>Tipo</th>\n<th>Requerido</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>from</code></td>\n<td>string</td>\n<td>Sí</td>\n<td>Fecha y hora de inicio (<code>YYYY-MM-DD HH:MM:SS</code> UTC)</td>\n</tr>\n<tr>\n<td><code>to</code></td>\n<td>string</td>\n<td>Sí</td>\n<td>Fecha y hora de fin (<code>YYYY-MM-DD HH:MM:SS</code> UTC)</td>\n</tr>\n<tr>\n<td><code>frequency</code></td>\n<td>string</td>\n<td>No</td>\n<td>Frecuencia de segmentación: <code>daily</code> o <code>weekly</code></td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>No</td>\n<td>Filtro por tipo de campaña: <code>one-time</code> o <code>recurrent</code></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Headers requeridos:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Requerido</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>X-Token</code></td>\n<td>Sí</td>\n<td>BotID - Token de acceso</td>\n</tr>\n<tr>\n<td><code>Authorization</code></td>\n<td>Sí</td>\n<td>Bearer token JWT de sesión</td>\n</tr>\n<tr>\n<td><code>Content-Type</code></td>\n<td>Sí</td>\n<td><code>application/json</code></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Ejemplo de Request:</strong></p>\n<p>bash</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>curl --location 'https://analytics-engage.agentbot.net/stats?from=2026-04-01 00:00:00&amp;to=2026-04-10 23:59:59' \\\n--header 'X-Token: eExNcFRrUmtOVFJsWkRKa01HRTNaalZrT0dGaFl6...' \\\n--header 'Authorization: Bearer eyJhbG234232232ciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhdXRoMHwxMjM0NTY3ODkwIiwibmFtZSI6IlRlc3QgVXNlciIsImlhdCI6MTcwMDAwMDAwMH0.SIGNATURE_PLACEHOLDER' \\\n--header 'Content-Type: application/json'\n\n</code></pre><p><strong>Con filtros opcionales:</strong></p>\n<p>bash</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>curl --location 'https://analytics-engage.agentbot.net/stats?from=2026-04-01 00:00:00&amp;to=2026-04-10 23:59:59&amp;frequency=daily&amp;type=one-time' \\\n--header 'X-Token: eExNcFRrUmtOVFJsWkRKa01HRTNaalZrT0dGaFl6...' \\\n--header 'Authorization: Bearer ey23232JhbGciOiJ23232323SUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhdXRoMHwxMjM0NTY3ODkwIiwibmFtZSI6IlRlc3QgVXNlciIsImlhdCI6MTcwMDAwMDAwMH0.SIGNATURE_PLACEHOLDER' \\\n--header 'Content-Type: application/json'\n\n</code></pre><p><strong>Ejemplo de Response:</strong></p>\n<p>La respuesta es un array de objetos. Cada objeto representa un segmento temporal según la frecuencia solicitada. Si no se especifica <code>frequency</code>, retorna un único segmento con el rango completo.</p>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>[\n    {\n        \"segment\": \"2026-04-01 00:00:00 - 2026-04-10 23:59:59\",\n        \"stats\": {\n            \"total\": 86290,\n            \"read\": 56140,\n            \"not_delivered\": 1116,\n            \"delivered\": 76828,\n            \"error\": 8346\n        }\n    }\n]\n\n</code></pre><p><strong>Campos de Response —</strong> <strong><code>[]</code></strong> <strong>(array raíz):</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>segment</code></td>\n<td>string</td>\n<td>Rango temporal del segmento (formato: <code>YYYY-MM-DD HH:MM:SS - YYYY-MM-DD HH:MM:SS</code>)</td>\n</tr>\n<tr>\n<td><code>stats</code></td>\n<td>object</td>\n<td>Objeto con las métricas agregadas del segmento</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Campos de Response —</strong> <strong><code>stats</code>****:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>total</code></td>\n<td>integer</td>\n<td>Total de mensajes procesados en el segmento</td>\n</tr>\n<tr>\n<td><code>read</code></td>\n<td>integer</td>\n<td>Cantidad de mensajes leídos por el destinatario</td>\n</tr>\n<tr>\n<td><code>not_delivered</code></td>\n<td>integer</td>\n<td>Cantidad de mensajes no entregados</td>\n</tr>\n<tr>\n<td><code>delivered</code></td>\n<td>integer</td>\n<td>Cantidad de mensajes entregados al destinatario</td>\n</tr>\n<tr>\n<td><code>error</code></td>\n<td>integer</td>\n<td>Cantidad de mensajes con error</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Nota:</strong> Cuando se utiliza <code>frequency=daily</code>, el array contendrá un objeto por cada día dentro del rango. Con <code>frequency=weekly</code>, un objeto por cada semana.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[]},"isInherited":true,"source":{"_postman_id":"77cc1fda-7eb1-4ed9-b96e-0794a48f69f9","id":"77cc1fda-7eb1-4ed9-b96e-0794a48f69f9","name":"Engage Api","type":"collection"}},"urlObject":{"protocol":"https","path":["stats"],"host":["analytics-engage","agentbot","net"],"query":[{"key":"from","value":"2026-04-01%2000%3A00%3A00"},{"key":"to","value":"2026-04-10%2023%3A59%3A59"}],"variable":[]}},"response":[],"_postman_id":"8ea7bde0-544e-4263-8c41-b0a73b24e806"},{"name":"Campaigns","id":"c5f2958c-ddbd-4a42-9354-bfc0bc5c6ef0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-Token","value":"T1dRMFpEUXpNR1V6TnpoaFkyWXpZalprTkRNME5EZzRNemc1TVRnd1pUQT0="},{"key":"Authorization","value":"Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik5VSTBRa0V4TmpZNU5rUTJOek5GUmpWRU1qQTBOMFU1UVRZelJUQkVSamhDUkRreU5ESXhOZyJ9.eyJodHRwczovL2hhc3VyYS5pby9qd3QvY2xhaW1zIjp7IngtYWx0ZXJuYXRpdmVfaWQiOiIiLCJ4LWN1cnJlbnRfdXNlcl9yb2xlcyI6MTk5NTgsIngtaGFzdXJhLWFsbG93ZWQtcm9sZXMiOlsidXNlciJdLCJ4LWhhc3VyYS1kZWZhdWx0LXJvbGUiOiJ1c2VyIiwieC1oYXN1cmEtdXNlci1pZCI6ImF1dGgwfDYxNjVkYjczN2YxNTViMDA3MWIxNmQyYyJ9LCJuaWNrbmFtZSI6Im1zb2xhbm8iLCJuYW1lIjoiTWFyY29zIFNvbGFubyIsInBpY3R1cmUiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci85NGJkYTAxYTViOTE2NzhlMDUzYTRjMGNmYWZiYTU1ND9zPTQ4MCZyPXBnJmQ9aHR0cHMlM0ElMkYlMkZjZG4uYXV0aDAuY29tJTJGYXZhdGFycyUyRm1zLnBuZyIsInVwZGF0ZWRfYXQiOiIyMDI2LTA0LTIyVDEzOjU4OjQ3Ljc4MVoiLCJlbWFpbCI6Im1zb2xhbm9AYWl2by5jbyIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJpc3MiOiJodHRwczovL2Fpdm9jby5hdXRoMC5jb20vIiwiYXVkIjoiUnhOMlo5SUIxYmhuZ1RBNjAyeHRUQ1FhVE5KRFJWbTgiLCJzdWIiOiJhdXRoMHw2MTY1ZGI3MzdmMTU1YjAwNzFiMTZkMmMiLCJpYXQiOjE3NzY4NjYzMjgsImV4cCI6MTc3NjkwMjMyOH0.N8kS7wHEoJ5WyIBQWino0lM4-xQs2aXhH3fwHJb1CKVZtLy47YtBuVypqeFS2HvDGg4SLsEvGLRVxmHOq1b73PQcjBFHIJqcXRrOPagbuISjaFiCOgBgsA6jpOfO3cocwRFEoTK02ZjjCNCihDCHThlOiwed7NvYtdS1W0cs-pq_RbPMwEcUQv3Dj3QxQwMU3PkzVY2Ia40zungC4e-iiZvoXp-5y4gI7EA2aqwFYpw_x2QnGIAbrOnNsOuIEwBIJI1XofqzUyhvzkLIfltP2WTq9CvkC_RusYUog9aWCLrYrXs3zlGMvmuSiG7wplDYvHU-JwHZkr57a-DKfbnLWA"},{"key":"Content-Type","value":"application/json"}],"url":"https://analytics-engage.agentbot.net/campaigns?from=2026-03-01%2003%3A00%3A00&to=2026-03-17%2003%3A00%3A00","description":"<h4 id=\"1-listar-campañas\">1. Listar Campañas</h4>\n<p>Retorna el listado de campañas para un bot específico dentro de un rango de fechas.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET /campaigns\n\n</code></pre><p><strong>Query Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parámetro</th>\n<th>Tipo</th>\n<th>Requerido</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>from</code></td>\n<td>string</td>\n<td>Sí</td>\n<td>Fecha y hora de inicio (<code>YYYY-MM-DD HH:MM:SS</code> UTC)</td>\n</tr>\n<tr>\n<td><code>to</code></td>\n<td>string</td>\n<td>Sí</td>\n<td>Fecha y hora de fin (<code>YYYY-MM-DD HH:MM:SS</code> UTC)</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>No</td>\n<td>Filtro por tipo: <code>one-time</code> o <code>recurrent</code></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Headers requeridos:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Requerido</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>X-Token</code></td>\n<td>Sí</td>\n<td>BotID - Token de acceso</td>\n</tr>\n<tr>\n<td><code>Authorization</code></td>\n<td>Sí</td>\n<td>Bearer token JWT de sesión</td>\n</tr>\n<tr>\n<td><code>Content-Type</code></td>\n<td>Sí</td>\n<td><code>application/json</code></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Ejemplo de Request:</strong></p>\n<p>bash</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>curl --location 'https://analytics-engage.agentbot.net/campaigns?from=2026-04-01 00:00:00&amp;to=2026-04-10 23:59:59' \\\n--header 'X-Token: eExNcFRrUmtOVFJsWkRKa01HRTNaalZrT0dGaFl6...' \\\n--header 'Authorization: Bearer ey442321JhbGciO232iJSUzI1N3232iIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhdXRoMHwxMjM0NTY3ODkwIiwibmFtZSI6IlRlc3QgVXNlciIsImlhdCI6MTcwMDAwMDAwMH0.SIGNATURE_PLACEHOLDER' \\\n--header 'Content-Type: application/json'\n\n</code></pre><p><strong>Con filtro por tipo:</strong></p>\n<p>bash</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>curl --location 'https://analytics-engage.agentbot.net/campaigns?from=2026-04-01 00:00:00&amp;to=2026-04-10 23:59:59&amp;type=one-time' \\\n--header 'X-Token: eExNcFRrUmtOVFJsWkRKa01HRTNaalZrT0dGaFl6...' \\\n--header 'Authorization: Bearer eyJhbGci12312421OiJSUzI1NiIsInR5cCI4124123216IkpXVCJ9.eyJzdWIiOiJhdXRoMHwxMjM0NTY3ODkwIiwibmFtZSI6IlRlc3QgVXNlciIsImlhdCI6MTcwMDAwMDAwMH0.SIGNATURE_PLACEHOLDER' \\\n--header 'Content-Type: application/json'\n\n</code></pre>","auth":{"type":"bearer","bearer":{"basicConfig":[]},"isInherited":true,"source":{"_postman_id":"77cc1fda-7eb1-4ed9-b96e-0794a48f69f9","id":"77cc1fda-7eb1-4ed9-b96e-0794a48f69f9","name":"Engage Api","type":"collection"}},"urlObject":{"protocol":"https","path":["campaigns"],"host":["analytics-engage","agentbot","net"],"query":[{"key":"from","value":"2026-03-01%2003%3A00%3A00"},{"key":"to","value":"2026-03-17%2003%3A00%3A00"}],"variable":[]}},"response":[],"_postman_id":"c5f2958c-ddbd-4a42-9354-bfc0bc5c6ef0"},{"name":"Details","id":"dd403eb5-2e10-4657-9396-aa99e99f916c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-Token","value":"xxxxxxxx"},{"key":"Authorization","value":"xxxxxxxx"},{"key":"Content-Type","value":"application/json"}],"url":"https://analytics-engage.agentbot.net/campaign/promo_welcome_test/details?from=2026-04-01%2000%3A00%3A00&to=2026-04-10%2023%3A59%3A59&limit=100&offset=0","description":"<h4 id=\"detalle-de-campaña\">Detalle de Campaña</h4>\n<p>Retorna información granular a nivel de contacto individual para una campaña específica. Soporta paginación y exportación en CSV.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET /campaign/{name}/details\n\n</code></pre><p><strong>Path Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parámetro</th>\n<th>Tipo</th>\n<th>Requerido</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>Sí</td>\n<td>Nombre identificador de la campaña</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Query Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parámetro</th>\n<th>Tipo</th>\n<th>Requerido</th>\n<th>Restricciones</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>from</code></td>\n<td>string</td>\n<td>Sí</td>\n<td>Formato: <code>YYYY-MM-DD HH:MM:SS</code> (UTC)</td>\n<td>Fecha y hora de inicio del rango</td>\n</tr>\n<tr>\n<td><code>to</code></td>\n<td>string</td>\n<td>Sí</td>\n<td>Formato: <code>YYYY-MM-DD HH:MM:SS</code> (UTC). Máximo 90 días desde <code>from</code></td>\n<td>Fecha y hora de fin del rango</td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>integer</td>\n<td>Sí</td>\n<td>Entre <code>1</code> y <code>10000</code></td>\n<td>Cantidad de registros a retornar  <br />  <br /><code>Maximo 10000 registros por pagina.</code></td>\n</tr>\n<tr>\n<td><code>offset</code></td>\n<td>integer</td>\n<td>Sí</td>\n<td><code>&gt;0</code></td>\n<td>Cantidad de registros a omitir (paginación)</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>No</td>\n<td><code>one-time</code> o <code>recurrent</code></td>\n<td>Filtro por tipo de campaña</td>\n</tr>\n<tr>\n<td><code>output</code></td>\n<td>string</td>\n<td>No</td>\n<td><code>json</code> (default) o <code>csv</code></td>\n<td>Formato de respuesta. Si <code>csv</code>, retorna archivo <code>engage_report.csv</code></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Límite de rango:</strong> El rango máximo entre <code>from</code> y <code>to</code> es de <strong>90 días</strong>.</p>\n<p><strong>Headers requeridos:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Requerido</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>X-Token</code></td>\n<td>Sí</td>\n<td>BotID - Token de acceso</td>\n</tr>\n<tr>\n<td><code>Authorization</code></td>\n<td>Sí</td>\n<td>Bearer token JWT de sesión</td>\n</tr>\n<tr>\n<td><code>Content-Type</code></td>\n<td>Sí</td>\n<td><code>application/json</code></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Ejemplo de Request:</strong></p>\n<p>bash</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>curl --location 'https://analytics-engage.agentbot.net/campaign/promo_welcome_test/details?from=2026-04-01 00:00:00&amp;to=2026-04-10 23:59:59&amp;limit=100&amp;offset=0' \\\n--header 'X-Token: eExNcFRrUmtOVFJsWkRKa01HRTNaalZrT0dGaFl6...' \\\n--header 'Authorization: Bearer eyJhbGci12412412OiJSUzI1NiI2141241231sInR5cCI6IkpXVCJ9.eyJzdWIiOiJhdXRoMHwxMjM0NTY3ODkwIiwibmFtZSI6IlRlc3QgVXNlciIsImlhdCI6MTcwMDAwMDAwMH0.SIGNATURE_PLACEHOLDER' \\\n--header 'Content-Type: application/json'\n\n</code></pre><p><strong>Ejemplo de Response (JSON):</strong></p>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"metadata\": {\n    \"offset\": 0,\n    \"limit\": 100,\n    \"total\": 250\n  },\n  \"data\": [\n    {\n      \"campaign_id\": \"a1b2c3d4-5678-9101-abcd-ef1234567890\",\n      \"campaign_name\": \"promo_welcome_test\",\n      \"template_name\": \"welcome_april_template\",\n      \"sent_date\": \"2026-04-02T10:00:00Z\",\n      \"event_date\": \"2026-04-02T10:05:32Z\",\n      \"phone_number\": \"+15551234567\",\n      \"status\": \"readed\",\n      \"engagement_type\": \"button_click\",\n      \"engagement_content\": \"Ver más\"\n    }\n  ]\n}\n\n</code></pre><p><strong>Campos de Response —</strong> <strong><code>metadata</code>****:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>offset</code></td>\n<td>integer</td>\n<td>Desplazamiento actual en la paginación</td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>integer</td>\n<td>Cantidad de registros solicitados</td>\n</tr>\n<tr>\n<td><code>total</code></td>\n<td>integer</td>\n<td>Total de registros disponibles para el filtro</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Campos de Response —</strong> <strong><code>data[]</code>****:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Tipo</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>campaign_id</code></td>\n<td>string</td>\n<td>UUID identificador único de la campaña</td>\n</tr>\n<tr>\n<td><code>campaign_name</code></td>\n<td>string</td>\n<td>Nombre de la campaña</td>\n</tr>\n<tr>\n<td><code>template_name</code></td>\n<td>string</td>\n<td>Nombre del template de mensaje utilizado</td>\n</tr>\n<tr>\n<td><code>sent_date</code></td>\n<td>string</td>\n<td>Fecha y hora de envío del mensaje (ISO 8601)</td>\n</tr>\n<tr>\n<td><code>event_date</code></td>\n<td>string</td>\n<td>Fecha y hora del último evento registrado (ISO 8601)</td>\n</tr>\n<tr>\n<td><code>phone_number</code></td>\n<td>string</td>\n<td>Número de teléfono del destinatario</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>string</td>\n<td>Estado del mensaje: <code>sent</code>, <code>received</code>, <code>readed</code>, <code>error</code></td>\n</tr>\n<tr>\n<td><code>engagement_type</code></td>\n<td>string</td>\n<td>Tipo de interacción del usuario (si aplica)</td>\n</tr>\n<tr>\n<td><code>engagement_content</code></td>\n<td>string</td>\n<td>Contenido de la interacción (ej: texto del botón presionado)</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Exportación CSV:</strong></p>\n<p>Para obtener los datos en formato CSV, agregue <code>output=csv</code> a los query parameters. El archivo descargado se llama <code>engage_report.csv</code>.</p>\n<p>bash</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>curl --location 'https://analytics-engage.agentbot.net/campaign/promo_welcome_test/details?from=2026-04-01 00:00:00&amp;to=2026-04-10 23:59:59&amp;limit=10000&amp;offset=0&amp;output=csv' \\\n--header 'X-Token: eExNcFRrUmtOVFJsWkRKa01HRTNaalZrT0dGaFl6...' \\\n--header 'Authorization: Bearer eyJ12hbGciO123124iJSUzI1NiIsInR5412412321cCI6IkpXVCJ9.eyJzdWIiOiJhdXRoMHwxMjM0NTY3ODkwIiwibmFtZSI6IlRlc3QgVXNlciIsImlhdCI6MTcwMDAwMDAwMH0.SIGNATURE_PLACEHOLDER' \\\n--header 'Content-Type: application/json' \\\n--output engage_report.csv\n\n</code></pre>","auth":{"type":"bearer","bearer":{"basicConfig":[]},"isInherited":true,"source":{"_postman_id":"77cc1fda-7eb1-4ed9-b96e-0794a48f69f9","id":"77cc1fda-7eb1-4ed9-b96e-0794a48f69f9","name":"Engage Api","type":"collection"}},"urlObject":{"protocol":"https","path":["campaign","promo_welcome_test","details"],"host":["analytics-engage","agentbot","net"],"query":[{"key":"from","value":"2026-04-01%2000%3A00%3A00"},{"key":"to","value":"2026-04-10%2023%3A59%3A59"},{"key":"limit","value":"100"},{"key":"offset","value":"0"}],"variable":[]}},"response":[],"_postman_id":"dd403eb5-2e10-4657-9396-aa99e99f916c"}],"auth":{"type":"bearer","bearer":{"basicConfig":[]}},"event":[{"listen":"prerequest","script":{"id":"a344c7db-09bf-4a61-97f8-f109b0934f51","type":"text/javascript","packages":{},"requests":{},"exec":[""]}},{"listen":"test","script":{"id":"ee31a533-2556-491b-ba76-3c1392e51f24","type":"text/javascript","packages":{},"requests":{},"exec":[""]}}]}