Enviar mensaje directo de Instagram
Envía texto o un adjunto por URL (nunca ambos) a un contacto de una cuenta profesional de Instagram conectada. El body es el mismo que el de Messenger.
pageId es el IG user id de la cuenta profesional (page.metaPageId
del webhook) y recipientId el IGSID del contacto
(conversation.contactId). También acepta conversationId solo.
Instagram aplica su ventana de 24 horas y un máximo de 1000 bytes UTF-8 al texto (no aplica a los adjuntos).
Adjuntos que acepta Instagram (los valida Meta al descargar la URL, no Resender):
type | Formatos | Máximo |
|---|---|---|
image | png, jpeg | 8 MB |
audio | aac, m4a, wav, mp4 | 25 MB |
video | mp4, ogg, avi, mov, webm | 25 MB |
file | 25 MB |
Si Meta rechaza un adjunto en Instagram la respuesta no trae code
estable (Meta no documenta subcodes de adjunto para este canal): el
motivo va en error y la respuesta original de Graph en meta.
Authorization
ApiKey API key opaca del tenant, creada en Settings → API Tokens. Una
key revocada, inexistente o malformada responde 401 {"error":"unauthorized"}.
In: header
Header Parameters
Clave elegida por el cliente (1–200 caracteres). Repetirla devuelve
200 con el resultado original y resender.idempotentReplay: true,
sin volver a llamar a Meta. Una cabecera vacía o de más de 200
caracteres responde 400.
1 <= length <= 200Identificador de correlación opcional que se copia a los logs del servidor.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Destino del envío. O conversationId solo, o pageId +
recipientId (opcionalmente con conversationId, que debe
coincidir con el par).
Exactamente uno de reply o attachment.
Exactamente uno de reply o attachment.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/meta/instagram/send" \ -H "Idempotency-Key: order-8841-confirmation" \ -H "Content-Type: application/json" \ -d '{ "pageId": "17841400000000000", "recipientId": "1234567890123456", "reply": "¡Hola! Tenemos ese modelo en talle 38 y 40." }'{ "meta": { "message_id": "aWdfZG1faXRlbToxOklHTWVzc2FnZUlEOjE3ODQxNDAwMDAwMDAwMDAw" }, "resender": { "conversationId": "9a8b7c6d-5e4f-4a3b-2c1d-0e9f8a7b6c5d", "messageId": "1b2c3d4e-5f6a-4b7c-8d9e-0f1a2b3c4d5e", "status": "sent" }}