# @opens/sdk

SDK leve para acessar gateways de serviços (ex: Customer Service). Projeto organizado para facilitar adição de novos gateways.

## Instalação

Instale via npm:

```bash
npm install @opens/gateways
```


## Uso básico

O SDK expõe funções para configurar a instância e acessar gateways específicos.

- `configure(params)`: configura o SDK antes do uso.
- `gateway(service)`: retorna a instância do gateway solicitado.

Exemplo mínimo:

```ts
import axios from 'axios';
import { configure, gateway } from '@opens/sdk';

// injete um cliente HTTP (axios) já configurado para facilitar testes
const axiosClient = axios.create({ headers: { Authorization: 'Bearer TOKEN' } });

configure({
  axiosClient,
  apiToken: 'TOKEN',
  services: { customerService: { baseUrl: 'https://api.example.com' } },
});

const customerGateway = gateway('customer-service');
const resp = await customerGateway.getCompanyById('123');
console.log(resp);
```


## Padrão de acesso a gateways


```ts
const serviceGateway = gateway('nome-do-servico');
// serviceGateway.metodoDoGateway(...)
```
