Call Webhook: Como fazer chamadas para sistemas externos

Mallu Atualizado por Mallu

O que é uma API?

A sigla API corresponde às palavras em inglês “Application Programming Interface”. No português “Interface de Programação de Aplicações”. Elas são uma forma de integrar sistemas, possibilitando benefícios como a segurança dos dados e facilidade no intercâmbio entre informações.

Atualmente, a capacidade de poder se conectar e integrar com outros sistemas é uma funcionalidade essencial para a maioria das soluções hoje em dia. Por isso, temos uma carta de ação para utilizar nos fluxos justamente para essa função: Call Webhook

Call Webhook

A carta de Call Webhook é a responsável pela conexão entre a Weni Plataforma e outros sistemas externos, abaixo, temos um pouco sobre a anatomia dela:

  1. Método da requisição: Onde você define qual vai ser o método para a sua requisição de API (GET, POST, PUT ou DELETE);
  2. URL da requisição: Onde você coloca a URL da requisição para a API;
  3. Cabeçalho da requisição: Onde você coloca o cabeçalho da requisição junto com informações como tokens de autorização e tipos de conteúdo;
  4. Corpo da requisição: Onde você adiciona um corpo para sua requisição (usado para POST e PUT);

Como formatar o corpo da requisição corretamente

Normalmente, para o corpo de requisições POST e PUT utilizamos a notação JSON para enviar as informações solicitadas pela API. Abaixo, segue o exemplo de um corpo em JSON:

{ "platform":"weni", "author":"john" }

Como podemos reproduzir essa notação utilizando a carta Call Webhook? Na plataforma, utilizamos as funções @json e @object para esta construção, sendo a primeira para sinalizar qual notação iremos traduzir os valores, e a segunda para sinalizar o começo e fim das nossas chaves. Traduzindo o exemplo acima para a notação utilizada na plataforma, temos:

@(json(object("platform","weni","author","john")))

Caso você queira usar alguma variável como, por exemplo, @contact.name para o campo "author" do nosso exemplo, temos:

@(json(object("platform","weni","author",contact.name)))

O corpo da requisição aceita todas as variáveis e expressões suportadas na plataforma.

Após fazer a requisição você pode utilizar algumas expressões para consultar informações do retorno.

@results

@results.[nome do result do card Chamar Webhook]: para consultar o status da requisição, como por exemplo: 200, 400, 500.

@webhook

Essa expressão é usada para resgatar valores retornados da última chamada webhook feita no fluxo, por exemplo:

  • @webhook O valor dessa variável é todo o retorno da última requisição feita.
  • @webhook.results.cliente:Nome do cliente retornado da API, caso retorne somente 1 objeto
  • @webhook.results.0.cliente:Nome do cliente retornado da API. Caso retorne em array é necessário dizer a posição do array que deseja na expressão, usando 0, 1, 2 e assim por diante.
Para armazenar os valores em outras variáveis você pode salvar como campo de contato ou resultado do fluxo.

Como a gente se saiu?

Adicionando mídias ao cartão de Enviar Mensagem

Dividir por Intenções: Utilizando Inteligência Artificial de Classificação

Contato