Pular para o conteúdo

Mensagens

Envie e receba mensagens dentro de conversas. Suporta texto, anexos, cards interativos e diferentes tipos de conteudo.

GET/api/v1/accounts/{account_id}/conversations/{conversation_id}/messages

Retorna as mensagens de uma conversa, ordenadas cronologicamente.

Parametros

NomeTipoObrigatorioDescricao
account_id(path)integerSimID numerico da conta
conversation_id(path)integerSimID numerico da conversa
curl -s "https://chat.seudominio.com/api/v1/accounts/1/conversations/123/messages" \
  -H "api_access_token: YOUR_TOKEN" | jq .
200Lista de mensagens
json
{
  "payload": [
    {
      "id": 1001,
      "content": "Ola, preciso de ajuda!",
      "message_type": 0,
      "content_type": "text",
      "sender": {
        "id": 456,
        "name": "Joao Silva",
        "type": "contact"
      },
      "conversation_id": 123,
      "created_at": 1708000000
    },
    {
      "id": 1002,
      "content": "Claro! Como posso ajudar?",
      "message_type": 1,
      "content_type": "text",
      "sender": {
        "id": 1,
        "name": "Agente 1",
        "type": "user"
      },
      "conversation_id": 123,
      "created_at": 1708000060
    }
  ]
}
POST/api/v1/accounts/{account_id}/conversations/{conversation_id}/messages

Envia uma nova mensagem em uma conversa. Pode ser texto, nota interna ou mensagem com anexo.

Parametros

NomeTipoObrigatorioDescricao
account_id(path)integerSimID numerico da conta
conversation_id(path)integerSimID numerico da conversa

Body

NomeTipoObrigatorioDescricao
contentstringSimTexto da mensagem
message_typestringNaoTipo: outgoing (padrao), incoming, activity
privatebooleanNaotrue para nota interna (nao visivel ao contato)
content_typestringNaoTipo de conteudo: text, input_select, cards, form, article
content_attributesobjectNaoAtributos extras para conteudos interativos
filefileNaoArquivo anexo (multipart/form-data)
curl -X POST "https://chat.seudominio.com/api/v1/accounts/1/conversations/123/messages" \
  -H "api_access_token: YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Sua solicitacao foi registrada com o numero #4567.",
    "message_type": "outgoing"
  }'
200Mensagem criada
json
{
  "id": 1003,
  "content": "Sua solicitacao foi registrada com o numero #4567.",
  "message_type": 1,
  "content_type": "text",
  "private": false,
  "conversation_id": 123,
  "created_at": 1708000120
}
DELETE/api/v1/accounts/{account_id}/conversations/{conversation_id}/messages/{message_id}

Remove uma mensagem de uma conversa.

Parametros

NomeTipoObrigatorioDescricao
account_id(path)integerSimID numerico da conta
conversation_id(path)integerSimID numerico da conversa
message_id(path)integerSimID numerico da mensagem
bash
curl -X DELETE "https://chat.seudominio.com/api/v1/accounts/1/conversations/123/messages/1003" \
  -H "api_access_token: YOUR_TOKEN"
200Mensagem deletada com sucesso

Tipos de Conteudo

Alem de texto simples, mensagens suportam conteudos interativos:

TipoDescricao
textMensagem de texto simples
input_selectMenu de opcoes para o contato selecionar
cardsCarrossel de cards com titulo, descricao e acoes
formFormulario interativo para coleta de dados
articleArtigo da central de ajuda

Enviando Anexos

Para enviar arquivos, use multipart/form-data no lugar de JSON:

bash
curl -X POST "https://chat.seudominio.com/api/v1/accounts/1/conversations/123/messages" \
  -H "api_access_token: YOUR_TOKEN" \
  -F "content=Segue o documento solicitado" \
  -F "message_type=outgoing" \
  -F "file[]=@/path/to/documento.pdf"

Formatos suportados

Imagens (PNG, JPG, GIF, WebP), documentos (PDF, DOC, XLS), audio e video. Tamanho maximo: 40MB por arquivo.