Files
portalweb-api/SDK_README.md
2025-11-05 15:40:32 -03:00

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:

  1. Entre no diretório do SDK:
cd sdk
  1. Instale as dependências:
npm install
  1. Compile o código:
npm run build
  1. Para desenvolvimento contínuo:
npm run watch

Documentação

Exemplos

Veja os exemplos práticos em sdk/examples/:

  • basic-usage.ts - Exemplo básico de uso
  • logistic-example.ts - Exemplo de operações logísticas

Publicação

Para publicar uma nova versão do SDK no NPM:

  1. Atualize a versão:
cd sdk
npm version patch  # ou minor/major
  1. Compile:
npm run build
  1. 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.