Exportaciones CSV
Dispositivos, entregas y estadísticas en CSV, con enlace de descarga temporal.
Puedes exportar a CSV:
- Dispositivos: token, plataforma, estado, usuario externo, idioma, zona horaria, versiones, SDK y tags.
- Entregas: de un envío, o de una app en un rango de fechas (hasta 31 días). Con estado, código de error, intentos y momentos de envío, apertura y clic.
- Estadísticas por hora: enviadas, aceptadas, fallidas, inválidas, recibidas, abiertas, clics y descartadas, por envío y plataforma (hasta 366 días).
Las exportaciones se generan en segundo plano. El archivo queda disponible 24 horas con un enlace firmado; después hay que generar otro.
Desde el panel
En Exportaciones, elige qué exportar y pulsa Generar CSV. Cuando esté listo, recibes un correo con el enlace y aparece el botón Descargar. También puedes exportar desde la lista de dispositivos de una app y desde el detalle de un envío.
El rol de solo lectura (viewer) no puede exportar, porque el archivo incluye los tokens de los dispositivos.
Desde la API
Usa una llave secreta con notifications:read. Para dispositivos hace falta, además, devices:read.
curl -X POST https://api.pushhub.daertec.com/v1/exports \
-H "Authorization: Bearer sk_live_TU_LLAVE" -H "Content-Type: application/json" \
-d '{ "type": "deliveries", "notificationId": "01J…", "notifyEmail": "datos@tuempresa.com" }'
Responde 202 con status: "queued". Consulta hasta que esté ready:
curl https://api.pushhub.daertec.com/v1/exports/01K… -H "Authorization: Bearer sk_live_TU_LLAVE"
# → { "status": "ready", "rows": 1520, "downloadUrl": "https://api.pushhub.daertec.com/v1/exports/01K…/download?expires=…&signature=…" }
downloadUrl no necesita la llave: lo valida su firma. Si vence o se altera, responde 1109. Puede responder con el archivo o redirigir (302) a un enlace de descarga temporal: usa un cliente que siga redirecciones (en curl, -L).
| Campo | Para | Descripción |
|---|---|---|
type |
todos | devices, deliveries o stats. |
appId |
todos | Una app; sin él, toda la empresa. Con una llave limitada a una app, siempre esa. |
platform, status |
devices |
android / ios; active / invalid / pending_credential. |
notificationId |
deliveries |
Las entregas de un envío. |
from, to |
deliveries, stats |
Fechas YYYY-MM-DD inclusive, en UTC. |
notifyEmail |
todos | Correo al que avisar cuando esté lista. |
Puedes tener hasta 3 exportaciones en curso por empresa (3003 si pides más). Cada archivo tiene un máximo de un millón de filas; si se alcanza, la exportación queda marcada como truncated.
El archivo
- UTF-8 con BOM (Excel lo abre con acentos), separado por comas, con encabezado.
- Fechas en ISO 8601 UTC (
2026-10-25T14:03:00Z). - Las celdas que empiezan por
=,+,-o@se anteponen con', para que la hoja de cálculo no las ejecute como fórmula.