Regras de imposto
Lista, consulta, cria, altera e remove as regras de imposto cadastradas na loja.
Uma regra de imposto é um cadastro nomeado, com prioridade e status, que a loja usa para classificar a tributação dos produtos ("Mercadorias - Lucro Presumido", "Produtos Digitais"). Estas rotas leem e mantêm esse cadastro. Todas exigem um usuário administrador. O id da regra é um número inteiro.
/api/v1.0/taxesAdminListar as regras de imposto
Devolve todas as regras da loja. A lista não é fatiada pelo servidor: page e items_per_page aparecem em params só como eco do que você mandou.
Parâmetros de consulta
pageintegerpadrão: 1params.page.items_per_pageintegerpadrão: 10params.items_per_page./api/v1.0/taxes/{id}AdminConsultar uma regra de imposto
Devolve uma regra pelo id.
Parâmetros de caminho
idintegerobrigatório/api/v1.0/taxesAdminCriar uma regra de imposto
Cria uma regra e responde 201 com o id. A rota grava só nome, prioridade e status: não cria alíquotas.
Corpo da requisição
taxstringobrigatóriopriorityintegerpadrão: 0statusstringpadrão: AADD cria a regra desativada. Qualquer outro valor, ou a ausência do campo, cria ativa.rates_typestring/api/v1.0/taxes/{id}AdminAlterar uma regra de imposto
Altera só o que você enviar e responde 200 com o id.
Parâmetros de caminho
idintegerobrigatórioCorpo da requisição
taxstringpriorityintegerstatusstringADD desativa; qualquer outro valor ativa./api/v1.0/taxes/{id}AdminRemover uma regra de imposto
Remove a regra e responde 204 sem corpo.
Parâmetros de caminho
idintegerobrigatórioExemplo de requisição
curl -u "$EMAIL:$API_KEY" -X POST "$BASE_URL/api/v1.0/taxes" \
-H "Content-Type: application/json" \
-d '{"tax":"Produtos Digitais","priority":15,"status":"A"}'
curl -u "$EMAIL:$API_KEY" "$BASE_URL/api/v1.0/taxes"Resposta
{
"params": { "items_per_page": 10, "page": 1, "total_items": 2 },
"taxes": [
{ "tax_id": 6, "tax": "Produtos Digitais", "regnumber": "", "priority": 15, "rates_type": "P", "status": "A" },
{ "tax_id": 2, "tax": "Mercadorias - Lucro Presumido", "regnumber": "", "priority": 10, "rates_type": "P", "status": "A" }
]
}{ "tax_id": 8 }Campos da resposta
taxesarraytaxes[].tax_idintegertaxes[].taxstringtaxes[].regnumberstringtaxes[].priorityintegertaxes[].rates_typestringP.taxes[].statusstringADA ativa, D desativada.paramsobjectitems_per_page, page e total_items (quantidade de regras devolvidas).Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo que não é JSON | {"message":"invalid JSON","status":400} |
| 400 | Id que não é número | {"message":"invalid tax id","status":400} |
| 400 | Falta tax na criação | {"message":"tax (name) is required","status":400} |
| 400 | Alteração de regra inexistente | {"message":"tax rule 9999 not found","status":400} |
| 401 | Sem credenciais | {"message":"Authentication required. Use HTTP Basic with email:api_key or Bearer <jwt>.","status":401} |
| 403 | Usuário que não é administrador | {"message":"Forbidden: admin scope required","status":403} |
| 404 | Consulta de regra inexistente | {"message":"tax 9999 not found","status":404} |
| 404 | Remoção de regra inexistente | {"message":"tax rule 9999 not found","status":404} |