Etapa 5: Enviar, receber ou importar mensagens

Descrição

🚧

Esteja ciente de que você não poderá executar esta etapa descrita acima diretamente na seção de Referência da API devido a limitações da ferramenta: não é possível calcular os cabeçalhos necessários e enviar uma solicitação simultaneamente.

Este método permite enviar mensagens de entrada e saída ou importar mensagens enviadas em um aplicativo de terceiros.


O método gerará uma mensagem e, se necessário, o próprio chat para o msgid e conversation_id especificados.

Tipo de mensagemCaso de usoParâmetros que devem ser passados
Entrada do: clientUm cliente envia uma mensagem para o canal conectado.Apenas o campo payload[sender] está preenchido, o campo payload[receiver] não é enviado.
Saída do: usuário da Kommo para o clienteUm gerente escreve uma mensagem para o cliente, e podemos identificar quem enviou a mensagem.Os campos payload[sender] (informações sobre o gerente) e payload[receiver] (informações sobre o cliente) estão preenchidos. Um ID de usuário do Kommo é passado para payload[sender][ref_id].
Saída do: bot de integração para o clienteUm gerente escreve uma mensagem para o cliente, e não podemos identificar quem enviou a mensagem.Os campos payload[sender] (informações sobre o bot) e payload[receiver] (informações sobre o cliente) estão preenchidos.
O ID do bot de integração, que foi recebido ao registrar o canal na API de chat, é passado para o campo payload[sender]``[ref_id].

Usando este método da API, você pode importar em massa mensagens antigas para um chat.

Recomendamos realizar a importação sem notificações para os gerentes ou criar um lead de entrada para todas as mensagens, exceto a última (a mais recente).

Para isso, você deve passar o parâmetro de corpo payload[silent] com valor true para todas as mensagens, exceto para a última, que deve ter o valor false no payload[silent]. Dessa forma, um lead de entrada será criado para a última mensagem, e apenas uma notificação será enviada. Assim, evitaremos perturbações desnecessárias para o usuário.

Ao importar mensagens do bot de integração, os webhooks não são enviados.

Cabeçalhos e tipo de autorização

ParâmetroTipo de dadoDescrição
DatestringData e hora em que a solicitação foi gerada. A assinatura será válida por 15 minutos a partir dessa data. A data deve estar no formato “Thu, 01 Jan 2023 12:00:00 +0000” (RFC2822).
Content-typestringTipo de dados da solicitação. Atualmente, apenas application/json é suportado.
Content-MD5stringPara o corpo da solicitação, é necessário calcular o hash MD5 e indicá-lo no cabeçalho em letras minúsculas. Ao mesmo tempo, é importante lembrar que o corpo da solicitação é calculado como um fluxo de bytes, sem considerar o final da marcação JSON, e se houver “\n” ou espaços no final, eles também serão levados em conta.
X-SignaturestringAssinatura da solicitação como uma string. Ela é formada a partir do nome do método (GET/POST) em maiúsculas, com os valores dos cabeçalhos concatenados por “\n”. Os valores dos cabeçalhos são organizados em uma ordem específica. Se não houver cabeçalho, uma string vazia é especificada em seu lugar. Em seguida, adicione o caminho solicitado da URL sem o protocolo e o domínio (sem parâmetros GET) à string. A string resultante é calculada usando HMAC-SHA1 e, como segredo, utilizamos a chave secreta do canal obtida durante o registro. O hash resultante, em letras minúsculas, é indicado no cabeçalho X-Signature.

Cabeçalho de tipo de dado quando a solicitação é bem-sucedida
Content-Type: application/hal+json

Parâmetros de resposta

O método retorna o amojo_id da mensagem que aparecerá no feed do chat quando processada.

ParâmetroTipo de dadoDescrição
new_message[msgid]stringID da mensagem na API de Chats
new_message[ref_id]stringID do chat no lado da integração
Language