Lista

Texto com um botão que abre a lista de opções, agrupadas em seções.

  • text: o texto. Com mais de uma linha, a primeira é o cabeçalho (em negrito) e o resto é o corpo. A lista não aceita mídia.
  • button_text: o texto do botão que abre a lista.
  • footer: o rodapé, em cinza.
  • choices[]: os itens.
    • title: o texto do item.
    • id: o que volta no clique (option_id). Sem id, vale o title.
    • description: a linha de baixo, em cinza.
    • section: a seção do item. Itens com a mesma section ficam juntos, na ordem em que vierem.

Para responder pela inbox a uma lista que chegou, mande "type": "interactive_reply" com a mensagem em reply_to e o id do item em option_id.

Canais

CanalFuncionaObservação
WhatsApp (Web)Sim
WhatsApp (API oficial)Sim
InstagramEm parteVira respostas rápidas (até 13).
MessengerEm parteVira respostas rápidas (até 13).
TelegramEm parteVira um botão por item.

Pedido

POST /messages com "type": "list". Testar

{
  "to": "5511999999999",
  "type": "list",
  "text": "Escolha o setor",
  "button_text": "Ver setores",
  "choices": [
    {
      "id": "vendas",
      "title": "Vendas",
      "section": "Atendimento"
    },
    {
      "id": "suporte",
      "title": "Suporte",
      "description": "Dúvidas e problemas",
      "section": "Atendimento"
    },
    {
      "id": "boleto",
      "title": "Segunda via",
      "section": "Financeiro"
    }
  ]
}

Na uazapi

POST /send/menu, que continua funcionando. Na uazapi a seção era um item "[Título]" no meio da lista; na Orkesio cada item de choices diz a sua section. A resposta pela inbox era um texto >1 respondendo à mensagem; na Orkesio é type: interactive_reply.

uazapi (POST /send/menu)
{
  "number": "5511999999999",
  "type": "list",
  "text": "Escolha o setor",
  "listButton": "Ver setores",
  "choices": [
    "[Atendimento]",
    "Vendas|vendas",
    "Suporte|suporte|Dúvidas e problemas",
    "[Financeiro]",
    "Segunda via|boleto"
  ]
}
Orkesio (POST /messages)
{
  "to": "5511999999999",
  "type": "list",
  "text": "Escolha o setor",
  "button_text": "Ver setores",
  "choices": [
    {
      "id": "vendas",
      "title": "Vendas",
      "section": "Atendimento"
    },
    {
      "id": "suporte",
      "title": "Suporte",
      "description": "Dúvidas e problemas",
      "section": "Atendimento"
    },
    {
      "id": "boleto",
      "title": "Segunda via",
      "section": "Financeiro"
    }
  ]
}

Resposta

A própria mensagem (OrkesioMessage), no formato do message.sent e da busca. No WhatsApp Web volta na hora com status: queued: por padrão o envio vai pela fila (com options.async: false, espera o envio e volta a mensagem enviada). É o pedido no formato da mensagem: o arquivo, a miniatura e a prévia do link chegam no message.sent. Na API oficial volta depois que a Meta aceita, com status: pending. O resultado chega em message.status (a falha também em message.failed).

{
  "id": "3EB05DCE1D4036FCE241C6",
  "chat_id": "5511999999999@s.whatsapp.net",
  "author": {
    "id": "5511888888888@s.whatsapp.net",
    "phone": "5511888888888"
  },
  "direction": "out",
  "sent_at": "2026-10-17T12:00:00.000Z",
  "category": "unsent",
  "type": "list",
  "text": "Escolha o setor",
  "choices": [
    {
      "id": "vendas",
      "title": "Vendas",
      "section": "Atendimento"
    },
    {
      "id": "suporte",
      "title": "Suporte",
      "description": "Dúvidas e problemas",
      "section": "Atendimento"
    },
    {
      "id": "boleto",
      "title": "Segunda via",
      "section": "Financeiro"
    }
  ],
  "sent_by": "api",
  "status": "queued"
}

Na uazapi

O content da uazapi é o proto do WhatsApp; aqui vai resumido (...).

