# Use o Beeuni como backend de agentes para seu produto

Conecte seu produto a um agente que navega por sites de fornecedores, lê fontes autorizadas, compara informações e retorna os resultados pelo Beeuni SDK.

Canonical page: https://beeuni.ai/blog/pt/use-beeuni-as-your-agent-backend

Use a API do Beeuni ou o SDK TypeScript para criar sessões de agente a partir do seu aplicativo. Seu produto cuida da interface e de seus usuários; o Beeuni executa as ferramentas do agente e retorna mensagens e arquivos.

Imagine uma ferramenta de compras que compara fornecedores. Um usuário seleciona produtos e fornecedores aprovados; o agente acessa as páginas públicas de catálogo desses fornecedores, lê listas de preços de um serviço de documentos conectado e monta uma planilha comparativa. Seu aplicativo cuida do login e da revisão, enquanto a sessão do Beeuni reúne as informações e faz a comparação.

## Defina a tarefa que sua interface envia

Liste as entradas, as ações permitidas, o formato de saída e os casos de falha. No exemplo do catálogo, forneça as páginas dos fornecedores aprovados, referências aos documentos de catálogo conectados e os campos a comparar. Exija uma linha por produto, com o preço cotado, a moeda e uma referência à fonte. Dimensões ausentes devem ser marcadas como desconhecidas. A tarefa não deve fazer pedidos.

- **Responsabilidades do aplicativo:** autenticar as pessoas, decidir quem pode acessar cada tarefa, validar as entradas e apresentar o resultado.
- **Configuração do projeto:** escolher o agente, o modelo, as habilidades e as ferramentas autorizadas necessárias para esse tipo de trabalho.
- **Trabalho da sessão:** enviar a solicitação, acompanhar o andamento e examinar as mensagens e os arquivos de saída retornados.

## Dê à sessão acesso às fontes necessárias

Configure o projeto com as ferramentas de navegador e de conexão necessárias para a tarefa. Para um serviço privado de documentos, conecte uma conta e conceda ao agente acesso ao conector relevante. Um link incluído em uma solicitação não concede acesso por si só. Mantenha a conta selecionada e as fontes permitidas alinhadas ao cliente que enviou a tarefa; o [guia de conectores](/docs/pt/connect/connectors) explica o acesso às contas.

Assim, o agente poderá ler os documentos selecionados usando essas ferramentas, acessar páginas públicas de produtos e escrever um script para conciliar códigos de produto e tamanhos de embalagem. Peça que ele salve os valores obtidos, os locais das fontes e os horários de consulta junto com o resultado. Se não for possível ler um catálogo ou uma página exigir outro login, informe essa limitação à interface em vez de inventar um preço.

## Mantenha as credenciais no seu servidor

O [guia do SDK](/docs/pt/sdk) mostra como instalar `@beeuni/sdk`, criar um cliente e autenticar solicitações. Mantenha a chave de API no seu servidor, fora do código do navegador.

Decida a quais projetos do Beeuni cada cliente pode ter acesso. Mantenha os arquivos e as contas conectadas separados quando necessário e verifique as permissões no seu servidor antes de encaminhar solicitações. O [guia de autenticação](/docs/pt/sdk/auth) explica os métodos de login disponíveis.

## Mostre o andamento e trate reconexões

O SDK permite criar sessões, aguardar que estejam prontas e enviar uma solicitação. O [exemplo completo](/docs/pt/sdk/example) mostra como receber eventos e ler a resposta. Use esses eventos para exibir o andamento real. “Abrindo páginas de fornecedores”, “Comparando produtos” e “Resultado pronto” devem corresponder a um trabalho ou estado que você possa observar.

Crie um registro de tarefa no seu aplicativo para cada comparação. Armazene as referências às fontes selecionadas, as colunas solicitadas, os IDs do projeto e da sessão do Beeuni e o local de saída quando estiver disponível. Esse registro vincula a tela de revisão ao trabalho que já está em andamento.

```
Application task record — illustrative fields, not an SDK payload
app_task_id
approved_source_references
requested_columns
beeuni_project_id
beeuni_session_id
output_reference
review_status
```

