Call Webhook: Como fazer chamadas para sistemas externos

Matheus Enrique Alves Atualizado por Matheus Enrique Alves

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 o push 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":"push", "author":"john" }

Como podemos reproduzir essa notação utilizando a carta de call webhook? Na plataforma, utilizamos as funções @json e @object para essa 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 nossa chaves. Traduzindo o exemplo acima para a notação utilizada na plataforma, temos:

@(json(object("platform","push","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","push","author",contact.name)))

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

Como a gente se saiu?

Cartas de decisão

Split by Intent: Utilizando Classificadores

Contato