> ## Documentation Index
> Fetch the complete documentation index at: https://developers.datafyapi.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Enviar respostas rápidas

> Ofereça opções em balões acima do campo de texto.

As respostas rápidas aparecem como balões acima do campo de texto e **somem depois do clique**. São indicadas para perguntas de uma etapa, como escolher um assunto no início do atendimento.

Até **13** opções por mensagem. Acima disso a Meta recusa com `param message[quick_replies] has too many elements`.

## Retorno no webhook

O clique chega como uma **mensagem comum**, com o valor escolhido dentro:

```json theme={null}
"message": {
  "mid": "aWdfZAG1faXRlbTo...",
  "text": "Planos",
  "quick_reply": { "payload": "PLANOS" }
}
```

O `text` é o título do botão, e o `payload` é o que você definiu.

> [!WARNING]
>
> Decida o caminho do fluxo pelo **`payload`**, nunca pelo `text`. O título é visível e pode ser digitado manualmente pela pessoa; o payload não.

Para opções que continuam visíveis na conversa, use [botões](https://developers.datafyapi.com.br/api-reference/instagram/mensagens/enviar-botoes.md).


## OpenAPI

````yaml api-reference/instagram/specs/respostas-rapidas.json POST /ig/me/messages
openapi: 3.1.0
info:
  title: Datafy API — Enviar respostas rápidas
  version: 1.0.0
servers:
  - url: https://cloud.datafyapi.com.br
    description: Produção
security:
  - bearerAuth: []
paths:
  /ig/me/messages:
    post:
      summary: Enviar respostas rápidas
      operationId: igEnviarRespostasRapidas
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - recipient
                - message
              properties:
                recipient:
                  type: object
                  required:
                    - id
                  description: Quem recebe a mensagem.
                  properties:
                    id:
                      type: string
                      description: IGSID do contato, recebido no webhook em `sender.id`.
                      example: '1000000000000001'
                message:
                  type: object
                  required:
                    - text
                    - quick_replies
                  properties:
                    text:
                      type: string
                      description: Texto que acompanha as opções.
                      example: Escolha uma opção
                    quick_replies:
                      type: array
                      maxItems: 13
                      description: Até 13 opções. Acima disso a Meta recusa a requisição.
                      items:
                        type: object
                        required:
                          - content_type
                          - title
                          - payload
                        properties:
                          content_type:
                            type: string
                            enum:
                              - text
                            default: text
                            description: Sempre `text`.
                          title:
                            type: string
                            maxLength: 20
                            description: Texto do balão, visível para a pessoa.
                            example: Planos
                          payload:
                            type: string
                            description: >-
                              Valor devolvido no webhook quando a opção é
                              escolhida. Não aparece na tela.
                            example: PLANOS
            example:
              recipient:
                id: '1000000000000001'
              message:
                text: Escolha uma opção
                quick_replies:
                  - content_type: text
                    title: Planos
                    payload: PLANOS
                  - content_type: text
                    title: Suporte
                    payload: SUPORTE
      responses:
        '200':
          description: Aceito pela Meta. Não confirma a entrega.
          content:
            application/json:
              example:
                recipient_id: '1000000000000001'
                message_id: aWdfZAG1faXRlbTo......
        '400':
          description: Erro retornado pela Meta.
          content:
            application/json:
              example:
                error:
                  message: Não foi possível encontrar o usuário solicitado.
                  type: IGApiException
                  code: 100
                  error_subcode: 2534014
                  fbtrace_id: AbCdEfGhIjK
        '401':
          description: Token ausente ou inválido.
          content:
            application/json:
              example:
                statusCode: 401
                message: Token inválido ou não encontrado.
        '402':
          description: Assinatura da Datafy inativa.
          content:
            application/json:
              example:
                statusCode: 402
                message: >-
                  Assinatura inativa (status: canceled). Ative sua assinatura no
                  painel para voltar a usar a API.
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Token do canal do Instagram, gerado no painel da Datafy. Formato:
        `sk_live_xxx`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.