# CMG: Codefutura Messaging Gateway (API v0.1.0) API HTTPS para enviar mensajes de WhatsApp (solo texto) desde las aplicaciones de Codefutura, sin IA. Cada aplicación tiene su clave de API y sus números; el envío es asíncrono e idempotente. ## EMPIECE AQUÍ - https://cmg.codefutura.com/integration.md Guía completa para integrar una aplicación. Léala ENTERA antes de escribir código. Explica cómo analizar el proyecto destino, el contrato exacto de la API, las reglas que no se pueden romper, el patrón recomendado y un plan de pruebas de aceptación. ## Recursos - https://cmg.codefutura.com/openapi.json : especificación OpenAPI 3.1 de todos los endpoints - https://cmg.codefutura.com/docs : Swagger UI interactivo (Authorize + Try it out) - https://cmg.codefutura.com/client/whatsapp.ts : cliente de referencia (TypeScript, sin dependencias) - https://cmg.codefutura.com/llms.txt : índice de estos recursos para agentes - https://cmg.codefutura.com/healthz : estado del servicio (sin autenticación) ## Resumen Autenticación: Authorization: Bearer cfk_... (la clave vive solo en el servidor de su app) Enviar: POST https://cmg.codefutura.com/v1/messages { "to", "text", "idempotencyKey", "accountId"? } -> 202 pending Resultado: webhook firmado (message.sent | message.failed | message.queued) o GET /v1/messages/{id} Estados: pending -> sending -> sent | failed ; queued_in_gateway si el número está desconectado "sent" significa aceptado por WhatsApp. No existen "entregado" ni "leído". ## Antes de integrar necesita del operador (no los invente) 1. La clave de API de su aplicación (cfk_...) 2. El accountId de cada número de WhatsApp de su aplicación 3. Un número de prueba propio ## Aviso de riesgo El canal usa WhatsApp Web, una vía no oficial: WhatsApp puede bloquear el número sin aviso. Use números nuevos y dedicados a estos avisos; informe de este riesgo al cliente final.