> 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="/files/v5ZigGtrTaZktFO9drup" 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 dynamically by asking a question.

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

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
