Cambios de la API y versionado
Política de versionado y cambios de la API v1.
Política de versionado
- La API pública está en
/v1. Dentro de una versión solo se agregan cosas: campos opcionales nuevos, endpoints nuevos y valores nuevos en enumeraciones de respuesta. Tu integración no se rompe. - Un cambio incompatible iría en una versión nueva (
/v2), con aviso previo y un periodo en que ambas conviven. - Ignora los campos que no conozcas en las respuestas, y trata los
errCodedesconocidos según su rango: 1xxx acceso, 2xxx validación, 3xxx límites, 4xxx recursos, 5xxx credenciales y 9xxx plataforma.
Cambios
0.13.0 — octubre de 2026
- La descarga de una exportación (
downloadUrl) puede redirigir (302) a un enlace temporal del almacenamiento de archivos. Sigue la redirección (en curl,-L). - La multimedia puede servirse desde un CDN: usa siempre la
urlque devuelve la API, sin armarla a mano.
0.12.0 — octubre de 2026
- Página de estado pública (
/estado,/en/statusystatus.<dominio>) con el estado de cada componente, 90 días de historial e incidentes. Datos enGET /panel/public/status. - Sitio público en inglés (
/en,/en/pricing,/en/contact) consitemap.xml,robots.txty metadatos por idioma.
0.11.0 — octubre de 2026
- Panel: passkeys (WebAuthn) para iniciar sesión sin contraseña, responder el 2FA y reautenticarse. Ver Passkeys.
- Nuevo
errCode1115: la passkey no se pudo verificar.
0.10.0 — octubre de 2026
- Pruebas A/B (
/v1/ab-tests): de 2 a 4 variantes a una muestra de la audiencia; el ganador por apertura o clics se envía solo al resto. Ver Pruebas A/B. - Las notificaciones incluyen
abTest: { id, variant }cuando son una variante o el envío del ganador.
0.9.0 — octubre de 2026
- Exportaciones CSV (
/v1/exports): dispositivos, entregas y estadísticas por hora, con enlace firmado de 24 horas. Ver Exportaciones CSV. - Límites de marketing por app: máximo por dispositivo y día, y horas de silencio en la hora local. Las omitidas aparecen como
skipped(FREQUENCY_CAP) y las aplazadas enstats.deferred.
0.8.0 — octubre de 2026
- Dispositivos: se acepta el Installation ID de Firebase (FID) como token FCM; PushHub lo envía en
message.fid. Ver Installation ID de Firebase. - Notificaciones
data_only: el título y el texto viajan endata, en las claves que lee cada framework. - Los dispositivos con un SDK oficial ya no reciben
deepLinkniimageUrlduplicados como claves planas (los SDK los leen de_ph). - Botones en iOS: se marca
mutable-contentpara que la extensión del SDK los registre.
0.7.0 — octubre de 2026 (primera versión pública)
- Dispositivos: registro, identificación de usuario, tags, topics y emparejamiento de dispositivos de prueba.
- Notificaciones: destinos por dispositivo, usuario, topic, segmento, filtros o todos; contenido por idioma con variables y plantillas; datos, enlaces profundos, botones y sonidos; validación sin enviar; idempotencia.
- Programación a hora fija y en la hora local de cada dispositivo; campañas recurrentes.
- Multimedia: imágenes, GIF, audio y video (
/v1/media). - Eventos de la app (
/v1/events) y analítica; webhooks firmados. - Consola de pruebas síncrona (
/v1/notifications/test). - Planes y cuotas (
3001,3002,3004,3011,3012). - Moderación de contenido: un envío que enlaza a un dominio bloqueado responde
2002conerrors.content = ["blocked"].