# Connector e fluxos de comunicação

Esta página descreve como a comunicação entre o sistema de automação comercial e o terminal POS é estabelecida, mantida e encerrada.

## O que é o Connector

O **Connector** é um objeto retornado por `CreateHttp`, `CreateUsb` ou `CreateCloud`. É o elemento central que coordena toda a troca de mensagens com o POS. Ele também impõe a ordem correta de execução das operações do POS Integrado.

## A abstração do Connector

Você cria um Connector com um dos factory methods suportados:

* `CreateHttp`
* `CreateUsb`
* `CreateCloud`

Independentemente do transporte subjacente, o Connector expõe o mesmo conjunto de funções de operação do dispositivo. Ele também impõe um ciclo de vida de comunicação consistente.

## Visão geral do fluxo de comunicação

Toda interação com o POS Integrado segue um fluxo determinístico:

1. **Criação do Connector** — O sistema de automação estabelece um canal de transporte e recebe uma instância de Connector.
2. **Validação do terminal** — O comando `Polling` é executado para verificar a disponibilidade e a prontidão do terminal.
3. **Execução da operação** — Operações de negócio como `Sale`, `Refund` ou `GetReports` são invocadas.
4. **Tratamento da resposta** — O terminal retorna uma resposta estruturada com o resultado da operação.
5. **Encerramento da conexão** — O sistema de automação libera os recursos ao chamar `Close`.

## Uma operação por vez

O Connector processa uma operação por vez. Você envia um comando e aguarda a resposta antes de enviar o próximo comando.

Não inicie uma segunda operação enquanto o terminal ainda processa a primeira. Essa regra mantém a sequência de comandos e respostas alinhada e evita estados conflitantes no terminal.

## Fluxo de comando e resposta

Cada comando produz uma única resposta estruturada. A resposta traz o resultado da operação e um payload que depende do tipo de operação:

- `ReportDetails` retorna os dados das operações de relatório e de turno.
- `ReceiptContent` retorna o conteúdo imprimível das operações de venda, reembolso e voucher.
- `AccountingDate` retorna a data contábil que o terminal aplica à transação.

Você lê esses campos na resposta para confirmar o resultado e definir o próximo passo.

## Independência de transporte e ciclo de vida da conexão

Embora os mecanismos de comunicação sejam diferentes entre as conexões USB, rede e nuvem, o fluxo lógico permanece idêntico. Os mesmos comandos estão disponíveis, os mesmos parâmetros são esperados e as mesmas estruturas de resposta são retornadas. Isso permite que os integradores troquem de modelo de transporte sem alterar a lógica de negócio.

Quando você fecha o Connector, todos os recursos alocados são liberados. A instância do Connector se torna inválida e novos comandos são rejeitados. Crie um novo Connector para retomar a comunicação com o terminal POS.

## Recursos relacionados

* [Modelos de Conexão](/pt/integrated-pos/first-steps-pos/connection-models) — Métodos de criação para USB, rede e nuvem.
* [Arquitetura do POS](/pt/integrated-pos/first-steps-pos/pos-architecture) — Como o Connector se encaixa na arquitetura geral.
* [Guia de Início Rápido](/pt/integrated-pos/first-steps-pos/quickstart-integrated-pos) — Criação do connector, Polling, Sale, Close.
* Para detalhes sobre criação do connector, Close e Polling, consulte os Conceitos Principais e os Guias de Conexão.