En pocas palabras
- Oficial: login Meta en el panel o enlace compartible; destinatario = IGSID; ventana de 24h
- No oficial: usuario y contraseña (o enlace);
acceptInstagramTerms: true; warm-up en cuenta nueva - En ambos casos usas la misma API; solo cambia cómo conectas la cuenta
Antes de empezar
- Una clave de API (
sk_live_...osk_test_...para sandbox) - Permisos de instancia y envío en la clave. Ve Alcances
- En los ejemplos, reemplaza
sk_live_xxxxxpor tu clave
¿Empezando ahora? Usa
sk_test_... y comprueba el resultado en la Bandeja sandbox.- Conexión oficial
- Conexión no oficial
1. Conectar la cuenta
Tres caminos, elige el que encaje con tu integración:1A, Por el panel
- Instagram → Nueva conexión → Oficial
- Inicia sesión con Meta (o pega credenciales manuales en el draft)
- Cuando el estado quede activo, anota el id de la instancia
1B, Por API con enlace para el cliente
shareableLink.hostedUrl al cliente. En la página ve Continuar con Meta. Al terminar, la instancia queda ACTIVE.1C, Por API con credenciales Meta
Embedded (tras Facebook Login en el navegador):2. Cómo obtener el IGSID del destinatario
En modo oficial, el campoto usa el IGSID (ID scoped de la Page), no @username.- Webhook
instagram.received: campofromen el mensaje entrante - API
GET /v1/instagram/messages/inbound/{id}tras el DM del cliente - Panel: detalle del mensaje recibido
3. Enviar el primer DM
4. Después del primer envío
Configura el webhook Meta en{tu_base}/webhooks/meta/instagram, escucha instagram.received y el estado de envío. Para hide de comentarios, usa las rutas de comments en la referencia de la API.Todos los tipos de envío
En la referencia de la API, abre Enviar mensaje en Instagram (POST /v1/instagram/messages) y elige el ejemplo en el playground: Texto, Imagen, Vídeo, Audio, Documento, Programado, IGSID oficial o username no oficial.