Considere o caso de um usuário que seleciona três catálogos de fornecedores e depois atualiza a página. A interface atualizada consulta a tarefa do aplicativo e a sessão existente do Beeuni. Ela lê o andamento armazenado e retoma o acompanhamento desse trabalho. Criar uma sessão nova a cada carregamento da página duplicaria a tarefa.

A conexão também pode cair antes de o servidor receber a confirmação do envio. Esse resultado é incerto; não prova que nada aconteceu. Verifique a sessão antes de enviar a solicitação novamente. Se ainda não for possível saber se ela foi aceita, mostre essa incerteza em vez de iniciar automaticamente outra comparação.

## Verifique o resultado no seu aplicativo

Na comparação de catálogos, verifique se as colunas obrigatórias estão presentes, se os arquivos podem ser lidos, se há referências às fontes e quais produtos não puderam ser associados. Tamanhos de embalagem diferentes são uma armadilha comum: não é possível comparar diretamente o preço de uma caixa com doze unidades ao preço de uma única unidade. Preserve o valor e a unidade cotados e só acrescente um preço normalizado quando a fonte permitir fazer a conversão.

A tela de revisão deve permitir que o usuário abra a fonte de um preço e veja as associações ainda não resolvidas. O arquivo pode estar pronto mesmo que algumas linhas ainda precisem de revisão; mantenha esses estados separados no seu aplicativo.

## Permita que as pessoas corrijam um resultado sem perder o contexto

Suponha que dois fornecedores usem nomes diferentes para a mesma cadeira. O agente os mantém como produtos separados, e a pessoa responsável pela revisão percebe que se trata do mesmo produto. Uma correção útil inclui as duas linhas da fonte e a relação pretendida: “Compare estes itens como o mesmo produto, mas mantenha separados o acabamento e o tamanho da embalagem cotados.” Enviar apenas “tente novamente” deixa o agente tentando adivinhar o que estava errado.

Registre essa correção junto à tarefa e mantenha o resultado anterior disponível. O resultado seguinte pode corrigir a associação do produto e, ao mesmo tempo, alterar outra linha. Mostre a comparação revisada e a versão anterior para que a pessoa responsável possa conferir ambas. Decida qual versão será oferecida pelo botão de download e registre qual foi aprovada.

A aprovação pode publicar a comparação em uma tela interna de compras. Enviar um pedido a um fornecedor é uma ação separada, com permissões e confirmação próprias. Defina esse limite no aplicativo antes de dar ao agente acesso a ferramentas de compras. A conclusão de uma planilha não deve acionar um pedido automaticamente.

## Decida quanto trabalho uma solicitação pode iniciar

Defina limites práticos para o envio, como o número de catálogos e o volume de trabalho permitido em uma solicitação. Comparar três listas de preços curtas é diferente de conciliar um arquivo completo de produtos. Mostre o escopo aceito antes de iniciar para que a pessoa possa reduzir a solicitação ou escolher um trabalho em segundo plano.

Consulte as informações de uso e cobrança na plataforma, quando disponíveis, em vez de calcular o valor final com base no tamanho das mensagens. Se seu produto precisar de um limite rígido de gastos ou de uma garantia de cancelamento, verifique como a integração aplica esse controle. Uma contagem regressiva ou um botão Parar, por si só, não garante que o trabalho e as cobranças tenham sido interrompidos.

## Teste a integração com casos que você possa verificar manualmente

Mantenha um pequeno conjunto de catálogos com interpretações esperadas: uma lista de preços clara, uma digitalização ilegível, duas moedas, tamanhos de embalagem conflitantes e um produto sem correspondência evidente. Use-os ao mudar o modelo, as instruções ou a configuração do projeto. Compare as linhas resultantes e as referências às fontes, inclusive o que o agente não conseguiu resolver.

Além disso, saia da página durante uma execução, volte e envie uma correção depois que o resultado aparecer. Verifique qual saída é baixada e se outra pessoa que tenha feito login pode acessar a tarefa. O catálogo pode ter sido interpretado corretamente, mas seu aplicativo ainda pode mostrar a revisão errada ou expô-la à conta errada. Teste juntos o resultado do agente e a interface ao redor dele.
