Autorização da API de Chats

Cabeçalhos

A autorização da API Chats difere da autorização usada em outros métodos da API da Kommo. Para trabalhar com a API de Chats, você não precisa passar um Token de Acesso, mas deve incluir os seguintes cabeçalhos em todas as solicitações para amojo.kommo.com:

  • Date
  • Content-Type
  • Content-MD5
  • X-Signature

Cabeçalho

Descrição

Date

Data e hora da geração da solicitação, a assinatura será válida por 15 minutos a partir da data da geração da solicitação.

Content-Type

Tipo de dados da solicitação, atualmente apenas application/json é compatível.

Content-MD5

Para o corpo da requisição, você precisa calcular o hash md5 e especificá-lo no cabeçalho em letras minúsculas. É importante ter em mente que o corpo da solicitação é calculado como um fluxo de bytes, sem levar em consideração o final da marcação json, e se houver \n ou espaços no final, eles também serão levados em consideração. Para requisições GET, o md5 também deve ser calculado, mesmo que nada seja passado para o corpo da solicitação (você irá obter o md5 a partir de uma string vazia).

X-Signature

Solicite a assinatura. Uma string é formada a partir do nome do método (GET/POST) em maiúsculas e dos valores (conforme especificado na solicitação, sem alterações) dos cabeçalhos, combinando eles com \n. Os valores dos cabeçalhos devem seguir uma ordem determinada. Em geral, se o cabeçalho estiver faltando, uma string vazia é especificada em seu lugar. Em seguida, você deve adicionar o caminho requisitado da URL sem o protocolo e o domínio (sem parâmetros GET) à string. Em seguida, calcule a string resultante usando HMAC-SHA1 e, para o segredo, use o canal secret obtido durante o registro do canal de chats. Especificamos o hash resultante em minúsculas no cabeçalho X-Signature.

🚧

É importante não usar uma chave secreta na interface do widget. Quaisquer solicitações que utilizem a chave secreta devem ser feitas apenas a partir do backend da sua aplicação.

Formação de assinaturas e cabeçalhos

Conforme mencionado anteriormente, todas as solicitações devem ter vários cabeçalhos, incluindo X-Signature, cujo valor é o hash SHA1 do corpo da solicitação, assinado com uma chave secreta. O uso de uma chave secreta permite verificar a integridade dos dados úteis e sua origem.

Você pode conferir a receita para contar seus cabeçalhos da API de Chats em Python e PHP aqui: