Informações Gerais
O Pedido HTTP serve como um mecanismo para notificações de eventos, permitindo a transferência de dados de um sistema para outro. Por exemplo, quando um comprador deixa um comentário, uma notificação sobre isso aparece no chat do departamento de atendimento ao cliente. Da mesma forma, quando um novo pedido é recebido, você pode precisar calcular o custo de entrega, ou quando a assinatura de um usuário está prestes a expirar, uma tarefa de renovação deve ser criada para o gerente de CRM.
Em todos esses exemplos, a transmissão de dados envolve a execução de operações específicas no sistema receptor. Isso significa que uma função específica é invocada e os parâmetros necessários são passados para ela. Por exemplo, se você deseja criar um compromisso, precisará do ID do funcionário para o qual o compromisso está agendado, a data, hora, detalhes de contato do cliente e, é claro, o endereço da própria função.
URL representa o endereço da função que precisa ser executada, e passamos os dados para ela. Por exemplo, a função para criar um novo contato pode estar localizada em http://exemplo.com/nofollow/criar/contato, enquanto a função para atualizar um pedido pode ser encontrada em http://exemplo.com/nofollow/atualizar/pedido.
Headers da requisição atuam como marcadores distintos para uma requisição, permitindo que o servidor receptor a processe corretamente. Esses cabeçalhos podem conter informações de login e senha para autorização no sistema para onde estamos transferindo os dados. Diferentes serviços podem exigir seus próprios cabeçalhos exclusivos para o processamento correto da requisição.
Corpo da requisição contém informações sobre o próprio evento. Ele inclui detalhes como quando ocorreu, quais campos estão preenchidos e seus valores correspondentes. Os dados são sempre apresentados como pares chave-valor, onde a "chave" representa o nome do campo e o "valor" é o seu conteúdo. Para definir as chaves corretamente, é essencial entender a estrutura esperada do objeto e os dados que a função requer. Objetos podem ser simples ou ter formas aninhadas, como outros objetos e/ou arrays. Objetos são delimitados por chaves: "{objeto}," enquanto arrays são delimitados por colchetes: "[array]." Para acessar chaves de um objeto simples, você só precisa especificar seus nomes. No entanto, para acessar chaves em objetos aninhados, você deve usar "." para indicar o nome do objeto filho e, em seguida, o nome da chave. Da mesma forma, para arrays aninhados, em vez de nomes, são usados números de série começando com "0" para especificar o elemento de array desejado.
Objeto simples:
Objeto com objeto aninhado:
Objeto com array e objetos aninhados:
Não importa como os dados estão organizados, ao enviar uma requisição, existem diferentes formas de empacotá-la. Isso é influenciado pelo método da requisição e por um cabeçalho necessário chamado Content-type.
Os dois métodos de requisição mais comuns são GET e POST. Para simplificar, pense em GET como um cartão postal, onde todas as informações estão escritas do lado de fora, ao lado do endereço. Por outro lado, POST é como uma carta comum que contém todas as informações dentro dela.
Em essência, ao enviar uma requisição, você deve ter o URL da função que está chamando e a entrada que ela espera receber. Os dados são escritos nas chaves, e os nomes das chaves devem corresponder à estrutura do objeto que a função espera. Não se esqueça de especificar o Content-type e o método para a requisição transmitida. Existem várias combinações e variantes de métodos com tipos de dados possíveis. Para todas as informações necessárias sobre as configurações de requisição necessárias, você pode consultar a documentação do sistema receptor.
Criar uma conexão
Vá para a seção Apps e clique no botão Conectar App.
Escolha o aplicativo de requisição HTTP e clique no botão Conectar App.
Preencha os campos da Requisição HTTP.
Nome - especifique qualquer um;
URL - é o domínio do seu CRM;
Parâmetros da requisição HTTP (corpo da requisição) - os parâmetros podem ser diferentes dependendo da ação a ser realizada: por exemplo, adicionar um carro ou encontrá-lo pelo VIN, criar um novo contato ou registro de serviço (especificado em request_type_id). Uma lista completa de ações e os campos necessários para elas podem ser obtidos com representantes do autoCRM;
Headers - especifique o parâmetro de Autorização;
Content-Type - JSON.
Preenchendo os campos ao criar uma automação:
URL - deixe vazio, o URL especificado no Aplicativo será usado;
Método da requisição - POST;
User-Agent header - Mozilla/5.0 (compatível; Albato/1.0);
Autorização (header) - Básico, é o resultado da codificação da string "login: senha" com o algoritmo MIME base64 (por exemplo, para o login "admin" e a senha "senha" será "YWRtaW46cGFzc3dvcmQ=";
Parâmetros (sobrenome, nome, telefone, email, dealer_code, request_type_id, source_id) - preencha os parâmetros que deseja transferir para a Requisição HTTP.
A conexão de Requisição HTTP fornece talvez a ferramenta mais flexível para a transferência de dados. Dependendo dos seus objetivos, a implementação da funcionalidade pode ser diferente. Configurando uma conexão de Webhook de entrada
Um webhook é necessário se não houver conexão na Albato que você gostaria de usar, então você pode adicionar essa conexão através do Webhook de Entrada.
Ao criar uma conexão de Webhook, você só precisa especificar o nome (título) da conexão.
Você também pode especificar parâmetros e headers se souber antecipadamente como eles são chamados em um serviço de terceiros. Esses parâmetros aparecerão na automação.
Após a criação, você terá um URL de Webhook, que deve ser inserido em um serviço de terceiros para que os dados sejam transmitidos para nós em um determinado evento.
O botão Pegar um webhook é necessário para conexões de webhook, quando você precisa capturar parâmetros de um serviço de terceiros para usá-los na automação posteriormente.
Todos os IDs internos podem ser obtidos diretamente do seu CRM, uma descrição desse processo está além do escopo deste guia.
Todas as configurações fornecidas podem ser alteradas no Construtor de Automação.