Pular para o conteúdo principal

API Reference

A API REST do LJ Velas & Aromas segue os princípios REST e usa JSON para todos os payloads.

👉 Abrir documentação interativa (Redoc)


Base URLs​

AmbienteURL
Produçãohttps://ljvelasearomas.com.br
Desenvolvimento localhttp://localhost:3000

Autenticação​

A API possui dois mecanismos de autenticação dependendo do grupo de endpoints:

Endpoints da loja (/api/*)​

Rotas protegidas utilizam cookie de sessão JWT (token), definido automaticamente após uma chamada bem-sucedida a /api/auth/login ou /api/auth/register.

# O cookie é definido automaticamente pelo servidor.
# Basta enviar as requisições com credentials: "include" no fetch.

Endpoints de integração (/api/v1/*)​

Requerem API Key com prefixo lvk_ enviada no header Authorization:

Authorization: Bearer lvk_suachaveaqui

As chaves são gerenciadas no painel administrativo e possuem escopos granulares:

EscopoDescrição
products:readLeitura de produtos
products:writeAtualização de produtos
stock:writeAtualização de estoque
orders:readLeitura de pedidos
orders:writeAtualização de status e rastreio

Endpoints disponíveis​

Auth​

MétodoEndpointDescriçãoAuth
POST/api/auth/loginLogin com email e senha—
POST/api/auth/registerRegistro de novo usuário—
POST/api/auth/logoutEncerrar sessão—
GET/api/auth/meDados do usuário autenticadoCookie JWT
PUT/api/auth/meAtualizar perfilCookie JWT

Loja pública​

MétodoEndpointDescriçãoAuth
GET/api/productsListar produtos ativos—
GET/api/products/{slug}Detalhe de produto por slug—
GET/api/categoriesListar categorias ativas—
GET/api/shipping/calculateCalcular frete por CEP—
POST/api/coupons/validateValidar cupom de descontoCookie JWT
GET/api/ordersListar pedidos do usuárioCookie JWT
POST/api/ordersCriar pedidoCookie JWT

API de integração (v1)​

MétodoEndpointEscopo necessário
GET/api/v1/productsproducts:read
GET/api/v1/products/{id}products:read
PATCH/api/v1/products/{id}products:write
PATCH/api/v1/products/{id}/stockstock:write
GET/api/v1/ordersorders:read
GET/api/v1/orders/{id}orders:read
PATCH/api/v1/orders/{id}orders:write

Códigos de resposta comuns​

CódigoSignificado
200Sucesso
201Recurso criado
400Dados inválidos (validação Zod)
401Não autenticado (cookie ausente, API key inválida)
403Conta suspensa ou escopo de API key insuficiente
404Recurso não encontrado
409Conflito (ex: email já cadastrado)
422Erro semântico (ex: CEP inexistente, cupom esgotado)
429Rate limit atingido
500Erro interno do servidor

Todos os erros retornam o body:

{
"error": "Mensagem descritiva do erro"
}

Rate limits​

EndpointLimite
POST /api/auth/login10 tentativas / 15 min por IP
POST /api/auth/register5 tentativas / hora por IP
POST /api/coupons/validate30 tentativas / min por IP

Quando o limite é atingido, a resposta inclui o header Retry-After (em segundos).


Para a documentação interativa completa com todos os schemas e exemplos, acesse API Reference → Redoc.