Pular para o conteúdo

Aprovações

Pedidos de aprovação de ações sensíveis (cancelar ou reabrir venda, etc.) feitos por usuários sem liberação e respondidos por quem tem permissão de aprovar. Também podem ser respondidos pelo WhatsApp.

Base: https://api.nivesistemas.com.br · 6 endpoints

Como a tela deve confirmar ações sensíveis para o usuário logado

Resposta: { policy }. ADMIN = confirma com a própria senha de administrador; FREE = usuário liberado, executa na hora; APPROVAL = a ação vira um pedido de aprovação.

Janela do terminal
curl -X GET "https://api.nivesistemas.com.br/approvals/policy" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo"

Contadores de pedidos pendentes (para o selo de notificação)

Resposta: { canDecide, toDecide, mine }. toDecide = pedidos de outros usuários aguardando resposta (0 se o usuário não pode aprovar); mine = pedidos pendentes feitos pelo próprio usuário.

Janela do terminal
curl -X GET "https://api.nivesistemas.com.br/approvals/count" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo"

Listar pedidos de aprovação

Query params

Campo Tipo Obrigatório Descrição
scope string não mine (padrão: últimos 50 pedidos do próprio usuário), pending (pendentes de todos, mais antigos primeiro; só para quem aprova) ou history (já respondidos, últimos 100; só para quem aprova)

Resposta: { canDecide, items }. Cada item traz id, type, typeLabel, entityType, entityId, status (PENDING, APPROVED, REJECTED, CANCELLED, EXPIRED ou FAILED), summary, justification, requestedByName, decidedByName, decidedAt, decidedVia (APP ou WHATSAPP), decisionNote, resultMessage, expiresAt e createdAt. Pedidos vencidos viram EXPIRED na leitura.

Janela do terminal
curl -X GET "https://api.nivesistemas.com.br/approvals" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo"

Aprovar o pedido — a ação solicitada é executada na hora (exige permissão de aprovar)

Parâmetros de rota: id

Corpo (JSON)

Campo Tipo Obrigatório Descrição
note string não Observação da decisão (até 300 caracteres)

Resposta: { outcome, message, approval }. outcome: approved (ação executada; message traz o resultado), failed (aprovado mas a execução falhou; message traz o erro e o pedido fica FAILED), already (já respondido) ou expired. 403 se o usuário não pode aprovar ou se foi ele mesmo quem fez o pedido; 404 se não existe.

Janela do terminal
curl -X POST "https://api.nivesistemas.com.br/approvals/{id}/approve" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo" \
-H "Content-Type: application/json" \
-d '{"note":""}'

Recusar o pedido — a ação solicitada não é executada (exige permissão de aprovar)

Parâmetros de rota: id

Corpo (JSON)

Campo Tipo Obrigatório Descrição
note string não Motivo da recusa (até 300 caracteres)

Resposta: { outcome, message, approval }. outcome: rejected, already ou expired. 403 se o usuário não pode aprovar ou se foi ele mesmo quem fez o pedido.

Janela do terminal
curl -X POST "https://api.nivesistemas.com.br/approvals/{id}/reject" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo" \
-H "Content-Type: application/json" \
-d '{"note":""}'

Desistir de um pedido ainda pendente (quem pediu ou um aprovador)

Parâmetros de rota: id

Resposta: { approval } com status CANCELLED. 403 se não for o solicitante nem aprovador; 409 se o pedido já foi respondido.

Janela do terminal
curl -X POST "https://api.nivesistemas.com.br/approvals/{id}/cancel" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo"