# Trabalhando com tabelas do MaviBot

## Criar um novo registro na tabela com os valores especificados

Criar um novo registro em uma tabela com os valores especificados.

new\_record(table\_id, data)

<table><thead><tr><th width="188.26171875">Parâmetros</th><th>Descrição</th></tr></thead><tbody><tr><td>table_id </td><td>ID da tabela</td></tr><tr><td>data</td><td>um dicionário com os dados a serem registrados.<br><br>Exemplo: {"column_name1": "value1", "column_name2": "value2"}. Se a coluna não existir, ela é criada.</td></tr></tbody></table>

Resposta: ID do novo registro

### Exemplo

<div data-with-frame="true"><figure><img src="/files/17823109a0d883af55699f1ac3a143cb1bf368ec" alt="" width="563"><figcaption></figcaption></figure></div>

## Editar um registro existente na tabela

edit\_record(table\_id, record\_id, data)

<table><thead><tr><th width="304.22265625">Parâmetros</th><th>Descrição</th></tr></thead><tbody><tr><td>table_id</td><td>ID da tabela</td></tr><tr><td>record_id</td><td>ID do registro editado</td></tr><tr><td>data</td><td>um dicionário com os dados a serem editados. Exemplo: {"column_name1": "value3", "column_name2": "value4"}. Se a coluna não existir, ela NÃO é criada.</td></tr></tbody></table>

Resposta:

Retorna os dados completos do registro editado no formato: {"column\_name1": "value3", "column\_name2": "value4"}.

### Exemplo

<div data-with-frame="true"><figure><img src="/files/213fbae6871edee85a25ac569c363e9c1393f918" alt="" width="563"><figcaption></figcaption></figure></div>

## Excluir um registro da tabela pelo seu ID

delete\_record(table\_id, record\_id)

<table><thead><tr><th width="298.4140625">Parâmetros</th><th>Descrição</th></tr></thead><tbody><tr><td>table_id</td><td>ID da tabela</td></tr><tr><td>record_id</td><td> ID do registro excluído</td></tr></tbody></table>

Resposta:

{'message': 'Registros excluídos: 1'}

## Encontrar um registro na tabela pelo valor especificado

find\_record(table\_id, value, find\_in, return\_from)

<table><thead><tr><th width="304.22265625">Parâmetros</th><th>Descrição</th></tr></thead><tbody><tr><td>table_id</td><td>ID da tabela</td></tr><tr><td>value</td><td>o valor a ser correspondido</td></tr><tr><td>find_in - </td><td>parâmetro opcional. O nome da coluna pela qual pesquisar. Se não for especificado, a busca será realizada em todas as colunas.</td></tr><tr><td>return_from</td><td>parâmetro opcional. O nome da coluna da qual retornar o valor.</td></tr></tbody></table>

Resposta:

Se return\_from for especificado, o valor da coluna especificada (se ela existir na tabela) será retornado. Se return\_from não for especificado ou a coluna não existir, os dados completos do registro encontrado serão retornados na resposta, por exemplo: {"column\_name1": "value3", "column\_name2": "value4"}.

### Exemplo

<div data-with-frame="true"><figure><img src="/files/1d02b59e2576509a76ead3d8441c3c151a4b1bf4" alt=""><figcaption></figcaption></figure></div>

## Obtendo um valor do registro especificado

get\_record\_data(table\_id, record\_id)

<table><thead><tr><th width="298.4140625">Parâmetros</th><th>Descrição</th></tr></thead><tbody><tr><td>table_id</td><td>ID da tabela</td></tr><tr><td>record_id</td><td>ID do registro do qual os valores são recuperados</td></tr><tr><td>return_column</td><td>parâmetro opcional. O nome da coluna da qual o valor deve ser retornado.</td></tr></tbody></table>

Resposta: Se um registro for encontrado, é retornado um dicionário como {"column\_name1": "value1", "column\_name2": "value2"}. Se o parâmetro return\_column for fornecido e essa coluna existir, será retornado apenas o valor dessa coluna.

### Onde posso encontrar o ID da tabela?

<div data-with-frame="true"><figure><img src="/files/6503d064865563054cddf92aec612c950f5fbe8f" alt="" width="220"><figcaption></figcaption></figure></div>

Para trabalhar com as funções do chatbot, você precisará do ID da tabela. Encontre a tabela desejada na lista e clique nela.

<div data-with-frame="true"><figure><img src="/files/cb20be675bd78ef90ae678d5fbf5148cca35738b" alt=""><figcaption></figcaption></figure></div>

Em seguida, clique na barra de endereços.

Na barra de endereços, você verá uma URL como&#x20;<https://salebot.pro/projects/11111/table/2>,&#x20;onde pode encontrar o ID da tabela desejada:

<div data-with-frame="true"><figure><img src="/files/42ec7ed80b9c4102ecd804b5dade0bd8f994f618" alt="" width="563"><figcaption></figcaption></figure></div>

## Recuperando um registro da tabela

get\_records\_from\_table(table\_id, start\_row, count, start\_col, end\_col) - recuperando um registro da tabela.

| Parâmetro  | Descrição                                                                    | Observação                                                                             |
| ---------- | ---------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| table\_id  | ID da tabela                                                                 |                                                                                        |
| start\_row | Parâmetro opcional, um inteiro. Especifica o início do intervalo de linhas.  | O número da linha a partir da qual começar a leitura (inclusive). Escreva sem aspas.   |
| count      | Parâmetro opcional, um inteiro. Especifica o número de linhas a recuperar.   | Por padrão, o valor é 1000, com máximo de 5000. Especifique sem aspas.                 |
| start\_col | Parâmetro opcional, uma string. Especifica o início do intervalo de colunas. | O nome da coluna a partir da qual começar a leitura (inclusive). Escreva entre aspas.  |
| end\_col   | Parâmetro opcional, uma string. Especifica o fim do intervalo de colunas.    | O nome da coluna até a qual ler os valores da tabela (inclusive). Escreva entre aspas. |

Se você especificar apenas o início do intervalo de linhas ou colunas, todos os dados a partir desse ponto serão retornados. Você também pode omitir o início e especificar apenas o fim para obter os dados até esse ponto.

### Exemplo

No bloco em que você precisa recuperar registros da tabela, vá para a **"Calculadora"** seção nas configurações do bloco e insira a função com os parâmetros necessários.

Vamos ver como os dados são exibidos na tabela.

<div data-with-frame="true"><figure><img src="/files/22f4a860b26afd30f3771c8795f932d052f0694a" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/f3ac1e7a1ec591df57c6610927f1c55f4024b476" alt="" width="563"><figcaption></figcaption></figure></div>

Agora, execute o bloco "Início" no modo de teste.

<div data-with-frame="true"><figure><img src="/files/6145a35d8c3950e22746c5e069eeaa657c3dde2b" alt="" width="375"><figcaption></figcaption></figure></div>

Podemos ver os dados que foram gravados na variável a partir da tabela na mensagem enviada pelo bot. Como referenciamos a variável na mensagem usando a sintaxe `#{}` , os dados armazenados nela foram exibidos no chat do bot.

<div data-with-frame="true"><figure><img src="/files/a9007fe9a7ff2d2da78d796f780f2df4e82f3943" alt="" width="563"><figcaption></figcaption></figure></div>

## Recuperar dados da tabela dentro de um intervalo especificado

table\_read\_cells(table\_id, cell\_data) - permite recuperar dados da tabela especificando intervalos.

<table><thead><tr><th width="286.37890625">Parâmetro</th><th>Descrição</th></tr></thead><tbody><tr><td><mark style="color:vermelho;"><strong>!</strong></mark> table_id</td><td>parâmetro obrigatório, ID da tabela</td></tr><tr><td><mark style="color:vermelho;"><strong>!</strong></mark> cell_data</td><td>parâmetro obrigatório, um dicionário com intervalos.<br><strong>cell_data</strong> exemplo: <code>'{"a1":"a1", "a3": "b4", "c1": "c3"}'</code></td></tr></tbody></table>

Se não ocorrerem problemas durante a solicitação, a resposta será um dicionário contendo o status e todas as células com seus valores:

`{"status": true, "A1": "value", "A3": "value", "B3": "value", "A4": "value", "B4": "value", "C1": "", "C2": "value", "C3": "ddddddd"ou, em caso de erro: {"status": false, "err": "Mensagem ou descrição do erro"}`

### Exemplo na Calculadora

Por exemplo, as células da tabela contêm os seguintes valores especificados:

<div data-with-frame="true"><figure><img src="/files/89ba930ec8d95cb49f6d9c2bdf3bf7458b1add40" alt="" width="563"><figcaption></figcaption></figure></div>

Para recuperar dados da tabela via bot, passe os intervalos necessários para as funções na **Calculadora**.

<div data-with-frame="true"><figure><img src="/files/9e45e2217f115dacb8dd325df61ce30a422816ef" alt="" width="563"><figcaption></figcaption></figure></div>

No exemplo, a construção #{res}, que contém uma variável, ajuda a exibir na mensagem os dados recuperados usando a função e o intervalo especificado:

<div data-with-frame="true"><figure><img src="/files/49e6594b426504d322d552fae97f497c0de75779" alt="" width="563"><figcaption></figcaption></figure></div>

Se os nomes das colunas forem diferentes (por exemplo, "Produto", "Número", "Quantidade"), você deve especificar o intervalo usando o formato {"Produto1":"Quantidade3"}, onde:

• **Produto** é o nome da primeira coluna\
• **1** indica que é a coluna número 1\
• **Valor** é o nome da terceira coluna\
• **3** indica que é a coluna número 3

<div data-with-frame="true"><figure><img src="/files/652a5661fe729f02d26a4c8c98ebc53721743e60" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/2a06c4996dacc2507da2405099462f339011942f" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/41f6d37bc58641286e144bd3b9dafd42cf9a607c" alt="" width="563"><figcaption></figcaption></figure></div>


---

# 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://docs.mavibot.ai/doc/pt/chatbot/functions/calculadora/tables.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.
