4.0 KiB
4.0 KiB
Portal Jurunense API - SDK
Este projeto agora inclui um SDK oficial para consumir a API Portal Jurunense de forma simples e tipada em TypeScript/JavaScript.
Localização
O SDK está localizado no diretório /sdk na raiz do projeto.
Estrutura do SDK
sdk/
├── src/ # Código fonte TypeScript
│ ├── types/ # Definições de tipos
│ ├── client/ # Clientes HTTP
│ └── index.ts # Ponto de entrada
├── dist/ # Código compilado (gerado)
├── examples/ # Exemplos de uso
├── package.json
├── tsconfig.json
├── README.md # Documentação completa
├── QUICK_START.md # Guia de início rápido
├── CONTRIBUTING.md # Guia de contribuição
└── PUBLISH.md # Guia de publicação
Scripts Disponíveis
No diretório raiz do projeto, você pode usar os seguintes scripts para trabalhar com o SDK:
npm run sdk:install # Instala dependências do SDK
npm run sdk:build # Compila o SDK
npm run sdk:watch # Compila e observa mudanças
npm run sdk:publish # Publica o SDK no NPM
Uso do SDK
Instalação (quando publicado)
npm install @portaljuru/api-client
Exemplo Básico
import { PortalJuruClient } from '@portaljuru/api-client';
const client = new PortalJuruClient({
baseURL: 'https://api.portaljuru.com.br'
});
// Fazer login
const { data } = await client.auth.login({
username: 'usuario',
password: 'senha'
});
// Buscar pedidos
const orders = await client.orders.findOrders({
status: 'processando'
});
// Listar produtos
const products = await client.products.listProducts();
Módulos Disponíveis
O SDK expõe os seguintes módulos:
- auth - Autenticação (login, refresh token, logout)
- logistic - Logística (expedição, funcionários, entregas, veículos)
- orders - Pedidos (busca, criação, transferências, notas fiscais)
- products - Produtos (listagem, busca, validação)
- partners - Parceiros (CRUD completo)
- dataConsult - Consulta de dados (clientes, transportadoras, vendedores, lojas)
- ordersPayment - Pagamentos de pedidos
- crm - CRM (negociações, ocorrências, tabela de motivos)
Tipos TypeScript
O SDK inclui tipos completos para TypeScript, facilitando o desenvolvimento com autocompletar e validação de tipos.
import type {
Order,
Product,
Customer,
LoginResponse,
ApiResponse
} from '@portaljuru/api-client';
Desenvolvimento
Para desenvolver o SDK localmente:
- Entre no diretório do SDK:
cd sdk
- Instale as dependências:
npm install
- Compile o código:
npm run build
- Para desenvolvimento contínuo:
npm run watch
Documentação
- README completo do SDK - Documentação detalhada de todas as funcionalidades
- Guia de Início Rápido - Comece a usar em minutos
- Guia de Contribuição - Como contribuir com o SDK
- Guia de Publicação - Como publicar no NPM
Exemplos
Veja os exemplos práticos em sdk/examples/:
basic-usage.ts- Exemplo básico de usologistic-example.ts- Exemplo de operações logísticas
Publicação
Para publicar uma nova versão do SDK no NPM:
- Atualize a versão:
cd sdk
npm version patch # ou minor/major
- Compile:
npm run build
- Publique:
npm publish --access public
Ou use o script do projeto raiz:
npm run sdk:publish
Benefícios do SDK
- Tipagem completa em TypeScript
- Autocompletar em IDEs
- Tratamento de erros consistente
- Gerenciamento automático de tokens
- Interface intuitiva e orientada a objetos
- Documentação completa com exemplos
- Suporte a todas as funcionalidades da API
Licença
MIT - Veja o arquivo LICENSE para mais detalhes.