# Exemplo de utilização da etapa Rest API

Vamos lá!

&#x20;  1- Crie uma mensagem com duas opções para o usuário escolher.

![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/61000720022/original/35rzH74Ul5--xUt1THG3pIiY_nTQj-nQGw.gif?1585928187)

{% hint style="info" %}
Dica # 1: Você pode vincular a etapa [API](https://help.cosmobots.io/help/bot-builder/fluxo-da-conversa/rest-api) à diversas fases, nesse exemplo vinculamos aos botões da mensagem, mas se preferir também pode vincular às opções da mensagem criando um vinculo manual em [JavaScript](https://help.cosmobots.io/help/bot-builder/fluxo-da-conversa/javascript).
{% endhint %}

&#x20;  2- Clique em rest API e preencha:

Nome: Com o nome da API

Método: Nesse exemplo utilizamos o método post, mas existem outros métodos que podem ser utilizados.

URL: Endereço da API

Tipo de parâmetros: Aqui escolhemos Json, mas existem outras opções dentro da plataforma:

![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/61000720077/original/oWwfpMYLnfK9JxZVmsMV7_cfFUnEgms7jA.gif?1585928517)

{% hint style="info" %}
Dica # 2: Fique atendo à URL da API, caso ela tenha mais de uma página verifique se a url das próximas páginas sofre alteração.
{% endhint %}

&#x20;  3- Utilizando a variável response\_x trate os dados da API para puxar apenas os dados que você quer que o bot consuma, vamos puxar os dados que a primeira pergunta irá receber:

![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/61000720131/original/G6znWNKmdBBav5vhD8tqBSsi1EFwBi2GVQ.gif?1585928712)

{% hint style="info" %}
Dica # 3 : Para retornar os dados ao usuário final, utilize If e insira quais dados você quer que a API consuma. Segue código utilizado nesse exemplo:
{% endhint %}

```
const starships = response__x;
context.quantidade_naves = starships.next
context.quantidade_naves = starships.count
console.log(starships.count)
context.naves_disponiveis=starships.results
if (context.naves_disponiveis){
         send_message.push({
            type: 'text',
            text: 'Nome: '+ context.naves_disponiveis[0].name + '\n'+
            'Comprimento: ' + context.naves_disponiveis[0].length 
```

&#x20; 4- Agora vamos criar a api da segunda pergunta:

![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/61000721105/original/HnOoJr980KrRyk4VoWpUXE61H8ve7R7-9g.gif?1585933654)

{% hint style="info" %}
OBS #: Note que conforme mencionado na dica 3, tivemos uma mudança na página da API, a url da API vinculada à primeira pergunta é <https://swapi.co/api/starships/?page=3> e a vinculada à segunda pergunta é <https://swapi.co/api/starships/>, quando as páginas mudaram os dados retornados também mudam.
{% endhint %}

&#x20;4 - Agora é só criar as próximas [Mensagens](https://help.cosmobots.io/help/bot-builder/fluxo-da-conversa/mensagem), [Filtros](https://help.cosmobots.io/help/bot-builder/fluxo-da-conversa/filtro) e [Etapas](https://help.cosmobots.io/help/bot-builder/fluxo-da-conversa/etapa-existente) que irão compor o bot:

![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/61000721329/original/XMzKEYj4ileqb3FLOTippYVj4XSe6yL5xQ.gif?1585934648)

Vamos ver como ficou?

![](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/61000610486/original/2787A2QgxbE1acqc1Hip9iJGM1-8frVYxQ.gif?1585257449)

{% hint style="info" %}
OBS #: API utilizada no exemplo: <https://swapi.co/api/starships/>    &#x20;
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.cosmobots.io/help/bot-builder/fluxo-da-conversa/rest-api/exemplo-de-utilizacao-da-etapa-rest-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
