seta-digital-api-client
v1.0.0
Published
Cliente JavaScript/TypeScript para a API Linx Seta Digital
Maintainers
Readme
Seta Digital API
Cliente JavaScript/TypeScript para a API Linx Seta Digital que permite integração de plataformas de comércio eletrônico com o ERP Seta.
Instalação
npm install seta-digital-apiUso Básico
import { SetaDigitalAPI } from 'seta-digital-api';
const api = new SetaDigitalAPI({
baseUrl: 'https://sua-api.com',
apiKey: 'sua-chave-api'
});
// Testar conectividade
const conectado = await api.testConnection();
console.log('Conectado:', conectado);
// Buscar pedidos de compra
const pedidos = await api.pedidosCompra.buscar({
page: 1,
size: 100
});
// Buscar estoque por empresa
const estoque = await api.estoque.buscarPorEmpresa('03', {
page: 1,
size: 100
});
// Buscar produtos ativos no e-commerce
const produtos = await api.produtos.buscarAtivosEcommerce({
page: 1,
size: 100
});
// Criar uma nova venda
const novaVenda = await api.vendas.criar({
pessoa_codigo: '000001',
codigo_externo: 'PED-2024-001',
itens: [
{
produto_codigo: 'PROD001',
quantidade: 2,
preco_unitario: 50.00
}
]
});Recursos Disponíveis
📦 Módulos Principais
- Pedidos de Compra (
api.pedidosCompra): Consulta de pedidos de compra - Condições de Pagamento (
api.condicoesPagamento): Consulta de condições de pagamento - Devoluções (
api.devolucoes): Consulta de devoluções - Estoque (
api.estoque): Consulta de estoque com filtros avançados - Grade de Tamanhos (
api.gradeTamanho): Consulta de grades de tamanho - Notas Fiscais (
api.notasFiscais): Consulta de notas fiscais de saída - Pessoas (
api.pessoas): Consulta e gerenciamento de pessoas - Produtos (
api.produtos): Consulta de produtos com filtros - Tipos (
api.tipos): Consulta de tipos de movimentação - Vendas (
api.vendas): Consulta e criação de vendas - Financeiro (
api.financeiro): Operações financeiras e renegociação
🔧 Funcionalidades
- ✅ TypeScript: Suporte completo com tipos definidos
- ✅ Paginação: Controle automático de páginas e tamanhos
- ✅ Filtros: Filtros específicos para cada endpoint
- ✅ Ordenação: Ordenação por qualquer campo
- ✅ Tratamento de Erros: Mensagens de erro claras
- ✅ Testes: Cobertura de testes incluída
- ✅ Documentação: JSDoc completo
Exemplos Avançados
Busca com Filtros e Ordenação
// Buscar produtos por marca com ordenação
const produtos = await api.produtos.buscar(
{ page: 1, size: 50 },
{ marca_codigo: '000207' },
{ field: 'descricao', direction: 'asc' }
);
// Buscar estoque por período de movimentação
const estoque = await api.estoque.buscarPorPeriodoMovimentacao(
'2024-01-01',
'2024-12-31',
{ page: 1, size: 100 }
);Operações Financeiras
// Renegociar título financeiro
const tituloRenegociado = await api.financeiro.renegociarTitulo({
codigo: 'TIT001',
nova_data_vencimento: '2024-12-31',
novo_valor: 1000.00,
observacoes: 'Renegociação via API'
});Autenticação
A API utiliza autenticação por chave de acesso (API Key) através do header x-api-key.
const api = new SetaDigitalAPI({
baseUrl: 'https://sua-api.com',
apiKey: 'sua-chave-api',
timeout: 30000 // opcional, padrão: 30000ms
});Configuração
Variáveis de Ambiente
SETA_API_URL=https://sua-api.com
SETA_API_KEY=sua-chave-apiconst api = new SetaDigitalAPI({
baseUrl: process.env.SETA_API_URL!,
apiKey: process.env.SETA_API_KEY!
});Desenvolvimento
Instalação para Desenvolvimento
git clone https://github.com/makertec/seta-digital-api.git
cd seta-digital-api
npm installScripts Disponíveis
npm run build # Compilar TypeScript
npm run dev # Compilar em modo watch
npm test # Executar testes
npm run lint # Verificar código
npm run lint:fix # Corrigir problemas de lintEstrutura do Projeto
src/
├── index.ts # Exportações principais
├── client.ts # Cliente base
├── types.ts # Definições de tipos
├── modules/ # Módulos específicos
│ ├── pedidos-compra.ts
│ ├── estoque.ts
│ ├── produtos.ts
│ └── ...
└── __tests__/ # Testes unitáriosContribuição
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-funcionalidade) - Commit suas mudanças (
git commit -am 'Adiciona nova funcionalidade') - Push para a branch (
git push origin feature/nova-funcionalidade) - Abra um Pull Request
Documentação Completa
Para mais informações sobre endpoints específicos e parâmetros, consulte a documentação oficial da API.
Suporte
- Comercial: [email protected]
- Suporte Técnico: [email protected]
- Telefone: (45) 9859 0373
Licença
MIT - veja o arquivo LICENSE para detalhes.
