Categorias
Base: https://api.nivesistemas.com.br · 11 endpoints
GET /categories
Seção intitulada “GET /categories”Listar categoria
curl -X GET "https://api.nivesistemas.com.br/categories" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo"const res = await fetch("https://api.nivesistemas.com.br/categories", { method: "GET", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },});const data = await res.json();import requests
res = requests.request( "GET", "https://api.nivesistemas.com.br/categories", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },)print(res.json())POST /categories
Seção intitulada “POST /categories”Criar categoria
Corpo (JSON)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name |
string | sim | Nome da categoria |
defaultNcm |
string | não | NCM padrão (8 dígitos, opcional) |
Resposta: 201 Created
curl -X POST "https://api.nivesistemas.com.br/categories" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo" \ -H "Content-Type: application/json" \ -d '{"name":"Exemplo","defaultNcm":""}'const res = await fetch("https://api.nivesistemas.com.br/categories", { method: "POST", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", "Content-Type": "application/json", }, body: JSON.stringify({ "name": "Exemplo", "defaultNcm": "" }),});const data = await res.json();import requests
res = requests.request( "POST", "https://api.nivesistemas.com.br/categories", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", }, json={ "name": "Exemplo", "defaultNcm": "" },)print(res.json())PATCH /categories/:id
Seção intitulada “PATCH /categories/:id”Atualizar categoria
Parâmetros de rota: id
Corpo (JSON)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name |
string | sim | Nome da categoria |
defaultNcm |
string | não | NCM padrão (8 dígitos, opcional) |
curl -X PATCH "https://api.nivesistemas.com.br/categories/{id}" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo" \ -H "Content-Type: application/json" \ -d '{"name":"Exemplo","defaultNcm":""}'const res = await fetch("https://api.nivesistemas.com.br/categories/{id}", { method: "PATCH", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", "Content-Type": "application/json", }, body: JSON.stringify({ "name": "Exemplo", "defaultNcm": "" }),});const data = await res.json();import requests
res = requests.request( "PATCH", "https://api.nivesistemas.com.br/categories/{id}", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", }, json={ "name": "Exemplo", "defaultNcm": "" },)print(res.json())DELETE /categories/:id
Seção intitulada “DELETE /categories/:id”Excluir categoria
Parâmetros de rota: id
Resposta: 204 No Content
curl -X DELETE "https://api.nivesistemas.com.br/categories/{id}" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo"const res = await fetch("https://api.nivesistemas.com.br/categories/{id}", { method: "DELETE", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },});const data = await res.json();import requests
res = requests.request( "DELETE", "https://api.nivesistemas.com.br/categories/{id}", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },)print(res.json())GET /categories/seed/profiles
Seção intitulada “GET /categories/seed/profiles”Ramos disponíveis para sugestão de categorias
Resposta: { profiles: [{ id, label }], suggested }
curl -X GET "https://api.nivesistemas.com.br/categories/seed/profiles" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo"const res = await fetch("https://api.nivesistemas.com.br/categories/seed/profiles", { method: "GET", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },});const data = await res.json();import requests
res = requests.request( "GET", "https://api.nivesistemas.com.br/categories/seed/profiles", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },)print(res.json())POST /categories/seed/suggest
Seção intitulada “POST /categories/seed/suggest”Sugerir categorias do ramo (catálogo fiscal + IA)
Corpo (JSON)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
profile |
string | não | Ramo; padrão vem do CNAE da loja |
businessDescription |
string | não | Descrição livre do negócio (até 500 caracteres) |
useAi |
boolean | não | false devolve só o catálogo do ramo |
Resposta: { profile, profileLabel, aiUsed, aiError, items }
curl -X POST "https://api.nivesistemas.com.br/categories/seed/suggest" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo" \ -H "Content-Type: application/json" \ -d '{"profile":"","businessDescription":"","useAi":true}'const res = await fetch("https://api.nivesistemas.com.br/categories/seed/suggest", { method: "POST", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", "Content-Type": "application/json", }, body: JSON.stringify({ "profile": "", "businessDescription": "", "useAi": true }),});const data = await res.json();import requests
res = requests.request( "POST", "https://api.nivesistemas.com.br/categories/seed/suggest", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", }, json={ "profile": "", "businessDescription": "", "useAi": True },)print(res.json())POST /categories/seed/apply
Seção intitulada “POST /categories/seed/apply”Cadastrar em massa as categorias escolhidas
Corpo (JSON)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
items |
{ name, defaultNcm? }[] | sim | Até 60 categorias; nome já cadastrado é pulado |
Resposta: { created, skipped }
curl -X POST "https://api.nivesistemas.com.br/categories/seed/apply" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo" \ -H "Content-Type: application/json" \ -d '{"items":null}'const res = await fetch("https://api.nivesistemas.com.br/categories/seed/apply", { method: "POST", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", "Content-Type": "application/json", }, body: JSON.stringify({ "items": null }),});const data = await res.json();import requests
res = requests.request( "POST", "https://api.nivesistemas.com.br/categories/seed/apply", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", }, json={ "items": None },)print(res.json())GET /categories/:id/products
Seção intitulada “GET /categories/:id/products”Produtos da categoria (paginado)
Parâmetros de rota: id
Query params
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
q |
string | não | Busca por nome, SKU ou código |
page |
integer | não | Página (padrão 1) |
take |
integer | não | Itens por página (1–100, padrão 10) |
curl -X GET "https://api.nivesistemas.com.br/categories/{id}/products" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo"const res = await fetch("https://api.nivesistemas.com.br/categories/{id}/products", { method: "GET", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },});const data = await res.json();import requests
res = requests.request( "GET", "https://api.nivesistemas.com.br/categories/{id}/products", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },)print(res.json())DELETE /categories/:id/products/:productId
Seção intitulada “DELETE /categories/:id/products/:productId”Tirar o produto da categoria (não apaga o produto)
Parâmetros de rota: id, productId
Resposta: 204 No Content
curl -X DELETE "https://api.nivesistemas.com.br/categories/{id}/products/{productId}" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo"const res = await fetch("https://api.nivesistemas.com.br/categories/{id}/products/{productId}", { method: "DELETE", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },});const data = await res.json();import requests
res = requests.request( "DELETE", "https://api.nivesistemas.com.br/categories/{id}/products/{productId}", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },)print(res.json())POST /categories/:id/apply-ncm
Seção intitulada “POST /categories/:id/apply-ncm”Aplicar o NCM padrão da categoria aos produtos sem NCM válido (nunca sobrescreve; ignora serviços)
Parâmetros de rota: id
curl -X POST "https://api.nivesistemas.com.br/categories/{id}/apply-ncm" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo"const res = await fetch("https://api.nivesistemas.com.br/categories/{id}/apply-ncm", { method: "POST", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },});const data = await res.json();import requests
res = requests.request( "POST", "https://api.nivesistemas.com.br/categories/{id}/apply-ncm", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", },)print(res.json())POST /categories/bulk-delete
Seção intitulada “POST /categories/bulk-delete”Excluir categorias em lote (produtos ficam sem categoria)
Corpo (JSON)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
ids |
uuid[] | sim | Até 200 categorias |
Resposta: Retorna { deleted, unlinkedProducts }
curl -X POST "https://api.nivesistemas.com.br/categories/bulk-delete" \ -H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \ -H "X-Store-Slug: loja-demo" \ -H "Content-Type: application/json" \ -d '{"ids":null}'const res = await fetch("https://api.nivesistemas.com.br/categories/bulk-delete", { method: "POST", headers: { Authorization: "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", "Content-Type": "application/json", }, body: JSON.stringify({ "ids": null }),});const data = await res.json();import requests
res = requests.request( "POST", "https://api.nivesistemas.com.br/categories/bulk-delete", headers={ "Authorization": "Bearer sl_live_exemplo_abc123xyz789", "X-Store-Slug": "loja-demo", }, json={ "ids": None },)print(res.json())
