Skip to content

Changelog

Las novedades de la API /platform/v1/* y del dashboard, de lo más nuevo a lo más viejo. La superficie pública es aditiva: una vez que una ruta queda documentada, su contrato (forma del request/response, status codes, scopes) no rompe; los cambios que romperían van a un namespace futuro.

  • Higiene de cuenta: verificación de correo (POST /platform/dashboard/verify-email
    • resend-verification), recuperación de contraseña (forgot-password + reset-password, con anti-enumeración), y borrado de cuenta con cascada (DELETE /platform/dashboard/account). Ver Cuenta y equipo.
  • Equipo: invitá miembros por correo, aceptá invitaciones y revocá membresías (/platform/dashboard/team/*). Ciclo de vida de la membresía en v1.
  • Campañas masivas (/platform/v1/broadcasts/*, scope send:broadcasts): campañas basadas en templates de WhatsApp con métricas por destinatario (sent / delivered / read / responded). Ciclo de vida draft → scheduled → sending → completed/failed, con cancel que vuelve a draft. Caps por plan (broadcast_recipients_limit / broadcasts_per_month); el plan free está deshabilitado (403). Ver Broadcasts.
  • Operaciones sobre un canal ya conectado (/platform/v1/channels/{id}/*, scope manage:channels): salud (health), perfil de empresa (profile), estado del display name (display-name), bloqueo/desbloqueo de usuarios (block-users), PIN de 2FA (two-factor) y el kill-switch de inbound (PATCH /inbound, el único que sirve para WhatsApp e Instagram). Todas las operaciones que llaman a Meta son WhatsApp-only. Ver Gestión de canales.
  • Eventos tipados (/platform/v1/webhooks/*, scope manage:webhooks): suscribite a message.* / conversation.* / channel.* con múltiples webhooks por canal, buffering, ordenamiento por conversación, auto-pausa por densidad de fallos, y un endpoint de prueba. Convive con el forward crudo de Meta (que sigue byte-idéntico). Observabilidad de entregas en ambos modos (mode=kalipto|meta). Ver Webhooks normalizados.

Templates: superficie completa de componentes

Section titled “Templates: superficie completa de componentes”
  • CRUD completo de templates (/platform/v1/templates/*, scope manage:templates): HEADER (texto / imagen / video / documento / ubicación), BODY posicional o NAMED, FOOTER, BUTTONS (incluido OTP / COPY_CODE), CAROUSEL, y la categoría authentication. Más submit a Meta, edición + re-submit, sync desde Meta y subida resumable de header media. Ver Templates.
  • Consultá tu tráfico (/platform/v1/{messages,conversations,contacts}): 6 rutas de lectura (scopes read:messages / read:conversations / read:contacts) con filtros + cursor pagination, y 3 mutaciones (scope manage:data): cerrar conversaciones, editar metadata de contactos y borrar contactos con cascada asíncrona. La lectura y la mutación están separadas: una key read:* filtrada nunca puede borrar nada. Ver Data plane.
  • Pipeline de multimedia (/platform/v1/media/*, scope upload:media): subí binarios (multipart o por URL, con guardia SSRF), obtené una URL temporal firmada y descargá el media entrante desde un proxy firmado por HMAC. Sin almacenar binarios: Kalipto guarda solo URLs de corta vida. Ver Multimedia.
  • POST /platform/v1/messages extendido de 2 a 13 tipos: text, template, image, video, audio, document, sticker, interactive, location, contacts, reaction, typing, catalog. Los tipos que Meta solo soporta en WhatsApp devuelven 400 wa_only en canales de Instagram, antes de llamar a Meta. Más POST /platform/v1/messages/mark-read para read receipts. Ver Enviar mensajes.
  • Envelope de error estructurado en el 502 de envío ({error, meta_code, meta_subcode, meta_title, message, fbtrace_id}) en lugar del repr opaco anterior.
  • Idempotency-Key (best-effort, 24 h) en POST /platform/v1/messages para deduplicar reintentos. Ver Idempotencia.
  • Headers de rate limit (X-RateLimit-* + Retry-After) en las respuestas de envío. Ver Rate limits.
  • Onboarding gestionado: WhatsApp Embedded Signup + Instagram Business Login OAuth, sin pasar el app review de Meta por tu cuenta.
  • Relay de inbound: Kalipto re-firma el webhook crudo de Meta con el secret de tu canal y lo POSTea a tu URL. Ver Webhook entrante (forward) y Verificación HMAC.
  • Send (texto + template) + metering por plan (inbound / outbound / templates contados por cuenta). Ver Uso y cuotas.
  • Billing vía Polar (checkout gestionado; el webhook de Polar es el único que escribe tu plan_code).