uazapi
{
  "id": "5511888888888:3EB05DCE1D4036FCE241C6",
  "messageid": "3EB05DCE1D4036FCE241C6",
  "chatid": "5511999999999@s.whatsapp.net",
  "chatlid": "123456789012345@lid",
  "fromMe": true,
  "isGroup": false,
  "groupName": "",
  "sender": "987654321098765@lid",
  "sender_pn": "5511888888888@s.whatsapp.net",
  "sender_lid": "987654321098765@lid",
  "senderName": "",
  "messageType": "ListMessage",
  "mediaType": "",
  "messageTimestamp": 1792238400000,
  "source": "web",
  "status": "",
  "text": "Escolha o setor",
  "content": {
    "description": "Escolha o setor",
    "buttonText": "Ver setores",
    "listType": 1,
    "sections": [
      "..."
    ]
  },
  "quoted": "",
  "edited": "",
  "reaction": "",
  "vote": "",
  "buttonOrListid": "",
  "convertOptions": "",
  "pinned": false,
  "owner": "5511888888888",
  "wasSentByApi": true,
  "track_source": "",
  "track_id": "",
  "response": {
    "status": "success",
    "message": "Message sent successfully"
  }
}
Orkesio
{
  "id": "3EB05DCE1D4036FCE241C6",
  "chat_id": "5511999999999@s.whatsapp.net",
  "author": {
    "id": "5511888888888@s.whatsapp.net",
    "phone": "5511888888888"
  },
  "direction": "out",
  "sent_at": "2026-10-17T12:00:00.000Z",
  "category": "unsent",
  "type": "list",
  "text": "Escolha o setor",
  "choices": [
    {
      "id": "vendas",
      "title": "Vendas",
      "section": "Atendimento"
    },
    {
      "id": "suporte",
      "title": "Suporte",
      "description": "Dúvidas e problemas",
      "section": "Atendimento"
    },
    {
      "id": "boleto",
      "title": "Segunda via",
      "section": "Financeiro"
    }
  ],
  "sent_by": "api",
  "status": "queued"
}

No webhook

O que chega no seu webhook (ou em GET /events) depois do envio.

message.sent

Quando a mensagem sai. O evento message.sent

{
  "id": "evt_01JAB3K9ZQ7V0M4T8R2X6WYD5H",
  "type": "message.sent",
  "created_at": "2026-10-17T12:00:00.000Z",
  "inbox": {
    "id": "r0269625d29bfbd",
    "name": "loja",
    "phone": "5511888888888",
    "channel": "whatsapp_web"
  },
  "data": {
    "message": {
      "id": "3EB05DCE1D4036FCE241C6",
      "chat_id": "5511999999999@s.whatsapp.net",
      "author": {
        "id": "5511888888888@s.whatsapp.net",
        "phone": "5511888888888"
      },
      "direction": "out",
      "sent_at": "2026-10-17T12:00:00.000Z",
      "category": "conversation",
      "type": "list",
      "text": "Escolha o setor",
      "choices": [
        {
          "id": "vendas",
          "title": "Vendas",
          "section": "Atendimento"
        },
        {
          "id": "suporte",
          "title": "Suporte",
          "description": "Dúvidas e problemas",
          "section": "Atendimento"
        },
        {
          "id": "boleto",
          "title": "Segunda via",
          "section": "Financeiro"
        }
      ],
      "sent_by": "api"
    },
    "chat": {
      "id": "5511999999999@s.whatsapp.net",
      "lid": "123456789012345@lid",
      "type": "direct"
    }
  }
}

message.status

sent, delivered, read e played (áudio e voz), um evento por mudança; failed se o envio falhar. O evento message.status

{
  "id": "evt_01JAB3K9ZQ7V0M4T8R2X6WYD6J",
  "type": "message.status",
  "created_at": "2026-10-17T12:00:05.000Z",
  "inbox": {
    "id": "r0269625d29bfbd",
    "name": "loja",
    "phone": "5511888888888",
    "channel": "whatsapp_web"
  },
  "data": {
    "chat": {
      "id": "5511999999999@s.whatsapp.net",
      "lid": "123456789012345@lid",
      "type": "direct"
    },
    "status": "delivered",
    "at": "2026-10-17T12:00:05.000Z",
    "messages": [
      {
        "id": "3EB05DCE1D4036FCE241C6"
      }
    ]
  }
}

Quando o contato responde

message.received

O contato escolheu Suporte. option_id é o id do item, description vem junto e reply_to é a mensagem da lista. O evento message.received

{
  "id": "evt_01JAB3M2K8P4R6T8V0X2Z4B6D8",
  "type": "message.received",
  "created_at": "2026-10-17T12:03:00.000Z",
  "inbox": {
    "id": "r0269625d29bfbd",
    "name": "loja",
    "phone": "5511888888888",
    "channel": "whatsapp_web"
  },
  "data": {
    "message": {
      "id": "AC1FACA14F3FA7A19DB5FB19D7035506",
      "chat_id": "5511999999999@s.whatsapp.net",
      "author": {
        "id": "5511999999999@s.whatsapp.net",
        "phone": "5511999999999",
        "lid": "123456789012345@lid",
        "name": "Maria Souza"
      },
      "direction": "in",
      "sent_at": "2026-10-17T12:03:00.000Z",
      "category": "conversation",
      "type": "interactive_reply",
      "kind": "list",
      "option_id": "suporte",
      "text": "Suporte",
      "description": "Dúvidas e problemas",
      "reply_to": "3EB05DCE1D4036FCE241C6",
      "quoted": {
        "id": "3EB05DCE1D4036FCE241C6",
        "direction": "out",
        "type": "list",
        "preview": "Escolha o setor"
      }
    },
    "chat": {
      "id": "5511999999999@s.whatsapp.net",
      "lid": "123456789012345@lid",
      "type": "direct"
    }
  }
}