Menu
Feedback
Comece aqui
Tutoriais


Tutoriais
Fluxos
Call Webhook: Como fazer chamadas para sistemas externos
3 min de leitura

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.

{"base64":"  ","img":{"width":1280,"height":720,"type":"png","mime":"image/png","wUnits":"px","hUnits":"px","length":2048036,"url":"https://raw.githubusercontent.com/vtexdocs/help-center-content/refs/heads/main/docs/pt/tutorials/weni-by-vtex/fluxos/call-webhook-como-fazer-chamadas-para-sistemas-externos_1.png"}}

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:

{"base64":"  ","img":{"width":896,"height":690,"type":"png","mime":"image/png","wUnits":"px","hUnits":"px","length":39131,"url":"https://raw.githubusercontent.com/vtexdocs/help-center-content/refs/heads/main/docs/pt/tutorials/weni-by-vtex/fluxos/call-webhook-como-fazer-chamadas-para-sistemas-externos_2.png"}}

  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.

{"base64":"  ","img":{"width":1491,"height":612,"type":"png","mime":"image/png","wUnits":"px","hUnits":"px","length":82281,"url":"https://raw.githubusercontent.com/vtexdocs/help-center-content/refs/heads/main/docs/pt/tutorials/weni-by-vtex/fluxos/call-webhook-como-fazer-chamadas-para-sistemas-externos_3.png"}}

@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.

Contribuidores
1
Photo of the contributor
+ 1 contributors
Isso foi útil?
Sim
Não
Sugerir edições (GitHub)
Adicionando mídias ao cartão de Enviar Mensagem
« Anterior
Chatbot Integrado a API Omie
Próximo »
Contribuidores
1
Photo of the contributor
+ 1 contributors
Isso foi útil?
Sugerir edições (GitHub)
Nesta página
Ainda tem dúvidas?
Pergunte à comunidade
Encontre soluções e compartilhe ideias na VTEX Community
Junte-se à nossa comunidade
Solicite suporte à VTEX
Receba assistência personalizada com nossos especialistas
Abra um ticket de suporte
GitHubDeveloper PortalComunidadeFeedback