Enviar mensagens interativas no Instagram e Messenger pela API
Envie respostas rápidas, botões e cartões no canal social correto e altere configurações de conta somente depois de registrar o estado anterior.
Antes de começar
- Conta profissional do Instagram ou Página do Facebook conectada
- Autorização OAuth válida e API ativa
- Aplicativo correto selecionado na integração e administrado pela pessoa autorizadora
- Para Messenger, perfil com acesso à Página e Controle total
- Ticket de teste pertencente à mesma conta social
Confirmar conta, permissão e ticket
- 1
Confirme na integração qual conta do Instagram ou Página está conectada.
- 2
Verifique o estado da autorização OAuth e as permissões da conta.
- 3
Consulte o ticket e identifique o canal social correto.
- 4
Use um ticket fictício dessa mesma conta e não reutilize ticketId de WhatsApp.
- 5
Registre o estado anterior antes de mudar menu, saudação, ice breakers ou personas.


Usar respostas, botões e cartões
Instagram e Messenger publicam quickReply, buttonTemplate e genericTemplate sob /v2/api/external/{apiId}/sendInteractive/{canal}/.
- quickReply publica ticketId:number, message:string e quickReplies[].
- Cada quick reply publica content_type, title e payload como strings.
- buttonTemplate publica ticketId:number, message:string e buttons[].
- Cada botão publica type, title e payload.
- genericTemplate publica ticketId:number e elements[]; não publica message no nível externo.
- Cada elemento publica title, subtitle, image_url e buttons[]; cada botão publica type, title e payload.
Administrar recursos próprios do Instagram
- POST .../{apiId}/instagram/iceBreakers publica action:string e iceBreakers[].
- Cada item de iceBreakers[] publica question e payload.
- POST .../{apiId}/instagram/persistentMenu publica action:string, composerInputDisabled:boolean e menuItems[].
- Cada item de menuItems[] publica type, title e payload.
- 1
Registre perguntas, payloads e menu atuais em local protegido.
- 2
Valide action na documentação interativa da versão.
- 3
Altere uma configuração por vez em uma conta de homologação.
- 4
Confirme o resultado no aplicativo e restaure o estado anterior se necessário.
Usar recursos próprios do Messenger
- mediaTemplate publica ticketId:number, mediaType:string, mediaUrl:string e buttons[]; cada botão publica type, title e payload como strings.
- receiptTemplate publica ticketId:number e receipt com recipient_name, order_number, currency, payment_method, summary.total_cost:number e elements[].
- Cada item de receipt.elements[] publica title:string, price:number e quantity:number.
- messageTag publica ticketId:number e message e tag como strings.
- customerFeedback publica ticketId:number, title, subtitle e business_privacy_url como strings, expires_in_days:number e feedback_screens[].
- As perguntas de feedback publicam id, type e title dentro de questions[].
- greeting publica action:string e greetings[] com locale:string e text:string.
- personas publica action, name e profilePictureUrl como strings, mas não publica um identificador de persona para exclusão.
Validar a renderização e resolver falhas

- Autenticação aceita e envio recusado: confira canal do ticket, conta conectada e autorização OAuth.
- Instagram funciona e Messenger não: revise separadamente a Página e suas permissões.
- Payload ignorado: confira snake_case, aninhamento e tipos aceitos pela versão.
- Mídia não aparece: valide o formato e a forma de acesso exigidos pela versão e pela política atual do canal.
- Menu ou saudação alterou toda a conta: restaure o estado registrado.
- Timeout: consulte o ticket ou o estado da conta antes de repetir.
Se ainda houver dúvida, continue pelos artigos relacionados abaixo.
