5.6 KiB
5.6 KiB
Portal Juru API Documentation
Índice
Autenticação
A API utiliza autenticação JWT. Para acessar os endpoints protegidos, inclua o token no header:
Authorization: Bearer seu-token-jwt
Endpoints
Consulta de Dados
Listar Lojas
GET /api/v1/data-consult/stores
Resposta
[
{
"id": "001",
"name": "Loja Principal",
"store": "001 - Loja Principal"
}
]
Listar Vendedores
GET /api/v1/data-consult/sellers
Resposta
[
{
"id": "001",
"name": "João Silva"
}
]
Consultar Faturamento
GET /api/v1/data-consult/billings
Resposta
[
{
"id": "001",
"date": "2024-04-02T10:00:00Z",
"total": 1000.00
}
]
Filtrar Clientes
GET /api/v1/data-consult/customers/:filter
Parâmetros
filter: Termo de busca (nome, documento, etc.)
Resposta
[
{
"id": "001",
"name": "Maria Silva",
"document": "123.456.789-00"
}
]
Buscar Produtos
GET /api/v1/data-consult/products/:filter
Parâmetros
filter: Termo de busca (nome, código, etc.)
Resposta
[
{
"id": "001",
"name": "Produto Exemplo",
"manufacturerCode": "ABC123"
}
]
Pedidos e Pagamentos
Listar Pedidos da Loja
GET /api/v1/orders-payment/orders/:id
Parâmetros
id: ID da loja
Resposta
[
{
"createDate": "2024-04-02T10:00:00Z",
"storeId": "001",
"orderId": 12345,
"customerId": "001",
"customerName": "João Silva",
"sellerId": "001",
"sellerName": "Maria Santos",
"billingId": "001",
"billingName": "Cartão de Crédito",
"planId": "001",
"planName": "3x sem juros",
"amount": 1000.00,
"installments": 3,
"amountPaid": 1000.00
}
]
Buscar Pedido Específico
GET /api/v1/orders-payment/orders/:id/:orderId
Parâmetros
id: ID da lojaorderId: ID do pedido
Resposta
{
"createDate": "2024-04-02T10:00:00Z",
"storeId": "001",
"orderId": 12345,
"customerId": "001",
"customerName": "João Silva",
"sellerId": "001",
"sellerName": "Maria Santos",
"billingId": "001",
"billingName": "Cartão de Crédito",
"planId": "001",
"planName": "3x sem juros",
"amount": 1000.00,
"installments": 3,
"amountPaid": 1000.00
}
Listar Pagamentos do Pedido
GET /api/v1/orders-payment/payments/:id
Parâmetros
id: ID do pedido
Resposta
[
{
"orderId": 12345,
"payDate": "2024-04-02T10:00:00Z",
"card": "**** **** **** 1234",
"installments": 3,
"flagName": "VISA",
"type": "CREDITO",
"amount": 1000.00,
"userId": "001",
"nsu": "123456789",
"auth": "A12345"
}
]
Criar Pagamento
POST /api/v1/orders-payment/payments/create
Corpo da Requisição
{
"orderId": 12345,
"card": "**** **** **** 1234",
"auth": "A12345",
"nsu": "123456789",
"installments": 3,
"amount": 1000.00,
"flagName": "VISA",
"paymentType": "CREDITO",
"userId": 1
}
Criar Fatura
POST /api/v1/orders-payment/invoice/create
Corpo da Requisição
{
"orderId": 12345,
"userId": 1
}
Modelos de Dados
OrderDto
interface OrderDto {
createDate: Date; // Data de criação do pedido
storeId: string; // ID da loja
orderId: number; // ID do pedido
customerId: string; // ID do cliente
customerName: string; // Nome do cliente
sellerId: string; // ID do vendedor
sellerName: string; // Nome do vendedor
billingId: string; // ID da forma de pagamento
billingName: string; // Nome da forma de pagamento
planId: string; // ID do plano de pagamento
planName: string; // Nome do plano de pagamento
amount: number; // Valor total do pedido
installments: number; // Número de parcelas
amountPaid: number; // Valor total pago
}
PaymentDto
interface PaymentDto {
orderId: number; // ID do pedido
payDate: Date; // Data do pagamento
card: string; // Número do cartão
installments: number; // Número de parcelas
flagName: string; // Nome da bandeira
type: string; // Tipo de pagamento
amount: number; // Valor do pagamento
userId: string; // ID do usuário
nsu: string; // NSU da transação
auth: string; // Código de autorização
}
Códigos de Erro
| Código | Descrição |
|---|---|
| 400 | Requisição inválida |
| 401 | Não autorizado |
| 403 | Acesso negado |
| 404 | Recurso não encontrado |
| 500 | Erro interno do servidor |
Exemplos de Uso
Exemplo de Requisição com cURL
# Listar pedidos de uma loja
curl -X GET "http://localhost:3000/api/v1/orders-payment/orders/001" \
-H "Authorization: Bearer seu-token-jwt"
# Criar novo pagamento
curl -X POST "http://localhost:3000/api/v1/orders-payment/payments/create" \
-H "Authorization: Bearer seu-token-jwt" \
-H "Content-Type: application/json" \
-d '{
"orderId": 12345,
"card": "**** **** **** 1234",
"auth": "A12345",
"nsu": "123456789",
"installments": 3,
"amount": 1000.00,
"flagName": "VISA",
"paymentType": "CREDITO",
"userId": 1
}'