# Recuperar registro

Recuperar um registro da sua tabela significa que isso permite que o bot consulte e recupere informações de um registro existente.&#x20;

Para exemplificar isso, usaremos um bot de reserva de academia que usa uma Tabela para recuperar informações sobre aulas de academia disponíveis na tabela, permitindo que os usuários visualizem e selecionem aulas para reservar.&#x20;

Isso significa que, a partir de uma tabela como esta, você poderá recuperar apenas registros específicos, por exemplo, apenas as aulas de Zumba:

| className | classTeacher | isBooked   |
| --------- | ------------ | ---------- |
| **Zumba** | **Jenny**    | **Nenhum** |
| Yoga      | Sergine      | Nenhum     |
| **Zumba** | **Chloé**    | **Nenhum** |

{% hint style="info" %}
Recuperar registro é uma operação que não edita sua tabela. Ela apenas filtra quais registros estamos analisando dentro de uma conversa. Geralmente é combinada com outra operação, por exemplo, recuperar um registro e então atualizar um registro.
{% endhint %}

## Recuperar registro(s)&#x20;

Para recuperar um registro:

1. Certifique-se de que você tenha um [traduções](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/navegacao/tables/create-a-table-with-records). Para este exemplo, usaremos a tabela de reservas da academia com esses campos:&#x20;
   * **ClassName:** Nome da aula de fitness.
   * **ClassDay:** Data da aula, em um formato consistente (por exemplo, YYYY-MM-DD).
   * **ClassTime:** Horário de início da aula, usando um formato claro (por exemplo, HH:MM AM/PM).
   * **ClassTeacher:** Nome do instrutor que ministra a aula.
   * **IsBooked:** Campo de status que indica se a aula está reservada ('None' ou 'Available' por padrão, atualizado para o nome do cliente quando houver reserva).

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FrLEPMehY7Jw96Lm5qjAn%2FScreenshot%202024-04-09%20at%2021.29.38.png?alt=media&#x26;token=bd0375d5-ef13-4438-8be2-7d17ea072320" alt=""><figcaption><p>Uma tabela que armazena reservas de aulas de academia.</p></figcaption></figure>

