# Integração da Biblioteca JavaScript

Integre o POS Integrado em seu aplicativo usando nossa biblioteca JavaScript.

## Ambientes suportados

Use a biblioteca `pos-integrated-lib-javascript` em implementações no lado do servidor e no lado do cliente:

* ESM (ECMAScript Modules)
* CommonJS
* Ambientes de navegador

## Instalação

O pacote é privado e não é publicado no registro público do npm. Instale-o a partir do arquivo `.tgz` local fornecido pela Getnet:

```bash
npm install ./lib/pos-integrated-lib-javascript-<VERSION>.tgz
```

## Fluxo de trabalho e ciclo de vida

Siga o padrão estrito de ciclo de vida da conexão para garantir uma comunicação robusta com o terminal.

### Estabelecimento da conexão

Crie um connector usando um dos métodos de fábrica (`CreateHttp`, `CreateUsb` ou `CreateCloud`). A criação é síncrona — ela retorna o Connector diretamente, e não uma Promise. Aguarde os métodos operacionais assíncronos, como `SaleAsync` ou `GetInfoAsync`. Use `CreateCloud` para alcançar um terminal remoto pela nuvem da Getnet, sem hostname nem porta.

```javascript
import { Connector } from 'pos-integrated-lib-javascript';

async function processPayment() {
    // Initialize the connector (synchronous — no await)
    const connector = Connector.CreateHttp('192.168.1.100', 8080);
    
    // Execute a sale or other operations...
}
```

### Fechamento do Connector (obrigatório)

Feche o connector imediatamente após o término das suas operações ou quando o ciclo de vida do aplicativo terminar. Fechar o connector libera os recursos do terminal POS e garante que as próximas tentativas de conexão sejam bem-sucedidas.

```javascript
// ...after operations complete
await connector.Close();
```

<Callout type="warning">

Não chamar `Close()` causa vazamento de estados de conexão no dispositivo POS, o que gera um bloqueio de "Terminal Busy" nas requisições futuras.

</Callout>

## Próximos passos

* Execute o fluxo completo de ponta a ponta com o guia [Quick Start](/pt/integrated-pos/first-steps-pos/quickstart-integrated-pos).
* Consulte todas as assinaturas de métodos e parâmetros na [Referência de Métodos e Parâmetros](/pt/integrated-pos/reference/methods-parameters).