> For the complete documentation index, see [llms.txt](https://ftcoders.first-tech.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ftcoders.first-tech.com/first-tech-ttp-sdk-pt/scanner-de-produtos.md).

# Scanner de Produtos

**Objetivo**

Definir os requisitos mínimos para o fluxo de leitura de produtos físicos utilizando a câmera do dispositivo para escanear códigos de barras, navegando automaticamente para a tela de detalhes do produto e permitindo a adição ao carrinho de compras.

**Insights**

* A interface do scanner deve seguir as melhores práticas de contraste, iluminação e segurança do usuário (ex.: sem uso intrusivo de flash automático).
* O sistema deve ser otimizado para diferentes condições de iluminação e capacidades das câmeras dos dispositivos.
* O tempo entre a leitura do código e o redirecionamento não deve exceder 2 segundos em condições normais.

***

<figure><img src="https://556217668-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0woQ0gWPzU3Qf5sP0Hxl%2Fuploads%2FZqnlDbZ86QgDRr2C3lMS%2Fimage.png?alt=media&amp;token=e34ef52c-2ed5-4989-9014-054f27cae656" alt=""><figcaption></figcaption></figure>

## **Acesso ao Leitor (Scanner)**

### 01 - Ícone do scanner

Deve estar posicionado ao lado do campo de busca na tela inicial. Deve utilizar um ícone padrão (leitor de código de barras ou câmera) e ser facilmente clicável.

{% hint style="success" %}
**Obrigatório:**\
O botão do scanner deve ser claramente visível e acessível sem necessidade de rolagem.
{% endhint %}

{% hint style="info" %}
**Recomendado:**\
Exibir uma breve animação ou destaque visual ao toque para indicar a ativação da câmera.
{% endhint %}

***

## **Interface de Scanner**

### 02 - Área de leitura (scan frame)

Deve incluir uma área claramente definida para o alinhamento do código de barras. A câmera deve ser aberta automaticamente e manter o foco contínuo.

### 03 - Botão “Cancelar”

Deve estar fixado na parte inferior da tela, encerrando imediatamente o scanner e retornando à visualização do catálogo.

{% hint style="success" %}
**Obrigatório:**\
Ao reconhecer o código de barras, o sistema deve redirecionar automaticamente para a página correspondente do produto.
{% endhint %}

{% hint style="info" %}
**Recomendado:**\
Caso o código não seja reconhecido, exibir uma mensagem clara: “Código não reconhecido. Por favor, tente novamente.”
{% endhint %}

***

## **Redirecionamento para a Tela de Detalhes do Produto**

### 04 - Tela de detalhes do produto

Deve ser exibida imediatamente após uma leitura bem-sucedida. A tela deve apresentar todas as informações do produto:

* Nome
* Preço
* Estoque
* Descrição

{% hint style="success" %}
**Obrigatório:**\
O botão “Adicionar ao carrinho” deve estar disponível para permitir a continuidade fluida do fluxo de compras.
{% endhint %}

{% hint style="info" %}
**Recomendado:**\
Exibir um feedback visual (ex.: toast de confirmação ou mini popup) ao adicionar o produto via scanner.
{% endhint %}

***

## **Mensagens Obrigatórias**

* Quando o produto não for encontrado:

> Produto não identificado. Verifique o código de barras ou faça a busca manualmente.

* Quando a leitura falhar:

> Não foi possível ler o código de barras. Ajuste o foco ou tente novamente.

***

## **Comportamentos Esperados**

* A câmera deve ser ativada com uma permissão única por sessão ou conforme exigido pela política de privacidade do sistema operacional.
* Após uma leitura bem-sucedida, a visualização do scanner deve ser encerrada automaticamente e redirecionar para a tela do produto.
* O botão “Cancelar” deve encerrar o fluxo de leitura imediatamente, sem erros ou atrasos.
* O sistema deve mapear corretamente códigos duplicados, variantes ou equivalentes (SKU/GTIN).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://ftcoders.first-tech.com/first-tech-ttp-sdk-pt/scanner-de-produtos.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