2. Determine o ponto no fluxo do seu bot em que os usuários solicitarão visualizar as aulas disponíveis. Para este exemplo, depois que os usuários selecionarem qual aula desejam reservar, ocorrerá uma operação de recuperar registro para que o bot encontre essa aula na tabela.
3. [Adicione uma operação de Tabela](https://docs.chatlayer.ai/bot-answers/tables-beta/perform-operations-on-your-records#add-a-table-operation-to-your-flow) ao seu fluxo no ponto que você definiu.
4. Escolher **Recuperar registro** da lista de operações.
5. Selecione a tabela que você deseja atualizar. Para este exemplo, selecionaremos **Reserva de aula da academia**.<br>

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FyJQqoXVZimBu42fnLqcW%2FScreenshot%202024-03-13%20at%2009.04.59.png?alt=media&#x26;token=5ec978ab-ebb4-4314-8a22-45309a8e6d2f" alt="" width="375"><figcaption><p>Selecione a tabela correta.</p></figcaption></figure>

6. Sob a **Configuração da operação** seção, clique em **+ Adicionar filtro** para configurar a consulta para filtrar registros com base no(s) valor(es) ou em uma ou mais coluna(s). Para este exemplo:&#x20;
   * Filtramos observando a coluna **isBooked** . Se a célula **isBooked** for igual a **Nenhum**, isso significa que a aula está disponível para reservas. Isso significa que só recuperaremos aulas que estejam disponíveis.
   * Além disso, incorporamos um filtro para **className** para corresponder à seleção do usuário, garantindo que a consulta retorne aulas que se alinhem à preferência do usuário. Isso significa que, se o usuário estiver interessado em aulas de ioga, então só recuperaremos aulas de ioga e não outras.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FjM0fdAmO5WPrM5n39p0I%2FScreenshot%202024-03-13%20at%2009.12.33.png?alt=media&#x26;token=f8a601ff-f474-4c8c-ba4a-6ee2f7433f7c" alt="" width="375"><figcaption><p>Defina critérios de seleção para recuperar registros da sua tabela.</p></figcaption></figure>

7. Em **Limite**, defina um limite para o número de resultados da consulta. Neste exemplo, limitaremos os resultados a 2. Isso garante que o bot exiba uma lista concisa de aulas disponíveis para o usuário escolher.
8. Se você precisar pular alguns números de registros da sua operação de recuperação, preencha o campo em **Pular**. Para este exemplo não permitiremos pular o primeiro número de registros dos resultados, então não há necessidade de fazer nada ali.
9. Em **Variável de destino**, atribua os resultados recuperados a uma variável. Para este exemplo, chamaremos de `available_class`. Essa variável manterá a(s) classe(s) recuperada(s) para usá-las dentro da conversa.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2F18TPxAFK9fjC8DDiTKaJ%2FScreenshot%202024-04-10%20at%2015.49.36.png?alt=media&#x26;token=a293294f-859a-4a7c-811f-589b9a5e0fef" alt="" width="256"><figcaption><p>Configure seu limite e a variável de destino ao recuperar registros.</p></figcaption></figure>

10. Clique **Salvar**.

## Exibir o(s) registro(s) recuperado(s)

Acima, você aprendeu como recuperar registros de uma tabela, que neste exemplo são aulas de academia disponíveis. Para exibir esses registros recuperados na conversa:

1. Introduza um novo [bloco de Mensagem](https://docs.chatlayer.ai/bot-answers/dialog-state/message-components) projetado para permitir que os usuários escolham entre as aulas disponíveis. Este bloco serve como o ponto em que os usuários podem ver visualmente e selecionar o horário de aula preferido.&#x20;
2. Para este exemplo, vamos chamar este bloco **Exibir aulas**.
3. Adicionar um **Botões** .
4. Para transmitir concisamente a disponibilidade das aulas, formate os títulos dos seus botões para incluir o dia e a hora de cada aula. Use a `{variableName[index].values.fieldName}` estrutura de variável para incorporar as informações da aula recuperada:

   * &#x20;`{available_class[0].values.classDay} às {available_class[0].values.classTime}`.&#x20;

   Como exemplo prático, se a primeira aula retornada for numa segunda-feira às 10h, seu botão pode ser intitulado "Segunda-feira às 10h".&#x20;
5. Considerando que definimos a operação para retornar até duas aulas, garanta que sua mensagem inclua um botão para cada opção disponível. Duplique a abordagem de formatação para o segundo botão, substituindo `[0]` com `[1]` para acessar o segundo item no array:

   * `{available_class[1].values.classDay} às {available_class[1].values.classTime}`

   Isso garante que ambas as opções sejam apresentadas para a seleção do usuário.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FgxywnxJqq7niaB0CV98T%2FScreenshot%202024-03-13%20at%2009.37.44.png?alt=media&#x26;token=70205c40-b90d-4dbe-aed2-94ef3deb719e" alt="" width="375"><figcaption><p>Usando variável para Recuperar registro da tabela em botões</p></figcaption></figure>

6. Clique **Salvar**.
7. É crucial verificar a funcionalidade da sua operação Recuperar registro para garantir que os dados sejam recuperados e exibidos corretamente. Use o emulador do bot ou um ambiente de teste ao vivo para simular consultas de usuários por aulas disponíveis.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FdTTfOsqroKs6KU8LZhIy%2FScreenshot%202024-04-09%20at%2021.40.34.png?alt=media&#x26;token=8450ee81-ebaa-4bc3-893c-68c7343d789a" alt="" width="375"><figcaption><p>Teste seu fluxo de Recuperar registro</p></figcaption></figure>

8. Verifique se o bot recupera e exibe as informações corretas da aula com base na disponibilidade na tabela.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FtAioxXtlOxLx4iYFHa8e%2FScreenshot%202024-04-09%20at%2021.41.52.png?alt=media&#x26;token=6ce272e4-deb8-4931-b8a0-609f45f4d955" alt=""><figcaption><p>A operação Recuperar registro funciona na tabela conforme o esperado.</p></figcaption></figure>

***

{% hint style="success" %}
Procurando um modelo de bot rápido e fácil para brincar com Tabelas? O [bot da academia](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/comece-rapidamente/bot-templates/gym) é um caso de uso representativo.
{% endhint %}
