Visão Geral da API
API RESTful de gerenciamento e persistência de pedidos desenvolvida com Cloudflare Workers e banco relacional SQLite (Cloudflare D1). Fornece alta disponibilidade global com latência mínima.
Para rotas de escrita (POST e PATCH), envie o token em qualquer um destes cabeçalhos:
Pedidos aceitam os seguintes status padrão:
Retorna métricas consolidadas em tempo real: total de pedidos cadastrados, faturamento bruto somado e distribuição quantitativa por status.
curl -s -X GET "https://pedidos-online-d338d8.skills.express/orders/summary"
{
"total_pedidos": 12,
"total_faturado": 4580.50,
"por_status": {
"pendente": 3,
"pago": 6,
"enviado": 2,
"cancelado": 1
}
}
Lista todos os pedidos registrados. Suporta paginação visual e filtros via query parameters.
status(opcional): filtra pedidos por status (ex:?status=pagoou?status=pendente).sort(opcional): ordenação por ID (desc[padrão] ouasc).
curl -s -X GET "https://pedidos-online-d338d8.skills.express/orders?status=pago&sort=desc"
{
"total": 1,
"orders": [
{
"id": 1,
"cliente": {
"nome": "Maria Silva",
"email": "maria@example.com"
},
"itens": [
{ "produto": "Notebook Pro", "quantidade": 1, "preco": 3500.00 }
],
"valor": 3500.00,
"status": "pago",
"data_criacao": "2025-05-10T14:30:00Z"
}
]
}
Obtém os detalhes completos de um pedido específico identificado pelo seu ID numérico. Retorna 404 Not Found caso não exista.
curl -s -X GET "https://pedidos-online-d338d8.skills.express/orders/1"
{
"order": {
"id": 1,
"cliente": { "nome": "Maria Silva", "email": "maria@example.com" },
"itens": [{ "produto": "Notebook Pro", "quantidade": 1, "preco": 3500 }],
"valor": 3500,
"status": "pago",
"data_criacao": "2025-05-10T14:30:00Z"
}
}
{
"error": "Pedido #999 não encontrado."
}
Registra um novo pedido no banco de dados. Exige token de autorização no cabeçalho Authorization: Bearer secret-token-123 ou X-API-Key: secret-token-123.
curl -s -X POST "https://pedidos-online-d338d8.skills.express/orders" -H "Content-Type: application/json" -H "X-API-Key: secret-token-123" -d '{
"cliente": { "nome": "Carlos Mendes", "email": "carlos@empresa.com" },
"itens": [
{ "produto": "Monitor Ultrawide 34", "quantidade": 1, "preco": 2100.00 },
{ "produto": "Suporte Articulado", "quantidade": 1, "preco": 250.00 }
],
"valor": 2350.00,
"status": "pendente"
}'
{
"message": "Pedido criado com sucesso!",
"order": {
"id": 2,
"cliente": { "nome": "Carlos Mendes", "email": "carlos@empresa.com" },
"itens": [
{ "produto": "Monitor Ultrawide 34", "quantidade": 1, "preco": 2100 },
{ "produto": "Suporte Articulado", "quantidade": 1, "preco": 250 }
],
"valor": 2350,
"status": "pendente",
"data_criacao": "2025-05-10T15:00:00.000Z"
}
}
Atualiza o status de um pedido já existente (ex: de pendente para pago ou enviado). Também compatível via PUT /orders/:id.
curl -s -X PATCH "https://pedidos-online-d338d8.skills.express/orders/1/status" -H "Content-Type: application/json" -H "Authorization: Bearer secret-token-123" -d '{"status": "pago"}'
{
"message": "Status do pedido #1 atualizado para 'pago' com sucesso!",
"order": {
"id": 1,
"cliente": { "nome": "Maria Silva" },
"itens": [...],
"valor": 3500,
"status": "pago",
"data_criacao": "2025-05-10T14:30:00Z"
}
}
{
"error": "Não autorizado. Token de autenticação inválido ou ausente."
}
Console Interativo de Teste da API
Execute requisições reais diretamente do seu navegador nesta instância.
// O resultado da chamada aparecerá aqui...