MENU navbar-image

Introduction

API multi-tenant do Valuor ERP.

Contextos de uso

Admin Central (backend.valuor.com.br/api/) — Rotas exclusivas do super_admin para gestão de tenants, planos, assinaturas, faturamento e configurações do sistema.

Tenant ({empresa}.valuor.com.br/api/) — Rotas do ERP acessadas pelos usuários de cada empresa. Requerem que o banco de dados do tenant esteja provisionado.

Central — Público — Registro de novas empresas, listagem de planos e download de APKs. Acessíveis sem autenticação.

This documentation aims to provide all the information you need to work with our API.

Authenticating requests

This API is not authenticated.

Central — Cadastro

POST api/register

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/register" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"company_name\": \"aioqastibvtguzxhgijsatk\",
    \"subdomain\": \"mbtpkislsyytjdzpridj\",
    \"admin_name\": \"pezrqxnwthuq\",
    \"admin_email\": \"[email protected]\",
    \"admin_password\": \"vxtwjmhesiknvgfvgrsnxbzorjkqooeobbucclyieu\",
    \"plan_slug\": \"molestias\",
    \"billing_cycle\": \"quarterly\",
    \"payment_method\": \"pix\",
    \"coupon_code\": \"iv\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/register"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "company_name": "aioqastibvtguzxhgijsatk",
    "subdomain": "mbtpkislsyytjdzpridj",
    "admin_name": "pezrqxnwthuq",
    "admin_email": "[email protected]",
    "admin_password": "vxtwjmhesiknvgfvgrsnxbzorjkqooeobbucclyieu",
    "plan_slug": "molestias",
    "billing_cycle": "quarterly",
    "payment_method": "pix",
    "coupon_code": "iv"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Dados inválidos.",
    "errors": {
        "plan_slug": [
            "validation.exists"
        ]
    }
}
 

Request      

POST api/register

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

company_name   string   

validation.max. Example: aioqastibvtguzxhgijsatk

subdomain   string   

Must match the regex /^[a-z0-9-]+$/. validation.max. Example: mbtpkislsyytjdzpridj

admin_name   string   

validation.max. Example: pezrqxnwthuq

admin_email   string   

validation.email validation.max. Example: [email protected]

admin_password   string   

validation.min. Example: vxtwjmhesiknvgfvgrsnxbzorjkqooeobbucclyieu

plan_slug   string   

The slug of an existing record in the planos table. Example: molestias

billing_cycle   string  optional  

Example: quarterly

Must be one of:
  • monthly
  • quarterly
  • annual
payment_method   string   

Example: pix

Must be one of:
  • stripe
  • pix
  • boleto
coupon_code   string  optional  

validation.max. Example: iv

Central — Planos

Lista os planos públicos e ativos (para landing / tela de cadastro).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/plans" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/plans"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "data": [
        {
            "id": 4,
            "nome": "Start",
            "slug": "start",
            "descricao": "Para começar a vender com nota fiscal e controle básico.",
            "preco_mensal": 199,
            "preco_anual": 1990,
            "trial_dias": 14,
            "limite_empresas": 1,
            "limite_usuarios": 10,
            "limite_usuarios_simultaneos": 2,
            "limite_pdvs": 1,
            "limite_vendedores": 1,
            "limite_produtos": -1,
            "limite_clientes": -1,
            "features": [
                "nfe",
                "nfce",
                "reforma_tributaria",
                "certificado",
                "importacao_xml",
                "estoque",
                "tabelas_preco",
                "pdv",
                "vendas",
                "devolucoes",
                "compras",
                "devolucoes_compra",
                "fornecedor",
                "contas",
                "fluxo_caixa",
                "caixa",
                "plano_contas",
                "recibos",
                "contas_correntes",
                "clientes",
                "dashboard",
                "agente_local",
                "importacao_dados",
                "multi_cnpj",
                "dois_fatores",
                "backup_nuvem",
                "app_forca_vendas"
            ],
            "ativo": true,
            "publico": true,
            "destaque": false,
            "ordem": 1,
            "created_at": "2026-06-07T07:40:09.000000Z",
            "updated_at": "2026-06-07T07:40:09.000000Z"
        },
        {
            "id": 5,
            "nome": "Business",
            "slug": "business",
            "descricao": "O mais escolhido: gestão completa para o seu crescimento.",
            "preco_mensal": 499,
            "preco_anual": 4990,
            "trial_dias": 14,
            "limite_empresas": 5,
            "limite_usuarios": 50,
            "limite_usuarios_simultaneos": 10,
            "limite_pdvs": 5,
            "limite_vendedores": 5,
            "limite_produtos": -1,
            "limite_clientes": -1,
            "features": [
                "nfe",
                "nfce",
                "reforma_tributaria",
                "certificado",
                "importacao_xml",
                "estoque",
                "tabelas_preco",
                "pdv",
                "vendas",
                "devolucoes",
                "compras",
                "devolucoes_compra",
                "fornecedor",
                "contas",
                "fluxo_caixa",
                "caixa",
                "plano_contas",
                "recibos",
                "contas_correntes",
                "clientes",
                "dashboard",
                "agente_local",
                "importacao_dados",
                "multi_cnpj",
                "dois_fatores",
                "backup_nuvem",
                "app_forca_vendas",
                "nfe_destinadas",
                "sped",
                "inventario",
                "diagnostico_fiscal",
                "estoque_deposito",
                "transferencias",
                "lotes_validade",
                "grade",
                "fiado",
                "comissoes",
                "comandas",
                "os",
                "regua_cobranca",
                "dre",
                "crm",
                "metas",
                "bi_basico",
                "api_rest",
                "permissoes_granulares"
            ],
            "ativo": true,
            "publico": true,
            "destaque": true,
            "ordem": 2,
            "created_at": "2026-06-07T07:40:09.000000Z",
            "updated_at": "2026-06-07T07:40:09.000000Z"
        },
        {
            "id": 6,
            "nome": "Professional",
            "slug": "professional",
            "descricao": "Para operações maiores: BI avançado, food, transporte e mais.",
            "preco_mensal": 999,
            "preco_anual": 9990,
            "trial_dias": 14,
            "limite_empresas": 20,
            "limite_usuarios": 200,
            "limite_usuarios_simultaneos": 30,
            "limite_pdvs": 20,
            "limite_vendedores": 20,
            "limite_produtos": -1,
            "limite_clientes": -1,
            "features": [
                "nfe",
                "nfce",
                "reforma_tributaria",
                "certificado",
                "importacao_xml",
                "estoque",
                "tabelas_preco",
                "pdv",
                "vendas",
                "devolucoes",
                "compras",
                "devolucoes_compra",
                "fornecedor",
                "contas",
                "fluxo_caixa",
                "caixa",
                "plano_contas",
                "recibos",
                "contas_correntes",
                "clientes",
                "dashboard",
                "agente_local",
                "importacao_dados",
                "multi_cnpj",
                "dois_fatores",
                "backup_nuvem",
                "app_forca_vendas",
                "nfe_destinadas",
                "sped",
                "inventario",
                "diagnostico_fiscal",
                "estoque_deposito",
                "transferencias",
                "lotes_validade",
                "grade",
                "fiado",
                "comissoes",
                "comandas",
                "os",
                "regua_cobranca",
                "dre",
                "crm",
                "metas",
                "api_rest",
                "permissoes_granulares",
                "cte",
                "mdfe",
                "ficha_tecnica",
                "reposicao",
                "previsao_ruptura",
                "kds",
                "tef",
                "boleto",
                "conciliacao",
                "bi_avancado",
                "auditoria",
                "app_consumidor",
                "whatsapp"
            ],
            "ativo": true,
            "publico": true,
            "destaque": false,
            "ordem": 3,
            "created_at": "2026-06-07T07:40:09.000000Z",
            "updated_at": "2026-06-07T07:40:09.000000Z"
        },
        {
            "id": 3,
            "nome": "Enterprise",
            "slug": "enterprise",
            "descricao": "Sob medida: multiempresa ilimitado e suporte dedicado.",
            "preco_mensal": 0,
            "preco_anual": 0,
            "trial_dias": 0,
            "limite_empresas": -1,
            "limite_usuarios": -1,
            "limite_usuarios_simultaneos": -1,
            "limite_pdvs": -1,
            "limite_vendedores": -1,
            "limite_produtos": -1,
            "limite_clientes": -1,
            "features": [
                "nfe",
                "nfce",
                "reforma_tributaria",
                "certificado",
                "importacao_xml",
                "estoque",
                "tabelas_preco",
                "pdv",
                "vendas",
                "devolucoes",
                "compras",
                "devolucoes_compra",
                "fornecedor",
                "contas",
                "fluxo_caixa",
                "caixa",
                "plano_contas",
                "recibos",
                "contas_correntes",
                "clientes",
                "dashboard",
                "agente_local",
                "importacao_dados",
                "multi_cnpj",
                "dois_fatores",
                "backup_nuvem",
                "app_forca_vendas",
                "nfe_destinadas",
                "sped",
                "inventario",
                "diagnostico_fiscal",
                "estoque_deposito",
                "transferencias",
                "lotes_validade",
                "grade",
                "fiado",
                "comissoes",
                "comandas",
                "os",
                "regua_cobranca",
                "dre",
                "crm",
                "metas",
                "api_rest",
                "permissoes_granulares",
                "cte",
                "mdfe",
                "ficha_tecnica",
                "reposicao",
                "previsao_ruptura",
                "kds",
                "tef",
                "boleto",
                "conciliacao",
                "auditoria",
                "app_consumidor",
                "whatsapp",
                "bi_completo",
                "ecommerce"
            ],
            "ativo": true,
            "publico": true,
            "destaque": false,
            "ordem": 4,
            "created_at": "2026-06-07T07:40:09.000000Z",
            "updated_at": "2026-06-07T07:40:09.000000Z"
        }
    ]
}
 

Request      

GET api/plans

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/plans/{slug}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/plans/quia" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/plans/quia"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Usuário sem empresa vinculada."
}
 

Request      

GET api/plans/{slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

slug   string   

The slug of the plan. Example: quia

Central — Aplicativo

Retorna a versão mais recente de um app para o cliente checar atualização.

Endpoint público — sem autenticação.

GET /api/auth/app/versao?app=mobile|pdv|consumidor

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/auth/app/versao" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/auth/app/versao"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "version_name": "1.0.0",
    "version_code": 73,
    "apk_url": "https://backend.valuor.com.br/api/app/download/50",
    "mandatory": false,
    "sha256": "b54f6bcb822cf75cc4873cef59824b238ae24592f3c3af14f3e08f5e78944879",
    "changelog": null
}
 

Request      

GET api/auth/app/versao

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Faz download do APK. Se for URL externa, redireciona; caso contrário, serve o arquivo local.

Rota pública: GET /api/app/download/{id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/app/download/50" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/app/download/50"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
content-type: application/vnd.android.package-archive
content-disposition: attachment; filename="mobile-1.0.0-73.apk"
cache-control: no-store, private
vary: Origin
 


 

Request      

GET api/app/download/{appRelease_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

appRelease_id   integer   

The ID of the appRelease. Example: 50

Lista todos os releases. Exclusivo super_admin.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/admin/app-releases" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/app-releases"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

GET api/admin/app-releases

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Cria um novo release. Aceita upload de arquivo OU URL externa.

Multipart: app_type, version_name, version_code, mandatory, changelog, apk (file) | apk_url (texto)

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/app-releases" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "app_type=pdv"\
    --form "version_name=ahjlvtdnu"\
    --form "version_code=13"\
    --form "mandatory="\
    --form "changelog=xatcsamtxqogprzsb"\
    --form "sha256=bxgujdcbksumpipunfbvwqgbyxwlnjbhwuojlygqeocnbltolmpdrcofggxifkgn"\
    --form "apk_url=http://gutkowski.biz/dolore-eaque-similique-vitae-officia-modi-in-sunt-harum.html"\
    --form "apk=@/tmp/phpjlAeaH" 
const url = new URL(
    "https://backend.valuor.com.br/api/admin/app-releases"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('app_type', 'pdv');
body.append('version_name', 'ahjlvtdnu');
body.append('version_code', '13');
body.append('mandatory', '');
body.append('changelog', 'xatcsamtxqogprzsb');
body.append('sha256', 'bxgujdcbksumpipunfbvwqgbyxwlnjbhwuojlygqeocnbltolmpdrcofggxifkgn');
body.append('apk_url', 'http://gutkowski.biz/dolore-eaque-similique-vitae-officia-modi-in-sunt-harum.html');
body.append('apk', document.querySelector('input[name="apk"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/app-releases

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

app_type   string   

Example: pdv

Must be one of:
  • mobile
  • pdv
  • consumidor
version_name   string   

validation.max. Example: ahjlvtdnu

version_code   integer   

validation.min. Example: 13

mandatory   boolean  optional  

Example: false

changelog   string  optional  

validation.max. Example: xatcsamtxqogprzsb

sha256   string  optional  

validation.size. Example: bxgujdcbksumpipunfbvwqgbyxwlnjbhwuojlygqeocnbltolmpdrcofggxifkgn

apk   file  optional  

Must be a file. validation.max. Example: /tmp/phpjlAeaH

apk_url   string  optional  

Must be a valid URL. validation.max. Example: http://gutkowski.biz/dolore-eaque-similique-vitae-officia-modi-in-sunt-harum.html

Atualiza metadados de um release (mandatory, ativo, changelog, apk_url).

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/admin/app-releases/50" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"mandatory\": true,
    \"ativo\": false,
    \"changelog\": \"phr\",
    \"apk_url\": \"http:\\/\\/gleichner.com\\/magni-repudiandae-molestiae-officia-quia-quia-non\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/app-releases/50"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "mandatory": true,
    "ativo": false,
    "changelog": "phr",
    "apk_url": "http:\/\/gleichner.com\/magni-repudiandae-molestiae-officia-quia-quia-non"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

PUT api/admin/app-releases/{appRelease_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

appRelease_id   integer   

The ID of the appRelease. Example: 50

Body Parameters

mandatory   boolean  optional  

Example: true

ativo   boolean  optional  

Example: false

changelog   string  optional  

validation.max. Example: phr

apk_url   string  optional  

Must be a valid URL. validation.max. Example: http://gleichner.com/magni-repudiandae-molestiae-officia-quia-quia-non

Remove o release e o arquivo APK.

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/admin/app-releases/50" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/app-releases/50"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

DELETE api/admin/app-releases/{appRelease_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

appRelease_id   integer   

The ID of the appRelease. Example: 50

Autenticação

Endpoints de login, logout e dados do usuário autenticado.

Login

Autentica o usuário e retorna um Bearer token Sanctum. Passe o token em todas as requisições como Authorization: Bearer {token}.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/auth/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"[email protected]\",
    \"password\": \"password\",
    \"device_name\": \"Pixel 8\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/auth/login"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "[email protected]",
    "password": "password",
    "device_name": "Pixel 8"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "token": "1|xK8zQmN...",
    "user": {
        "id": 1,
        "name": "Administrador",
        "email": "[email protected]",
        "role": "admin_empresa",
        "ativo": true,
        "empresa_id": 1,
        "empresa": {
            "id": 1,
            "nome": "Empresa Exemplo",
            "cnpj": "12345678000100",
            "plano": "profissional"
        }
    }
}
 

Example response (401):


{
    "message": "Credenciais inválidas."
}
 

Example response (403):


{
    "message": "Usuário inativo."
}
 

Request      

POST api/auth/login

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string   

Email do usuário. Example: [email protected]

password   string   

Senha do usuário. Example: password

device_name   string  optional  

Nome do dispositivo (útil para apps mobile). Example: Pixel 8

Cadastro de nova empresa (onboarding público)

Cria a empresa e o usuário administrador inicial em uma única transação. Retorna token Sanctum para login automático.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/auth/register" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"Minha Empresa Ltda\",
    \"cnpj\": \"12345678000195\",
    \"email\": \"[email protected]\",
    \"telefone\": \"11999999999\",
    \"plano\": \"basico\",
    \"admin_nome\": \"João Silva\",
    \"admin_email\": \"[email protected]\",
    \"admin_password\": \"senha1234\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/auth/register"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nome": "Minha Empresa Ltda",
    "cnpj": "12345678000195",
    "email": "[email protected]",
    "telefone": "11999999999",
    "plano": "basico",
    "admin_nome": "João Silva",
    "admin_email": "[email protected]",
    "admin_password": "senha1234"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (201):


{
    "token": "1|abc...",
    "user": {
        "id": 1,
        "name": "João Silva"
    }
}
 

Request      

POST api/auth/register

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

nome   string   

Razão social da empresa. Example: Minha Empresa Ltda

cnpj   string  optional  

CNPJ (14 dígitos). Example: 12345678000195

email   string   

E-mail da empresa. Example: [email protected]

telefone   string  optional  

Telefone. Example: 11999999999

plano   string   

Plano: basico, profissional, enterprise. Example: basico

admin_nome   string   

Nome do administrador. Example: João Silva

admin_email   string   

E-mail do administrador (login). Example: [email protected]

admin_password   string   

Senha mínimo 8 caracteres. Example: senha1234

Usuário autenticado

Retorna os dados do usuário dono do token atual.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/auth/me" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/auth/me"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "user": {
        "id": 1,
        "name": "Administrador",
        "email": "[email protected]",
        "role": "admin_empresa",
        "ativo": true,
        "empresa_id": 1,
        "empresa": {
            "id": 1,
            "nome": "Empresa Exemplo"
        }
    }
}
 

Request      

GET api/auth/me

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Matriz de permissões efetivas do usuário autenticado.

Retorna { tela: { ver, incluir, editar, excluir } }. O frontend cacheia e usa para esconder/desabilitar botões. Backend ainda é a fonte da verdade — use o middleware permission:tela.acao para reforçar nas rotas.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/auth/permissoes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/auth/permissoes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

GET api/auth/permissoes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Logout

Revoga o token atual.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/auth/logout" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/auth/logout"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (200):


{
    "message": "Logout realizado com sucesso."
}
 

Request      

POST api/auth/logout

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Logout em todos os dispositivos

Revoga todos os tokens do usuário (todos os dispositivos).

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/auth/logout-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/auth/logout-all"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (200):


{
    "message": "Todos os tokens revogados."
}
 

Request      

POST api/auth/logout-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Token de acesso à API Fiscal (JWT curta duração — mobile)

Gera um JWT HS256 válido por 30 minutos para que o app mobile chame a API Fiscal diretamente (NFC-e, DANFE) sem expor a API Key.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/auth/fiscal-token" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/auth/fiscal-token"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (200):


{
    "token": "eyJ...",
    "expires_in": 1800
}
 

Request      

POST api/auth/fiscal-token

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Perfil

Gerenciamento do perfil do usuário autenticado.

Meu perfil

Retorna os dados do usuário autenticado com empresa vinculada.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/auth/profile" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/auth/profile"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "user": {
        "id": 1,
        "name": "João Silva",
        "email": "[email protected]",
        "role": "vendedor",
        "ativo": true,
        "empresa": {
            "id": 1,
            "nome": "Empresa Ltda"
        }
    }
}
 

Request      

GET api/auth/profile

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Atualizar perfil

Atualiza nome, email e/ou senha do usuário autenticado. Para alterar a senha, envie password_atual + password + password_confirmation.

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/auth/profile" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"João Silva\",
    \"email\": \"[email protected]\",
    \"password_atual\": \"senhaAtual123\",
    \"password\": \"novaSenha456\",
    \"password_confirmation\": \"novaSenha456\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/auth/profile"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "João Silva",
    "email": "[email protected]",
    "password_atual": "senhaAtual123",
    "password": "novaSenha456",
    "password_confirmation": "novaSenha456"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "user": {
        "id": 1,
        "name": "João Silva",
        "email": "[email protected]"
    }
}
 

Example response (422):


{
    "message": "The given data was invalid.",
    "errors": {
        "password_atual": [
            "Senha atual incorreta."
        ]
    }
}
 

Request      

PUT api/auth/profile

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string  optional  

Nome completo. Example: João Silva

email   string  optional  

Email. Example: [email protected]

password_atual   string  optional  

Senha atual (obrigatória apenas ao alterar senha). Example: senhaAtual123

password   string  optional  

Nova senha (mín. 8 caracteres). Example: novaSenha456

password_confirmation   string  optional  

Confirmação da nova senha. Example: novaSenha456

Notificações

GET api/notificacoes

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/notificacoes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/notificacoes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

GET api/notificacoes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/notificacoes/count

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/notificacoes/count" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/notificacoes/count"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

GET api/notificacoes/count

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

PATCH api/notificacoes/marcar-todas

Example request:
curl --request PATCH \
    "https://backend.valuor.com.br/api/notificacoes/marcar-todas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/notificacoes/marcar-todas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PATCH",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

PATCH api/notificacoes/marcar-todas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

PATCH api/notificacoes/{id}/lida

Example request:
curl --request PATCH \
    "https://backend.valuor.com.br/api/notificacoes/enim/lida" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/notificacoes/enim/lida"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PATCH",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

PATCH api/notificacoes/{id}/lida

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the notificaco. Example: enim

Sistema

POST api/errors/report

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/errors/report" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"source\": \"xvmqmpuftn\",
    \"message\": \"ulexw\",
    \"context\": \"rmrwuesunlxfjkxkbwnqt\",
    \"url\": \"https:\\/\\/www.skiles.com\\/culpa-at-corrupti-consequatur-voluptatem\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/errors/report"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "source": "xvmqmpuftn",
    "message": "ulexw",
    "context": "rmrwuesunlxfjkxkbwnqt",
    "url": "https:\/\/www.skiles.com\/culpa-at-corrupti-consequatur-voluptatem"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/errors/report

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

source   string   

validation.max. Example: xvmqmpuftn

message   string   

validation.max. Example: ulexw

context   string  optional  

validation.max. Example: rmrwuesunlxfjkxkbwnqt

url   string  optional  

validation.max. Example: https://www.skiles.com/culpa-at-corrupti-consequatur-voluptatem

Admin Central — Empresas

Painel de controle global. Exclusivo para super_admin.

GET api/admin/stats

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/admin/stats" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/stats"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

GET api/admin/stats

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Estatísticas globais

Retorna KPIs consolidados de todas as empresas.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/admin/server-health" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/server-health"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "data": {
        "empresas": {
            "total": 12,
            "ativas": 10,
            "por_plano": {
                "profissional": 7,
                "basico": 3
            }
        },
        "usuarios": {
            "total": 48,
            "ativos": 45
        },
        "vendas_mes": {
            "total": 342,
            "faturamento": 158000
        }
    }
}
 

Request      

GET api/admin/server-health

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/admin/containers/{name}/logs

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/admin/containers/dolores/logs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/containers/dolores/logs"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

GET api/admin/containers/{name}/logs

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

name   string   

Example: dolores

Limpa recursos Docker não utilizados (imagens, containers parados, volumes, networks)

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/docker-prune" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/docker-prune"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/docker-prune

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Reconstruir / redeployar o sistema (super_admin).

Aciona o serviço de webhook interno (o mesmo usado pelo GitHub), que roda git pull origin main + docker compose up --build. Fire-and-forget: o rebuild reinicia este próprio backend, então a conexão pode cair antes da resposta do webhook — isso é esperado e o deploy continua no container do webhook.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/rebuild" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"service\": \"voluptates\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/rebuild"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "service": "voluptates"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/rebuild

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

service   string  optional  

vazio/ausente = todos os serviços. Example: voluptates

Listar todas as empresas (admin)

Inclui contagem de usuários e data da última venda.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/admin/empresas?search=Tech&ativo=1&plano=profissional&per_page=20" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/empresas"
);

const params = {
    "search": "Tech",
    "ativo": "1",
    "plano": "profissional",
    "per_page": "20",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

GET api/admin/empresas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

search   string  optional  

Busca por nome ou CNPJ. Example: Tech

ativo   boolean  optional  

Filtrar por status. Example: true

plano   string  optional  

Filtrar por plano. Example: profissional

per_page   integer  optional  

Itens por página. Example: 20

Criar empresa

Cria uma nova empresa e opcionalmente o primeiro usuário admin.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/empresas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"Tech Soluções Ltda\",
    \"nome_fantasia\": \"mqhnoly\",
    \"subdominio\": \"f\",
    \"provisionar_dns\": true,
    \"cnpj\": \"12345678000100\",
    \"ie\": \"fiorxjofdvszpzoi\",
    \"im\": \"oejknoaey\",
    \"email\": \"[email protected]\",
    \"telefone\": \"11999990000\",
    \"plano\": \"profissional\",
    \"logradouro\": \"non\",
    \"numero\": \"gduowprc\",
    \"bairro\": \"aperiam\",
    \"cidade\": \"aut\",
    \"uf\": \"rb\",
    \"cep\": \"cyyomgb\",
    \"admin_nome\": \"Administrador\",
    \"admin_email\": \"[email protected]\",
    \"admin_password\": \"senha12345\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/empresas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nome": "Tech Soluções Ltda",
    "nome_fantasia": "mqhnoly",
    "subdominio": "f",
    "provisionar_dns": true,
    "cnpj": "12345678000100",
    "ie": "fiorxjofdvszpzoi",
    "im": "oejknoaey",
    "email": "[email protected]",
    "telefone": "11999990000",
    "plano": "profissional",
    "logradouro": "non",
    "numero": "gduowprc",
    "bairro": "aperiam",
    "cidade": "aut",
    "uf": "rb",
    "cep": "cyyomgb",
    "admin_nome": "Administrador",
    "admin_email": "[email protected]",
    "admin_password": "senha12345"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (201):


{
    "data": {
        "id": 5,
        "nome": "Tech Soluções Ltda",
        "ativo": true
    }
}
 

Request      

POST api/admin/empresas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

nome   string   

Razão Social. Example: Tech Soluções Ltda

nome_fantasia   string  optional  

validation.max. Example: mqhnoly

subdominio   string  optional  

Must contain only letters, numbers, dashes and underscores. validation.max. Example: f

provisionar_dns   boolean  optional  

Example: true

cnpj   string  optional  

CNPJ (14 dígitos sem formatação). Example: 12345678000100

ie   string  optional  

validation.max. Example: fiorxjofdvszpzoi

im   string  optional  

validation.max. Example: oejknoaey

email   string   

Email da empresa. Example: [email protected]

telefone   string  optional  

Telefone. Example: 11999990000

plano   string  optional  

Plano: basico, profissional, enterprise. Example: profissional

logradouro   string  optional  

Example: non

numero   string  optional  

validation.max. Example: gduowprc

bairro   string  optional  

Example: aperiam

cidade   string  optional  

Example: aut

uf   string  optional  

validation.size. Example: rb

cep   string  optional  

validation.max. Example: cyyomgb

admin_nome   string  optional  

Nome do usuário admin inicial. Example: Administrador

admin_email   string  optional  

Email do usuário admin inicial. Example: [email protected]

admin_password   string  optional  

Senha do usuário admin (mín. 8 caracteres). Example: senha12345

Atualizar empresa (admin)

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/admin/empresas/7" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"xxmleanmdnefeuw\",
    \"nome_fantasia\": \"q\",
    \"subdominio\": \"xoznlksxfmpphs\",
    \"cnpj\": \"kbfkwsufqdxeen\",
    \"ie\": \"geqjfjggszpciwydqu\",
    \"im\": \"djaiunjotqcvkftpaj\",
    \"email\": \"[email protected]\",
    \"telefone\": \"jnzmkt\",
    \"plano\": \"profissional\",
    \"ativo\": true,
    \"logradouro\": \"cupiditate\",
    \"numero\": \"sil\",
    \"complemento\": \"suscipit\",
    \"bairro\": \"maiores\",
    \"cidade\": \"natus\",
    \"uf\": \"cz\",
    \"cep\": \"yrywkpb\",
    \"codigo_municipio_ibge\": \"xt\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/empresas/7"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nome": "xxmleanmdnefeuw",
    "nome_fantasia": "q",
    "subdominio": "xoznlksxfmpphs",
    "cnpj": "kbfkwsufqdxeen",
    "ie": "geqjfjggszpciwydqu",
    "im": "djaiunjotqcvkftpaj",
    "email": "[email protected]",
    "telefone": "jnzmkt",
    "plano": "profissional",
    "ativo": true,
    "logradouro": "cupiditate",
    "numero": "sil",
    "complemento": "suscipit",
    "bairro": "maiores",
    "cidade": "natus",
    "uf": "cz",
    "cep": "yrywkpb",
    "codigo_municipio_ibge": "xt"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "data": {
        "id": 1,
        "nome": "Empresa Atualizada"
    }
}
 

Request      

PUT api/admin/empresas/{empresa_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa_id   integer   

The ID of the empresa. Example: 7

Body Parameters

nome   string  optional  

validation.max. Example: xxmleanmdnefeuw

nome_fantasia   string  optional  

validation.max. Example: q

subdominio   string  optional  

Must contain only letters, numbers, dashes and underscores. validation.max. Example: xoznlksxfmpphs

cnpj   string  optional  

validation.size. Example: kbfkwsufqdxeen

ie   string  optional  

validation.max. Example: geqjfjggszpciwydqu

im   string  optional  

validation.max. Example: djaiunjotqcvkftpaj

email   string  optional  

validation.email. Example: [email protected]

telefone   string  optional  

validation.max. Example: jnzmkt

plano   string  optional  

Example: profissional

Must be one of:
  • basico
  • profissional
  • enterprise
ativo   boolean  optional  

Example: true

logradouro   string  optional  

Example: cupiditate

numero   string  optional  

validation.max. Example: sil

complemento   string  optional  

Example: suscipit

bairro   string  optional  

Example: maiores

cidade   string  optional  

Example: natus

uf   string  optional  

validation.size. Example: cz

cep   string  optional  

validation.max. Example: yrywkpb

codigo_municipio_ibge   string  optional  

validation.max. Example: xt

Ativar empresa

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/empresas/4/ativar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/empresas/4/ativar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (200):


{
    "data": {
        "id": 1,
        "nome": "Empresa X",
        "ativo": true
    }
}
 

Example response (422):


{
    "message": "Empresa já está ativa."
}
 

Request      

POST api/admin/empresas/{empresa_id}/ativar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa_id   integer   

The ID of the empresa. Example: 4

Suspender empresa

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/empresas/3/suspender" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/empresas/3/suspender"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (200):


{
    "data": {
        "id": 1,
        "nome": "Empresa X",
        "ativo": false
    }
}
 

Example response (422):


{
    "message": "Empresa já está suspensa."
}
 

Request      

POST api/admin/empresas/{empresa_id}/suspender

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa_id   integer   

The ID of the empresa. Example: 3

Impersonar empresa

Gera um token temporário (4h) como admin_empresa da empresa selecionada. Use este token para navegar no sistema como se fosse aquela empresa. O token expira automaticamente em 4 horas.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/empresas/11/impersonate" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/empresas/11/impersonate"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (200):


{
    "token": "5|xK8zQm...",
    "user": {
        "id": 3,
        "name": "Admin Empresa",
        "role": "admin_empresa",
        "empresa": {
            "id": 2,
            "nome": "Empresa X"
        }
    }
}
 

Example response (422):


{
    "message": "Empresa não possui usuários cadastrados."
}
 

Request      

POST api/admin/empresas/{empresa_id}/impersonate

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa_id   integer   

The ID of the empresa. Example: 11

Provisionar DNS (Cloudflare) para a empresa

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/empresas/1/provisionar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/empresas/1/provisionar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/empresas/{empresa_id}/provisionar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa_id   integer   

The ID of the empresa. Example: 1

Remover DNS (Cloudflare) para a empresa

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/admin/empresas/18/provisionar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/empresas/18/provisionar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

DELETE api/admin/empresas/{empresa_id}/provisionar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa_id   integer   

The ID of the empresa. Example: 18

Criar e migrar o banco de dados do tenant

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/empresas/19/banco" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/empresas/19/banco"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/empresas/{empresa_id}/banco

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa_id   integer   

The ID of the empresa. Example: 19

Executar migrations pendentes no banco do tenant (idempotente) Útil para tenants existentes após novas migrations de tenant serem adicionadas.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/empresas/8/migrar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/empresas/8/migrar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/empresas/{empresa_id}/migrar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa_id   integer   

The ID of the empresa. Example: 8

Saúde de migração de TODOS os tenants ativos. Visão consolidada para o painel admin saber quais bancos precisam de `tenants:migrate`.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/admin/migration-health" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/migration-health"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "data": [
        {
            "id": 1,
            "nome": "...",
            "up_to_date": true,
            "pending_count": 0
        }
    ],
    "resumo": {
        "total": 5,
        "desatualizados": 1,
        "sem_banco": 0
    }
}
 

Request      

GET api/admin/migration-health

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Saúde de migração de UM tenant: compara as migrations já aplicadas (tabela `migrations` do banco do tenant) com os arquivos em database/migrations/tenant.

Retorna as pendentes — útil para detectar tenants desatualizados que quebrariam ao acessar rotas (ex.: a tela de login com tabela ausente).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/admin/empresas/9/migration-status" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/empresas/9/migration-status"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "data": {
        "up_to_date": false,
        "pending_count": 3,
        "pending": [
            "..."
        ],
        "ran_count": 87,
        "total": 90
    }
}
 

Request      

GET api/admin/empresas/{empresa_id}/migration-status

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa_id   integer   

The ID of the empresa. Example: 9

Executa migrations pendentes em TODOS os tenants ativos (equivale a `php artisan tenants:migrate`). Idempotente. Use após adicionar novas migrations de tenant para atualizar a base inteira de uma vez.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/migrar-todos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/migrar-todos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (200):


{
    "message": "...",
    "migrados": 5,
    "falhas": []
}
 

Request      

POST api/admin/migrar-todos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Gerenciar licença / validade do tenant

Example request:
curl --request PATCH \
    "https://backend.valuor.com.br/api/admin/empresas/18/licenca" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"dias_trial\": 23,
    \"trial_ends_at\": \"2026-06-10T00:09:47\",
    \"dia_vencimento\": 12,
    \"dias_carencia\": 22
}"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/empresas/18/licenca"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "dias_trial": 23,
    "trial_ends_at": "2026-06-10T00:09:47",
    "dia_vencimento": 12,
    "dias_carencia": 22
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

PATCH api/admin/empresas/{empresa_id}/licenca

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa_id   integer   

The ID of the empresa. Example: 18

Body Parameters

status   string  optional  
dias_trial   integer  optional  

Trial: aceita dias (calcula a data) OU a data direta (bidirecional no front). validation.min validation.max. Example: 23

trial_ends_at   string  optional  

validation.date. Example: 2026-06-10T00:09:47

dia_vencimento   integer  optional  

Assinatura: dia do vencimento (1–31) + dias de carência (derivam as datas). validation.min validation.max. Example: 12

dias_carencia   integer  optional  

validation.min validation.max. Example: 22

Excluir empresa: remove DNS/Tunnel, dropa banco e faz soft-delete

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/admin/empresas/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/empresas/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

DELETE api/admin/empresas/{empresa_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa_id   integer   

The ID of the empresa. Example: 16

Backup do banco de dados do tenant via pg_dump

Gera um arquivo SQL com dump completo do banco de dados do tenant. Requer pg_dump instalado no servidor.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/admin/empresas/3/backup" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/empresas/3/backup"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

GET api/admin/empresas/{empresa_id}/backup

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa_id   integer   

The ID of the empresa. Example: 3

Ações em lote sobre múltiplas empresas

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/empresas/bulk" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"action\": \"ativar\",
    \"ids\": [
        1,
        2,
        3
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/empresas/bulk"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "action": "ativar",
    "ids": [
        1,
        2,
        3
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/empresas/bulk

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

action   string   

Ação: ativar | suspender. Example: ativar

ids   string[]   

IDs das empresas.

Histórico de auditoria (geral ou por empresa)

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/admin/audit-log?empresa_id=5&per_page=50" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/audit-log"
);

const params = {
    "empresa_id": "5",
    "per_page": "50",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

GET api/admin/audit-log

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

empresa_id   integer  optional  

Filtrar por empresa. Example: 5

per_page   integer  optional  

Itens por página (máx 200). Example: 50

GET api/admin/empresas/{empresa_id}/usuarios

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/admin/empresas/3/usuarios" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/empresas/3/usuarios"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

GET api/admin/empresas/{empresa_id}/usuarios

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa_id   integer   

The ID of the empresa. Example: 3

POST api/admin/empresas/{empresa_id}/usuarios

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/empresas/17/usuarios" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"bttanfzvgribwpbubtzyqs\",
    \"email\": \"[email protected]\",
    \"password\": \"possimus\",
    \"role\": \"aut\",
    \"ativo\": true
}"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/empresas/17/usuarios"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "bttanfzvgribwpbubtzyqs",
    "email": "[email protected]",
    "password": "possimus",
    "role": "aut",
    "ativo": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/empresas/{empresa_id}/usuarios

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa_id   integer   

The ID of the empresa. Example: 17

Body Parameters

name   string   

validation.max. Example: bttanfzvgribwpbubtzyqs

email   string   

validation.email validation.max. Example: [email protected]

password   string   

Example: possimus

role   string   

Example: aut

ativo   boolean  optional  

Example: true

PUT api/admin/empresas/{empresa_id}/usuarios/{userId}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/admin/empresas/20/usuarios/pariatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"hfjdoio\",
    \"email\": \"[email protected]\",
    \"password\": \"[7{`La\",
    \"ativo\": false
}"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/empresas/20/usuarios/pariatur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "hfjdoio",
    "email": "[email protected]",
    "password": "[7{`La",
    "ativo": false
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

PUT api/admin/empresas/{empresa_id}/usuarios/{userId}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa_id   integer   

The ID of the empresa. Example: 20

userId   string   

Example: pariatur

Body Parameters

name   string  optional  

validation.max. Example: hfjdoio

email   string  optional  

validation.email validation.max. Example: [email protected]

password   string  optional  

Example: [7{La`

role   string  optional  
ativo   boolean  optional  

Example: false

DELETE api/admin/empresas/{empresa_id}/usuarios/{userId}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/admin/empresas/1/usuarios/quia" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/empresas/1/usuarios/quia"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

DELETE api/admin/empresas/{empresa_id}/usuarios/{userId}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa_id   integer   

The ID of the empresa. Example: 1

userId   string   

Example: quia

Admin Central — Planos

GET api/admin/planos

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/admin/planos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/planos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

GET api/admin/planos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/admin/planos

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/planos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"yofalugrdecqporgfohxmwypv\",
    \"slug\": \"d\",
    \"descricao\": \"ducimus\",
    \"preco_mensal\": 2,
    \"preco_anual\": 29,
    \"trial_dias\": 71,
    \"limite_empresas\": 43,
    \"limite_usuarios\": 68,
    \"limite_usuarios_simultaneos\": 59,
    \"limite_pdvs\": 1,
    \"limite_vendedores\": 27,
    \"limite_produtos\": 26,
    \"limite_clientes\": 29,
    \"ativo\": true,
    \"publico\": false,
    \"destaque\": true,
    \"ordem\": 52
}"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/planos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nome": "yofalugrdecqporgfohxmwypv",
    "slug": "d",
    "descricao": "ducimus",
    "preco_mensal": 2,
    "preco_anual": 29,
    "trial_dias": 71,
    "limite_empresas": 43,
    "limite_usuarios": 68,
    "limite_usuarios_simultaneos": 59,
    "limite_pdvs": 1,
    "limite_vendedores": 27,
    "limite_produtos": 26,
    "limite_clientes": 29,
    "ativo": true,
    "publico": false,
    "destaque": true,
    "ordem": 52
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/planos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

nome   string   

validation.max. Example: yofalugrdecqporgfohxmwypv

slug   string   

Must match the regex /^[a-z0-9-]+$/. validation.max. Example: d

descricao   string  optional  

Example: ducimus

preco_mensal   number   

validation.min. Example: 2

preco_anual   number   

validation.min. Example: 29

trial_dias   integer  optional  

validation.min. Example: 71

limite_empresas   integer  optional  

validation.min. Example: 43

limite_usuarios   integer  optional  

validation.min. Example: 68

limite_usuarios_simultaneos   integer  optional  

validation.min. Example: 59

limite_pdvs   integer  optional  

validation.min. Example: 1

limite_vendedores   integer  optional  

validation.min. Example: 27

limite_produtos   integer  optional  

validation.min. Example: 26

limite_clientes   integer  optional  

validation.min. Example: 29

features   object  optional  
ativo   boolean  optional  

Example: true

publico   boolean  optional  

Example: false

destaque   boolean  optional  

Example: true

ordem   integer  optional  

validation.min. Example: 52

GET api/admin/planos/{id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/admin/planos/4" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/planos/4"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

GET api/admin/planos/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the plano. Example: 4

PUT api/admin/planos/{id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/admin/planos/4" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"shwkdxrydegacchjhsofibvg\",
    \"descricao\": \"et\",
    \"preco_mensal\": 71,
    \"preco_anual\": 31,
    \"trial_dias\": 57,
    \"limite_empresas\": 70,
    \"limite_usuarios\": 21,
    \"limite_usuarios_simultaneos\": 77,
    \"limite_pdvs\": 51,
    \"limite_vendedores\": 32,
    \"limite_produtos\": 19,
    \"limite_clientes\": 29,
    \"ativo\": true,
    \"publico\": true,
    \"destaque\": true,
    \"ordem\": 64
}"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/planos/4"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nome": "shwkdxrydegacchjhsofibvg",
    "descricao": "et",
    "preco_mensal": 71,
    "preco_anual": 31,
    "trial_dias": 57,
    "limite_empresas": 70,
    "limite_usuarios": 21,
    "limite_usuarios_simultaneos": 77,
    "limite_pdvs": 51,
    "limite_vendedores": 32,
    "limite_produtos": 19,
    "limite_clientes": 29,
    "ativo": true,
    "publico": true,
    "destaque": true,
    "ordem": 64
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

PUT api/admin/planos/{id}

PATCH api/admin/planos/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the plano. Example: 4

Body Parameters

nome   string  optional  

validation.max. Example: shwkdxrydegacchjhsofibvg

slug   string  optional  
descricao   string  optional  

Example: et

preco_mensal   number  optional  

validation.min. Example: 71

preco_anual   number  optional  

validation.min. Example: 31

trial_dias   integer  optional  

validation.min. Example: 57

limite_empresas   integer  optional  

validation.min. Example: 70

limite_usuarios   integer  optional  

validation.min. Example: 21

limite_usuarios_simultaneos   integer  optional  

validation.min. Example: 77

limite_pdvs   integer  optional  

validation.min. Example: 51

limite_vendedores   integer  optional  

validation.min. Example: 32

limite_produtos   integer  optional  

validation.min. Example: 19

limite_clientes   integer  optional  

validation.min. Example: 29

features   object  optional  
ativo   boolean  optional  

Example: true

publico   boolean  optional  

Example: true

destaque   boolean  optional  

Example: true

ordem   integer  optional  

validation.min. Example: 64

DELETE api/admin/planos/{id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/admin/planos/4" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/planos/4"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

DELETE api/admin/planos/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the plano. Example: 4

Admin Central — Assinaturas

GET api/admin/assinaturas

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/admin/assinaturas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/assinaturas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

GET api/admin/assinaturas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/admin/assinaturas

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/assinaturas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"empresa_id\": \"aspernatur\",
    \"plano_id\": \"sed\",
    \"ciclo\": \"mensal\",
    \"desconto_percent\": 12,
    \"gateway\": \"asaas\",
    \"notas\": \"enim\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/assinaturas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "empresa_id": "aspernatur",
    "plano_id": "sed",
    "ciclo": "mensal",
    "desconto_percent": 12,
    "gateway": "asaas",
    "notas": "enim"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/assinaturas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

empresa_id   string   

The id of an existing record in the tenants table. Example: aspernatur

plano_id   string   

The id of an existing record in the planos table. Example: sed

ciclo   string  optional  

Example: mensal

Must be one of:
  • mensal
  • anual
desconto_percent   number  optional  

validation.min validation.max. Example: 12

gateway   string  optional  

Example: asaas

Must be one of:
  • asaas
  • stripe
  • manual
notas   string  optional  

Example: enim

GET api/admin/assinaturas/{assinatura_id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/admin/assinaturas/17" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/assinaturas/17"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

GET api/admin/assinaturas/{assinatura_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

assinatura_id   integer   

The ID of the assinatura. Example: 17

PUT api/admin/assinaturas/{assinatura_id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/admin/assinaturas/4" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"ciclo\": \"mensal\",
    \"desconto_percent\": 21,
    \"data_proximo_vencimento\": \"2026-06-10T00:09:47\",
    \"notas\": \"magni\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/assinaturas/4"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "ciclo": "mensal",
    "desconto_percent": 21,
    "data_proximo_vencimento": "2026-06-10T00:09:47",
    "notas": "magni"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

PUT api/admin/assinaturas/{assinatura_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

assinatura_id   integer   

The ID of the assinatura. Example: 4

Body Parameters

plano_id   string  optional  

The id of an existing record in the planos table.

ciclo   string  optional  

Example: mensal

Must be one of:
  • mensal
  • anual
desconto_percent   number  optional  

validation.min validation.max. Example: 21

data_proximo_vencimento   string  optional  

validation.date. Example: 2026-06-10T00:09:47

notas   string  optional  

Example: magni

POST api/admin/assinaturas/{assinatura_id}/cancelar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/assinaturas/5/cancelar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/assinaturas/5/cancelar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/assinaturas/{assinatura_id}/cancelar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

assinatura_id   integer   

The ID of the assinatura. Example: 5

POST api/admin/assinaturas/{assinatura_id}/suspender

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/assinaturas/19/suspender" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/assinaturas/19/suspender"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/assinaturas/{assinatura_id}/suspender

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

assinatura_id   integer   

The ID of the assinatura. Example: 19

POST api/admin/assinaturas/{assinatura_id}/reativar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/assinaturas/1/reativar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/assinaturas/1/reativar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/assinaturas/{assinatura_id}/reativar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

assinatura_id   integer   

The ID of the assinatura. Example: 1

POST api/admin/assinaturas/{assinatura_id}/gerar-fatura

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/assinaturas/2/gerar-fatura" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"valor\": 45,
    \"desconto\": 64,
    \"data_vencimento\": \"2026-06-10T00:09:47\",
    \"descricao\": \"necessitatibus\",
    \"notas\": \"quia\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/assinaturas/2/gerar-fatura"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "valor": 45,
    "desconto": 64,
    "data_vencimento": "2026-06-10T00:09:47",
    "descricao": "necessitatibus",
    "notas": "quia"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/assinaturas/{assinatura_id}/gerar-fatura

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

assinatura_id   integer   

The ID of the assinatura. Example: 2

Body Parameters

valor   number  optional  

validation.min. Example: 45

desconto   number  optional  

validation.min. Example: 64

data_vencimento   string  optional  

validation.date. Example: 2026-06-10T00:09:47

descricao   string  optional  

Example: necessitatibus

notas   string  optional  

Example: quia

Admin Central — Faturas

GET api/admin/faturas

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/admin/faturas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/faturas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

GET api/admin/faturas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/admin/faturas/{fatura_id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/admin/faturas/4" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/faturas/4"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

GET api/admin/faturas/{fatura_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

fatura_id   integer   

The ID of the fatura. Example: 4

POST api/admin/faturas/{fatura_id}/baixar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/faturas/10/baixar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"data_pagamento\": \"2026-06-10T00:09:47\",
    \"forma_pagamento\": \"oyoavafnlkcohmd\",
    \"notas\": \"fugiat\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/faturas/10/baixar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "data_pagamento": "2026-06-10T00:09:47",
    "forma_pagamento": "oyoavafnlkcohmd",
    "notas": "fugiat"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/faturas/{fatura_id}/baixar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

fatura_id   integer   

The ID of the fatura. Example: 10

Body Parameters

data_pagamento   string  optional  

validation.date. Example: 2026-06-10T00:09:47

forma_pagamento   string  optional  

validation.max. Example: oyoavafnlkcohmd

notas   string  optional  

Example: fugiat

POST api/admin/faturas/{fatura_id}/cancelar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/faturas/11/cancelar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/faturas/11/cancelar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/faturas/{fatura_id}/cancelar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

fatura_id   integer   

The ID of the fatura. Example: 11

POST api/admin/faturas/{fatura_id}/gerar-pix

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/faturas/6/gerar-pix" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/faturas/6/gerar-pix"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/faturas/{fatura_id}/gerar-pix

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

fatura_id   integer   

The ID of the fatura. Example: 6

DELETE api/admin/faturas/{fatura_id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/admin/faturas/3" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/faturas/3"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

DELETE api/admin/faturas/{fatura_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

fatura_id   integer   

The ID of the fatura. Example: 3

Admin Central — Gateways

GET api/admin/gateways

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/admin/gateways" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/gateways"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

GET api/admin/gateways

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

PUT api/admin/gateways/{provider}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/admin/gateways/sit" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"ativo\": false,
    \"sandbox\": false,
    \"api_key\": \"stamxsjdqdqxocahrshwgzbir\",
    \"webhook_secret\": \"xdoqzwisfrwsdxdzwjsyfs\",
    \"webhook_url\": \"http:\\/\\/www.rippin.com\\/\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/gateways/sit"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "ativo": false,
    "sandbox": false,
    "api_key": "stamxsjdqdqxocahrshwgzbir",
    "webhook_secret": "xdoqzwisfrwsdxdzwjsyfs",
    "webhook_url": "http:\/\/www.rippin.com\/"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

PUT api/admin/gateways/{provider}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

provider   string   

Example: sit

Body Parameters

ativo   boolean  optional  

Example: false

sandbox   boolean  optional  

Example: false

api_key   string  optional  

validation.max. Example: stamxsjdqdqxocahrshwgzbir

webhook_secret   string  optional  

validation.max. Example: xdoqzwisfrwsdxdzwjsyfs

webhook_url   string  optional  

Must be a valid URL. validation.max. Example: http://www.rippin.com/

configuracoes   object  optional  

POST api/admin/gateways/{provider}/testar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/gateways/totam/testar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/gateways/totam/testar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/gateways/{provider}/testar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

provider   string   

Example: totam

Tenant — Usuários

Gerenciamento de usuários da empresa. Requer roles super_admin ou admin_empresa. Roles disponíveis: super_admin, admin_empresa, gerente, financeiro, vendedor, operador_pdv, contador.

Permissões granulares do usuário (matriz tela × ação) — complementam o perfil.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/usuarios/1/permissoes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/usuarios/1/permissoes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/usuarios/{user_id}/permissoes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   integer   

The ID of the user. Example: 1

Salva os overrides de permissão do usuário.

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/usuarios/1/permissoes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"permissoes\": [
        {
            \"ver\": true,
            \"incluir\": false,
            \"editar\": false,
            \"excluir\": false
        }
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/usuarios/1/permissoes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "permissoes": [
        {
            "ver": true,
            "incluir": false,
            "editar": false,
            "excluir": false
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/usuarios/{user_id}/permissoes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   integer   

The ID of the user. Example: 1

Body Parameters

permissoes   object[]   
ver   boolean  optional  

Example: true

incluir   boolean  optional  

Example: false

editar   boolean  optional  

Example: false

excluir   boolean  optional  

Example: false

Listar usuários

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/usuarios?search=Maria&role=vendedor&ativo=1&per_page=20" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/usuarios"
);

const params = {
    "search": "Maria",
    "role": "vendedor",
    "ativo": "1",
    "per_page": "20",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/usuarios

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

search   string  optional  

Busca por nome ou email. Example: Maria

role   string  optional  

Filtrar por role. Example: vendedor

ativo   boolean  optional  

Filtrar por status. Example: true

per_page   integer  optional  

Itens por página. Example: 20

POST api/usuarios

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/usuarios" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"ftojidphfssmarcqsajvevx\",
    \"email\": \"[email protected]\",
    \"cpf\": \"kwxflhigwfsu\",
    \"telefone\": \"qaflyjr\",
    \"login\": \"gwknyqjklrsejjbpscmpfurpk\",
    \"senha_app\": \"qxumekp\",
    \"role\": \"admin_empresa\",
    \"supervisor\": false,
    \"estoquista\": true,
    \"caixa\": false,
    \"vendedor_padrao_id\": 11,
    \"percentual_comissao\": 22,
    \"percentual_comissao_avista\": 22,
    \"percentual_comissao_aprazo\": 15,
    \"desconto_maximo_percentual\": 1
}"
const url = new URL(
    "https://backend.valuor.com.br/api/usuarios"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "ftojidphfssmarcqsajvevx",
    "email": "[email protected]",
    "cpf": "kwxflhigwfsu",
    "telefone": "qaflyjr",
    "login": "gwknyqjklrsejjbpscmpfurpk",
    "senha_app": "qxumekp",
    "role": "admin_empresa",
    "supervisor": false,
    "estoquista": true,
    "caixa": false,
    "vendedor_padrao_id": 11,
    "percentual_comissao": 22,
    "percentual_comissao_avista": 22,
    "percentual_comissao_aprazo": 15,
    "desconto_maximo_percentual": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/usuarios

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

validation.max. Example: ftojidphfssmarcqsajvevx

email   string  optional  

validation.email. Example: [email protected]

cpf   string  optional  

validation.max. Example: kwxflhigwfsu

telefone   string  optional  

validation.max. Example: qaflyjr

login   string  optional  

validation.max. Example: gwknyqjklrsejjbpscmpfurpk

password   string  optional  
senha_app   string  optional  

validation.max. Example: qxumekp

role   string   

Example: admin_empresa

Must be one of:
  • admin_empresa
  • gerente
  • financeiro
  • vendedor
  • operador_pdv
  • contador
supervisor   boolean  optional  

Example: false

estoquista   boolean  optional  

Example: true

caixa   boolean  optional  

Example: false

vendedor_padrao_id   integer  optional  

Example: 11

percentual_comissao   number  optional  

validation.min validation.max. Example: 22

percentual_comissao_avista   number  optional  

validation.min validation.max. Example: 22

percentual_comissao_aprazo   number  optional  

validation.min validation.max. Example: 15

desconto_maximo_percentual   number  optional  

validation.min validation.max. Example: 1

GET api/usuarios/{user_id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/usuarios/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/usuarios/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/usuarios/{user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   integer   

The ID of the user. Example: 1

PUT api/usuarios/{user_id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/usuarios/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"becvbkupgboxvsm\",
    \"email\": \"[email protected]\",
    \"cpf\": \"cmdsmenqwko\",
    \"telefone\": \"xo\",
    \"login\": \"pxzhdpki\",
    \"senha_app\": \"tumubkphr\",
    \"supervisor\": true,
    \"estoquista\": false,
    \"caixa\": true,
    \"vendedor_padrao_id\": 3,
    \"ativo\": false,
    \"percentual_comissao\": 22,
    \"percentual_comissao_avista\": 8,
    \"percentual_comissao_aprazo\": 23,
    \"desconto_maximo_percentual\": 10
}"
const url = new URL(
    "https://backend.valuor.com.br/api/usuarios/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "becvbkupgboxvsm",
    "email": "[email protected]",
    "cpf": "cmdsmenqwko",
    "telefone": "xo",
    "login": "pxzhdpki",
    "senha_app": "tumubkphr",
    "supervisor": true,
    "estoquista": false,
    "caixa": true,
    "vendedor_padrao_id": 3,
    "ativo": false,
    "percentual_comissao": 22,
    "percentual_comissao_avista": 8,
    "percentual_comissao_aprazo": 23,
    "desconto_maximo_percentual": 10
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/usuarios/{user_id}

PATCH api/usuarios/{user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   integer   

The ID of the user. Example: 1

Body Parameters

name   string  optional  

validation.max. Example: becvbkupgboxvsm

email   string  optional  

validation.email. Example: [email protected]

cpf   string  optional  

validation.max. Example: cmdsmenqwko

telefone   string  optional  

validation.max. Example: xo

login   string  optional  

validation.max. Example: pxzhdpki

password   string  optional  
senha_app   string  optional  

validation.max. Example: tumubkphr

role   string  optional  
supervisor   boolean  optional  

Example: true

estoquista   boolean  optional  

Example: false

caixa   boolean  optional  

Example: true

vendedor_padrao_id   integer  optional  

Example: 3

ativo   boolean  optional  

Example: false

percentual_comissao   number  optional  

validation.min validation.max. Example: 22

percentual_comissao_avista   number  optional  

validation.min validation.max. Example: 8

percentual_comissao_aprazo   number  optional  

validation.min validation.max. Example: 23

desconto_maximo_percentual   number  optional  

validation.min validation.max. Example: 10

DELETE api/usuarios/{user_id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/usuarios/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/usuarios/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/usuarios/{user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   integer   

The ID of the user. Example: 1

Registrar token FCM

Salva ou atualiza o token Firebase Cloud Messaging do dispositivo do usuário autenticado. Chamado automaticamente pelo app mobile/PDV após login e inicialização do Firebase.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/usuarios/fcm-token" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"token\": \"fJKnQ...abc123\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/usuarios/fcm-token"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "token": "fJKnQ...abc123"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/usuarios/fcm-token

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

token   string   

Token FCM gerado pelo Firebase SDK. Example: fJKnQ...abc123

Tenant — Clientes

Cadastro e consulta de clientes (pessoa física ou jurídica).

Exportar lista de clientes em CSV (UTF-8 com BOM para Excel).

Respeita os mesmos filtros de index e usa cursor para não estourar memória.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/clientes/exportar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/clientes/exportar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/clientes/exportar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Aplica tags em lote — adiciona (modo append) ou substitui (modo sync).

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/clientes/lote/aplicar-tags" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"ids\": [
        \"nihil\"
    ],
    \"tag_ids\": [
        \"optio\"
    ],
    \"modo\": \"vero\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/clientes/lote/aplicar-tags"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "ids": [
        "nihil"
    ],
    "tag_ids": [
        "optio"
    ],
    "modo": "vero"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/clientes/lote/aplicar-tags

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

ids   string[]   

IDs dos clientes (até 500).

tag_ids   string[]   

IDs das tags.

modo   string  optional  

append|sync (default append). Example: vero

Anonimização LGPD em lote. Exige confirmação explícita no body.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/clientes/lote/anonimizar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"ids\": [
        \"quis\"
    ],
    \"confirmar\": false
}"
const url = new URL(
    "https://backend.valuor.com.br/api/clientes/lote/anonimizar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "ids": [
        "quis"
    ],
    "confirmar": false
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/clientes/lote/anonimizar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

ids   string[]   

IDs dos clientes.

confirmar   boolean   

Precisa ser true. Example: false

Listar clientes

Retorna lista paginada. Use search para buscar por nome, CPF/CNPJ ou email.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/clientes?search=Jo%C3%A3o&ativo=1&per_page=20&page=1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/clientes"
);

const params = {
    "search": "João",
    "ativo": "1",
    "per_page": "20",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/clientes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

search   string  optional  

Busca por nome, CPF/CNPJ ou email. Example: João

ativo   boolean  optional  

Filtrar por status. Example: true

per_page   integer  optional  

Itens por página (padrão 20). Example: 20

page   integer  optional  

Número da página. Example: 1

Criar cliente

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/clientes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"tipo\": \"pj\",
    \"nome\": \"mlpckdsfiykxufcxhrcgzqyr\",
    \"limite_credito\": 82,
    \"apelido\": \"jnpxcsqimiieplabwtofgd\",
    \"cpf_cnpj\": \"ueyjwyeqfktquhmkrd\",
    \"rg_ie\": \"guykvtmavfgznfvxjgs\",
    \"dt_nascimento\": \"2026-06-09T23:58:50\",
    \"sexo\": \"F\",
    \"estado_civil\": \"solteiro\",
    \"email\": \"[email protected]\",
    \"telefone\": \"obzogh\",
    \"celular\": \"fjepxmvpbfzb\",
    \"tel_residencial\": \"zmdyue\",
    \"tel_comercial\": \"mbgjpdi\",
    \"tel_celular_comp\": \"fvtgydzz\",
    \"whatsapp\": \"yxoirlnxqlqbuinr\",
    \"cep\": \"lpntzrtt\",
    \"logradouro\": \"lqpdtncirmqrm\",
    \"numero\": \"vzmaykuiflbl\",
    \"complemento\": \"cmjqhvrmtneyacwv\",
    \"bairro\": \"frmhztacytimbu\",
    \"cidade\": \"xxyasneycoltjxwisabvkpaq\",
    \"estado\": \"og\",
    \"codigo_municipio_ibge\": \"jb\",
    \"regime_tributario\": \"onwudwavkp\",
    \"tipo_contribuinte\": \"pgvjcugqcmwpwdgwgbgsx\",
    \"tipo_recebimento\": \"fhkhs\",
    \"observacoes\": \"doloribus\",
    \"informacoes_complementares\": \"ex\",
    \"ativo\": true,
    \"tabela_preco_id\": 13,
    \"is_cliente\": false,
    \"is_fornecedor\": true,
    \"is_funcionario\": true,
    \"is_administradora\": true,
    \"is_parceiro\": true,
    \"is_ccf_spc\": false,
    \"is_tecnico\": true,
    \"is_atendente\": true,
    \"is_cidadao\": false
}"
const url = new URL(
    "https://backend.valuor.com.br/api/clientes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "tipo": "pj",
    "nome": "mlpckdsfiykxufcxhrcgzqyr",
    "limite_credito": 82,
    "apelido": "jnpxcsqimiieplabwtofgd",
    "cpf_cnpj": "ueyjwyeqfktquhmkrd",
    "rg_ie": "guykvtmavfgznfvxjgs",
    "dt_nascimento": "2026-06-09T23:58:50",
    "sexo": "F",
    "estado_civil": "solteiro",
    "email": "[email protected]",
    "telefone": "obzogh",
    "celular": "fjepxmvpbfzb",
    "tel_residencial": "zmdyue",
    "tel_comercial": "mbgjpdi",
    "tel_celular_comp": "fvtgydzz",
    "whatsapp": "yxoirlnxqlqbuinr",
    "cep": "lpntzrtt",
    "logradouro": "lqpdtncirmqrm",
    "numero": "vzmaykuiflbl",
    "complemento": "cmjqhvrmtneyacwv",
    "bairro": "frmhztacytimbu",
    "cidade": "xxyasneycoltjxwisabvkpaq",
    "estado": "og",
    "codigo_municipio_ibge": "jb",
    "regime_tributario": "onwudwavkp",
    "tipo_contribuinte": "pgvjcugqcmwpwdgwgbgsx",
    "tipo_recebimento": "fhkhs",
    "observacoes": "doloribus",
    "informacoes_complementares": "ex",
    "ativo": true,
    "tabela_preco_id": 13,
    "is_cliente": false,
    "is_fornecedor": true,
    "is_funcionario": true,
    "is_administradora": true,
    "is_parceiro": true,
    "is_ccf_spc": false,
    "is_tecnico": true,
    "is_atendente": true,
    "is_cidadao": false
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (201, Criado):


{
    "data": {
        "id": 1,
        "nome": "Maria Silva",
        "tipo": "pf",
        "cpf_cnpj": "12345678900",
        "email": "[email protected]",
        "ativo": true
    }
}
 

Example response (422, Validação):


{
    "message": "The nome field is required.",
    "errors": {
        "nome": [
            "The nome field is required."
        ]
    }
}
 

Request      

POST api/clientes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

tipo   string   

Example: pj

Must be one of:
  • pf
  • pj
nome   string   

validation.max. Example: mlpckdsfiykxufcxhrcgzqyr

limite_credito   number  optional  

validation.min. Example: 82

apelido   string  optional  

validation.max. Example: jnpxcsqimiieplabwtofgd

cpf_cnpj   string  optional  

validation.max. Example: ueyjwyeqfktquhmkrd

rg_ie   string  optional  

validation.max. Example: guykvtmavfgznfvxjgs

dt_nascimento   string  optional  

validation.date. Example: 2026-06-09T23:58:50

sexo   string  optional  

Example: F

Must be one of:
  • M
  • F
  • I
estado_civil   string  optional  

Example: solteiro

Must be one of:
  • solteiro
  • casado
  • divorciado
  • viuvo
  • uniao_estavel
email   string  optional  

validation.email validation.max. Example: [email protected]

telefone   string  optional  

validation.max. Example: obzogh

celular   string  optional  

validation.max. Example: fjepxmvpbfzb

tel_residencial   string  optional  

validation.max. Example: zmdyue

tel_comercial   string  optional  

validation.max. Example: mbgjpdi

tel_celular_comp   string  optional  

validation.max. Example: fvtgydzz

whatsapp   string  optional  

validation.max. Example: yxoirlnxqlqbuinr

cep   string  optional  

validation.max. Example: lpntzrtt

logradouro   string  optional  

validation.max. Example: lqpdtncirmqrm

numero   string  optional  

validation.max. Example: vzmaykuiflbl

complemento   string  optional  

validation.max. Example: cmjqhvrmtneyacwv

bairro   string  optional  

validation.max. Example: frmhztacytimbu

cidade   string  optional  

validation.max. Example: xxyasneycoltjxwisabvkpaq

estado   string  optional  

validation.size. Example: og

codigo_municipio_ibge   string  optional  

validation.max. Example: jb

regime_tributario   string  optional  

validation.max. Example: onwudwavkp

tipo_contribuinte   string  optional  

validation.max. Example: pgvjcugqcmwpwdgwgbgsx

tipo_recebimento   string  optional  

validation.max. Example: fhkhs

observacoes   string  optional  

Example: doloribus

informacoes_complementares   string  optional  

Example: ex

ativo   boolean  optional  

Example: true

tabela_preco_id   integer  optional  

The id of an existing record in the tabelas_preco table. Example: 13

is_cliente   boolean  optional  

Example: false

is_fornecedor   boolean  optional  

Example: true

is_funcionario   boolean  optional  

Example: true

is_administradora   boolean  optional  

Example: true

is_parceiro   boolean  optional  

Example: true

is_ccf_spc   boolean  optional  

Example: false

is_tecnico   boolean  optional  

Example: true

is_atendente   boolean  optional  

Example: true

is_cidadao   boolean  optional  

Example: false

Buscar cliente por ID

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/clientes/18" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/clientes/18"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/clientes/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the cliente. Example: 18

Atualizar cliente

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/clientes/4" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"tipo\": \"pf\",
    \"nome\": \"jonqpmupslysi\",
    \"limite_credito\": 65,
    \"apelido\": \"aeeomvhewdvwgbemwou\",
    \"cpf_cnpj\": \"bwllpughiieertnfn\",
    \"rg_ie\": \"wuepincqjjfcf\",
    \"dt_nascimento\": \"2026-06-09T23:58:51\",
    \"sexo\": \"I\",
    \"estado_civil\": \"solteiro\",
    \"email\": \"[email protected]\",
    \"telefone\": \"nmqdzwattifbv\",
    \"celular\": \"lowpy\",
    \"tel_residencial\": \"skipvobbsydj\",
    \"tel_comercial\": \"d\",
    \"tel_celular_comp\": \"quqxfwc\",
    \"whatsapp\": \"w\",
    \"cep\": \"xh\",
    \"logradouro\": \"xzubycjhldtozlgermlczk\",
    \"numero\": \"hffeptglyt\",
    \"complemento\": \"ngomegpuuxoawlhzov\",
    \"bairro\": \"ifhaoxnebcthhtsyory\",
    \"cidade\": \"cphirxbggykhg\",
    \"estado\": \"qw\",
    \"codigo_municipio_ibge\": \"blnwuox\",
    \"regime_tributario\": \"cxblowsgbfpaljjuyfmygp\",
    \"tipo_contribuinte\": \"qyelrxitxuhzjwoysbvmwzgl\",
    \"tipo_recebimento\": \"cpzcrjqmr\",
    \"observacoes\": \"libero\",
    \"informacoes_complementares\": \"aut\",
    \"ativo\": true,
    \"tabela_preco_id\": 17,
    \"is_cliente\": true,
    \"is_fornecedor\": false,
    \"is_funcionario\": true,
    \"is_administradora\": true,
    \"is_parceiro\": true,
    \"is_ccf_spc\": false,
    \"is_tecnico\": true,
    \"is_atendente\": true,
    \"is_cidadao\": true
}"
const url = new URL(
    "https://backend.valuor.com.br/api/clientes/4"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "tipo": "pf",
    "nome": "jonqpmupslysi",
    "limite_credito": 65,
    "apelido": "aeeomvhewdvwgbemwou",
    "cpf_cnpj": "bwllpughiieertnfn",
    "rg_ie": "wuepincqjjfcf",
    "dt_nascimento": "2026-06-09T23:58:51",
    "sexo": "I",
    "estado_civil": "solteiro",
    "email": "[email protected]",
    "telefone": "nmqdzwattifbv",
    "celular": "lowpy",
    "tel_residencial": "skipvobbsydj",
    "tel_comercial": "d",
    "tel_celular_comp": "quqxfwc",
    "whatsapp": "w",
    "cep": "xh",
    "logradouro": "xzubycjhldtozlgermlczk",
    "numero": "hffeptglyt",
    "complemento": "ngomegpuuxoawlhzov",
    "bairro": "ifhaoxnebcthhtsyory",
    "cidade": "cphirxbggykhg",
    "estado": "qw",
    "codigo_municipio_ibge": "blnwuox",
    "regime_tributario": "cxblowsgbfpaljjuyfmygp",
    "tipo_contribuinte": "qyelrxitxuhzjwoysbvmwzgl",
    "tipo_recebimento": "cpzcrjqmr",
    "observacoes": "libero",
    "informacoes_complementares": "aut",
    "ativo": true,
    "tabela_preco_id": 17,
    "is_cliente": true,
    "is_fornecedor": false,
    "is_funcionario": true,
    "is_administradora": true,
    "is_parceiro": true,
    "is_ccf_spc": false,
    "is_tecnico": true,
    "is_atendente": true,
    "is_cidadao": true
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/clientes/{id}

PATCH api/clientes/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the cliente. Example: 4

Body Parameters

tipo   string  optional  

Example: pf

Must be one of:
  • pf
  • pj
nome   string  optional  

validation.max. Example: jonqpmupslysi

limite_credito   number  optional  

validation.min. Example: 65

apelido   string  optional  

validation.max. Example: aeeomvhewdvwgbemwou

cpf_cnpj   string  optional  

validation.max. Example: bwllpughiieertnfn

rg_ie   string  optional  

validation.max. Example: wuepincqjjfcf

dt_nascimento   string  optional  

validation.date. Example: 2026-06-09T23:58:51

sexo   string  optional  

Example: I

Must be one of:
  • M
  • F
  • I
estado_civil   string  optional  

Example: solteiro

Must be one of:
  • solteiro
  • casado
  • divorciado
  • viuvo
  • uniao_estavel
email   string  optional  

validation.email validation.max. Example: [email protected]

telefone   string  optional  

validation.max. Example: nmqdzwattifbv

celular   string  optional  

validation.max. Example: lowpy

tel_residencial   string  optional  

validation.max. Example: skipvobbsydj

tel_comercial   string  optional  

validation.max. Example: d

tel_celular_comp   string  optional  

validation.max. Example: quqxfwc

whatsapp   string  optional  

validation.max. Example: w

cep   string  optional  

validation.max. Example: xh

logradouro   string  optional  

validation.max. Example: xzubycjhldtozlgermlczk

numero   string  optional  

validation.max. Example: hffeptglyt

complemento   string  optional  

validation.max. Example: ngomegpuuxoawlhzov

bairro   string  optional  

validation.max. Example: ifhaoxnebcthhtsyory

cidade   string  optional  

validation.max. Example: cphirxbggykhg

estado   string  optional  

validation.size. Example: qw

codigo_municipio_ibge   string  optional  

validation.max. Example: blnwuox

regime_tributario   string  optional  

validation.max. Example: cxblowsgbfpaljjuyfmygp

tipo_contribuinte   string  optional  

validation.max. Example: qyelrxitxuhzjwoysbvmwzgl

tipo_recebimento   string  optional  

validation.max. Example: cpzcrjqmr

observacoes   string  optional  

Example: libero

informacoes_complementares   string  optional  

Example: aut

ativo   boolean  optional  

Example: true

tabela_preco_id   integer  optional  

The id of an existing record in the tabelas_preco table. Example: 17

is_cliente   boolean  optional  

Example: true

is_fornecedor   boolean  optional  

Example: false

is_funcionario   boolean  optional  

Example: true

is_administradora   boolean  optional  

Example: true

is_parceiro   boolean  optional  

Example: true

is_ccf_spc   boolean  optional  

Example: false

is_tecnico   boolean  optional  

Example: true

is_atendente   boolean  optional  

Example: true

is_cidadao   boolean  optional  

Example: true

Excluir cliente (soft delete)

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/clientes/13" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/clientes/13"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/clientes/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the cliente. Example: 13

Sincronizar tags do cliente.

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/clientes/3/tags" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"tag_ids\": [
        1,
        3,
        7
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/clientes/3/tags"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "tag_ids": [
        1,
        3,
        7
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/clientes/{cliente_id}/tags

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

cliente_id   integer   

The ID of the cliente. Example: 3

Body Parameters

tag_ids   string[]  optional  

IDs de tags.

Situação de crédito (fiado): limite, saldo devedor e disponível.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/clientes/14/credito" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/clientes/14/credito"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/clientes/{cliente_id}/credito

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

cliente_id   integer   

The ID of the cliente. Example: 14

Anonimizar dados pessoais (LGPD — direito ao esquecimento)

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/clientes/3/anonimizar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/clientes/3/anonimizar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/clientes/{cliente_id}/anonimizar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

cliente_id   integer   

The ID of the cliente. Example: 3

Tenant — Fornecedores

Cadastro de fornecedores (pessoa física ou jurídica).

Listar fornecedores

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/fornecedores?search=Distribuidora&ativo=1&per_page=20" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fornecedores"
);

const params = {
    "search": "Distribuidora",
    "ativo": "1",
    "per_page": "20",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/fornecedores

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

search   string  optional  

Busca por nome, CNPJ ou email. Example: Distribuidora

ativo   boolean  optional  

Filtrar por status. Example: true

per_page   integer  optional  

Itens por página. Example: 20

GET api/fornecedores/{fornecedor_id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/fornecedores/5" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fornecedores/5"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/fornecedores/{fornecedor_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

fornecedor_id   integer   

The ID of the fornecedor. Example: 5

POST api/fornecedores

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/fornecedores" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"tipo\": \"pj\",
    \"nome\": \"taerfowziumaybjtwxny\",
    \"cpf_cnpj\": \"ucohgcpqf\",
    \"ie\": \"s\",
    \"email\": \"[email protected]\",
    \"telefone\": \"embifn\",
    \"contato\": \"ilazuxspbkygwelm\",
    \"cep\": \"v\",
    \"logradouro\": \"lvrfkglqrbxmeaglbvzcsim\",
    \"numero\": \"ztvbvkhmwyojwf\",
    \"complemento\": \"cqbhyphdixcmsibutdd\",
    \"bairro\": \"mlztjvccrt\",
    \"cidade\": \"tuihiyrehdzczncn\",
    \"estado\": \"jz\",
    \"observacoes\": \"ipsum\",
    \"ativo\": false,
    \"lead_time_dias\": 48
}"
const url = new URL(
    "https://backend.valuor.com.br/api/fornecedores"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "tipo": "pj",
    "nome": "taerfowziumaybjtwxny",
    "cpf_cnpj": "ucohgcpqf",
    "ie": "s",
    "email": "[email protected]",
    "telefone": "embifn",
    "contato": "ilazuxspbkygwelm",
    "cep": "v",
    "logradouro": "lvrfkglqrbxmeaglbvzcsim",
    "numero": "ztvbvkhmwyojwf",
    "complemento": "cqbhyphdixcmsibutdd",
    "bairro": "mlztjvccrt",
    "cidade": "tuihiyrehdzczncn",
    "estado": "jz",
    "observacoes": "ipsum",
    "ativo": false,
    "lead_time_dias": 48
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/fornecedores

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

tipo   string   

Example: pj

Must be one of:
  • pf
  • pj
nome   string   

validation.max. Example: taerfowziumaybjtwxny

cpf_cnpj   string  optional  

validation.max. Example: ucohgcpqf

ie   string  optional  

validation.max. Example: s

email   string  optional  

validation.email validation.max. Example: [email protected]

telefone   string  optional  

validation.max. Example: embifn

contato   string  optional  

validation.max. Example: ilazuxspbkygwelm

cep   string  optional  

validation.max. Example: v

logradouro   string  optional  

validation.max. Example: lvrfkglqrbxmeaglbvzcsim

numero   string  optional  

validation.max. Example: ztvbvkhmwyojwf

complemento   string  optional  

validation.max. Example: cqbhyphdixcmsibutdd

bairro   string  optional  

validation.max. Example: mlztjvccrt

cidade   string  optional  

validation.max. Example: tuihiyrehdzczncn

estado   string  optional  

validation.size. Example: jz

observacoes   string  optional  

Example: ipsum

ativo   boolean  optional  

Example: false

lead_time_dias   integer  optional  

validation.min. Example: 48

PUT api/fornecedores/{fornecedor_id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/fornecedores/18" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"tipo\": \"pj\",
    \"nome\": \"zhmlfxqrcqrgdzpgibwawtaz\",
    \"cpf_cnpj\": \"jbkdluousdsgqdfllg\",
    \"ie\": \"ivrbeundirxvqdb\",
    \"email\": \"[email protected]\",
    \"telefone\": \"eqmjvzgrlezd\",
    \"contato\": \"adjprlljdl\",
    \"cep\": \"usebakixl\",
    \"logradouro\": \"ogosajqxhjhs\",
    \"numero\": \"vvyvezlbjnqbcxeplwj\",
    \"complemento\": \"kqmzkizodpipwanzvyadv\",
    \"bairro\": \"uqtbtswkbytviuv\",
    \"cidade\": \"kolhtfcgr\",
    \"estado\": \"ar\",
    \"observacoes\": \"sunt\",
    \"ativo\": false,
    \"lead_time_dias\": 3
}"
const url = new URL(
    "https://backend.valuor.com.br/api/fornecedores/18"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "tipo": "pj",
    "nome": "zhmlfxqrcqrgdzpgibwawtaz",
    "cpf_cnpj": "jbkdluousdsgqdfllg",
    "ie": "ivrbeundirxvqdb",
    "email": "[email protected]",
    "telefone": "eqmjvzgrlezd",
    "contato": "adjprlljdl",
    "cep": "usebakixl",
    "logradouro": "ogosajqxhjhs",
    "numero": "vvyvezlbjnqbcxeplwj",
    "complemento": "kqmzkizodpipwanzvyadv",
    "bairro": "uqtbtswkbytviuv",
    "cidade": "kolhtfcgr",
    "estado": "ar",
    "observacoes": "sunt",
    "ativo": false,
    "lead_time_dias": 3
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/fornecedores/{fornecedor_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

fornecedor_id   integer   

The ID of the fornecedor. Example: 18

Body Parameters

tipo   string  optional  

Example: pj

Must be one of:
  • pf
  • pj
nome   string  optional  

validation.max. Example: zhmlfxqrcqrgdzpgibwawtaz

cpf_cnpj   string  optional  

validation.max. Example: jbkdluousdsgqdfllg

ie   string  optional  

validation.max. Example: ivrbeundirxvqdb

email   string  optional  

validation.email validation.max. Example: [email protected]

telefone   string  optional  

validation.max. Example: eqmjvzgrlezd

contato   string  optional  

validation.max. Example: adjprlljdl

cep   string  optional  

validation.max. Example: usebakixl

logradouro   string  optional  

validation.max. Example: ogosajqxhjhs

numero   string  optional  

validation.max. Example: vvyvezlbjnqbcxeplwj

complemento   string  optional  

validation.max. Example: kqmzkizodpipwanzvyadv

bairro   string  optional  

validation.max. Example: uqtbtswkbytviuv

cidade   string  optional  

validation.max. Example: kolhtfcgr

estado   string  optional  

validation.size. Example: ar

observacoes   string  optional  

Example: sunt

ativo   boolean  optional  

Example: false

lead_time_dias   integer  optional  

validation.min. Example: 3

PATCH api/fornecedores/{fornecedor_id}

Example request:
curl --request PATCH \
    "https://backend.valuor.com.br/api/fornecedores/6" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"tipo\": \"pf\",
    \"nome\": \"vlyzb\",
    \"cpf_cnpj\": \"s\",
    \"ie\": \"dhvjyjjjkwwccie\",
    \"email\": \"[email protected]\",
    \"telefone\": \"yqla\",
    \"contato\": \"cpoxasmpqmzmsj\",
    \"cep\": \"emzcjzdl\",
    \"logradouro\": \"ervwv\",
    \"numero\": \"ftidxrmbs\",
    \"complemento\": \"grmsdvzttuvrl\",
    \"bairro\": \"meitk\",
    \"cidade\": \"nwjtsk\",
    \"estado\": \"za\",
    \"observacoes\": \"ut\",
    \"ativo\": true,
    \"lead_time_dias\": 35
}"
const url = new URL(
    "https://backend.valuor.com.br/api/fornecedores/6"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "tipo": "pf",
    "nome": "vlyzb",
    "cpf_cnpj": "s",
    "ie": "dhvjyjjjkwwccie",
    "email": "[email protected]",
    "telefone": "yqla",
    "contato": "cpoxasmpqmzmsj",
    "cep": "emzcjzdl",
    "logradouro": "ervwv",
    "numero": "ftidxrmbs",
    "complemento": "grmsdvzttuvrl",
    "bairro": "meitk",
    "cidade": "nwjtsk",
    "estado": "za",
    "observacoes": "ut",
    "ativo": true,
    "lead_time_dias": 35
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PATCH api/fornecedores/{fornecedor_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

fornecedor_id   integer   

The ID of the fornecedor. Example: 6

Body Parameters

tipo   string  optional  

Example: pf

Must be one of:
  • pf
  • pj
nome   string  optional  

validation.max. Example: vlyzb

cpf_cnpj   string  optional  

validation.max. Example: s

ie   string  optional  

validation.max. Example: dhvjyjjjkwwccie

email   string  optional  

validation.email validation.max. Example: [email protected]

telefone   string  optional  

validation.max. Example: yqla

contato   string  optional  

validation.max. Example: cpoxasmpqmzmsj

cep   string  optional  

validation.max. Example: emzcjzdl

logradouro   string  optional  

validation.max. Example: ervwv

numero   string  optional  

validation.max. Example: ftidxrmbs

complemento   string  optional  

validation.max. Example: grmsdvzttuvrl

bairro   string  optional  

validation.max. Example: meitk

cidade   string  optional  

validation.max. Example: nwjtsk

estado   string  optional  

validation.size. Example: za

observacoes   string  optional  

Example: ut

ativo   boolean  optional  

Example: true

lead_time_dias   integer  optional  

validation.min. Example: 35

DELETE api/fornecedores/{fornecedor_id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/fornecedores/4" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fornecedores/4"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/fornecedores/{fornecedor_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

fornecedor_id   integer   

The ID of the fornecedor. Example: 4

Tenant — Catálogo

Categorias de produtos com suporte a subcategorias (2 níveis).

Listar categorias

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/categorias?raiz=1&ativo=1&per_page=100" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/categorias"
);

const params = {
    "raiz": "1",
    "ativo": "1",
    "per_page": "100",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/categorias

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

raiz   boolean  optional  

Se true, retorna apenas categorias raiz com filhos embutidos. Example: true

ativo   boolean  optional  

Filtrar por status. Example: true

per_page   integer  optional  

Itens por página. Example: 100

POST api/categorias

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/categorias" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"baw\",
    \"descricao\": \"jctohvjpigxbiwlgjo\",
    \"ativo\": true
}"
const url = new URL(
    "https://backend.valuor.com.br/api/categorias"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nome": "baw",
    "descricao": "jctohvjpigxbiwlgjo",
    "ativo": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/categorias

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

parent_id   string  optional  

The id of an existing record in the categorias table.

nome   string   

validation.max. Example: baw

descricao   string  optional  

validation.max. Example: jctohvjpigxbiwlgjo

ativo   boolean  optional  

Example: true

GET api/categorias/{id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/categorias/9" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/categorias/9"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/categorias/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the categoria. Example: 9

PUT api/categorias/{id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/categorias/5" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"ybfz\",
    \"descricao\": \"mdbrdeqgorbngcquhog\",
    \"ativo\": true
}"
const url = new URL(
    "https://backend.valuor.com.br/api/categorias/5"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nome": "ybfz",
    "descricao": "mdbrdeqgorbngcquhog",
    "ativo": true
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/categorias/{id}

PATCH api/categorias/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the categoria. Example: 5

Body Parameters

parent_id   string  optional  

The id of an existing record in the categorias table.

nome   string  optional  

validation.max. Example: ybfz

descricao   string  optional  

validation.max. Example: mdbrdeqgorbngcquhog

ativo   boolean  optional  

Example: true

DELETE api/categorias/{id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/categorias/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/categorias/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/categorias/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the categoria. Example: 1

Listar marcas

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/marcas?search=Nike&ativo=1&per_page=50" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/marcas"
);

const params = {
    "search": "Nike",
    "ativo": "1",
    "per_page": "50",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/marcas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

search   string  optional  

Busca por nome da marca. Example: Nike

ativo   boolean  optional  

Filtrar por status. Example: true

per_page   integer  optional  

Itens por página. Example: 50

POST api/marcas

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/marcas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"ptenuqxmnjnwvg\",
    \"ativo\": true
}"
const url = new URL(
    "https://backend.valuor.com.br/api/marcas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nome": "ptenuqxmnjnwvg",
    "ativo": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/marcas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

nome   string   

validation.max. Example: ptenuqxmnjnwvg

ativo   boolean  optional  

Example: true

GET api/marcas/{id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/marcas/19" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/marcas/19"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/marcas/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the marca. Example: 19

PUT api/marcas/{id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/marcas/3" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"tx\",
    \"ativo\": false
}"
const url = new URL(
    "https://backend.valuor.com.br/api/marcas/3"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nome": "tx",
    "ativo": false
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/marcas/{id}

PATCH api/marcas/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the marca. Example: 3

Body Parameters

nome   string   

validation.max. Example: tx

ativo   boolean  optional  

Example: false

DELETE api/marcas/{id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/marcas/10" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/marcas/10"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/marcas/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the marca. Example: 10

Listar fabricantes

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/fabricantes?search=Nestl%C3%A9&ativo=1&per_page=50" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fabricantes"
);

const params = {
    "search": "Nestlé",
    "ativo": "1",
    "per_page": "50",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/fabricantes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

search   string  optional  

Busca por nome do fabricante. Example: Nestlé

ativo   boolean  optional  

Filtrar por status. Example: true

per_page   integer  optional  

Itens por página. Example: 50

POST api/fabricantes

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/fabricantes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"gckhmohczjhwxrfivpqutho\",
    \"ativo\": true
}"
const url = new URL(
    "https://backend.valuor.com.br/api/fabricantes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nome": "gckhmohczjhwxrfivpqutho",
    "ativo": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/fabricantes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

nome   string   

validation.max. Example: gckhmohczjhwxrfivpqutho

ativo   boolean  optional  

Example: true

GET api/fabricantes/{id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/fabricantes/17" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fabricantes/17"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/fabricantes/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the fabricante. Example: 17

PUT api/fabricantes/{id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/fabricantes/3" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"xhjyqss\",
    \"ativo\": false
}"
const url = new URL(
    "https://backend.valuor.com.br/api/fabricantes/3"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nome": "xhjyqss",
    "ativo": false
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/fabricantes/{id}

PATCH api/fabricantes/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the fabricante. Example: 3

Body Parameters

nome   string   

validation.max. Example: xhjyqss

ativo   boolean  optional  

Example: false

DELETE api/fabricantes/{id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/fabricantes/8" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fabricantes/8"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/fabricantes/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the fabricante. Example: 8

Tenant — Produtos

Cadastro de produtos e serviços com controle de estoque. tipo: produto | servico. Preços retornam como strings decimais — converta com double.parse() no Dart.

Retorna lista simplificada de produtos ativos para cache local no app mobile. Inclui apenas campos necessários para exibição e registro de pedidos offline. Suporta filtro por updated_since para sincronização incremental.

Listar produtos

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/produtos?search=Caneta&tipo=produto&categoria_id=3&ativo=1&estoque_critico=1&per_page=20" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/produtos"
);

const params = {
    "search": "Caneta",
    "tipo": "produto",
    "categoria_id": "3",
    "ativo": "1",
    "estoque_critico": "1",
    "per_page": "20",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/produtos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

search   string  optional  

Busca por nome ou código. Example: Caneta

tipo   string  optional  

Filtrar por tipo: produto ou servico. Example: produto

categoria_id   integer  optional  

Filtrar por categoria. Example: 3

ativo   boolean  optional  

Filtrar por status. Example: true

estoque_critico   boolean  optional  

Se true, retorna apenas itens abaixo do mínimo. Example: true

per_page   integer  optional  

Itens por página. Example: 20

POST api/produtos

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/produtos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"codigo\": \"edaovveobfqkmb\",
    \"codigo_barras\": \"sdjvfrnvjmem\",
    \"nome\": \"ct\",
    \"descricao\": \"suscipit\",
    \"unidade_medida\": \"tgsrul\",
    \"tipo\": \"produto\",
    \"preco_custo\": 81,
    \"preco_venda\": 57,
    \"margem_lucro\": 44,
    \"estoque_atual\": 74,
    \"estoque_minimo\": 37,
    \"ponto_pedido\": 0,
    \"multiplo_compra\": 73,
    \"compra_minima\": 9,
    \"ncm\": \"gxcakqqpb\",
    \"cst\": \"njfwl\",
    \"origem_mercadoria\": \"c\",
    \"tipo_item\": \"r\",
    \"cfop\": \"lc\",
    \"csosn\": \"re\",
    \"cst_pis\": \"s\",
    \"cst_cofins\": \"wu\",
    \"cst_ipi\": \"kb\",
    \"aliquota_icms\": 23,
    \"mva_st\": 15,
    \"aliquota_pis\": 15,
    \"aliquota_cofins\": 14,
    \"aliquota_ipi\": 7,
    \"cst_ibscbs\": \"fcg\",
    \"cclass_trib\": \"mv\",
    \"aliquota_ibs_uf\": 1,
    \"aliquota_ibs_mun\": 20,
    \"aliquota_cbs\": 20,
    \"cst_is\": \"ror\",
    \"cclass_trib_is\": \"rfpqlo\",
    \"aliquota_is\": 23,
    \"monofasico\": true,
    \"tipo_monofasico\": \"nvrwstlcas\",
    \"adrem_ibs\": 21,
    \"adrem_cbs\": 2,
    \"credito_presumido_percentual\": 10,
    \"cred_presumido_codigo\": \"dk\",
    \"controla_estoque\": true,
    \"controla_lote\": true,
    \"controla_validade\": true,
    \"registro_anvisa\": \"vtcxgxbwckswv\",
    \"principio_ativo\": \"ztyxhjthywe\",
    \"usa_grade\": false,
    \"usa_balanca\": false,
    \"balanca_tipo\": \"preco\",
    \"codigo_balanca_prefixo\": \"ap\",
    \"controla_numero_serie\": true,
    \"garantia_meses\": 5,
    \"ativo\": false,
    \"disponivel_todas_empresas\": true,
    \"empresa_ids\": [
        3
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/produtos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "codigo": "edaovveobfqkmb",
    "codigo_barras": "sdjvfrnvjmem",
    "nome": "ct",
    "descricao": "suscipit",
    "unidade_medida": "tgsrul",
    "tipo": "produto",
    "preco_custo": 81,
    "preco_venda": 57,
    "margem_lucro": 44,
    "estoque_atual": 74,
    "estoque_minimo": 37,
    "ponto_pedido": 0,
    "multiplo_compra": 73,
    "compra_minima": 9,
    "ncm": "gxcakqqpb",
    "cst": "njfwl",
    "origem_mercadoria": "c",
    "tipo_item": "r",
    "cfop": "lc",
    "csosn": "re",
    "cst_pis": "s",
    "cst_cofins": "wu",
    "cst_ipi": "kb",
    "aliquota_icms": 23,
    "mva_st": 15,
    "aliquota_pis": 15,
    "aliquota_cofins": 14,
    "aliquota_ipi": 7,
    "cst_ibscbs": "fcg",
    "cclass_trib": "mv",
    "aliquota_ibs_uf": 1,
    "aliquota_ibs_mun": 20,
    "aliquota_cbs": 20,
    "cst_is": "ror",
    "cclass_trib_is": "rfpqlo",
    "aliquota_is": 23,
    "monofasico": true,
    "tipo_monofasico": "nvrwstlcas",
    "adrem_ibs": 21,
    "adrem_cbs": 2,
    "credito_presumido_percentual": 10,
    "cred_presumido_codigo": "dk",
    "controla_estoque": true,
    "controla_lote": true,
    "controla_validade": true,
    "registro_anvisa": "vtcxgxbwckswv",
    "principio_ativo": "ztyxhjthywe",
    "usa_grade": false,
    "usa_balanca": false,
    "balanca_tipo": "preco",
    "codigo_balanca_prefixo": "ap",
    "controla_numero_serie": true,
    "garantia_meses": 5,
    "ativo": false,
    "disponivel_todas_empresas": true,
    "empresa_ids": [
        3
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/produtos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

categoria_id   string  optional  

The id of an existing record in the categorias table.

marca_id   string  optional  

The id of an existing record in the marcas table.

fabricante_id   string  optional  

The id of an existing record in the fabricantes table.

grade_id   string  optional  

The id of an existing record in the grades table.

codigo   string  optional  

validation.max. Example: edaovveobfqkmb

codigo_barras   string  optional  

validation.max. Example: sdjvfrnvjmem

nome   string   

validation.max. Example: ct

descricao   string  optional  

Example: suscipit

unidade_medida   string  optional  

validation.max. Example: tgsrul

tipo   string   

Example: produto

Must be one of:
  • produto
  • servico
preco_custo   number  optional  

validation.min. Example: 81

preco_venda   number   

validation.min. Example: 57

margem_lucro   number  optional  

validation.min. Example: 44

estoque_atual   number  optional  

validation.min. Example: 74

estoque_minimo   number  optional  

validation.min. Example: 37

ponto_pedido   number  optional  

validation.min. Example: 0

multiplo_compra   number  optional  

validation.min. Example: 73

compra_minima   number  optional  

validation.min. Example: 9

ncm   string  optional  

validation.max. Example: gxcakqqpb

cst   string  optional  

validation.max. Example: njfwl

origem_mercadoria   string  optional  

validation.max. Example: c

tipo_item   string  optional  

validation.max. Example: r

cfop   string  optional  

validation.max. Example: lc

csosn   string  optional  

validation.max. Example: re

cst_pis   string  optional  

validation.max. Example: s

cst_cofins   string  optional  

validation.max. Example: wu

cst_ipi   string  optional  

validation.max. Example: kb

aliquota_icms   number  optional  

validation.min validation.max. Example: 23

mva_st   number  optional  

validation.min validation.max. Example: 15

aliquota_pis   number  optional  

validation.min validation.max. Example: 15

aliquota_cofins   number  optional  

validation.min validation.max. Example: 14

aliquota_ipi   number  optional  

validation.min validation.max. Example: 7

cst_ibscbs   string  optional  

validation.max. Example: fcg

cclass_trib   string  optional  

validation.max. Example: mv

aliquota_ibs_uf   number  optional  

validation.min validation.max. Example: 1

aliquota_ibs_mun   number  optional  

validation.min validation.max. Example: 20

aliquota_cbs   number  optional  

validation.min validation.max. Example: 20

cst_is   string  optional  

validation.max. Example: ror

cclass_trib_is   string  optional  

validation.max. Example: rfpqlo

aliquota_is   number  optional  

validation.min validation.max. Example: 23

monofasico   boolean  optional  

Example: true

tipo_monofasico   string  optional  

validation.max. Example: nvrwstlcas

adrem_ibs   number  optional  

validation.min validation.max. Example: 21

adrem_cbs   number  optional  

validation.min validation.max. Example: 2

credito_presumido_percentual   number  optional  

validation.min validation.max. Example: 10

cred_presumido_codigo   string  optional  

validation.max. Example: dk

controla_estoque   boolean  optional  

Example: true

controla_lote   boolean  optional  

Example: true

controla_validade   boolean  optional  

Example: true

registro_anvisa   string  optional  

validation.max. Example: vtcxgxbwckswv

principio_ativo   string  optional  

validation.max. Example: ztyxhjthywe

usa_grade   boolean  optional  

Example: false

usa_balanca   boolean  optional  

Example: false

balanca_tipo   string  optional  

Example: preco

Must be one of:
  • peso
  • preco
codigo_balanca_prefixo   string  optional  

validation.max. Example: ap

controla_numero_serie   boolean  optional  

Example: true

garantia_meses   integer  optional  

validation.min validation.max. Example: 5

ativo   boolean  optional  

Example: false

disponivel_todas_empresas   boolean  optional  

Example: true

empresa_ids   integer[]  optional  

The id of an existing record in the empresas table.

GET api/produtos/{id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/produtos/9" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/produtos/9"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/produtos/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the produto. Example: 9

PUT api/produtos/{id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/produtos/7" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"codigo\": \"icaymborxcpdxjcbbnckyphdq\",
    \"codigo_barras\": \"lozlviujaopmybpukh\",
    \"nome\": \"kfctvsbgivzafp\",
    \"descricao\": \"corporis\",
    \"unidade_medida\": \"ygjnq\",
    \"tipo\": \"servico\",
    \"preco_custo\": 23,
    \"preco_venda\": 19,
    \"margem_lucro\": 7,
    \"estoque_minimo\": 69,
    \"ponto_pedido\": 82,
    \"multiplo_compra\": 58,
    \"compra_minima\": 31,
    \"ncm\": \"agabflpry\",
    \"cst\": \"n\",
    \"origem_mercadoria\": \"t\",
    \"tipo_item\": \"e\",
    \"cfop\": \"ctf\",
    \"csosn\": \"f\",
    \"cst_pis\": \"jd\",
    \"cst_cofins\": \"hb\",
    \"cst_ipi\": \"y\",
    \"aliquota_icms\": 12,
    \"mva_st\": 15,
    \"aliquota_pis\": 11,
    \"aliquota_cofins\": 22,
    \"aliquota_ipi\": 21,
    \"cst_ibscbs\": \"v\",
    \"cclass_trib\": \"rgki\",
    \"aliquota_ibs_uf\": 11,
    \"aliquota_ibs_mun\": 3,
    \"aliquota_cbs\": 12,
    \"cst_is\": \"u\",
    \"cclass_trib_is\": \"tay\",
    \"aliquota_is\": 12,
    \"monofasico\": false,
    \"tipo_monofasico\": \"cbplzandcuof\",
    \"adrem_ibs\": 18,
    \"adrem_cbs\": 1,
    \"credito_presumido_percentual\": 12,
    \"cred_presumido_codigo\": \"r\",
    \"controla_estoque\": false,
    \"controla_lote\": false,
    \"controla_validade\": true,
    \"registro_anvisa\": \"ijxjgqxjysm\",
    \"principio_ativo\": \"jtwwti\",
    \"usa_grade\": true,
    \"usa_balanca\": true,
    \"balanca_tipo\": \"peso\",
    \"codigo_balanca_prefixo\": \"r\",
    \"controla_numero_serie\": true,
    \"garantia_meses\": 19,
    \"ativo\": true,
    \"disponivel_todas_empresas\": true,
    \"empresa_ids\": [
        14
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/produtos/7"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "codigo": "icaymborxcpdxjcbbnckyphdq",
    "codigo_barras": "lozlviujaopmybpukh",
    "nome": "kfctvsbgivzafp",
    "descricao": "corporis",
    "unidade_medida": "ygjnq",
    "tipo": "servico",
    "preco_custo": 23,
    "preco_venda": 19,
    "margem_lucro": 7,
    "estoque_minimo": 69,
    "ponto_pedido": 82,
    "multiplo_compra": 58,
    "compra_minima": 31,
    "ncm": "agabflpry",
    "cst": "n",
    "origem_mercadoria": "t",
    "tipo_item": "e",
    "cfop": "ctf",
    "csosn": "f",
    "cst_pis": "jd",
    "cst_cofins": "hb",
    "cst_ipi": "y",
    "aliquota_icms": 12,
    "mva_st": 15,
    "aliquota_pis": 11,
    "aliquota_cofins": 22,
    "aliquota_ipi": 21,
    "cst_ibscbs": "v",
    "cclass_trib": "rgki",
    "aliquota_ibs_uf": 11,
    "aliquota_ibs_mun": 3,
    "aliquota_cbs": 12,
    "cst_is": "u",
    "cclass_trib_is": "tay",
    "aliquota_is": 12,
    "monofasico": false,
    "tipo_monofasico": "cbplzandcuof",
    "adrem_ibs": 18,
    "adrem_cbs": 1,
    "credito_presumido_percentual": 12,
    "cred_presumido_codigo": "r",
    "controla_estoque": false,
    "controla_lote": false,
    "controla_validade": true,
    "registro_anvisa": "ijxjgqxjysm",
    "principio_ativo": "jtwwti",
    "usa_grade": true,
    "usa_balanca": true,
    "balanca_tipo": "peso",
    "codigo_balanca_prefixo": "r",
    "controla_numero_serie": true,
    "garantia_meses": 19,
    "ativo": true,
    "disponivel_todas_empresas": true,
    "empresa_ids": [
        14
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/produtos/{id}

PATCH api/produtos/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the produto. Example: 7

Body Parameters

categoria_id   string  optional  

The id of an existing record in the categorias table.

marca_id   string  optional  

The id of an existing record in the marcas table.

fabricante_id   string  optional  

The id of an existing record in the fabricantes table.

grade_id   string  optional  

The id of an existing record in the grades table.

codigo   string  optional  

validation.max. Example: icaymborxcpdxjcbbnckyphdq

codigo_barras   string  optional  

validation.max. Example: lozlviujaopmybpukh

nome   string  optional  

validation.max. Example: kfctvsbgivzafp

descricao   string  optional  

Example: corporis

unidade_medida   string  optional  

validation.max. Example: ygjnq

tipo   string  optional  

Example: servico

Must be one of:
  • produto
  • servico
preco_custo   number  optional  

validation.min. Example: 23

preco_venda   number  optional  

validation.min. Example: 19

margem_lucro   number  optional  

validation.min. Example: 7

estoque_minimo   number  optional  

validation.min. Example: 69

ponto_pedido   number  optional  

validation.min. Example: 82

multiplo_compra   number  optional  

validation.min. Example: 58

compra_minima   number  optional  

validation.min. Example: 31

ncm   string  optional  

validation.max. Example: agabflpry

cst   string  optional  

validation.max. Example: n

origem_mercadoria   string  optional  

validation.max. Example: t

tipo_item   string  optional  

validation.max. Example: e

cfop   string  optional  

validation.max. Example: ctf

csosn   string  optional  

validation.max. Example: f

cst_pis   string  optional  

validation.max. Example: jd

cst_cofins   string  optional  

validation.max. Example: hb

cst_ipi   string  optional  

validation.max. Example: y

aliquota_icms   number  optional  

validation.min validation.max. Example: 12

mva_st   number  optional  

validation.min validation.max. Example: 15

aliquota_pis   number  optional  

validation.min validation.max. Example: 11

aliquota_cofins   number  optional  

validation.min validation.max. Example: 22

aliquota_ipi   number  optional  

validation.min validation.max. Example: 21

cst_ibscbs   string  optional  

validation.max. Example: v

cclass_trib   string  optional  

validation.max. Example: rgki

aliquota_ibs_uf   number  optional  

validation.min validation.max. Example: 11

aliquota_ibs_mun   number  optional  

validation.min validation.max. Example: 3

aliquota_cbs   number  optional  

validation.min validation.max. Example: 12

cst_is   string  optional  

validation.max. Example: u

cclass_trib_is   string  optional  

validation.max. Example: tay

aliquota_is   number  optional  

validation.min validation.max. Example: 12

monofasico   boolean  optional  

Example: false

tipo_monofasico   string  optional  

validation.max. Example: cbplzandcuof

adrem_ibs   number  optional  

validation.min validation.max. Example: 18

adrem_cbs   number  optional  

validation.min validation.max. Example: 1

credito_presumido_percentual   number  optional  

validation.min validation.max. Example: 12

cred_presumido_codigo   string  optional  

validation.max. Example: r

controla_estoque   boolean  optional  

Example: false

controla_lote   boolean  optional  

Example: false

controla_validade   boolean  optional  

Example: true

registro_anvisa   string  optional  

validation.max. Example: ijxjgqxjysm

principio_ativo   string  optional  

validation.max. Example: jtwwti

usa_grade   boolean  optional  

Example: true

usa_balanca   boolean  optional  

Example: true

balanca_tipo   string  optional  

Example: peso

Must be one of:
  • peso
  • preco
codigo_balanca_prefixo   string  optional  

validation.max. Example: r

controla_numero_serie   boolean  optional  

Example: true

garantia_meses   integer  optional  

validation.min validation.max. Example: 19

ativo   boolean  optional  

Example: true

disponivel_todas_empresas   boolean  optional  

Example: true

empresa_ids   integer[]  optional  

The id of an existing record in the empresas table.

DELETE api/produtos/{id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/produtos/17" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/produtos/17"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/produtos/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the produto. Example: 17

GET api/produtos/{produto_id}/movimentacoes

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/produtos/1/movimentacoes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/produtos/1/movimentacoes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/produtos/{produto_id}/movimentacoes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

produto_id   integer   

The ID of the produto. Example: 1

POST api/produtos/{produto_id}/ajuste-estoque

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/produtos/5/ajuste-estoque" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"quantidade\": 53,
    \"motivo\": \"ewpp\",
    \"deposito_id\": 10
}"
const url = new URL(
    "https://backend.valuor.com.br/api/produtos/5/ajuste-estoque"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "quantidade": 53,
    "motivo": "ewpp",
    "deposito_id": 10
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/produtos/{produto_id}/ajuste-estoque

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

produto_id   integer   

The ID of the produto. Example: 5

Body Parameters

quantidade   number   

validation.min. Example: 53

motivo   string   

validation.max. Example: ewpp

deposito_id   integer  optional  

The id of an existing record in the depositos table. Example: 10

Upload da foto do produto (disco público). Retorna a URL salva.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/produtos/13/imagem" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "imagem=@/tmp/phpcfonfG" 
const url = new URL(
    "https://backend.valuor.com.br/api/produtos/13/imagem"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('imagem', document.querySelector('input[name="imagem"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/produtos/{produto_id}/imagem

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

produto_id   integer   

The ID of the produto. Example: 13

Body Parameters

imagem   file   

validation.image validation.max. Example: /tmp/phpcfonfG

Remove a foto do produto.

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/produtos/8/imagem" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/produtos/8/imagem"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/produtos/{produto_id}/imagem

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

produto_id   integer   

The ID of the produto. Example: 8

Tenant — Estoque

GET api/grades

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/grades" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/grades"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/grades

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/grades

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/grades" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"cyzauqsustbvjadgcv\",
    \"descricao\": \"blanditiis\",
    \"ativo\": false,
    \"atributos\": [
        {
            \"nome\": \"eijyerrdyzkioedzjgxwvx\",
            \"opcoes\": [
                \"yycwmujmzkzomtuo\"
            ]
        }
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/grades"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nome": "cyzauqsustbvjadgcv",
    "descricao": "blanditiis",
    "ativo": false,
    "atributos": [
        {
            "nome": "eijyerrdyzkioedzjgxwvx",
            "opcoes": [
                "yycwmujmzkzomtuo"
            ]
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/grades

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

nome   string   

validation.max. Example: cyzauqsustbvjadgcv

descricao   string  optional  

Example: blanditiis

ativo   boolean  optional  

Example: false

atributos   object[]  optional  
nome   string   

validation.max. Example: eijyerrdyzkioedzjgxwvx

opcoes   string[]   

validation.max.

GET api/grades/{id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/grades/8" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/grades/8"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/grades/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the grade. Example: 8

PUT api/grades/{id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/grades/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"kwabhkuqcaeqrs\",
    \"descricao\": \"sint\",
    \"ativo\": false,
    \"atributos\": [
        {
            \"nome\": \"ognjaexjamnzkkikrbsyn\",
            \"opcoes\": [
                \"xbjtvmgcjpfqjotpzhaniujco\"
            ]
        }
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/grades/2"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nome": "kwabhkuqcaeqrs",
    "descricao": "sint",
    "ativo": false,
    "atributos": [
        {
            "nome": "ognjaexjamnzkkikrbsyn",
            "opcoes": [
                "xbjtvmgcjpfqjotpzhaniujco"
            ]
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/grades/{id}

PATCH api/grades/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the grade. Example: 2

Body Parameters

nome   string  optional  

validation.max. Example: kwabhkuqcaeqrs

descricao   string  optional  

Example: sint

ativo   boolean  optional  

Example: false

atributos   object[]  optional  
nome   string   

validation.max. Example: ognjaexjamnzkkikrbsyn

opcoes   string[]   

validation.max.

DELETE api/grades/{id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/grades/17" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/grades/17"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/grades/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the grade. Example: 17

Controle de validade (FEFO): lotes vencidos e a vencer dentro de N dias, com saldo > 0, ordenados pela validade mais próxima.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/lotes/validade?dias=30" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/lotes/validade"
);

const params = {
    "dias": "30",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/lotes/validade

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

dias   integer  optional  

Janela de alerta em dias (default 30). Example: 30

Lote vigente de um produto = o que o FEFO consumirá primeiro (ativo, saldo > 0, menor validade). Usado pelo PDV para alertar validade.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/lotes/vigente/cumque" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/lotes/vigente/cumque"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/lotes/vigente/{produtoId}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

produtoId   string   

Example: cumque

GET api/lotes

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/lotes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/lotes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/lotes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/lotes

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/lotes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"produto_id\": \"dolorum\",
    \"numero_lote\": \"cyghnbk\",
    \"data_fabricacao\": \"2026-06-10T00:01:25\",
    \"data_validade\": \"2026-06-10T00:01:25\",
    \"quantidade_inicial\": 51,
    \"custo_unitario\": 32,
    \"observacoes\": \"qui\",
    \"ativo\": false
}"
const url = new URL(
    "https://backend.valuor.com.br/api/lotes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "produto_id": "dolorum",
    "numero_lote": "cyghnbk",
    "data_fabricacao": "2026-06-10T00:01:25",
    "data_validade": "2026-06-10T00:01:25",
    "quantidade_inicial": 51,
    "custo_unitario": 32,
    "observacoes": "qui",
    "ativo": false
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/lotes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

produto_id   string   

The id of an existing record in the produtos table. Example: dolorum

fornecedor_id   string  optional  

The id of an existing record in the fornecedores table.

numero_lote   string   

validation.max. Example: cyghnbk

data_fabricacao   string  optional  

validation.date. Example: 2026-06-10T00:01:25

data_validade   string  optional  

validation.date. Example: 2026-06-10T00:01:25

quantidade_inicial   number   

validation.min. Example: 51

custo_unitario   number  optional  

validation.min. Example: 32

observacoes   string  optional  

Example: qui

ativo   boolean  optional  

Example: false

GET api/lotes/{id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/lotes/4" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/lotes/4"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/lotes/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the lote. Example: 4

PUT api/lotes/{id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/lotes/20" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"numero_lote\": \"kospmwrkjxpxzc\",
    \"data_fabricacao\": \"2026-06-10T00:01:30\",
    \"data_validade\": \"2026-06-10T00:01:30\",
    \"quantidade_atual\": 69,
    \"custo_unitario\": 67,
    \"observacoes\": \"non\",
    \"ativo\": true
}"
const url = new URL(
    "https://backend.valuor.com.br/api/lotes/20"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "numero_lote": "kospmwrkjxpxzc",
    "data_fabricacao": "2026-06-10T00:01:30",
    "data_validade": "2026-06-10T00:01:30",
    "quantidade_atual": 69,
    "custo_unitario": 67,
    "observacoes": "non",
    "ativo": true
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/lotes/{id}

PATCH api/lotes/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the lote. Example: 20

Body Parameters

numero_lote   string  optional  

validation.max. Example: kospmwrkjxpxzc

fornecedor_id   string  optional  

The id of an existing record in the fornecedores table.

data_fabricacao   string  optional  

validation.date. Example: 2026-06-10T00:01:30

data_validade   string  optional  

validation.date. Example: 2026-06-10T00:01:30

quantidade_atual   number  optional  

validation.min. Example: 69

custo_unitario   number  optional  

validation.min. Example: 67

observacoes   string  optional  

Example: non

ativo   boolean  optional  

Example: true

DELETE api/lotes/{id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/lotes/14" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/lotes/14"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/lotes/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the lote. Example: 14

GET api/importacao/template/{tipo}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/importacao/template/voluptatem" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/importacao/template/voluptatem"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/importacao/template/{tipo}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tipo   string   

Example: voluptatem

POST api/importacao/clientes

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/importacao/clientes" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "arquivo=@/tmp/phpBnoFnA" 
const url = new URL(
    "https://backend.valuor.com.br/api/importacao/clientes"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('arquivo', document.querySelector('input[name="arquivo"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/importacao/clientes

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

arquivo   file   

Must be a file. validation.max. Example: /tmp/phpBnoFnA

POST api/importacao/fornecedores

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/importacao/fornecedores" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "arquivo=@/tmp/phpIeDEiE" 
const url = new URL(
    "https://backend.valuor.com.br/api/importacao/fornecedores"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('arquivo', document.querySelector('input[name="arquivo"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/importacao/fornecedores

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

arquivo   file   

Must be a file. validation.max. Example: /tmp/phpIeDEiE

POST api/importacao/produtos

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/importacao/produtos" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "arquivo=@/tmp/phpPOibpH" 
const url = new URL(
    "https://backend.valuor.com.br/api/importacao/produtos"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('arquivo', document.querySelector('input[name="arquivo"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/importacao/produtos

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

arquivo   file   

Must be a file. validation.max. Example: /tmp/phpPOibpH

POST api/importacao/financeiro

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/importacao/financeiro" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "arquivo=@/tmp/phpKknaJM" 
const url = new URL(
    "https://backend.valuor.com.br/api/importacao/financeiro"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('arquivo', document.querySelector('input[name="arquivo"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/importacao/financeiro

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

arquivo   file   

Must be a file. validation.max. Example: /tmp/phpKknaJM

Tenant — Compras

Gera pedidos de compra (rascunho) a partir de uma lista de itens da reposição, agrupados por fornecedor → um pedido por fornecedor.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/compras/gerar-reposicao" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"itens\": [
        {
            \"produto_id\": \"qui\",
            \"quantidade\": 33,
            \"custo_unitario\": 15
        }
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/compras/gerar-reposicao"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "itens": [
        {
            "produto_id": "qui",
            "quantidade": 33,
            "custo_unitario": 15
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/compras/gerar-reposicao

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

itens   object[]   

validation.min.

produto_id   string   

The id of an existing record in the produtos table. Example: qui

quantidade   number   

validation.min. Example: 33

custo_unitario   number  optional  

validation.min. Example: 15

GET api/compras

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/compras" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/compras"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/compras

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/compras

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/compras" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/compras"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/compras

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/compras/{id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/compras/20" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/compras/20"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/compras/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the compra. Example: 20

Edita um pedido em rascunho/rejeitado (rejeitado volta a rascunho).

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/compras/12" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/compras/12"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/compras/{id}

PATCH api/compras/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the compra. Example: 12

DELETE api/compras/{id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/compras/19" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/compras/19"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/compras/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the compra. Example: 19

Pedido de compra em PDF (A4, gerado no servidor) — substitui o "imprimir a tela". Cabeçalho usa a matriz do tenant (compras são tenant-level).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/compras/4/pdf" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/compras/4/pdf"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/compras/{compra_id}/pdf

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

compra_id   integer   

The ID of the compra. Example: 4

POST api/compras/{compra_id}/enviar-aprovacao

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/compras/7/enviar-aprovacao" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/compras/7/enviar-aprovacao"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/compras/{compra_id}/enviar-aprovacao

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

compra_id   integer   

The ID of the compra. Example: 7

POST api/compras/{compra_id}/confirmar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/compras/11/confirmar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"pagamentos\": [
        {
            \"forma_pagamento\": \"et\",
            \"valor\": 17,
            \"data_vencimento\": \"2026-06-10T00:02:20\"
        }
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/compras/11/confirmar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "pagamentos": [
        {
            "forma_pagamento": "et",
            "valor": 17,
            "data_vencimento": "2026-06-10T00:02:20"
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/compras/{compra_id}/confirmar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

compra_id   integer   

The ID of the compra. Example: 11

Body Parameters

pagamentos   object[]  optional  
forma_pagamento   string   

Example: et

valor   number   

validation.min. Example: 17

data_vencimento   string   

validation.date. Example: 2026-06-10T00:02:20

POST api/compras/{compra_id}/cancelar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/compras/8/cancelar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/compras/8/cancelar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/compras/{compra_id}/cancelar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

compra_id   integer   

The ID of the compra. Example: 8

Anexa o XML de uma NF-e a uma compra existente (não cria nova): preenche número/série/chave/duplicatas. Só em pedidos ainda não recebidos.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/compras/6/anexar-xml" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "xml=@/tmp/phphkNAjp" 
const url = new URL(
    "https://backend.valuor.com.br/api/compras/6/anexar-xml"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('xml', document.querySelector('input[name="xml"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/compras/{compra_id}/anexar-xml

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

compra_id   integer   

The ID of the compra. Example: 6

Body Parameters

xml   file   

Must be a file. validation.max. Example: /tmp/phphkNAjp

POST api/compras/{compra_id}/aprovar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/compras/13/aprovar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/compras/13/aprovar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/compras/{compra_id}/aprovar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

compra_id   integer   

The ID of the compra. Example: 13

POST api/compras/{compra_id}/rejeitar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/compras/7/rejeitar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"motivo\": \"ghnrlfptzlkwkntybf\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/compras/7/rejeitar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "motivo": "ghnrlfptzlkwkntybf"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/compras/{compra_id}/rejeitar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

compra_id   integer   

The ID of the compra. Example: 7

Body Parameters

motivo   string  optional  

validation.max. Example: ghnrlfptzlkwkntybf

Tenant — Vendas

Gerenciamento de vendas e orçamentos. Status possíveis: orcamento, confirmada, faturada, cancelada. Origens possíveis: web, pdv, mobile.

Listar vendas

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/vendas?status=confirmada&cliente_id=1&data_inicio=2026-05-01&data_fim=2026-05-31&per_page=20" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/vendas"
);

const params = {
    "status": "confirmada",
    "cliente_id": "1",
    "data_inicio": "2026-05-01",
    "data_fim": "2026-05-31",
    "per_page": "20",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/vendas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

status   string  optional  

Filtrar por status. Example: confirmada

cliente_id   integer  optional  

ID do cliente. Example: 1

data_inicio   string  optional  

date Data inicial (YYYY-MM-DD). Example: 2026-05-01

data_fim   string  optional  

date Data final (YYYY-MM-DD). Example: 2026-05-31

per_page   integer  optional  

Itens por página. Example: 20

Criar venda

Cria uma venda transacionalmente: valida estoque, gera número sequencial, reduz estoque e cria pagamentos automaticamente.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/vendas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"cliente_id\": 1,
    \"status\": \"confirmada\",
    \"origem\": \"online\",
    \"desconto\": 10,
    \"acrescimo\": 0,
    \"observacoes\": \"Cliente preferencial\",
    \"data_venda\": \"2026-06-10T00:02:26\",
    \"itens\": [
        {
            \"produto_id\": 5,
            \"quantidade\": 2,
            \"preco_unitario\": 49.9,
            \"desconto\": 74,
            \"variacao_id\": 8,
            \"variacao_descricao\": \"qrvmbmzrocwtirypbqbaou\"
        }
    ],
    \"pagamentos\": [
        {
            \"forma_pagamento\": \"pix\",
            \"valor\": 89.8,
            \"data_vencimento\": \"2026-05-22\",
            \"data_pagamento\": \"2026-06-10T00:02:26\"
        }
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/vendas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "cliente_id": 1,
    "status": "confirmada",
    "origem": "online",
    "desconto": 10,
    "acrescimo": 0,
    "observacoes": "Cliente preferencial",
    "data_venda": "2026-06-10T00:02:26",
    "itens": [
        {
            "produto_id": 5,
            "quantidade": 2,
            "preco_unitario": 49.9,
            "desconto": 74,
            "variacao_id": 8,
            "variacao_descricao": "qrvmbmzrocwtirypbqbaou"
        }
    ],
    "pagamentos": [
        {
            "forma_pagamento": "pix",
            "valor": 89.8,
            "data_vencimento": "2026-05-22",
            "data_pagamento": "2026-06-10T00:02:26"
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (201):


{
    "data": {
        "id": 1,
        "numero": "00000001",
        "status": "confirmada",
        "total": "89.80"
    }
}
 

Example response (422):


{
    "message": "Estoque insuficiente para Produto X."
}
 

Request      

POST api/vendas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

empresa_id   string  optional  

The id of an existing record in the empresas table.

deposito_id   string  optional  

The id of an existing record in the depositos table.

cliente_id   integer  optional  

ID do cliente (opcional). Example: 1

vendedor_id   string  optional  

The id of an existing record in the users table.

status   string  optional  

Status inicial: orcamento ou confirmada. Example: confirmada

origem   string  optional  

Example: online

Must be one of:
  • balcao
  • pdv
  • online
desconto   number  optional  

Desconto total em R$. Example: 10

acrescimo   number  optional  

Acréscimo total em R$. Example: 0

observacoes   string  optional  

Observações internas. Example: Cliente preferencial

data_venda   string  optional  

validation.date. Example: 2026-06-10T00:02:26

itens   object[]   

Lista de itens da venda.

produto_id   integer   

ID do produto. Example: 5

quantidade   number   

Quantidade. Example: 2

preco_unitario   number   

Preço unitário. Example: 49.9

desconto   number  optional  

validation.min. Example: 74

variacao_id   integer  optional  

Example: 8

variacao_descricao   string  optional  

validation.max. Example: qrvmbmzrocwtirypbqbaou

pagamentos   object[]   

Lista de pagamentos.

forma_pagamento   string   

Forma: dinheiro, pix, cartao_credito, cartao_debito, boleto, transferencia, cheque, crediario. Example: pix

valor   number   

Valor do pagamento. Example: 89.8

data_vencimento   date   

Vencimento (YYYY-MM-DD). Example: 2026-05-22

data_pagamento   string  optional  

validation.date. Example: 2026-06-10T00:02:26

Buscar venda (com itens e pagamentos)

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/vendas/11" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/vendas/11"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/vendas/{venda_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

venda_id   integer   

The ID of the venda. Example: 11

Documento da venda em PDF (A4, gerado no servidor) — substitui o "imprimir a tela". Layout próprio com cabeçalho da empresa, itens, totais e pagamento.

Sem valor fiscal (a DANFE/NFC-e é emitida pelo módulo fiscal).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/vendas/5/pdf" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/vendas/5/pdf"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/vendas/{venda_id}/pdf

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

venda_id   integer   

The ID of the venda. Example: 5

Atualizar / retomar venda pendente (orçamento ou pré-venda).

Permite editar itens, converter orçamento↔pré-venda e CONCLUIR (status confirmada), quando os pagamentos informados geram os recebíveis.

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/vendas/12" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": \"orcamento\",
    \"origem\": \"online\",
    \"desconto\": 26,
    \"acrescimo\": 72,
    \"observacoes\": \"et\",
    \"data_venda\": \"2026-06-10T00:02:29\",
    \"itens\": [
        {
            \"produto_id\": \"iure\",
            \"quantidade\": 59,
            \"preco_unitario\": 36,
            \"desconto\": 22,
            \"variacao_id\": 13,
            \"variacao_descricao\": \"hjd\"
        }
    ],
    \"pagamentos\": [
        {
            \"forma_pagamento\": \"dinheiro\",
            \"valor\": 30,
            \"data_vencimento\": \"2026-06-10T00:02:29\",
            \"data_pagamento\": \"2026-06-10T00:02:29\"
        }
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/vendas/12"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "status": "orcamento",
    "origem": "online",
    "desconto": 26,
    "acrescimo": 72,
    "observacoes": "et",
    "data_venda": "2026-06-10T00:02:29",
    "itens": [
        {
            "produto_id": "iure",
            "quantidade": 59,
            "preco_unitario": 36,
            "desconto": 22,
            "variacao_id": 13,
            "variacao_descricao": "hjd"
        }
    ],
    "pagamentos": [
        {
            "forma_pagamento": "dinheiro",
            "valor": 30,
            "data_vencimento": "2026-06-10T00:02:29",
            "data_pagamento": "2026-06-10T00:02:29"
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/vendas/{venda_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

venda_id   integer   

The ID of the venda. Example: 12

Body Parameters

empresa_id   string  optional  

The id of an existing record in the empresas table.

deposito_id   string  optional  

The id of an existing record in the depositos table.

cliente_id   string  optional  

The id of an existing record in the clientes table.

vendedor_id   string  optional  

The id of an existing record in the users table.

status   string  optional  

Example: orcamento

Must be one of:
  • orcamento
  • prevenda
  • confirmada
  • faturada
origem   string  optional  

Example: online

Must be one of:
  • balcao
  • pdv
  • online
desconto   number  optional  

validation.min. Example: 26

acrescimo   number  optional  

validation.min. Example: 72

observacoes   string  optional  

Example: et

data_venda   string  optional  

validation.date. Example: 2026-06-10T00:02:29

itens   object[]   

validation.min.

produto_id   string   

The id of an existing record in the produtos table. Example: iure

quantidade   number   

validation.min. Example: 59

preco_unitario   number  optional  

validation.min. Example: 36

desconto   number  optional  

validation.min. Example: 22

variacao_id   integer  optional  

Example: 13

variacao_descricao   string  optional  

validation.max. Example: hjd

pagamentos   object[]  optional  
forma_pagamento   string   

Example: dinheiro

Must be one of:
  • dinheiro
  • pix
  • cartao_credito
  • cartao_debito
  • boleto
  • transferencia
  • cheque
  • outros
valor   number   

validation.min. Example: 30

data_vencimento   string  optional  

validation.date. Example: 2026-06-10T00:02:29

data_pagamento   string  optional  

validation.date. Example: 2026-06-10T00:02:29

DELETE api/vendas/{venda_id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/vendas/15" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/vendas/15"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/vendas/{venda_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

venda_id   integer   

The ID of the venda. Example: 15

Confirmar orçamento

Confirma um orçamento, alterando seu status para confirmada.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/vendas/4/confirmar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/vendas/4/confirmar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (200):


{
    "data": {
        "id": 1,
        "status": "confirmada"
    }
}
 

Example response (422):


{
    "message": "Apenas orçamentos podem ser confirmados."
}
 

Request      

POST api/vendas/{venda_id}/confirmar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

venda_id   integer   

The ID of the venda. Example: 4

Cancelar venda

Cancela a venda, reverte o estoque dos itens e cancela pagamentos pendentes.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/vendas/8/cancelar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/vendas/8/cancelar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (200):


{
    "data": {
        "id": 1,
        "status": "cancelada"
    }
}
 

Example response (422):


{
    "message": "Venda já está cancelada."
}
 

Request      

POST api/vendas/{venda_id}/cancelar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

venda_id   integer   

The ID of the venda. Example: 8

Emitir NF-e a partir de uma venda

Usa NfePayloadBuilder para montar o payload completo no formato da API Fiscal e chama POST /nfe/transmitir (gera + assina + envia para SEFAZ em uma chamada). O resultado é salvo na venda (nfe_chave, nfe_protocolo, nfe_status, etc.).

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/vendas/4/emitir-nfe" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/vendas/4/emitir-nfe"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/vendas/{venda_id}/emitir-nfe

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

venda_id   integer   

The ID of the venda. Example: 4

Documentos fiscais permitidos para a venda (regra do Cliente Consumidor).

Fonte única consumida pelo PDV/web para habilitar/desabilitar NFC-e e NF-e e exibir o motivo do bloqueio (valor acima do limite, operação interestadual).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/vendas/19/documentos-permitidos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/vendas/19/documentos-permitidos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "nfce": false,
    "nfe": true,
    "motivo_nfce_bloqueada": "Não é permitido emitir NFC-e para clientes localizados em outra UF...",
    "cliente_identificado": true
}
 

Request      

GET api/vendas/{venda_id}/documentos-permitidos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

venda_id   integer   

The ID of the venda. Example: 19

Registra/edita o número de série de um item vendido (TI/eletro).

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/venda-itens/13/serie" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"numero_serie\": \"mpkuvsytinewrwaaqivcu\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/venda-itens/13/serie"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "numero_serie": "mpkuvsytinewrwaaqivcu"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/venda-itens/{vendaItem_id}/serie

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

vendaItem_id   integer   

The ID of the vendaItem. Example: 13

Body Parameters

numero_serie   string  optional  

validation.max. Example: mpkuvsytinewrwaaqivcu

Tenant — Financeiro

Contas a receber e a pagar. tipo: receber | pagar. status: pendente | parcial | pago | vencido | cancelado.

GET api/pagamentos

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/pagamentos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/pagamentos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/pagamentos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Resumo (totalizadores) por tipo/período: a vencer, vencido, pago/recebido, em aberto.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/pagamentos/resumo" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/pagamentos/resumo"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/pagamentos/resumo

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Exporta a listagem (com os filtros atuais) em CSV.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/pagamentos/exportar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/pagamentos/exportar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/pagamentos/exportar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/pagamentos

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/pagamentos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"fornecedor_nome\": \"qfzccfx\",
    \"tipo\": \"receber\",
    \"forma_pagamento\": \"dinheiro\",
    \"valor\": 80,
    \"data_vencimento\": \"2026-06-10T00:03:39\",
    \"descricao\": \"lkqf\",
    \"documento\": \"rfbekhcymcwmfs\",
    \"observacoes\": \"autem\",
    \"total_parcelas\": 9,
    \"recorrencia_meses\": 5
}"
const url = new URL(
    "https://backend.valuor.com.br/api/pagamentos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "fornecedor_nome": "qfzccfx",
    "tipo": "receber",
    "forma_pagamento": "dinheiro",
    "valor": 80,
    "data_vencimento": "2026-06-10T00:03:39",
    "descricao": "lkqf",
    "documento": "rfbekhcymcwmfs",
    "observacoes": "autem",
    "total_parcelas": 9,
    "recorrencia_meses": 5
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/pagamentos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

venda_id   string  optional  

The id of an existing record in the vendas table.

compra_id   string  optional  

The id of an existing record in the compras table.

cliente_id   string  optional  

The id of an existing record in the clientes table.

fornecedor_id   string  optional  

The id of an existing record in the fornecedores table.

fornecedor_nome   string  optional  

validation.max. Example: qfzccfx

tipo   string   

Example: receber

Must be one of:
  • receber
  • pagar
forma_pagamento   string  optional  

Example: dinheiro

Must be one of:
  • dinheiro
  • pix
  • cartao_credito
  • cartao_debito
  • boleto
  • transferencia
  • cheque
  • crediario
  • outros
conta_corrente_id   string  optional  

The id of an existing record in the contas_correntes table.

plano_conta_id   string  optional  

The id of an existing record in the plano_contas table.

centro_custo_id   string  optional  

The id of an existing record in the centros_custo table.

valor   number   

validation.min. Example: 80

data_vencimento   string   

validation.date. Example: 2026-06-10T00:03:39

descricao   string  optional  

validation.max. Example: lkqf

documento   string  optional  

validation.max. Example: rfbekhcymcwmfs

observacoes   string  optional  

Example: autem

total_parcelas   integer  optional  

validation.min validation.max. Example: 9

recorrencia_meses   integer  optional  

validation.min validation.max. Example: 5

Baixa em lote: liquida vários títulos em aberto de uma vez (saldo total de cada), na mesma conta corrente/data/forma. Só títulos pendentes/parciais da empresa atual. Retorna o resumo (baixados, ignorados, total).

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/pagamentos/baixar-lote" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"ids\": [
        5
    ],
    \"data_pagamento\": \"2026-06-10T00:03:40\",
    \"forma_pagamento\": \"dinheiro\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/pagamentos/baixar-lote"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "ids": [
        5
    ],
    "data_pagamento": "2026-06-10T00:03:40",
    "forma_pagamento": "dinheiro"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/pagamentos/baixar-lote

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

ids   integer[]  optional  
data_pagamento   string   

validation.date. Example: 2026-06-10T00:03:40

forma_pagamento   string  optional  

Example: dinheiro

Must be one of:
  • dinheiro
  • pix
  • cartao_credito
  • cartao_debito
  • boleto
  • transferencia
  • cheque
  • crediario
  • outros
conta_corrente_id   string  optional  

The id of an existing record in the contas_correntes table.

GET api/pagamentos/{pagamento_id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/pagamentos/5" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/pagamentos/5"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/pagamentos/{pagamento_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

pagamento_id   integer   

The ID of the pagamento. Example: 5

Encargos sugeridos (multa + juros por atraso) para baixar um título numa data, conforme a config de boleto da empresa. A tela usa para pré-preencher os campos de juros/multa ao baixar um título vencido (editáveis).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/pagamentos/8/encargos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"data_pagamento\": \"2026-06-10T00:03:42\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/pagamentos/8/encargos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "data_pagamento": "2026-06-10T00:03:42"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/pagamentos/{pagamento_id}/encargos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

pagamento_id   integer   

The ID of the pagamento. Example: 8

Body Parameters

data_pagamento   string   

validation.date. Example: 2026-06-10T00:03:42

Baixar pagamento (total ou parcial).

Aceita baixa parcial: se valor_pago < saldo, o título fica parcial com o saldo remanescente. Se uma conta corrente for informada, lança automaticamente no extrato.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/pagamentos/6/baixar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"valor_pago\": 52,
    \"forma_pagamento\": \"crediario\",
    \"data_pagamento\": \"2026-06-10T00:03:43\",
    \"juros\": 90,
    \"multa\": 12,
    \"desconto\": 53,
    \"observacoes\": \"voluptatem\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/pagamentos/6/baixar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "valor_pago": 52,
    "forma_pagamento": "crediario",
    "data_pagamento": "2026-06-10T00:03:43",
    "juros": 90,
    "multa": 12,
    "desconto": 53,
    "observacoes": "voluptatem"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/pagamentos/{pagamento_id}/baixar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

pagamento_id   integer   

The ID of the pagamento. Example: 6

Body Parameters

valor_pago   number   

validation.min. Example: 52

forma_pagamento   string  optional  

Example: crediario

Must be one of:
  • dinheiro
  • pix
  • cartao_credito
  • cartao_debito
  • boleto
  • transferencia
  • cheque
  • crediario
  • outros
conta_corrente_id   string  optional  

The id of an existing record in the contas_correntes table.

data_pagamento   string   

validation.date. Example: 2026-06-10T00:03:43

juros   number  optional  

validation.min. Example: 90

multa   number  optional  

validation.min. Example: 12

desconto   number  optional  

validation.min. Example: 53

observacoes   string  optional  

Example: voluptatem

POST api/pagamentos/{pagamento_id}/cancelar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/pagamentos/3/cancelar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/pagamentos/3/cancelar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/pagamentos/{pagamento_id}/cancelar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

pagamento_id   integer   

The ID of the pagamento. Example: 3

Estorna um título baixado (total/parcial): volta a `pendente`, zera o que foi pago e remove o lançamento automático no extrato da conta corrente.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/pagamentos/4/estornar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/pagamentos/4/estornar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/pagamentos/{pagamento_id}/estornar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

pagamento_id   integer   

The ID of the pagamento. Example: 4

DELETE api/pagamentos/{pagamento_id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/pagamentos/12" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/pagamentos/12"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/pagamentos/{pagamento_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

pagamento_id   integer   

The ID of the pagamento. Example: 12

GET api/formas-pagamento

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/formas-pagamento" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/formas-pagamento"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/formas-pagamento

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/formas-pagamento

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/formas-pagamento" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/formas-pagamento"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/formas-pagamento

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/formas-pagamento/{forma_pagamento}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/formas-pagamento/20" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/formas-pagamento/20"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/formas-pagamento/{forma_pagamento}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

forma_pagamento   integer   

Example: 20

PUT api/formas-pagamento/{forma_pagamento}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/formas-pagamento/11" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/formas-pagamento/11"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/formas-pagamento/{forma_pagamento}

PATCH api/formas-pagamento/{forma_pagamento}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

forma_pagamento   integer   

Example: 11

DELETE api/formas-pagamento/{forma_pagamento}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/formas-pagamento/7" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/formas-pagamento/7"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/formas-pagamento/{forma_pagamento}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

forma_pagamento   integer   

Example: 7

GET api/plano-contas

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/plano-contas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/plano-contas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/plano-contas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/plano-contas

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/plano-contas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/plano-contas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/plano-contas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/plano-contas/{id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/plano-contas/5" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/plano-contas/5"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/plano-contas/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the plano conta. Example: 5

PUT api/plano-contas/{id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/plano-contas/11" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/plano-contas/11"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/plano-contas/{id}

PATCH api/plano-contas/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the plano conta. Example: 11

DELETE api/plano-contas/{id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/plano-contas/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/plano-contas/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/plano-contas/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the plano conta. Example: 1

GET api/centros-custo

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/centros-custo" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/centros-custo"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/centros-custo

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/centros-custo

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/centros-custo" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/centros-custo"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/centros-custo

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/centros-custo/{centro_custo}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/centros-custo/15" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/centros-custo/15"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/centros-custo/{centro_custo}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

centro_custo   integer   

Example: 15

PUT api/centros-custo/{centro_custo}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/centros-custo/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/centros-custo/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/centros-custo/{centro_custo}

PATCH api/centros-custo/{centro_custo}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

centro_custo   integer   

Example: 1

DELETE api/centros-custo/{centro_custo}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/centros-custo/8" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/centros-custo/8"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/centros-custo/{centro_custo}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

centro_custo   integer   

Example: 8

Transferência entre contas correntes.

Cria débito na origem e crédito no destino, na mesma transação.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/contas-correntes/transferir" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"conta_origem_id\": \"ratione\",
    \"conta_destino_id\": \"nemo\",
    \"valor\": 23,
    \"data\": \"2026-06-10T00:04:25\",
    \"descricao\": \"qggpqyjhpsslzpfdxxeulg\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/contas-correntes/transferir"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "conta_origem_id": "ratione",
    "conta_destino_id": "nemo",
    "valor": 23,
    "data": "2026-06-10T00:04:25",
    "descricao": "qggpqyjhpsslzpfdxxeulg"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/contas-correntes/transferir

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

conta_origem_id   string   

The id of an existing record in the contas_correntes table. The value and conta_destino_id must be different. Example: ratione

conta_destino_id   string   

The id of an existing record in the contas_correntes table. Example: nemo

valor   number   

validation.min. Example: 23

data   string   

validation.date. Example: 2026-06-10T00:04:25

descricao   string  optional  

validation.max. Example: qggpqyjhpsslzpfdxxeulg

Resumo consolidado das contas correntes: saldo total, conciliado e a conciliar (uma chamada em vez de N), para KPIs de liquidez.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/contas-correntes/resumo" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/contas-correntes/resumo"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/contas-correntes/resumo

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/contas-correntes

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/contas-correntes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/contas-correntes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/contas-correntes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/contas-correntes

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/contas-correntes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"banco\": \"cflsmhzpnawwa\",
    \"agencia\": \"h\",
    \"conta\": \"zhkxbwrlwdtysdxcdb\",
    \"descricao\": \"oezsjfygwhtlmghzpxzeze\",
    \"saldo_inicial\": 1993770.6,
    \"ativo\": true
}"
const url = new URL(
    "https://backend.valuor.com.br/api/contas-correntes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "banco": "cflsmhzpnawwa",
    "agencia": "h",
    "conta": "zhkxbwrlwdtysdxcdb",
    "descricao": "oezsjfygwhtlmghzpxzeze",
    "saldo_inicial": 1993770.6,
    "ativo": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/contas-correntes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

banco   string   

validation.max. Example: cflsmhzpnawwa

agencia   string  optional  

validation.max. Example: h

conta   string  optional  

validation.max. Example: zhkxbwrlwdtysdxcdb

descricao   string   

validation.max. Example: oezsjfygwhtlmghzpxzeze

saldo_inicial   number  optional  

Example: 1993770.6

ativo   boolean  optional  

Example: true

GET api/contas-correntes/{contaCorrente_id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/contas-correntes/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/contas-correntes/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/contas-correntes/{contaCorrente_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

contaCorrente_id   integer   

The ID of the contaCorrente. Example: 1

PUT api/contas-correntes/{contaCorrente_id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/contas-correntes/7" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"banco\": \"jjcsurxryqagvmsebbw\",
    \"agencia\": \"gcvlsxngu\",
    \"conta\": \"dfpfakndgcmzdgnzyxgdgxue\",
    \"descricao\": \"gbfcv\",
    \"saldo_inicial\": 3737.8930322,
    \"ativo\": true
}"
const url = new URL(
    "https://backend.valuor.com.br/api/contas-correntes/7"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "banco": "jjcsurxryqagvmsebbw",
    "agencia": "gcvlsxngu",
    "conta": "dfpfakndgcmzdgnzyxgdgxue",
    "descricao": "gbfcv",
    "saldo_inicial": 3737.8930322,
    "ativo": true
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/contas-correntes/{contaCorrente_id}

PATCH api/contas-correntes/{contaCorrente_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

contaCorrente_id   integer   

The ID of the contaCorrente. Example: 7

Body Parameters

banco   string  optional  

validation.max. Example: jjcsurxryqagvmsebbw

agencia   string  optional  

validation.max. Example: gcvlsxngu

conta   string  optional  

validation.max. Example: dfpfakndgcmzdgnzyxgdgxue

descricao   string  optional  

validation.max. Example: gbfcv

saldo_inicial   number  optional  

Example: 3737.8930322

ativo   boolean  optional  

Example: true

DELETE api/contas-correntes/{contaCorrente_id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/contas-correntes/11" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/contas-correntes/11"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/contas-correntes/{contaCorrente_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

contaCorrente_id   integer   

The ID of the contaCorrente. Example: 11

GET api/contas-correntes/{contaCorrente_id}/extrato

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/contas-correntes/4/extrato" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/contas-correntes/4/extrato"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/contas-correntes/{contaCorrente_id}/extrato

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

contaCorrente_id   integer   

The ID of the contaCorrente. Example: 4

POST api/contas-correntes/{contaCorrente_id}/lancamentos

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/contas-correntes/18/lancamentos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"data\": \"2026-06-10T00:09:41\",
    \"descricao\": \"sbapvqjtqbqebctclysbpuer\",
    \"valor\": 38,
    \"tipo\": \"credito\",
    \"conciliado\": true
}"
const url = new URL(
    "https://backend.valuor.com.br/api/contas-correntes/18/lancamentos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "data": "2026-06-10T00:09:41",
    "descricao": "sbapvqjtqbqebctclysbpuer",
    "valor": 38,
    "tipo": "credito",
    "conciliado": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/contas-correntes/{contaCorrente_id}/lancamentos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

contaCorrente_id   integer   

The ID of the contaCorrente. Example: 18

Body Parameters

data   string   

validation.date. Example: 2026-06-10T00:09:41

descricao   string   

validation.max. Example: sbapvqjtqbqebctclysbpuer

valor   number   

validation.min. Example: 38

tipo   string   

Example: credito

Must be one of:
  • credito
  • debito
conciliado   boolean  optional  

Example: true

pagamento_id   string  optional  

The id of an existing record in the pagamentos table.

POST api/contas-correntes/{contaCorrente_id}/importar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/contas-correntes/9/importar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"lancamentos\": [
        {
            \"data\": \"2026-06-10T00:09:42\",
            \"descricao\": \"umrhhz\",
            \"valor\": 49.0512083,
            \"tipo\": \"credito\"
        }
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/contas-correntes/9/importar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "lancamentos": [
        {
            "data": "2026-06-10T00:09:42",
            "descricao": "umrhhz",
            "valor": 49.0512083,
            "tipo": "credito"
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/contas-correntes/{contaCorrente_id}/importar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

contaCorrente_id   integer   

The ID of the contaCorrente. Example: 9

Body Parameters

lancamentos   object[]   

validation.min.

data   string   

validation.date. Example: 2026-06-10T00:09:42

descricao   string   

validation.max. Example: umrhhz

valor   number   

Example: 49.0512083

tipo   string   

Example: credito

Must be one of:
  • credito
  • debito

Conciliação assistida: lista os lançamentos do extrato ainda NÃO conciliados (sem título vinculado) e, para cada um, sugere os títulos em aberto que casam por valor (±0,01) e tipo (crédito→a receber, débito→a pagar), ordenados pela proximidade do vencimento. O usuário confirma a sugestão (1 clique → baixa).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/contas-correntes/1/conciliacao" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"data_inicio\": \"2026-06-10T00:09:43\",
    \"data_fim\": \"2026-06-10T00:09:43\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/contas-correntes/1/conciliacao"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "data_inicio": "2026-06-10T00:09:43",
    "data_fim": "2026-06-10T00:09:43"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/contas-correntes/{contaCorrente_id}/conciliacao

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

contaCorrente_id   integer   

The ID of the contaCorrente. Example: 1

Body Parameters

data_inicio   string  optional  

validation.date. Example: 2026-06-10T00:09:43

data_fim   string  optional  

validation.date. Example: 2026-06-10T00:09:43

Confirma a conciliação de um lançamento do extrato com um título em aberto: baixa o título (valor/data da linha, na própria conta) SEM relançar no extrato (a linha importada já existe) e vincula a linha ao título (conciliado).

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/contas-correntes/9/conciliacao/conciliar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"lancamento_id\": 11,
    \"pagamento_id\": \"accusantium\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/contas-correntes/9/conciliacao/conciliar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "lancamento_id": 11,
    "pagamento_id": "accusantium"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/contas-correntes/{contaCorrente_id}/conciliacao/conciliar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

contaCorrente_id   integer   

The ID of the contaCorrente. Example: 9

Body Parameters

lancamento_id   integer   

Example: 11

pagamento_id   string   

The id of an existing record in the pagamentos table. Example: accusantium

PATCH api/extrato-lancamentos/{lancamento_id}/conciliar

Example request:
curl --request PATCH \
    "https://backend.valuor.com.br/api/extrato-lancamentos/13/conciliar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/extrato-lancamentos/13/conciliar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PATCH",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PATCH api/extrato-lancamentos/{lancamento_id}/conciliar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

lancamento_id   integer   

The ID of the lancamento. Example: 13

Tenant — Caixa

Caixa isolado por empresa atual (X-Empresa-Id): cada empresa tem sua própria sessão, movimentações e fechamentos; o resumo só soma vendas da empresa.

Sessão aberta do operador + resumo corrente (ou null se fechado).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/caixa/sessao" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/caixa/sessao"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/caixa/sessao

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Abre o caixa com saldo inicial.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/caixa/abrir" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"saldo_inicial\": 27,
    \"observacao\": \"vigdlhfmfsrclhpmjsnjdbmqe\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/caixa/abrir"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "saldo_inicial": 27,
    "observacao": "vigdlhfmfsrclhpmjsnjdbmqe"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/caixa/abrir

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

saldo_inicial   number   

validation.min. Example: 27

observacao   string  optional  

validation.max. Example: vigdlhfmfsrclhpmjsnjdbmqe

Fecha o caixa (conferência): gera o fechamento e encerra a sessão.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/caixa/fechar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"saldo_real\": 6624271.0617,
    \"observacao\": \"naioqfsmnuxirrzac\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/caixa/fechar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "saldo_real": 6624271.0617,
    "observacao": "naioqfsmnuxirrzac"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/caixa/fechar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

saldo_real   number   

Example: 6624271.0617

observacao   string  optional  

validation.max. Example: naioqfsmnuxirrzac

Reabre o último caixa fechado da empresa (estorno do fechamento).

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/caixa/reabrir" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/caixa/reabrir"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/caixa/reabrir

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/caixa/movimentacoes

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/caixa/movimentacoes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/caixa/movimentacoes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/caixa/movimentacoes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/caixa/movimentacoes

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/caixa/movimentacoes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"tipo\": \"suprimento\",
    \"valor\": 33,
    \"observacao\": \"soagrbjuwehgsnnmhfrm\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/caixa/movimentacoes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "tipo": "suprimento",
    "valor": 33,
    "observacao": "soagrbjuwehgsnnmhfrm"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/caixa/movimentacoes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

tipo   string   

Example: suprimento

Must be one of:
  • sangria
  • suprimento
valor   number   

validation.min. Example: 33

observacao   string  optional  

validation.max. Example: soagrbjuwehgsnnmhfrm

GET api/caixa/fechamentos

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/caixa/fechamentos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/caixa/fechamentos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/caixa/fechamentos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/caixa/fechamentos

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/caixa/fechamentos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"data_abertura\": \"2026-06-10T00:08:58\",
    \"data_fechamento\": \"2026-06-10T00:08:58\",
    \"valor_abertura\": 84,
    \"total_vendas\": 49,
    \"total_dinheiro\": 74,
    \"total_cartao_credito\": 32,
    \"total_cartao_debito\": 88,
    \"total_pix\": 48,
    \"total_outros\": 76,
    \"total_sangrias\": 18,
    \"total_suprimentos\": 42,
    \"saldo_esperado\": 38714.625348623,
    \"saldo_real\": 120.20779,
    \"diferenca\": 25609.99758,
    \"observacao\": \"cawftyqozgu\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/caixa/fechamentos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "data_abertura": "2026-06-10T00:08:58",
    "data_fechamento": "2026-06-10T00:08:58",
    "valor_abertura": 84,
    "total_vendas": 49,
    "total_dinheiro": 74,
    "total_cartao_credito": 32,
    "total_cartao_debito": 88,
    "total_pix": 48,
    "total_outros": 76,
    "total_sangrias": 18,
    "total_suprimentos": 42,
    "saldo_esperado": 38714.625348623,
    "saldo_real": 120.20779,
    "diferenca": 25609.99758,
    "observacao": "cawftyqozgu"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/caixa/fechamentos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

data_abertura   string   

validation.date. Example: 2026-06-10T00:08:58

data_fechamento   string   

validation.date. Example: 2026-06-10T00:08:58

valor_abertura   number   

validation.min. Example: 84

total_vendas   number   

validation.min. Example: 49

total_dinheiro   number  optional  

validation.min. Example: 74

total_cartao_credito   number  optional  

validation.min. Example: 32

total_cartao_debito   number  optional  

validation.min. Example: 88

total_pix   number  optional  

validation.min. Example: 48

total_outros   number  optional  

validation.min. Example: 76

total_sangrias   number  optional  

validation.min. Example: 18

total_suprimentos   number  optional  

validation.min. Example: 42

saldo_esperado   number   

Example: 38714.625348623

saldo_real   number  optional  

Example: 120.20779

diferenca   number  optional  

Example: 25609.99758

observacao   string  optional  

validation.max. Example: cawftyqozgu

GET api/caixa/fechamentos/{id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/caixa/fechamentos/dignissimos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/caixa/fechamentos/dignissimos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/caixa/fechamentos/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the fechamento. Example: dignissimos

Tenant — Comissões

GET api/comissoes

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/comissoes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/comissoes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/comissoes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

PATCH api/comissoes/{comissao_id}/pagar

Example request:
curl --request PATCH \
    "https://backend.valuor.com.br/api/comissoes/4/pagar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"data_pagamento\": \"2026-06-10T00:09:08\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/comissoes/4/pagar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "data_pagamento": "2026-06-10T00:09:08"
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PATCH api/comissoes/{comissao_id}/pagar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

comissao_id   integer   

The ID of the comissao. Example: 4

Body Parameters

data_pagamento   string   

validation.date. Example: 2026-06-10T00:09:08

PATCH api/comissoes/{comissao_id}/cancelar

Example request:
curl --request PATCH \
    "https://backend.valuor.com.br/api/comissoes/4/cancelar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/comissoes/4/cancelar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PATCH",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PATCH api/comissoes/{comissao_id}/cancelar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

comissao_id   integer   

The ID of the comissao. Example: 4

Tenant — Tabelas de Preço

GET api/tabelas-preco

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/tabelas-preco" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/tabelas-preco"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/tabelas-preco

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/tabelas-preco

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/tabelas-preco" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"ns\",
    \"descricao\": \"perferendis\",
    \"ativo\": false,
    \"padrao\": false,
    \"itens\": [
        {
            \"produto_id\": \"amet\",
            \"preco\": 29
        }
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/tabelas-preco"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nome": "ns",
    "descricao": "perferendis",
    "ativo": false,
    "padrao": false,
    "itens": [
        {
            "produto_id": "amet",
            "preco": 29
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/tabelas-preco

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

nome   string   

validation.max. Example: ns

descricao   string  optional  

Example: perferendis

ativo   boolean  optional  

Example: false

padrao   boolean  optional  

Example: false

itens   object[]  optional  
produto_id   string   

The id of an existing record in the produtos table. Example: amet

preco   number   

validation.min. Example: 29

GET api/tabelas-preco/{tabelaPreco_id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/tabelas-preco/18" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/tabelas-preco/18"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/tabelas-preco/{tabelaPreco_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tabelaPreco_id   integer   

The ID of the tabelaPreco. Example: 18

PUT api/tabelas-preco/{tabelaPreco_id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/tabelas-preco/5" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"ohapljaanivcwxwplteadrlej\",
    \"descricao\": \"hic\",
    \"ativo\": false,
    \"padrao\": false,
    \"itens\": [
        {
            \"produto_id\": \"totam\",
            \"preco\": 54
        }
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/tabelas-preco/5"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nome": "ohapljaanivcwxwplteadrlej",
    "descricao": "hic",
    "ativo": false,
    "padrao": false,
    "itens": [
        {
            "produto_id": "totam",
            "preco": 54
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/tabelas-preco/{tabelaPreco_id}

PATCH api/tabelas-preco/{tabelaPreco_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tabelaPreco_id   integer   

The ID of the tabelaPreco. Example: 5

Body Parameters

nome   string  optional  

validation.max. Example: ohapljaanivcwxwplteadrlej

descricao   string  optional  

Example: hic

ativo   boolean  optional  

Example: false

padrao   boolean  optional  

Example: false

itens   object[]  optional  
produto_id   string   

The id of an existing record in the produtos table. Example: totam

preco   number   

validation.min. Example: 54

DELETE api/tabelas-preco/{tabelaPreco_id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/tabelas-preco/3" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/tabelas-preco/3"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/tabelas-preco/{tabelaPreco_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tabelaPreco_id   integer   

The ID of the tabelaPreco. Example: 3

Tenant — Ordens de Serviço

GET api/ordens-servico

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/ordens-servico" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/ordens-servico"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/ordens-servico

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/ordens-servico

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/ordens-servico" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"equipamento\": \"yiqmiuordwfo\",
    \"marca_equipamento\": \"ldngkiddyydrdbydnhl\",
    \"modelo_equipamento\": \"hytuq\",
    \"serial\": \"xpwcmvzu\",
    \"descricao_defeito\": \"aliquam\",
    \"servico_executado\": \"eos\",
    \"status\": \"aguardando_pecas\",
    \"prioridade\": \"normal\",
    \"data_abertura\": \"2026-06-10T00:09:22\",
    \"data_previsao\": \"2026-06-10T00:09:22\",
    \"data_conclusao\": \"2026-06-10T00:09:22\",
    \"valor_servico\": 51,
    \"desconto\": 87,
    \"observacoes\": \"aliquam\",
    \"itens\": [
        {
            \"descricao\": \"ybmlsqeppg\",
            \"quantidade\": 33,
            \"preco_unitario\": 6
        }
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/ordens-servico"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "equipamento": "yiqmiuordwfo",
    "marca_equipamento": "ldngkiddyydrdbydnhl",
    "modelo_equipamento": "hytuq",
    "serial": "xpwcmvzu",
    "descricao_defeito": "aliquam",
    "servico_executado": "eos",
    "status": "aguardando_pecas",
    "prioridade": "normal",
    "data_abertura": "2026-06-10T00:09:22",
    "data_previsao": "2026-06-10T00:09:22",
    "data_conclusao": "2026-06-10T00:09:22",
    "valor_servico": 51,
    "desconto": 87,
    "observacoes": "aliquam",
    "itens": [
        {
            "descricao": "ybmlsqeppg",
            "quantidade": 33,
            "preco_unitario": 6
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/ordens-servico

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

cliente_id   string  optional  

The id of an existing record in the clientes table.

tecnico_id   string  optional  

The id of an existing record in the users table.

equipamento   string  optional  

validation.max. Example: yiqmiuordwfo

marca_equipamento   string  optional  

validation.max. Example: ldngkiddyydrdbydnhl

modelo_equipamento   string  optional  

validation.max. Example: hytuq

serial   string  optional  

validation.max. Example: xpwcmvzu

descricao_defeito   string  optional  

Example: aliquam

servico_executado   string  optional  

Example: eos

status   string   

Example: aguardando_pecas

Must be one of:
  • aberta
  • em_andamento
  • aguardando_pecas
  • concluida
  • entregue
  • cancelada
prioridade   string   

Example: normal

Must be one of:
  • baixa
  • normal
  • alta
  • urgente
data_abertura   string   

validation.date. Example: 2026-06-10T00:09:22

data_previsao   string  optional  

validation.date. Example: 2026-06-10T00:09:22

data_conclusao   string  optional  

validation.date. Example: 2026-06-10T00:09:22

valor_servico   number  optional  

validation.min. Example: 51

desconto   number  optional  

validation.min. Example: 87

observacoes   string  optional  

Example: aliquam

itens   object[]  optional  
produto_id   string  optional  

The id of an existing record in the produtos table.

descricao   string  optional  

validation.max. Example: ybmlsqeppg

quantidade   number   

validation.min. Example: 33

preco_unitario   number   

validation.min. Example: 6

GET api/ordens-servico/{ordemServico_id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/ordens-servico/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/ordens-servico/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/ordens-servico/{ordemServico_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

ordemServico_id   integer   

The ID of the ordemServico. Example: 1

PUT api/ordens-servico/{ordemServico_id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/ordens-servico/18" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"equipamento\": \"ajd\",
    \"marca_equipamento\": \"tnyyviuaouodlmnijndih\",
    \"modelo_equipamento\": \"xwsqnjrdlrolsh\",
    \"serial\": \"vqibrcbbdvah\",
    \"descricao_defeito\": \"ad\",
    \"servico_executado\": \"ratione\",
    \"status\": \"entregue\",
    \"prioridade\": \"normal\",
    \"data_abertura\": \"2026-06-10T00:09:27\",
    \"data_previsao\": \"2026-06-10T00:09:27\",
    \"data_conclusao\": \"2026-06-10T00:09:27\",
    \"valor_servico\": 45,
    \"desconto\": 84,
    \"observacoes\": \"qui\",
    \"itens\": [
        {
            \"descricao\": \"ewvklrlztceynfdock\",
            \"quantidade\": 55,
            \"preco_unitario\": 23
        }
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/ordens-servico/18"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "equipamento": "ajd",
    "marca_equipamento": "tnyyviuaouodlmnijndih",
    "modelo_equipamento": "xwsqnjrdlrolsh",
    "serial": "vqibrcbbdvah",
    "descricao_defeito": "ad",
    "servico_executado": "ratione",
    "status": "entregue",
    "prioridade": "normal",
    "data_abertura": "2026-06-10T00:09:27",
    "data_previsao": "2026-06-10T00:09:27",
    "data_conclusao": "2026-06-10T00:09:27",
    "valor_servico": 45,
    "desconto": 84,
    "observacoes": "qui",
    "itens": [
        {
            "descricao": "ewvklrlztceynfdock",
            "quantidade": 55,
            "preco_unitario": 23
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/ordens-servico/{ordemServico_id}

PATCH api/ordens-servico/{ordemServico_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

ordemServico_id   integer   

The ID of the ordemServico. Example: 18

Body Parameters

cliente_id   string  optional  

The id of an existing record in the clientes table.

tecnico_id   string  optional  

The id of an existing record in the users table.

equipamento   string  optional  

validation.max. Example: ajd

marca_equipamento   string  optional  

validation.max. Example: tnyyviuaouodlmnijndih

modelo_equipamento   string  optional  

validation.max. Example: xwsqnjrdlrolsh

serial   string  optional  

validation.max. Example: vqibrcbbdvah

descricao_defeito   string  optional  

Example: ad

servico_executado   string  optional  

Example: ratione

status   string  optional  

Example: entregue

Must be one of:
  • aberta
  • em_andamento
  • aguardando_pecas
  • concluida
  • entregue
  • cancelada
prioridade   string  optional  

Example: normal

Must be one of:
  • baixa
  • normal
  • alta
  • urgente
data_abertura   string  optional  

validation.date. Example: 2026-06-10T00:09:27

data_previsao   string  optional  

validation.date. Example: 2026-06-10T00:09:27

data_conclusao   string  optional  

validation.date. Example: 2026-06-10T00:09:27

valor_servico   number  optional  

validation.min. Example: 45

desconto   number  optional  

validation.min. Example: 84

observacoes   string  optional  

Example: qui

itens   object[]  optional  
produto_id   string  optional  

The id of an existing record in the produtos table.

descricao   string  optional  

validation.max. Example: ewvklrlztceynfdock

quantidade   number   

validation.min. Example: 55

preco_unitario   number   

validation.min. Example: 23

DELETE api/ordens-servico/{ordemServico_id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/ordens-servico/10" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/ordens-servico/10"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/ordens-servico/{ordemServico_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

ordemServico_id   integer   

The ID of the ordemServico. Example: 10

Anexa foto/laudo/documento à OS (arquivo no disco public do tenant).

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/ordens-servico/4/anexos" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "tipo=documento"\
    --form "arquivo=@/tmp/phpCiAfIc" 
const url = new URL(
    "https://backend.valuor.com.br/api/ordens-servico/4/anexos"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('tipo', 'documento');
body.append('arquivo', document.querySelector('input[name="arquivo"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/ordens-servico/{ordemServico_id}/anexos

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

ordemServico_id   integer   

The ID of the ordemServico. Example: 4

Body Parameters

arquivo   file   

Must be a file. validation.max. Example: /tmp/phpCiAfIc

tipo   string  optional  

Example: documento

Must be one of:
  • foto
  • documento

Remove um anexo da OS (apaga o arquivo).

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/ordens-servico/20/anexos/19" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/ordens-servico/20/anexos/19"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/ordens-servico/{ordemServico_id}/anexos/{anexo_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

ordemServico_id   integer   

The ID of the ordemServico. Example: 20

anexo_id   integer   

The ID of the anexo. Example: 19

Registra a aprovação do orçamento pelo cliente: grava quem aprovou/quando e, se enviada, a assinatura (PNG base64) como anexo tipo 'assinatura'.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/ordens-servico/20/aprovar-orcamento" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"aprovado_por\": \"smagetioqsf\",
    \"assinatura\": \"voluptas\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/ordens-servico/20/aprovar-orcamento"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "aprovado_por": "smagetioqsf",
    "assinatura": "voluptas"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/ordens-servico/{ordemServico_id}/aprovar-orcamento

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

ordemServico_id   integer   

The ID of the ordemServico. Example: 20

Body Parameters

aprovado_por   string   

validation.max. Example: smagetioqsf

assinatura   string  optional  

Example: voluptas

Tenant — NFC-e

Emissão de Nota Fiscal de Consumidor Eletrônica. Suporta emissão online (via provider configurado) e contingência offline.

Configure o provider via .env: NFCE_PROVIDER=focus_nfe|enotas|mock NFCE_TOKEN= NFCE_BASE_URL=https://homologacao.focusnfe.com.br/v2

Listar NFC-e emitidas (vendas com nfce_chave).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/nfce" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/nfce"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/nfce

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Ambiente da emissão fiscal: 1=produção (valor fiscal real) / 2=homologação (teste). `simulado` só é true em caso de configuração inválida (provider mock fora dos testes) — não é um modo de operação.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/nfce/emissor-status" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/nfce/emissor-status"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/nfce/emissor-status

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/nfce

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/nfce" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"venda_id\": 19,
    \"venda_local_id\": 81,
    \"valor_total\": 44,
    \"data_emissao\": \"2026-06-10T00:06:17\",
    \"origem\": \"mobile\",
    \"contingencia\": false,
    \"justificativa\": \"g\",
    \"itens\": [
        {
            \"nome\": \"ipejjhvgwywwitdih\",
            \"qtde\": 20,
            \"valor\": 51
        }
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/nfce"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "venda_id": 19,
    "venda_local_id": 81,
    "valor_total": 44,
    "data_emissao": "2026-06-10T00:06:17",
    "origem": "mobile",
    "contingencia": false,
    "justificativa": "g",
    "itens": [
        {
            "nome": "ipejjhvgwywwitdih",
            "qtde": 20,
            "valor": 51
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/nfce

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

venda_id   integer  optional  

validation.min. Example: 19

venda_local_id   integer   

validation.min. Example: 81

valor_total   number   

validation.min. Example: 44

data_emissao   string   

validation.date. Example: 2026-06-10T00:06:17

origem   string  optional  

Example: mobile

Must be one of:
  • pdv
  • mobile
itens   object[]  optional  
nome   string  optional  

validation.max. Example: ipejjhvgwywwitdih

qtde   number  optional  

validation.min. Example: 20

valor   number  optional  

validation.min. Example: 51

contingencia   boolean  optional  

Contingência off-line (tpEmis=9, NT 2026.002). Example: false

justificativa   string  optional  

validation.min validation.max. Example: g

Re-emitir NFC-e em contingência

Tenta re-transmitir uma NFC-e previamente emitida em contingência. Passar a chave de contingência gerada localmente no PDV/Mobile.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/nfce/reemitir" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"chave_contingencia\": \"35260522000000000000000000000000000000000042\",
    \"venda_local_id\": 42,
    \"valor_total\": 129.9,
    \"data_emissao\": \"2026-05-22T14:00:00-03:00\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/nfce/reemitir"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "chave_contingencia": "35260522000000000000000000000000000000000042",
    "venda_local_id": 42,
    "valor_total": 129.9,
    "data_emissao": "2026-05-22T14:00:00-03:00"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/nfce/reemitir

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

chave_contingencia   string   

Chave local de 44 dígitos gerada em contingência. Example: 35260522000000000000000000000000000000000042

venda_local_id   integer   

ID local da venda original. Example: 42

valor_total   number   

Valor total original. Example: 129.9

data_emissao   string   

Data/hora original de emissão. Example: 2026-05-22T14:00:00-03:00

Cancelar NFC-e

Cancela a NFC-e autorizada vinculada à venda (evento de cancelamento na SEFAZ).

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/nfce/cancelar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"venda_id\": 42,
    \"justificativa\": \"Cliente desistiu da compra\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/nfce/cancelar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "venda_id": 42,
    "justificativa": "Cliente desistiu da compra"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/nfce/cancelar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

venda_id   integer   

ID da venda no backend. Example: 42

justificativa   string   

Justificativa (mín. 15 caracteres). Example: Cliente desistiu da compra

Consultar NFC-e

Consulta a situação atual da NFC-e da venda na SEFAZ (pela chave de acesso).

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/nfce/consultar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"venda_id\": 42
}"
const url = new URL(
    "https://backend.valuor.com.br/api/nfce/consultar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "venda_id": 42
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/nfce/consultar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

venda_id   integer   

ID da venda no backend. Example: 42

Exportar XML(s) autorizado(s) de NFC-e.

Critérios (ao menos um):

1 nota → devolve o .xml direto; 2+ → devolve um .zip.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/nfce/exportar-xml" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"chaves\": [
        \"35260522...\"
    ],
    \"data_inicio\": \"dolorem\",
    \"data_fim\": \"ad\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/nfce/exportar-xml"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "chaves": [
        "35260522..."
    ],
    "data_inicio": "dolorem",
    "data_fim": "ad"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/nfce/exportar-xml

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

chaves   string[]  optional  

Chaves de acesso (44 dígitos) a exportar.

data_inicio   string  optional  

Data inicial (Y-m-d) para exportar o período. Example: dolorem

data_fim   string  optional  

Data final (Y-m-d) para exportar o período. Example: ad

Imprimir DANFCe

Faz proxy do PDF do cupom (DANFCe) gerado pela API Fiscal, para o navegador autenticado (que não tem a X-Api-Key da API Fiscal).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/nfce/2/danfce" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/nfce/2/danfce"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/nfce/{venda_id}/danfce

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

venda_id   integer   

The ID of the venda. Example: 2

Tenant — NF-e

GET api/nfe

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/nfe" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/nfe"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/nfe

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Ambiente de emissão (produção × homologação) para o alerta da tela.

O ambiente fiscal é global do tenant (nfce_ambiente vale para NF-e/CT-e/MDF-e).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/nfe/emissor-status" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/nfe/emissor-status"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/nfe/emissor-status

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Emitir NF-e a partir de uma venda (by venda_id) ou de payload bruto.

Quando venda_id é fornecido, usa NfePayloadBuilder para montar o payload completo e envia diretamente ao /nfe/transmitir da API Fiscal.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/nfe" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"venda_id\": 53,
    \"simplificado\": true
}"
const url = new URL(
    "https://backend.valuor.com.br/api/nfe"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "venda_id": 53,
    "simplificado": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/nfe

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

venda_id   integer  optional  

validation.min. Example: 53

simplificado   boolean  optional  

Example: true

Emissão MANUAL de NF-e (tela de emissão): monta o payload a partir de cliente + itens informados e transmite via API Fiscal.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/nfe/manual" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"cliente_id\": 51,
    \"natureza_operacao\": \"jtaiejniqcfxnhjinvb\",
    \"finalidade\": \"2\",
    \"consumidor_final\": false,
    \"forma_pagamento\": \"yviymztfcoiu\",
    \"info_complementar\": \"xqvpjcqeomkgpcrdxryyc\",
    \"itens\": [
        {
            \"produto_id\": 4,
            \"quantidade\": 38,
            \"preco_unitario\": 65,
            \"cfop\": \"um\",
            \"nome_produto\": \"vfdcymr\",
            \"codigo_produto\": \"pluayqkvnwuohetawsadn\",
            \"ncm\": \"eihs\",
            \"cst_csosn\": \"kqe\",
            \"cod_barras\": \"olesxgdqyigc\"
        }
    ],
    \"transporte\": {
        \"modalidade_frete\": \"b\"
    }
}"
const url = new URL(
    "https://backend.valuor.com.br/api/nfe/manual"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "cliente_id": 51,
    "natureza_operacao": "jtaiejniqcfxnhjinvb",
    "finalidade": "2",
    "consumidor_final": false,
    "forma_pagamento": "yviymztfcoiu",
    "info_complementar": "xqvpjcqeomkgpcrdxryyc",
    "itens": [
        {
            "produto_id": 4,
            "quantidade": 38,
            "preco_unitario": 65,
            "cfop": "um",
            "nome_produto": "vfdcymr",
            "codigo_produto": "pluayqkvnwuohetawsadn",
            "ncm": "eihs",
            "cst_csosn": "kqe",
            "cod_barras": "olesxgdqyigc"
        }
    ],
    "transporte": {
        "modalidade_frete": "b"
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/nfe/manual

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

cliente_id   integer  optional  

validation.min. Example: 51

natureza_operacao   string  optional  

validation.max. Example: jtaiejniqcfxnhjinvb

finalidade   string  optional  

Example: 2

Must be one of:
  • 1
  • 2
  • 3
  • 4
consumidor_final   boolean  optional  

Example: false

forma_pagamento   string  optional  

validation.max. Example: yviymztfcoiu

info_complementar   string  optional  

validation.max. Example: xqvpjcqeomkgpcrdxryyc

itens   object[]   

validation.min.

produto_id   integer  optional  

Example: 4

quantidade   number   

validation.min. Example: 38

preco_unitario   number   

validation.min. Example: 65

cfop   string  optional  

validation.max. Example: um

nome_produto   string  optional  

validation.max. Example: vfdcymr

codigo_produto   string  optional  

validation.max. Example: pluayqkvnwuohetawsadn

ncm   string  optional  

validation.max. Example: eihs

cst_csosn   string  optional  

validation.max. Example: kqe

cod_barras   string  optional  

validation.max. Example: olesxgdqyigc

transporte   object  optional  

Bloco de transporte (F10) — opcional/experimental.

modalidade_frete   string  optional  

validation.max. Example: b

transportador   object  optional  
veiculo   object  optional  
volumes   object  optional  

Baixa o PDF do DANFE pela chave.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/nfe/danfe" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"chave\": \"cvffoveltnowghkffyaiacchbdowuspkkyqmzxqeooxl\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/nfe/danfe"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "chave": "cvffoveltnowghkffyaiacchbdowuspkkyqmzxqeooxl"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/nfe/danfe

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

chave   string   

validation.size. Example: cvffoveltnowghkffyaiacchbdowuspkkyqmzxqeooxl

POST api/nfe/consultar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/nfe/consultar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"chave\": \"oiuvjivundxyxuklxhlolaqucbqxfzaxngrqpvflxvtk\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/nfe/consultar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "chave": "oiuvjivundxyxuklxhlolaqucbqxfzaxngrqpvflxvtk"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/nfe/consultar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

chave   string   

validation.size. Example: oiuvjivundxyxuklxhlolaqucbqxfzaxngrqpvflxvtk

POST api/nfe/cancelar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/nfe/cancelar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"chave\": \"hjjltvjlhbsxmjzqzdoisvhkeabxlfqleinkuszwlilz\",
    \"justificativa\": \"tifxufskdyexvbjyjqzawcz\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/nfe/cancelar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "chave": "hjjltvjlhbsxmjzqzdoisvhkeabxlfqleinkuszwlilz",
    "justificativa": "tifxufskdyexvbjyjqzawcz"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/nfe/cancelar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

chave   string   

validation.size. Example: hjjltvjlhbsxmjzqzdoisvhkeabxlfqleinkuszwlilz

justificativa   string   

validation.min validation.max. Example: tifxufskdyexvbjyjqzawcz

Exportar XML(s) autorizado(s) de NF-e por chave(s).

1 nota → .xml direto; 2+ → .zip. Chaves vêm da seleção (ou de todas as linhas filtradas) na tela — a listagem de NF-e vem da API Fiscal.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/nfe/exportar-xml" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"chaves\": [
        \"zygqrsdxbzxyteutmekehxlgzimcecjtribijcfrcsof\"
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/nfe/exportar-xml"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "chaves": [
        "zygqrsdxbzxyteutmekehxlgzimcecjtribijcfrcsof"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/nfe/exportar-xml

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

chaves   string[]  optional  

validation.size.

GET api/fiscal/certificados

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/fiscal/certificados" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/certificados"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/fiscal/certificados

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/fiscal/certificados

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/fiscal/certificados" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "senha=ehtqzzcihpvvpq"\
    --form "cnpj=57206205661399"\
    --form "arquivo=@/tmp/phpIEFJpH" 
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/certificados"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('senha', 'ehtqzzcihpvvpq');
body.append('cnpj', '57206205661399');
body.append('arquivo', document.querySelector('input[name="arquivo"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/fiscal/certificados

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

arquivo   file   

Must be a file. validation.max. Example: /tmp/phpIEFJpH

senha   string   

validation.max. Example: ehtqzzcihpvvpq

cnpj   string   

Must match the regex /^\d{14}$/. Example: 57206205661399

DELETE api/fiscal/certificados/{id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/fiscal/certificados/dolorum" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/certificados/dolorum"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/fiscal/certificados/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the certificado. Example: dolorum

Tenant — Fiscal

Verifica a saúde do fiscal: API Fiscal online, certificado, CSC e a conectividade com a SEFAZ (Status do Serviço) para NF-e (55) e NFC-e (65).

GET /fiscal/diagnostico — estado geral (API Fiscal, certificado, CSC).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/fiscal/diagnostico" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/diagnostico"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/fiscal/diagnostico

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST /fiscal/status-sefaz — testa o Status do Serviço da SEFAZ.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/fiscal/status-sefaz" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"modelo\": \"55\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/status-sefaz"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "modelo": "55"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/fiscal/status-sefaz

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

modelo   integer   

Example: 55

Must be one of:
  • 55
  • 65

GET api/fiscal/prontidao

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/fiscal/prontidao" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/prontidao"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/fiscal/prontidao

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Tenant — Dashboard

KPIs e dados para o painel principal. Vendas e financeiro são isolados pela EMPRESA ATUAL (header X-Empresa-Id); o comparativo entre empresas é a única visão propositalmente cross-empresa.

GET api/dashboard/kpis

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/dashboard/kpis" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/dashboard/kpis"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/dashboard/kpis

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/dashboard/kpis-vendedor

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/dashboard/kpis-vendedor" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/dashboard/kpis-vendedor"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/dashboard/kpis-vendedor

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/dashboard/vendas-por-dia

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/dashboard/vendas-por-dia" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/dashboard/vendas-por-dia"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/dashboard/vendas-por-dia

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/dashboard/top-produtos

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/dashboard/top-produtos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/dashboard/top-produtos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/dashboard/top-produtos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Insights analíticos do período: formas de pagamento, top clientes e top vendedores.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/dashboard/insights" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/dashboard/insights"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/dashboard/insights

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Sazonalidade: heatmap de faturamento por dia da semana × hora no período.

Mostra quando vende mais para escala de equipe/estoque. (EXTRACT é pgsql.)

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/dashboard/heatmap-vendas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/dashboard/heatmap-vendas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/dashboard/heatmap-vendas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Fluxo de caixa projetado — recebíveis vs. pagáveis em aberto, por semana (mais um bloco "em atraso"), com saldo do período e saldo acumulado.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/dashboard/fluxo-caixa" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/dashboard/fluxo-caixa"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/dashboard/fluxo-caixa

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Comparativo entre empresas (matriz/filiais) no período.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/dashboard/comparativo-empresas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/dashboard/comparativo-empresas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/dashboard/comparativo-empresas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/dashboard/proximos-vencimentos

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/dashboard/proximos-vencimentos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/dashboard/proximos-vencimentos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/dashboard/proximos-vencimentos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Inadimplência por faixa de atraso (aging) das contas a receber vencidas e ainda pendentes. Buckets: 1–30, 31–60, 61–90, 90+ dias.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/dashboard/aging-receber" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/dashboard/aging-receber"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/dashboard/aging-receber

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Resumo de previsão de ruptura: contagem por status + top 6 produtos em risco. Reaproveita o PrevisaoEstoqueService (consumo médio × estoque).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/dashboard/ruptura-resumo" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/dashboard/ruptura-resumo"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/dashboard/ruptura-resumo

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Tenant — Relatórios

Todos os relatórios são isolados pela EMPRESA ATUAL (header X-Empresa-Id): vendas, financeiro e fiscal só consideram registros da empresa em operação.

GET api/relatorios/vendas

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/relatorios/vendas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"data_inicio\": \"2026-06-10T00:05:55\",
    \"data_fim\": \"2076-12-16\",
    \"agrupar_por\": \"produto\",
    \"status\": \"faturada\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/relatorios/vendas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "data_inicio": "2026-06-10T00:05:55",
    "data_fim": "2076-12-16",
    "agrupar_por": "produto",
    "status": "faturada"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/relatorios/vendas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

data_inicio   string   

validation.date. Example: 2026-06-10T00:05:55

data_fim   string   

validation.date validation.after_or_equal. Example: 2076-12-16

agrupar_por   string  optional  

Example: produto

Must be one of:
  • dia
  • semana
  • mes
  • produto
status   string  optional  

Example: faturada

Must be one of:
  • orcamento
  • confirmada
  • faturada
  • cancelada

GET api/relatorios/fluxo-caixa

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/relatorios/fluxo-caixa" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"data_inicio\": \"2026-06-10T00:05:56\",
    \"data_fim\": \"2060-08-13\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/relatorios/fluxo-caixa"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "data_inicio": "2026-06-10T00:05:56",
    "data_fim": "2060-08-13"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/relatorios/fluxo-caixa

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

data_inicio   string   

validation.date. Example: 2026-06-10T00:05:56

data_fim   string   

validation.date validation.after_or_equal. Example: 2060-08-13

GET api/relatorios/estoque

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/relatorios/estoque" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/relatorios/estoque"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/relatorios/estoque

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Giro/rotação de estoque no período: identifica capital imobilizado (produtos parados) vs. produtos de alta rotação. giro_anual = consumo anualizado / estoque; dias_cobertura = estoque / consumo diário.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/relatorios/giro-estoque" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/relatorios/giro-estoque"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/relatorios/giro-estoque

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/relatorios/contas-receber

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/relatorios/contas-receber" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/relatorios/contas-receber"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/relatorios/contas-receber

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/relatorios/contas-pagar

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/relatorios/contas-pagar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/relatorios/contas-pagar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/relatorios/contas-pagar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

DRE gerencial (regime de competência) em cascata: Receita Bruta de Vendas − Descontos = Receita Líquida − CMV (custo dos produtos vendidos) = Lucro Bruto − Despesas Operacionais + Outras Receitas = Resultado Líquido

Vendas: por data_venda (confirmada/faturada). Despesas e outras receitas: por data_vencimento, excluindo canceladas (despesa reconhecida no período).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/relatorios/dre" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"data_inicio\": \"2026-06-10T00:06:02\",
    \"data_fim\": \"2118-12-09\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/relatorios/dre"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "data_inicio": "2026-06-10T00:06:02",
    "data_fim": "2118-12-09"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/relatorios/dre

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

data_inicio   string   

validation.date. Example: 2026-06-10T00:06:02

data_fim   string   

validation.date validation.after_or_equal. Example: 2118-12-09

Livro de Entradas e Saídas — visão fiscal consolidada do que entrou (compras / NF-e de entrada) e do que saiu (vendas / NF-e / NFC-e) no período. Cada linha traz o documento, a chave de acesso, o parceiro (fornecedor/cliente) e o valor.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/relatorios/entradas-saidas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"data_inicio\": \"2026-06-10T00:06:04\",
    \"data_fim\": \"2026-06-10T00:06:04\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/relatorios/entradas-saidas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "data_inicio": "2026-06-10T00:06:04",
    "data_fim": "2026-06-10T00:06:04"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/relatorios/entradas-saidas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

data_inicio   string  optional  

validation.date. Example: 2026-06-10T00:06:04

data_fim   string  optional  

validation.date. Example: 2026-06-10T00:06:04

Relatório gerencial por CENTRO DE CUSTO: receitas e despesas efetivamente liquidadas no período (por data de pagamento), agrupadas por centro de custo.

Contrato {resumo, dados} → ganha export CSV/PDF pelo RelatorioExportService.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/relatorios/centros-custo" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"data_inicio\": \"2026-06-10T00:06:05\",
    \"data_fim\": \"2026-06-10T00:06:05\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/relatorios/centros-custo"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "data_inicio": "2026-06-10T00:06:05",
    "data_fim": "2026-06-10T00:06:05"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/relatorios/centros-custo

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

data_inicio   string  optional  

validation.date. Example: 2026-06-10T00:06:05

data_fim   string  optional  

validation.date. Example: 2026-06-10T00:06:05

Kardex — razão de movimentação de estoque: todas as entradas/saídas/ajustes no período, com saldo corrido (estoque_anterior/posterior já gravados nas movimentações). Filtros: produto, depósito, tipo. Escopo por empresa via os depósitos da empresa atual. Contrato {resumo, dados} → export CSV/PDF.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/relatorios/kardex" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"data_inicio\": \"2026-06-10T00:06:06\",
    \"data_fim\": \"2026-06-10T00:06:06\",
    \"produto_id\": 19,
    \"deposito_id\": 19,
    \"tipo\": \"entrada\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/relatorios/kardex"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "data_inicio": "2026-06-10T00:06:06",
    "data_fim": "2026-06-10T00:06:06",
    "produto_id": 19,
    "deposito_id": 19,
    "tipo": "entrada"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/relatorios/kardex

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

data_inicio   string  optional  

validation.date. Example: 2026-06-10T00:06:06

data_fim   string  optional  

validation.date. Example: 2026-06-10T00:06:06

produto_id   integer  optional  

Example: 19

deposito_id   integer  optional  

Example: 19

tipo   string  optional  

Example: entrada

Must be one of:
  • entrada
  • saida
  • ajuste

Conferência fiscal (auditoria local, sem SEFAZ): (1) GAPS de numeração — números ausentes na sequência de NF-e/NFC-e autorizadas, cruzados com inutilizações registradas (gap coberto por inutilização = ok; sem cobertura = FALTANTE); e (2) DIVERGÊNCIAS de compras importadas — total lançado ≠ total do XML (v_nf).

Contrato {resumo, dados} → export CSV/PDF.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/relatorios/conferencia-fiscal" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/relatorios/conferencia-fiscal"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/relatorios/conferencia-fiscal

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Tenant — Inteligência

GET api/produtos/{produto_id}/previsao-estoque

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/produtos/7/previsao-estoque" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/produtos/7/previsao-estoque"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/produtos/{produto_id}/previsao-estoque

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

produto_id   integer   

The ID of the produto. Example: 7

GET api/inteligencia/resumo

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/inteligencia/resumo" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/inteligencia/resumo"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/inteligencia/resumo

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/inteligencia/previsao-estoque

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/inteligencia/previsao-estoque" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/inteligencia/previsao-estoque"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/inteligencia/previsao-estoque

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/compras/importar-xml

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/compras/importar-xml" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "xml=@/tmp/phpiIpclF" 
const url = new URL(
    "https://backend.valuor.com.br/api/compras/importar-xml"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('xml', document.querySelector('input[name="xml"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/compras/importar-xml

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

xml   file   

Must be a file. validation.max. Example: /tmp/phpiIpclF

POST /api/compras/{compra}/itens/{item}/vincular Vincula um item importado a um produto e grava o de-para do fornecedor (para reconhecer o item automaticamente em importações futuras).

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/compras/18/itens/17/vincular" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"produto_id\": \"libero\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/compras/18/itens/17/vincular"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "produto_id": "libero"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/compras/{compra_id}/itens/{item_id}/vincular

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

compra_id   integer   

The ID of the compra. Example: 18

item_id   integer   

The ID of the item. Example: 17

Body Parameters

produto_id   string   

The id of an existing record in the produtos table. Example: libero

Autenticação — 2FA (TOTP)

Fluxo: setup (gera segredo) → confirm (valida 1º código, ativa e devolve os códigos de recuperação) → disable. O segredo e os códigos ficam cifrados (cast encrypted no model User).

Status do 2FA do usuário autenticado.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/auth/2fa/status" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/auth/2fa/status"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/auth/2fa/status

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Gera um segredo (ainda não ativa) e retorna o otpauth:// para QR Code.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/auth/2fa/setup" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/auth/2fa/setup"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/auth/2fa/setup

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Valida o primeiro código, ativa o 2FA e devolve os códigos de recuperação (uma vez).

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/auth/2fa/confirm" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"aut\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/auth/2fa/confirm"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "code": "aut"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/auth/2fa/confirm

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

code   string   

Example: aut

Desativa o 2FA (exige código TOTP/recuperação OU a senha).

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/auth/2fa/disable" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"explicabo\",
    \"password\": \"<+={\'.@\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/auth/2fa/disable"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "code": "explicabo",
    "password": "<+={'.@"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/auth/2fa/disable

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

code   string  optional  

Example: explicabo

password   string  optional  

Example: <+={'.@

Outros

Autoriza uma ação client-side (ex.: PDV cancelar item / abrir gaveta).

Reusa o mesmo gate: sem senha quando exigido → 423 (o front pede e repete); senha válida ou parâmetro desligado → 200.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/configuracoes/autorizar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"modulo\": \"tmnbtgeudqurp\",
    \"acao\": \"kagajuvzki\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/configuracoes/autorizar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "modulo": "tmnbtgeudqurp",
    "acao": "kagajuvzki"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/configuracoes/autorizar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

modulo   string   

validation.max. Example: tmnbtgeudqurp

acao   string   

validation.max. Example: kagajuvzki

GET api/configuracoes/multiloja

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/configuracoes/multiloja" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/configuracoes/multiloja"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/configuracoes/multiloja

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

PUT api/configuracoes/multiloja

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/configuracoes/multiloja" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/configuracoes/multiloja"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/configuracoes/multiloja

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/configuracoes/autorizacoes

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/configuracoes/autorizacoes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/configuracoes/autorizacoes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/configuracoes/autorizacoes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Lista as variações de um produto.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/produtos/11/variacoes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/produtos/11/variacoes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/produtos/{produto_id}/variacoes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

produto_id   integer   

The ID of the produto. Example: 11

Gera as variações a partir da grade do produto (produto cartesiano das opções). Cria apenas as combinações que ainda não existem.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/produtos/10/variacoes/gerar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/produtos/10/variacoes/gerar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/produtos/{produto_id}/variacoes/gerar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

produto_id   integer   

The ID of the produto. Example: 10

Atualiza uma variação (SKU, EAN, preço, estoque, ativo).

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/variacoes/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"codigo\": \"jqmmqvptxzfbwxhxgeonp\",
    \"codigo_barras\": \"kiqmq\",
    \"preco\": 54,
    \"estoque\": 27,
    \"ativo\": true
}"
const url = new URL(
    "https://backend.valuor.com.br/api/variacoes/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "codigo": "jqmmqvptxzfbwxhxgeonp",
    "codigo_barras": "kiqmq",
    "preco": 54,
    "estoque": 27,
    "ativo": true
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/variacoes/{variacao_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

variacao_id   integer   

The ID of the variacao. Example: 1

Body Parameters

codigo   string  optional  

validation.max. Example: jqmmqvptxzfbwxhxgeonp

codigo_barras   string  optional  

validation.max. Example: kiqmq

preco   number  optional  

validation.min. Example: 54

estoque   number  optional  

validation.min. Example: 27

ativo   boolean  optional  

Example: true

DELETE api/variacoes/{variacao_id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/variacoes/8" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/variacoes/8"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/variacoes/{variacao_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

variacao_id   integer   

The ID of the variacao. Example: 8

Ficha técnica: insumos do produto composto.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/produtos/2/insumos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/produtos/2/insumos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/produtos/{produto_id}/insumos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

produto_id   integer   

The ID of the produto. Example: 2

POST api/produtos/{produto_id}/insumos

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/produtos/12/insumos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"insumo_id\": 16,
    \"quantidade\": 65
}"
const url = new URL(
    "https://backend.valuor.com.br/api/produtos/12/insumos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "insumo_id": 16,
    "quantidade": 65
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/produtos/{produto_id}/insumos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

produto_id   integer   

The ID of the produto. Example: 12

Body Parameters

insumo_id   integer   

The id of an existing record in the produtos table. The value and produto must be different. Example: 16

quantidade   number   

validation.min. Example: 65

DELETE api/produto-insumos/{insumo_id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/produto-insumos/14" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/produto-insumos/14"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/produto-insumos/{insumo_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

insumo_id   integer   

The ID of the insumo. Example: 14

GET api/mesas

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/mesas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/mesas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/mesas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/mesas

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/mesas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"sjzkhuy\",
    \"capacidade\": 32,
    \"ativo\": true
}"
const url = new URL(
    "https://backend.valuor.com.br/api/mesas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nome": "sjzkhuy",
    "capacidade": 32,
    "ativo": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/mesas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

nome   string   

validation.max. Example: sjzkhuy

capacidade   integer  optional  

validation.min. Example: 32

ativo   boolean  optional  

Example: true

PUT api/mesas/{id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/mesas/14" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"tjpgtcfm\",
    \"capacidade\": 15,
    \"status\": \"ocupada\",
    \"ativo\": false
}"
const url = new URL(
    "https://backend.valuor.com.br/api/mesas/14"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nome": "tjpgtcfm",
    "capacidade": 15,
    "status": "ocupada",
    "ativo": false
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/mesas/{id}

PATCH api/mesas/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the mesa. Example: 14

Body Parameters

nome   string  optional  

validation.max. Example: tjpgtcfm

capacidade   integer  optional  

validation.min. Example: 15

status   string  optional  

Example: ocupada

Must be one of:
  • livre
  • ocupada
ativo   boolean  optional  

Example: false

DELETE api/mesas/{id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/mesas/11" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/mesas/11"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/mesas/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the mesa. Example: 11

Comandas abertas (painel do salão).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/comandas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/comandas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/comandas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

KDS — itens em produção das comandas abertas (não entregues).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/comandas/kds" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/comandas/kds"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/comandas/kds

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Avança o status de preparo de um item (KDS).

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/comanda-itens/7/status" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": \"entregue\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/comanda-itens/7/status"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "status": "entregue"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/comanda-itens/{item_id}/status

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

item_id   integer   

The ID of the item. Example: 7

Body Parameters

status   string   

Example: entregue

Must be one of:
  • pendente
  • preparo
  • pronto
  • entregue

GET api/comandas/{comanda_id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/comandas/3" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/comandas/3"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/comandas/{comanda_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

comanda_id   integer   

The ID of the comanda. Example: 3

Abre uma comanda (em mesa ou avulsa/balcão).

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/comandas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"mesa_id\": 18,
    \"cliente_id\": 9
}"
const url = new URL(
    "https://backend.valuor.com.br/api/comandas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "mesa_id": 18,
    "cliente_id": 9
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/comandas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

mesa_id   integer  optional  

The id of an existing record in the mesas table. Example: 18

cliente_id   integer  optional  

The id of an existing record in the clientes table. Example: 9

Adiciona um item à comanda.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/comandas/1/itens" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"produto_id\": 18,
    \"quantidade\": 52,
    \"observacao\": \"avj\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/comandas/1/itens"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "produto_id": 18,
    "quantidade": 52,
    "observacao": "avj"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/comandas/{comanda_id}/itens

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

comanda_id   integer   

The ID of the comanda. Example: 1

Body Parameters

produto_id   integer   

The id of an existing record in the produtos table. Example: 18

quantidade   number   

validation.min. Example: 52

observacao   string  optional  

validation.max. Example: avj

DELETE api/comandas/{comanda_id}/itens/{itemId}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/comandas/10/itens/non" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/comandas/10/itens/non"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/comandas/{comanda_id}/itens/{itemId}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

comanda_id   integer   

The ID of the comanda. Example: 10

itemId   string   

Example: non

Fecha a comanda gerando uma venda (baixa estoque + financeiro).

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/comandas/19/fechar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"desconto\": 7,
    \"pagamentos\": [
        {
            \"forma_pagamento\": \"eum\",
            \"valor\": 43
        }
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/comandas/19/fechar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "desconto": 7,
    "pagamentos": [
        {
            "forma_pagamento": "eum",
            "valor": 43
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/comandas/{comanda_id}/fechar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

comanda_id   integer   

The ID of the comanda. Example: 19

Body Parameters

pagamentos   object[]  optional  
forma_pagamento   string  optional  

This field is required when pagamentos is present. Example: eum

valor   number  optional  

This field is required when pagamentos is present. validation.min. Example: 43

desconto   number  optional  

validation.min. Example: 7

POST api/comandas/{comanda_id}/cancelar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/comandas/14/cancelar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/comandas/14/cancelar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/comandas/{comanda_id}/cancelar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

comanda_id   integer   

The ID of the comanda. Example: 14

Lista as devoluções (mais recentes primeiro).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/devolucoes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/devolucoes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/devolucoes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Cria uma devolução a partir de uma venda (total ou parcial).

Dá entrada no estoque e estorna o financeiro.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/devolucoes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"venda_id\": 8,
    \"motivo\": \"qocspgiuqrhjw\",
    \"observacoes\": \"yqjpudfrnvvcfjkcredmrnub\",
    \"itens\": [
        {
            \"venda_item_id\": 17,
            \"quantidade\": 90
        }
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/devolucoes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "venda_id": 8,
    "motivo": "qocspgiuqrhjw",
    "observacoes": "yqjpudfrnvvcfjkcredmrnub",
    "itens": [
        {
            "venda_item_id": 17,
            "quantidade": 90
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/devolucoes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

venda_id   integer   

The id of an existing record in the vendas table. Example: 8

motivo   string  optional  

validation.max. Example: qocspgiuqrhjw

observacoes   string  optional  

validation.max. Example: yqjpudfrnvvcfjkcredmrnub

itens   object[]   

validation.min.

venda_item_id   integer   

Example: 17

quantidade   number   

validation.min. Example: 90

Detalhe da devolução (com itens).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/devolucoes/13" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/devolucoes/13"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/devolucoes/{devolucao_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

devolucao_id   integer   

The ID of the devolucao. Example: 13

Emite a NF-e de devolução (finNFe=4) referenciando a nota original.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/devolucoes/17/emitir-nfe" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/devolucoes/17/emitir-nfe"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/devolucoes/{devolucao_id}/emitir-nfe

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

devolucao_id   integer   

The ID of the devolucao. Example: 17

Cancela a devolução, revertendo estoque e financeiro.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/devolucoes/3/cancelar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/devolucoes/3/cancelar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/devolucoes/{devolucao_id}/cancelar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

devolucao_id   integer   

The ID of the devolucao. Example: 3

GET api/devolucoes-compra

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/devolucoes-compra" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/devolucoes-compra"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/devolucoes-compra

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/devolucoes-compra/{devolucaoCompra_id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/devolucoes-compra/6" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/devolucoes-compra/6"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/devolucoes-compra/{devolucaoCompra_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

devolucaoCompra_id   integer   

The ID of the devolucaoCompra. Example: 6

POST api/devolucoes-compra

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/devolucoes-compra" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"compra_id\": 14,
    \"motivo\": \"bnaaergnw\",
    \"observacoes\": \"fecdqfgj\",
    \"itens\": [
        {
            \"compra_item_id\": 12,
            \"quantidade\": 32
        }
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/devolucoes-compra"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "compra_id": 14,
    "motivo": "bnaaergnw",
    "observacoes": "fecdqfgj",
    "itens": [
        {
            "compra_item_id": 12,
            "quantidade": 32
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/devolucoes-compra

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

compra_id   integer   

The id of an existing record in the compras table. Example: 14

motivo   string  optional  

validation.max. Example: bnaaergnw

observacoes   string  optional  

validation.max. Example: fecdqfgj

itens   object[]   

validation.min.

compra_item_id   integer   

Example: 12

quantidade   number   

validation.min. Example: 32

Emite a NF-e de devolução de compra (saída, finNFe=4) ao fornecedor.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/devolucoes-compra/17/emitir-nfe" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/devolucoes-compra/17/emitir-nfe"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/devolucoes-compra/{devolucaoCompra_id}/emitir-nfe

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

devolucaoCompra_id   integer   

The ID of the devolucaoCompra. Example: 17

POST api/devolucoes-compra/{devolucaoCompra_id}/cancelar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/devolucoes-compra/18/cancelar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/devolucoes-compra/18/cancelar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/devolucoes-compra/{devolucaoCompra_id}/cancelar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

devolucaoCompra_id   integer   

The ID of the devolucaoCompra. Example: 18

Sugere a tributação (CST/CSOSN, CFOP, alíquotas) para um NCM/origem, a partir das regras cadastradas ou do regime + alíquota da UF.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/imposto/sugerir-tributacao" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"ncm\": \"grwvh\",
    \"origem\": 8
}"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/sugerir-tributacao"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "ncm": "grwvh",
    "origem": 8
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/imposto/sugerir-tributacao

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

ncm   string   

validation.max. Example: grwvh

origem   integer  optional  

validation.min validation.max. Example: 8

POST api/imposto/ncm/importar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/imposto/ncm/importar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/ncm/importar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/imposto/ncm/importar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/imposto/ibpt/consultar/{ncm}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/imposto/ibpt/consultar/vel" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/ibpt/consultar/vel"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/imposto/ibpt/consultar/{ncm}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

ncm   string   

Example: vel

GET api/fiscal/classificacoes-tributarias

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/fiscal/classificacoes-tributarias" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/classificacoes-tributarias"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/fiscal/classificacoes-tributarias

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/health

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/health" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/health"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "status": "ok",
    "db": true,
    "version": "dev",
    "timestamp": "2026-06-10T00:09:47-03:00"
}
 

Request      

GET api/health

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/tenant-assets/{path}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/tenant-assets/.}F;7" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/tenant-assets/.}F;7"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (404):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": ""
}
 

Request      

GET api/tenant-assets/{path}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

path   string   

Example: .}F;7

POST api/broadcasting/auth

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/broadcasting/auth" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/broadcasting/auth"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/broadcasting/auth

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/webhooks/stripe

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/webhooks/stripe" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/webhooks/stripe"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 59
vary: Origin
 

OK
 

Request      

POST api/webhooks/stripe

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/webhooks/efipay

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/webhooks/efipay" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/webhooks/efipay"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (400):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 59
vary: Origin
 

Invalid payload
 

Request      

POST api/webhooks/efipay

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/admin/backup/status

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/admin/backup/status" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/backup/status"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

GET api/admin/backup/status

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/admin/backup/executar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/backup/executar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/backup/executar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/backup/executar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/admin/backup/tenant/{tenant_id}

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/backup/tenant/5" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/backup/tenant/5"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/backup/tenant/{tenant_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tenant_id   integer   

The ID of the tenant. Example: 5

GET api/admin/config

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/admin/config" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/config"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

GET api/admin/config

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

PUT api/admin/config

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/admin/config" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/config"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

PUT api/admin/config

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/admin/config/test-smtp

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/config/test-smtp" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/config/test-smtp"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/config/test-smtp

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/admin/config/test-cloudflare

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/config/test-cloudflare" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/config/test-cloudflare"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/config/test-cloudflare

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/admin/config/test-tunnel

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/config/test-tunnel" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/config/test-tunnel"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/config/test-tunnel

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/admin/config/test-stripe

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/config/test-stripe" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/config/test-stripe"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/config/test-stripe

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/admin/config/test-efipay

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/config/test-efipay" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/config/test-efipay"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/config/test-efipay

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/admin/config/test-telegram

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/config/test-telegram" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/config/test-telegram"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/config/test-telegram

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/admin/config/test-aapanel

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/config/test-aapanel" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/config/test-aapanel"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/config/test-aapanel

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Testa o destino de backup (Google Drive): escreve, lê e apaga um arquivo.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/config/test-backup" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/config/test-backup"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/config/test-backup

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/admin/config/limpar-cache

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/config/limpar-cache" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/config/limpar-cache"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/config/limpar-cache

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Gera manualmente uma nova senha mestra (substitui a do mês).

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/admin/config/senha-mestre" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/admin/config/senha-mestre"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Não autenticado."
}
 

Request      

POST api/admin/config/senha-mestre

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Tenant — Auditoria

Trilha de auditoria: criações, alterações e exclusões dos registros sensíveis (produtos, clientes, fornecedores, vendas, compras, pagamentos).

GET api/auditoria

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/auditoria" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/auditoria"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/auditoria

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Tipos de registro disponíveis na trilha (para o filtro).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/auditoria/tipos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/auditoria/tipos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/auditoria/tipos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Tenant — CRM Notas

GET api/cliente-notas

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/cliente-notas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/cliente-notas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/cliente-notas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/cliente-notas

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/cliente-notas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/cliente-notas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/cliente-notas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/cliente-notas/{clienteNota_id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/cliente-notas/13" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/cliente-notas/13"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/cliente-notas/{clienteNota_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

clienteNota_id   integer   

The ID of the clienteNota. Example: 13

PUT api/cliente-notas/{clienteNota_id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/cliente-notas/13" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/cliente-notas/13"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/cliente-notas/{clienteNota_id}

PATCH api/cliente-notas/{clienteNota_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

clienteNota_id   integer   

The ID of the clienteNota. Example: 13

DELETE api/cliente-notas/{clienteNota_id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/cliente-notas/13" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/cliente-notas/13"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/cliente-notas/{clienteNota_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

clienteNota_id   integer   

The ID of the clienteNota. Example: 13

POST api/cliente-notas/{clienteNota_id}/fixar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/cliente-notas/2/fixar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/cliente-notas/2/fixar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/cliente-notas/{clienteNota_id}/fixar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

clienteNota_id   integer   

The ID of the clienteNota. Example: 2

Tenant — CRM Oportunidades

CRUD + funil + forecast de oportunidades comerciais (CRM Fase 2).

GET /oportunidades/funil — agregado por estágio (forecast).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/oportunidades/funil" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/oportunidades/funil"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/oportunidades/funil

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Listar com filtros: ?cliente_id, ?estagio, ?owner_user_id, ?empresa_id, ?vencendo_em_dias, ?abertas=1, ?search.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/oportunidades" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/oportunidades"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/oportunidades

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/oportunidades

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/oportunidades" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"empresa_id\": 18,
    \"cliente_id\": 15,
    \"owner_user_id\": 19,
    \"titulo\": \"w\",
    \"descricao\": \"qui\",
    \"estagio\": \"ganha\",
    \"valor_estimado\": 23,
    \"probabilidade\": 18,
    \"fechamento_previsto\": \"2026-06-09T23:59:44\",
    \"origem\": \"jaycezgwbvgxxjvbmcbwsdcct\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/oportunidades"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "empresa_id": 18,
    "cliente_id": 15,
    "owner_user_id": 19,
    "titulo": "w",
    "descricao": "qui",
    "estagio": "ganha",
    "valor_estimado": 23,
    "probabilidade": 18,
    "fechamento_previsto": "2026-06-09T23:59:44",
    "origem": "jaycezgwbvgxxjvbmcbwsdcct"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/oportunidades

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

empresa_id   integer   

Example: 18

cliente_id   integer   

Example: 15

owner_user_id   integer  optional  

Example: 19

titulo   string   

validation.max. Example: w

descricao   string  optional  

Example: qui

estagio   string  optional  

Example: ganha

Must be one of:
  • qualificacao
  • proposta
  • negociacao
  • ganha
  • perdida
valor_estimado   number  optional  

validation.min. Example: 23

probabilidade   integer  optional  

validation.min validation.max. Example: 18

fechamento_previsto   string  optional  

validation.date. Example: 2026-06-09T23:59:44

origem   string  optional  

validation.max. Example: jaycezgwbvgxxjvbmcbwsdcct

produtos   object  optional  
tags   object  optional  

GET api/oportunidades/{id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/oportunidades/13" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/oportunidades/13"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/oportunidades/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the oportunidade. Example: 13

PUT api/oportunidades/{id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/oportunidades/4" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"owner_user_id\": 20,
    \"titulo\": \"tbkhuoon\",
    \"descricao\": \"non\",
    \"valor_estimado\": 23,
    \"probabilidade\": 21,
    \"fechamento_previsto\": \"2026-06-09T23:59:50\",
    \"origem\": \"dwgjczlntwbsrknupre\",
    \"motivo_perda\": \"fgjqancb\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/oportunidades/4"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "owner_user_id": 20,
    "titulo": "tbkhuoon",
    "descricao": "non",
    "valor_estimado": 23,
    "probabilidade": 21,
    "fechamento_previsto": "2026-06-09T23:59:50",
    "origem": "dwgjczlntwbsrknupre",
    "motivo_perda": "fgjqancb"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/oportunidades/{id}

PATCH api/oportunidades/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the oportunidade. Example: 4

Body Parameters

owner_user_id   integer  optional  

Example: 20

titulo   string  optional  

validation.max. Example: tbkhuoon

descricao   string  optional  

Example: non

valor_estimado   number  optional  

validation.min. Example: 23

probabilidade   integer  optional  

validation.min validation.max. Example: 21

fechamento_previsto   string  optional  

validation.date. Example: 2026-06-09T23:59:50

origem   string  optional  

validation.max. Example: dwgjczlntwbsrknupre

produtos   object  optional  
tags   object  optional  
motivo_perda   string  optional  

validation.max. Example: fgjqancb

DELETE api/oportunidades/{id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/oportunidades/9" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/oportunidades/9"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/oportunidades/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the oportunidade. Example: 9

Mudar de estágio. Em ganha/perdida fecha automático e atualiza prob.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/oportunidades/8/estagio" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"estagio\": \"est\",
    \"motivo_perda\": \"libero\",
    \"venda_id\": 12
}"
const url = new URL(
    "https://backend.valuor.com.br/api/oportunidades/8/estagio"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "estagio": "est",
    "motivo_perda": "libero",
    "venda_id": 12
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/oportunidades/{oportunidade_id}/estagio

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

oportunidade_id   integer   

The ID of the oportunidade. Example: 8

Body Parameters

estagio   string   

qualificacao|proposta|negociacao|ganha|perdida Example: est

motivo_perda   string  optional  

Obrigatório quando estagio=perdida. Example: libero

venda_id   integer  optional  

Opcional — amarra a oportunidade ganha a uma venda existente. Example: 12

Tenant — CRM Tarefas

GET api/cliente-tarefas

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/cliente-tarefas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/cliente-tarefas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/cliente-tarefas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/cliente-tarefas

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/cliente-tarefas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/cliente-tarefas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/cliente-tarefas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/cliente-tarefas/{clienteTarefa_id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/cliente-tarefas/9" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/cliente-tarefas/9"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/cliente-tarefas/{clienteTarefa_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

clienteTarefa_id   integer   

The ID of the clienteTarefa. Example: 9

PUT api/cliente-tarefas/{clienteTarefa_id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/cliente-tarefas/12" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/cliente-tarefas/12"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/cliente-tarefas/{clienteTarefa_id}

PATCH api/cliente-tarefas/{clienteTarefa_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

clienteTarefa_id   integer   

The ID of the clienteTarefa. Example: 12

DELETE api/cliente-tarefas/{clienteTarefa_id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/cliente-tarefas/9" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/cliente-tarefas/9"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/cliente-tarefas/{clienteTarefa_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

clienteTarefa_id   integer   

The ID of the clienteTarefa. Example: 9

POST api/cliente-tarefas/{clienteTarefa_id}/concluir

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/cliente-tarefas/2/concluir" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/cliente-tarefas/2/concluir"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/cliente-tarefas/{clienteTarefa_id}/concluir

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

clienteTarefa_id   integer   

The ID of the clienteTarefa. Example: 2

POST api/cliente-tarefas/{clienteTarefa_id}/reabrir

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/cliente-tarefas/3/reabrir" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/cliente-tarefas/3/reabrir"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/cliente-tarefas/{clienteTarefa_id}/reabrir

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

clienteTarefa_id   integer   

The ID of the clienteTarefa. Example: 3

Tenant — CT-e

Emissão de Conhecimento de Transporte Eletrônico (modelo 57) via API Fiscal, reaproveitando os cadastros de Transportadora (remetente/destinatário).

Lista os CT-e emitidos/rascunho do tenant.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/cte" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/cte"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/cte

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Emite o CT-e: monta payload, transmite e persiste o resultado.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/cte" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"natureza_operacao\": \"qmkjznqmiupwytkrygehxe\",
    \"cfop\": \"y\",
    \"tomador_papel\": \"1\",
    \"remetente_id\": 3,
    \"destinatario_id\": 17,
    \"cst\": \"bhp\",
    \"perc_icms\": 352173.85997,
    \"data_prevista_entrega\": \"2026-06-10T00:07:39\",
    \"valor_transporte\": 73,
    \"valor_receber\": 81007833.1808,
    \"valor_carga\": 23,
    \"produto_predominante\": \"ahfnmqxudeblvsmybfif\",
    \"rntrc\": \"lenkqtacrjxkulpcmgq\",
    \"cod_mun_fim\": \"c\",
    \"nome_mun_fim\": \"hnnujjsehr\",
    \"uf_fim\": \"xz\",
    \"quantidade_carga\": 48758.453945,
    \"chaves_nfe\": [
        \"odit\"
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/cte"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "natureza_operacao": "qmkjznqmiupwytkrygehxe",
    "cfop": "y",
    "tomador_papel": "1",
    "remetente_id": 3,
    "destinatario_id": 17,
    "cst": "bhp",
    "perc_icms": 352173.85997,
    "data_prevista_entrega": "2026-06-10T00:07:39",
    "valor_transporte": 73,
    "valor_receber": 81007833.1808,
    "valor_carga": 23,
    "produto_predominante": "ahfnmqxudeblvsmybfif",
    "rntrc": "lenkqtacrjxkulpcmgq",
    "cod_mun_fim": "c",
    "nome_mun_fim": "hnnujjsehr",
    "uf_fim": "xz",
    "quantidade_carga": 48758.453945,
    "chaves_nfe": [
        "odit"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/cte

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

natureza_operacao   string  optional  

validation.max. Example: qmkjznqmiupwytkrygehxe

cfop   string  optional  

validation.max. Example: y

tomador_papel   integer   

Example: 1

Must be one of:
  • 0
  • 1
  • 2
  • 3
remetente_id   integer   

Example: 3

destinatario_id   integer   

Example: 17

cst   string  optional  

validation.max. Example: bhp

perc_icms   number  optional  

Example: 352173.85997

data_prevista_entrega   string  optional  

validation.date. Example: 2026-06-10T00:07:39

valor_transporte   number   

validation.min. Example: 73

valor_receber   number  optional  

Example: 81007833.1808

valor_carga   number   

validation.min. Example: 23

produto_predominante   string  optional  

validation.max. Example: ahfnmqxudeblvsmybfif

rntrc   string  optional  

validation.max. Example: lenkqtacrjxkulpcmgq

cod_mun_fim   string  optional  

validation.max. Example: c

nome_mun_fim   string  optional  

validation.max. Example: hnnujjsehr

uf_fim   string  optional  

validation.size. Example: xz

quantidade_carga   number  optional  

Example: 48758.453945

chaves_nfe   string[]  optional  

GET api/cte/{cte_id}/consultar

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/cte/13/consultar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/cte/13/consultar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/cte/{cte_id}/consultar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

cte_id   integer   

The ID of the cte. Example: 13

POST api/cte/{cte_id}/cancelar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/cte/19/cancelar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"justificativa\": \"hpe\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/cte/19/cancelar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "justificativa": "hpe"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/cte/{cte_id}/cancelar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

cte_id   integer   

The ID of the cte. Example: 19

Body Parameters

justificativa   string   

validation.min validation.max. Example: hpe

Baixa o DACTE (PDF) pela chave.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/cte/1/dacte" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/cte/1/dacte"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/cte/{cte_id}/dacte

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

cte_id   integer   

The ID of the cte. Example: 1

Tenant — Clientes (CRM)

Endpoints de agregação para o perfil 360° do cliente. Todos aceitam ?empresa_id= para escopar matriz/filial (omitir = todas).

GET api/clientes/{cliente_id}/perfil

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/clientes/2/perfil" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/clientes/2/perfil"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/clientes/{cliente_id}/perfil

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

cliente_id   integer   

The ID of the cliente. Example: 2

GET api/clientes/{cliente_id}/timeline

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/clientes/10/timeline" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/clientes/10/timeline"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/clientes/{cliente_id}/timeline

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

cliente_id   integer   

The ID of the cliente. Example: 10

GET api/clientes/{cliente_id}/financeiro

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/clientes/1/financeiro" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/clientes/1/financeiro"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/clientes/{cliente_id}/financeiro

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

cliente_id   integer   

The ID of the cliente. Example: 1

GET api/clientes/{cliente_id}/pontos

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/clientes/8/pontos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/clientes/8/pontos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/clientes/{cliente_id}/pontos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

cliente_id   integer   

The ID of the cliente. Example: 8

GET api/clientes/{cliente_id}/os

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/clientes/15/os" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/clientes/15/os"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/clientes/{cliente_id}/os

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

cliente_id   integer   

The ID of the cliente. Example: 15

Tenant — Cobrança (régua/dunning)

Histórico de lembretes de cobrança enviados e disparo manual por pagamento.

Dispara cobrança manual de um recebível.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/pagamentos/20/cobrar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/pagamentos/20/cobrar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/pagamentos/{pagamento_id}/cobrar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

pagamento_id   integer   

The ID of the pagamento. Example: 20

GET api/cobrancas

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/cobrancas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/cobrancas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/cobrancas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Tenant — Conta

Dados da CONTA (tenant) vistos/editados pelo próprio tenant. Nada fiscal aqui — o fiscal vive nas Empresas (matriz/filial) do tenant.

GET api/configuracoes/empresa

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/configuracoes/empresa" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/configuracoes/empresa"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/configuracoes/empresa

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

PUT api/configuracoes/empresa

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/configuracoes/empresa" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"l\",
    \"cnpj\": \"rfejpcowfmxoks\",
    \"email\": \"[email protected]\",
    \"telefone\": \"oehl\",
    \"logradouro\": \"repudiandae\",
    \"numero\": \"hgj\",
    \"complemento\": \"qui\",
    \"bairro\": \"dolores\",
    \"cidade\": \"delectus\",
    \"uf\": \"li\",
    \"cep\": \"qazcs\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/configuracoes/empresa"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nome": "l",
    "cnpj": "rfejpcowfmxoks",
    "email": "[email protected]",
    "telefone": "oehl",
    "logradouro": "repudiandae",
    "numero": "hgj",
    "complemento": "qui",
    "bairro": "dolores",
    "cidade": "delectus",
    "uf": "li",
    "cep": "qazcs"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/configuracoes/empresa

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

nome   string  optional  

validation.max. Example: l

cnpj   string  optional  

validation.size. Example: rfejpcowfmxoks

email   string  optional  

validation.email. Example: [email protected]

telefone   string  optional  

validation.max. Example: oehl

logradouro   string  optional  

Example: repudiandae

numero   string  optional  

validation.max. Example: hgj

complemento   string  optional  

Example: qui

bairro   string  optional  

Example: dolores

cidade   string  optional  

Example: delectus

uf   string  optional  

validation.size. Example: li

cep   string  optional  

validation.max. Example: qazcs

configuracoes   object  optional  

Tenant — Empresas (matriz/filial)

CRUD das empresas/estabelecimentos do tenant. Cada empresa é um CNPJ emitente, com sua própria identidade fiscal (IE, CSC, séries, numeração) usada na emissão de NFC-e/NF-e.

Lista enxuta das empresas ativas do tenant para o SELECT da tela de login.

Pública (sem auth) — o tenant já está resolvido pelo domínio e só expõe id/nome (nenhum dado fiscal sensível), para o usuário escolher em qual empresa (matriz/filial) deseja operar antes de autenticar.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/empresas-publicas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/empresas-publicas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/empresas-publicas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Valida a senha mestra mensal sem criar nada (gate antes do formulário).

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/empresas/validar-senha-mestre" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/empresas/validar-senha-mestre"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/empresas/validar-senha-mestre

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/empresas

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/empresas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/empresas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/empresas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/empresas

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/empresas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/empresas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/empresas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/empresas/{empresa_id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/empresas/9" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/empresas/9"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/empresas/{empresa_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa_id   integer   

The ID of the empresa. Example: 9

PUT api/empresas/{empresa_id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/empresas/4" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/empresas/4"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/empresas/{empresa_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa_id   integer   

The ID of the empresa. Example: 4

DELETE api/empresas/{empresa_id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/empresas/12" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/empresas/12"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/empresas/{empresa_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa_id   integer   

The ID of the empresa. Example: 12

Tenant — Estoque (Depósitos)

Depósitos/almoxarifados por empresa. O saldo é mantido por (produto × depósito) e o estoque_atual do produto reflete a soma de todos os depósitos.

Saldos dos produtos neste depósito. Sinaliza itens críticos (saldo no depósito ≤ estoque mínimo do produto) — um depósito pode estar zerado mesmo com saldo total positivo em outro.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/depositos/10/saldos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/depositos/10/saldos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/depositos/{deposito_id}/saldos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

deposito_id   integer   

The ID of the deposito. Example: 10

GET api/depositos

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/depositos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/depositos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/depositos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/depositos

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/depositos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/depositos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/depositos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/depositos/{id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/depositos/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/depositos/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/depositos/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the deposito. Example: 16

PUT api/depositos/{id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/depositos/11" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/depositos/11"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/depositos/{id}

PATCH api/depositos/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the deposito. Example: 11

DELETE api/depositos/{id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/depositos/20" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/depositos/20"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/depositos/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the deposito. Example: 20

Tenant — Estoque (Transferências)

Transferência de produtos entre depósitos (saída no origem + entrada no destino). O total do produto (estoque_atual) permanece inalterado.

GET api/transferencias

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/transferencias" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/transferencias"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/transferencias

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/transferencias

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/transferencias" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"deposito_origem_id\": 2,
    \"deposito_destino_id\": 16,
    \"observacoes\": \"cumque\",
    \"itens\": [
        {
            \"produto_id\": 8,
            \"quantidade\": 18642
        }
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/transferencias"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "deposito_origem_id": 2,
    "deposito_destino_id": 16,
    "observacoes": "cumque",
    "itens": [
        {
            "produto_id": 8,
            "quantidade": 18642
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/transferencias

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

deposito_origem_id   integer   

The value and deposito_destino_id must be different. The id of an existing record in the depositos table. Example: 2

deposito_destino_id   integer   

The id of an existing record in the depositos table. Example: 16

observacoes   string  optional  

Example: cumque

itens   object[]   

validation.min.

produto_id   integer   

The id of an existing record in the produtos table. Example: 8

quantidade   number   

Example: 18642

GET api/transferencias/{transferencia_id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/transferencias/19" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/transferencias/19"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/transferencias/{transferencia_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

transferencia_id   integer   

The ID of the transferencia. Example: 19

Tenant — Fidelidade (pontos)

A CONFIGURAÇÃO fica em empresas.configuracoes.fidelidade (editada no modal da empresa).

Config efetiva (lida da empresa) — usada pelo PDV.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/fidelidade/config" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fidelidade/config"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/fidelidade/config

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Saldo e extrato de pontos de um cliente.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/fidelidade/clientes/11" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fidelidade/clientes/11"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/fidelidade/clientes/{cliente_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

cliente_id   integer   

The ID of the cliente. Example: 11

Resgata pontos e devolve o valor de desconto.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/fidelidade/resgatar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"cliente_id\": 11,
    \"pontos\": 89
}"
const url = new URL(
    "https://backend.valuor.com.br/api/fidelidade/resgatar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "cliente_id": 11,
    "pontos": 89
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/fidelidade/resgatar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

cliente_id   integer   

The id of an existing record in the clientes table. Example: 11

pontos   integer   

validation.min. Example: 89

Tenant — Financeiro / Boleto

Configuração do convênio bancário para emissão de boletos (registro único).

GET api/boleto/config

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/boleto/config" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/boleto/config"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/boleto/config

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

PUT api/boleto/config

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/boleto/config" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"banco\": \"wsscieuyo\",
    \"agencia\": \"eqydyoibhzmzfgrjn\",
    \"agencia_dv\": \"i\",
    \"conta\": \"ke\",
    \"conta_dv\": \"oy\",
    \"carteira\": \"xzaspgcsky\",
    \"convenio\": \"jjbzlaktsujuzfoypgrgunir\",
    \"cedente_nome\": \"wqeaczgvayoxbvhhgx\",
    \"cedente_documento\": \"aobcfcumbamptqazpgy\",
    \"nosso_numero_atual\": 58,
    \"juros_dia\": 22,
    \"multa\": 25,
    \"dias_protesto\": 8,
    \"instrucoes\": \"otdabau\",
    \"ativo\": false
}"
const url = new URL(
    "https://backend.valuor.com.br/api/boleto/config"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "banco": "wsscieuyo",
    "agencia": "eqydyoibhzmzfgrjn",
    "agencia_dv": "i",
    "conta": "ke",
    "conta_dv": "oy",
    "carteira": "xzaspgcsky",
    "convenio": "jjbzlaktsujuzfoypgrgunir",
    "cedente_nome": "wqeaczgvayoxbvhhgx",
    "cedente_documento": "aobcfcumbamptqazpgy",
    "nosso_numero_atual": 58,
    "juros_dia": 22,
    "multa": 25,
    "dias_protesto": 8,
    "instrucoes": "otdabau",
    "ativo": false
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/boleto/config

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

banco   string  optional  

validation.max. Example: wsscieuyo

agencia   string  optional  

validation.max. Example: eqydyoibhzmzfgrjn

agencia_dv   string  optional  

validation.max. Example: i

conta   string  optional  

validation.max. Example: ke

conta_dv   string  optional  

validation.max. Example: oy

carteira   string  optional  

validation.max. Example: xzaspgcsky

convenio   string  optional  

validation.max. Example: jjbzlaktsujuzfoypgrgunir

cedente_nome   string  optional  

validation.max. Example: wqeaczgvayoxbvhhgx

cedente_documento   string  optional  

validation.max. Example: aobcfcumbamptqazpgy

nosso_numero_atual   integer  optional  

validation.min. Example: 58

juros_dia   number  optional  

validation.min validation.max. Example: 22

multa   number  optional  

validation.min validation.max. Example: 25

dias_protesto   integer  optional  

validation.min validation.max. Example: 8

instrucoes   string  optional  

validation.max. Example: otdabau

ativo   boolean  optional  

Example: false

Tenant — Financeiro / Boleto CNAB

Geração de remessa e leitura de retorno de cobrança bancária (CNAB 240). Confira sempre as posições no manual do seu banco e valide no portal antes de usar em produção.

Lista as contas a receber elegíveis para remessa (pendentes, a receber).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/boleto/remessa/titulos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/boleto/remessa/titulos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/boleto/remessa/titulos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Gera o arquivo de remessa CNAB 240 e atualiza o nosso número.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/boleto/remessa" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"titulos\": [
        7
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/boleto/remessa"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "titulos": [
        7
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/boleto/remessa

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

titulos   integer[]  optional  

Lê um arquivo de retorno CNAB 240 enviado e devolve as ocorrências.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/boleto/retorno" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "arquivo=@/tmp/phpPDBLKC" 
const url = new URL(
    "https://backend.valuor.com.br/api/boleto/retorno"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('arquivo', document.querySelector('input[name="arquivo"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/boleto/retorno

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

arquivo   file   

Must be a file. validation.max. Example: /tmp/phpPDBLKC

Tenant — Fiscal / Imposto

GET api/imposto/cfop

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/imposto/cfop" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/cfop"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/imposto/cfop

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/imposto/cfop

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/imposto/cfop" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/cfop"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/imposto/cfop

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

PUT api/imposto/cfop/{tabela_cfop}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/imposto/cfop/10" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/cfop/10"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/imposto/cfop/{tabela_cfop}

PATCH api/imposto/cfop/{tabela_cfop}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tabela_cfop   integer   

Example: 10

DELETE api/imposto/cfop/{tabela_cfop}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/imposto/cfop/20" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/cfop/20"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/imposto/cfop/{tabela_cfop}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tabela_cfop   integer   

Example: 20

GET api/imposto/ncm

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/imposto/ncm" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/ncm"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/imposto/ncm

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/imposto/ncm

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/imposto/ncm" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/ncm"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/imposto/ncm

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

PUT api/imposto/ncm/{tabela_ncm}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/imposto/ncm/12" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/ncm/12"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/imposto/ncm/{tabela_ncm}

PATCH api/imposto/ncm/{tabela_ncm}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tabela_ncm   integer   

Example: 12

DELETE api/imposto/ncm/{tabela_ncm}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/imposto/ncm/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/ncm/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/imposto/ncm/{tabela_ncm}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tabela_ncm   integer   

Example: 16

GET api/imposto/icms

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/imposto/icms" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/icms"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/imposto/icms

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/imposto/icms

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/imposto/icms" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/icms"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/imposto/icms

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

PUT api/imposto/icms/{tabela_icm}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/imposto/icms/4" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/icms/4"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/imposto/icms/{tabela_icm}

PATCH api/imposto/icms/{tabela_icm}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tabela_icm   integer   

Example: 4

DELETE api/imposto/icms/{tabela_icm}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/imposto/icms/17" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/icms/17"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/imposto/icms/{tabela_icm}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tabela_icm   integer   

Example: 17

Importa o arquivo oficial do IBPT (De Olho no Imposto), CSV separado por ';' baixado por UF no site do IBPT. Substitui a tabela vigente (dado oficial, trimestral). Cabeçalho esperado: codigo;ex;tipo;descricao;nacionalfederal;importadosfederal;estadual;municipal;vigenciainicio;vigenciafim;chave;versao;fonte

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/imposto/ibpt/importar" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "arquivo=@/tmp/phplbidcJ" 
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/ibpt/importar"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('arquivo', document.querySelector('input[name="arquivo"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/imposto/ibpt/importar

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

arquivo   file   

Must be a file. Example: /tmp/phplbidcJ

GET api/imposto/ibpt

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/imposto/ibpt" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/ibpt"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/imposto/ibpt

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/imposto/ibpt

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/imposto/ibpt" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/ibpt"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/imposto/ibpt

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

PUT api/imposto/ibpt/{tabela_ibpt}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/imposto/ibpt/13" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/ibpt/13"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/imposto/ibpt/{tabela_ibpt}

PATCH api/imposto/ibpt/{tabela_ibpt}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tabela_ibpt   integer   

Example: 13

DELETE api/imposto/ibpt/{tabela_ibpt}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/imposto/ibpt/17" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/ibpt/17"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/imposto/ibpt/{tabela_ibpt}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tabela_ibpt   integer   

Example: 17

GET api/imposto/regra

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/imposto/regra" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/regra"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/imposto/regra

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/imposto/regra

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/imposto/regra" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/regra"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/imposto/regra

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

PUT api/imposto/regra/{regra_imposto}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/imposto/regra/11" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/regra/11"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/imposto/regra/{regra_imposto}

PATCH api/imposto/regra/{regra_imposto}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

regra_imposto   integer   

Example: 11

DELETE api/imposto/regra/{regra_imposto}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/imposto/regra/11" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/imposto/regra/11"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/imposto/regra/{regra_imposto}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

regra_imposto   integer   

Example: 11

Tenant — Fiscal / Inventário

Inventário fiscal de estoque (base do Bloco H do SPED Fiscal), agrupado por CSOSN, CST, origem da mercadoria ou NCM. Calcula valor pelo custo: estoque_atual × preco_custo.

GET api/fiscal/inventario

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/fiscal/inventario" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"data\": \"2026-06-10T00:07:30\",
    \"search\": \"adtrjftgjkngt\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/inventario"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "data": "2026-06-10T00:07:30",
    "search": "adtrjftgjkngt"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/fiscal/inventario

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

agrupar   string  optional  
data   string  optional  

validation.date. Example: 2026-06-10T00:07:30

search   string  optional  

validation.max. Example: adtrjftgjkngt

Tenant — Fiscal / Lote XML

Empacota em ZIP os XMLs dos documentos fiscais de um período.

Quantidade de documentos disponíveis no período (pré-visualização).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/fiscal/lote-xml/previa" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/lote-xml/previa"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/fiscal/lote-xml/previa

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Gera e baixa o ZIP com os XMLs do período.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/fiscal/lote-xml/baixar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/lote-xml/baixar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/fiscal/lote-xml/baixar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Tenant — Fiscal / SPED

Geração do arquivo SPED Fiscal (EFD ICMS/IPI) a partir dos dados do tenant. Sempre valide o arquivo gerado no PVA da Receita antes de transmitir.

Pré-visualização: estatísticas do período (sem baixar o arquivo).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/fiscal/sped/previa" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/sped/previa"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/fiscal/sped/previa

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Gera e baixa o arquivo .txt do SPED Fiscal.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/fiscal/sped/fiscal" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/sped/fiscal"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/fiscal/sped/fiscal

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Gera e baixa o arquivo .txt da EFD-Contribuições (PIS/COFINS).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/fiscal/sped/contribuicoes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/sped/contribuicoes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/fiscal/sped/contribuicoes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Gera e baixa o arquivo .txt do Sintegra (Convênio ICMS 57/95).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/fiscal/sped/sintegra" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/sped/sintegra"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/fiscal/sped/sintegra

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Tenant — Fiscal Eventos

Eventos pós-emissão fiscal: Carta de Correção (CC-e), Inutilização de numeração e EPEC (Evento Prévio em Contingência). Cancelamento continua nos controllers específicos (NfeController/NfceController) por conveniência.

Listar eventos (com filtros por tipo, modelo, chave).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/fiscal/eventos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/eventos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/fiscal/eventos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Carta de Correção (CC-e) — apenas NF-e (modelo 55). NFC-e não suporta.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/fiscal/eventos/cce" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"chave\": \"fugit\",
    \"correcao\": \"consequatur\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/eventos/cce"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "chave": "fugit",
    "correcao": "consequatur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/fiscal/eventos/cce

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

chave   string   

Chave da NF-e a corrigir. Example: fugit

correcao   string   

Texto da correção (15..1000 chars). Example: consequatur

Inutilização de range numérico.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/fiscal/eventos/inutilizar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"modelo\": 16,
    \"serie\": 11,
    \"numero_inicial\": 17,
    \"numero_final\": 4,
    \"justificativa\": \"et\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/eventos/inutilizar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "modelo": 16,
    "serie": 11,
    "numero_inicial": 17,
    "numero_final": 4,
    "justificativa": "et"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/fiscal/eventos/inutilizar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

modelo   integer   

55 ou 65 Example: 16

serie   integer   

Série (geralmente 1) Example: 11

numero_inicial   integer   

Primeiro número não utilizado Example: 17

numero_final   integer   

Último número não utilizado Example: 4

justificativa   string   

Mín. 15 caracteres Example: et

EPEC — Evento Prévio de Emissão em Contingência (NF-e modelo 55).

Dispara quando SEFAZ está fora; a NF-e completa é transmitida depois e amarrada ao protocolo do EPEC.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/fiscal/eventos/epec" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"venda_id\": 1
}"
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/eventos/epec"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "venda_id": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/fiscal/eventos/epec

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

venda_id   integer   

Example: 1

Tenant — Fiscal Painel

Painel operacional do fiscal: vendas pendentes/em contingência/rejeitadas, reprocessamento em lote, alertas (certificado expirando, SEFAZ off).

GET /fiscal/painel — KPI consolidado do dia + listas operacionais.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/fiscal/painel?dias=7&empresa_id=1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/painel"
);

const params = {
    "dias": "7",
    "empresa_id": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/fiscal/painel

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

dias   integer  optional  

Janela de tempo (padrão 7). Example: 7

empresa_id   integer  optional  

Filtro por empresa específica. Example: 1

GET /fiscal/painel/alertas — apenas os alertas (versão enxuta para o header).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/fiscal/painel/alertas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/painel/alertas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/fiscal/painel/alertas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST /fiscal/painel/reprocessar — reprocessa em lote vendas pendentes.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/fiscal/painel/reprocessar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"venda_ids\": [
        \"temporibus\"
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/fiscal/painel/reprocessar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "venda_ids": [
        "temporibus"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/fiscal/painel/reprocessar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

venda_ids   string[]   

IDs das vendas a reprocessar.

Tenant — Importação (sistema legado)

Recebe lotes do migrador (Delphi) e faz upsert idempotente por codigo_legado. Multiloja: cada lote informa empresa_id (loja destino). Importação não dispara efeitos de negócio (estoque/fiscal/fidelidade) — é gravação de histórico.

POST api/import/clientes

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/import/clientes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/import/clientes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/import/clientes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/import/produtos

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/import/produtos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/import/produtos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/import/produtos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/import/financeiro

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/import/financeiro" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/import/financeiro"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/import/financeiro

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/import/vendas

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/import/vendas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/import/vendas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/import/vendas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/import/notas

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/import/notas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/import/notas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/import/notas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Baixa o XML arquivado de uma nota importada.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/import/notas/4/xml" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/import/notas/4/xml"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/import/notas/{nota_id}/xml

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

nota_id   integer   

The ID of the nota. Example: 4

Empresas (lojas) do tenant — o migrador casa as lojas do legado por CNPJ.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/import/empresas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/import/empresas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/import/empresas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Contagens já importadas (o migrador confere o que entrou).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/import/resumo" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"empresa_id\": 9
}"
const url = new URL(
    "https://backend.valuor.com.br/api/import/resumo"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "empresa_id": 9
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/import/resumo

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

empresa_id   integer   

The id of an existing record in the empresas table. Example: 9

Conferência pós-migração: totais por entidade + divergências de qualidade (lacunas que valem revisar). Considera apenas os registros importados do legado (`codigo_legado` preenchido) — não acusa cadastros nativos do ERP.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/import/conferencia" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"empresa_id\": 3
}"
const url = new URL(
    "https://backend.valuor.com.br/api/import/conferencia"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "empresa_id": 3
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/import/conferencia

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

empresa_id   integer   

The id of an existing record in the empresas table. Example: 3

Registros por trás de uma divergência da conferência (até 200), para a tela listar com link direto ao cadastro e o usuário corrigir.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/import/conferencia/voluptatum" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"empresa_id\": 16
}"
const url = new URL(
    "https://backend.valuor.com.br/api/import/conferencia/voluptatum"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "empresa_id": 16
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/import/conferencia/{chave}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

chave   string   

Example: voluptatum

Body Parameters

empresa_id   integer   

The id of an existing record in the empresas table. Example: 16

Lista os tokens do migrador do usuário logado.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/import/tokens" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/import/tokens"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/import/tokens

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Gera um novo token (mostrado uma única vez) para o migrador.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/import/tokens" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"nome\": \"bvgzxpgszgtoohlzutowcw\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/import/tokens"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "nome": "bvgzxpgszgtoohlzutowcw"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/import/tokens

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

nome   string  optional  

validation.max. Example: bvgzxpgszgtoohlzutowcw

Revoga um token do migrador.

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/import/tokens/magni" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/import/tokens/magni"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/import/tokens/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the token. Example: magni

Tenant — Integrações (canais de venda)

Configuração de canais externos (e-commerce/marketplace). Credenciais são armazenadas criptografadas. A ingestão de pedidos externos vira Venda.

GET api/integracoes

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/integracoes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/integracoes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/integracoes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/integracoes

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/integracoes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/integracoes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/integracoes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

PUT api/integracoes/{integracao_id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/integracoes/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/integracoes/2"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/integracoes/{integracao_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

integracao_id   integer   

The ID of the integracao. Example: 2

DELETE api/integracoes/{integracao_id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/integracoes/19" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/integracoes/19"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/integracoes/{integracao_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

integracao_id   integer   

The ID of the integracao. Example: 19

POST api/integracoes/{integracao_id}/regenerar-token

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/integracoes/7/regenerar-token" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/integracoes/7/regenerar-token"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/integracoes/{integracao_id}/regenerar-token

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

integracao_id   integer   

The ID of the integracao. Example: 7

Ingestão de um pedido normalizado do canal → cria a Venda.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/integracoes/6/pedido" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"itens\": [
        {
            \"sku\": \"laborum\",
            \"codigo\": \"quasi\",
            \"quantidade\": 17388170.00533,
            \"preco_unitario\": 87
        }
    ],
    \"observacoes\": \"voluptate\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/integracoes/6/pedido"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "itens": [
        {
            "sku": "laborum",
            "codigo": "quasi",
            "quantidade": 17388170.00533,
            "preco_unitario": 87
        }
    ],
    "observacoes": "voluptate"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/integracoes/{integracao_id}/pedido

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

integracao_id   integer   

The ID of the integracao. Example: 6

Body Parameters

cliente   object  optional  
itens   object[]   

validation.min.

sku   string  optional  

This field is required when itens.*.codigo is not present. Example: laborum

codigo   string  optional  

Example: quasi

quantidade   number   

Example: 17388170.00533

preco_unitario   number  optional  

validation.min. Example: 87

pagamento   object  optional  
observacoes   string  optional  

Example: voluptate

Tenant — MDF-e

Emissão de Manifesto Eletrônico de Documentos Fiscais (modelo 58) via API Fiscal, reaproveitando o cadastro de Veículos da Transportadora.

GET api/mdfe

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/mdfe" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/mdfe"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/mdfe

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/mdfe

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/mdfe" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"uf_fim\": \"ks\",
    \"data_inicio_viagem\": \"2026-06-10T00:07:44\",
    \"condutor_nome\": \"polalpakbuvfegngpiwkpgf\",
    \"condutor_cpf\": \"dm\",
    \"valor_carga\": 48,
    \"quantidade_carga\": 21,
    \"tipo_emitente\": \"1\",
    \"tipo_transporte\": \"3\",
    \"veiculo_ids\": [
        15
    ],
    \"nome_mun_descarregamento\": \"juhybwft\",
    \"cod_mun_descarregamento\": \"zpaad\",
    \"lacre_rodoviario\": \"lwt\",
    \"info_complementar\": \"yozadatec\",
    \"chaves_nfe\": [
        \"velit\"
    ],
    \"chaves_cte\": [
        \"in\"
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/mdfe"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "uf_fim": "ks",
    "data_inicio_viagem": "2026-06-10T00:07:44",
    "condutor_nome": "polalpakbuvfegngpiwkpgf",
    "condutor_cpf": "dm",
    "valor_carga": 48,
    "quantidade_carga": 21,
    "tipo_emitente": "1",
    "tipo_transporte": "3",
    "veiculo_ids": [
        15
    ],
    "nome_mun_descarregamento": "juhybwft",
    "cod_mun_descarregamento": "zpaad",
    "lacre_rodoviario": "lwt",
    "info_complementar": "yozadatec",
    "chaves_nfe": [
        "velit"
    ],
    "chaves_cte": [
        "in"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/mdfe

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

uf_fim   string   

validation.size. Example: ks

data_inicio_viagem   string   

validation.date. Example: 2026-06-10T00:07:44

condutor_nome   string   

validation.max. Example: polalpakbuvfegngpiwkpgf

condutor_cpf   string   

validation.max. Example: dm

valor_carga   number   

validation.min. Example: 48

quantidade_carga   number   

validation.min. Example: 21

tipo_emitente   integer  optional  

Example: 1

Must be one of:
  • 1
  • 2
tipo_transporte   integer  optional  

Example: 3

Must be one of:
  • 1
  • 2
  • 3
veiculo_ids   integer[]  optional  
nome_mun_descarregamento   string  optional  

validation.max. Example: juhybwft

cod_mun_descarregamento   string  optional  

validation.max. Example: zpaad

lacre_rodoviario   string  optional  

validation.max. Example: lwt

info_complementar   string  optional  

validation.max. Example: yozadatec

chaves_nfe   string[]  optional  
chaves_cte   string[]  optional  

GET api/mdfe/{mdfe_id}/consultar

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/mdfe/16/consultar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/mdfe/16/consultar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/mdfe/{mdfe_id}/consultar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

mdfe_id   integer   

The ID of the mdfe. Example: 16

POST api/mdfe/{mdfe_id}/cancelar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/mdfe/1/cancelar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"justificativa\": \"avsixdgnolxfmkifzdzdxenye\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/mdfe/1/cancelar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "justificativa": "avsixdgnolxfmkifzdzdxenye"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/mdfe/{mdfe_id}/cancelar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

mdfe_id   integer   

The ID of the mdfe. Example: 1

Body Parameters

justificativa   string   

validation.min validation.max. Example: avsixdgnolxfmkifzdzdxenye

POST api/mdfe/{mdfe_id}/encerrar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/mdfe/2/encerrar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/mdfe/2/encerrar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/mdfe/{mdfe_id}/encerrar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

mdfe_id   integer   

The ID of the mdfe. Example: 2

GET api/mdfe/{mdfe_id}/damdfe

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/mdfe/4/damdfe" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/mdfe/4/damdfe"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/mdfe/{mdfe_id}/damdfe

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

mdfe_id   integer   

The ID of the mdfe. Example: 4

Tenant — Metas de Vendas

Metas mensais por vendedor (ou gerais da empresa) com acompanhamento do realizado, percentual de atingimento e projeção linear até o fim do mês.

GET api/metas

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/metas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/metas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/metas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Resumo consolidado do mês corrente (para o painel).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/metas/resumo" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/metas/resumo"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/metas/resumo

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/metas

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/metas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"empresa_id\": 12,
    \"vendedor_id\": 12,
    \"ano\": 9,
    \"mes\": 5,
    \"valor_meta\": 15
}"
const url = new URL(
    "https://backend.valuor.com.br/api/metas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "empresa_id": 12,
    "vendedor_id": 12,
    "ano": 9,
    "mes": 5,
    "valor_meta": 15
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/metas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

empresa_id   integer  optional  

Example: 12

vendedor_id   integer  optional  

Example: 12

ano   integer   

validation.min validation.max. Example: 9

mes   integer   

validation.min validation.max. Example: 5

valor_meta   number   

validation.min. Example: 15

PUT api/metas/{meta_id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/metas/11" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"valor_meta\": 10
}"
const url = new URL(
    "https://backend.valuor.com.br/api/metas/11"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "valor_meta": 10
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/metas/{meta_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

meta_id   integer   

The ID of the meta. Example: 11

Body Parameters

valor_meta   number   

validation.min. Example: 10

DELETE api/metas/{meta_id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/metas/4" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/metas/4"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/metas/{meta_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

meta_id   integer   

The ID of the meta. Example: 4

Tenant — NF Destinadas (Manifesto do Destinatário)

Consulta notas fiscais emitidas CONTRA o CNPJ do tenant (compras), manifesta ciência/confirmação e permite dar entrada no estoque.

GET /nfe-destinadas — lista as notas destinadas já baixadas.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/nfe-destinadas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/nfe-destinadas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/nfe-destinadas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST /nfe-destinadas/buscar — consulta SEFAZ por novos documentos.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/nfe-destinadas/buscar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/nfe-destinadas/buscar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/nfe-destinadas/buscar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST /nfe-destinadas/manifestar — manifesta um documento.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/nfe-destinadas/manifestar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"chave\": \"jbvgcmldqifjxbwukwliablbkqrxboljgholaiwvuaox\",
    \"evento\": \"2\",
    \"justificativa\": \"mlljcfilaekhjqn\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/nfe-destinadas/manifestar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "chave": "jbvgcmldqifjxbwukwliablbkqrxboljgholaiwvuaox",
    "evento": "2",
    "justificativa": "mlljcfilaekhjqn"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/nfe-destinadas/manifestar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

chave   string   

validation.size. Example: jbvgcmldqifjxbwukwliablbkqrxboljgholaiwvuaox

evento   integer   

Example: 2

Must be one of:
  • 1
  • 2
  • 3
  • 4
justificativa   string  optional  

validation.min validation.max. Example: mlljcfilaekhjqn

POST /nfe-destinadas/manifestar-lote — manifesta vários documentos de uma vez (mesmo evento). Evita manifestar uma chave por vez e perder o prazo de 30 dias.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/nfe-destinadas/manifestar-lote" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"chaves\": [
        \"fekujoyrzuihpmlxxglrjssncpzczzcfzuzqvuvopfgt\"
    ],
    \"evento\": \"3\",
    \"justificativa\": \"lzcrvthkvioi\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/nfe-destinadas/manifestar-lote"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "chaves": [
        "fekujoyrzuihpmlxxglrjssncpzczzcfzuzqvuvopfgt"
    ],
    "evento": "3",
    "justificativa": "lzcrvthkvioi"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/nfe-destinadas/manifestar-lote

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

chaves   string[]  optional  

validation.size.

evento   integer   

Example: 3

Must be one of:
  • 1
  • 2
  • 3
  • 4
justificativa   string  optional  

validation.min validation.max. Example: lzcrvthkvioi

GET /nfe-destinadas/{chave}/xml — baixa o XML do documento.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/nfe-destinadas/facilis/xml" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/nfe-destinadas/facilis/xml"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/nfe-destinadas/{chave}/xml

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

chave   string   

Example: facilis

Tenant — PDV

Autoriza um desconto acima do limite do operador, mediante senha de um supervisor/gerente/admin (ou usuário com limite suficiente). Não troca a sessão.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/pdv/autorizar-desconto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"identificador\": \"rem\",
    \"senha\": \"vel\",
    \"percentual\": 6
}"
const url = new URL(
    "https://backend.valuor.com.br/api/pdv/autorizar-desconto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "identificador": "rem",
    "senha": "vel",
    "percentual": 6
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/pdv/autorizar-desconto

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

identificador   string   

Example: rem

senha   string   

email ou login do supervisor. Example: vel

percentual   number   

validation.min validation.max. Example: 6

Imprime o cupom de uma venda em impressora térmica ESC/POS via rede.

A impressora (IP/porta) vem das configurações da empresa (configuracoes.pdv_impressora_ip / pdv_impressora_porta).

Retorna { printed: false } (200) quando não há impressora configurada, para o PDV cair no cupom do navegador.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/pdv/imprimir-rede" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"venda_id\": 5
}"
const url = new URL(
    "https://backend.valuor.com.br/api/pdv/imprimir-rede"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "venda_id": 5
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/pdv/imprimir-rede

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

venda_id   integer   

validation.min. Example: 5

Retorna os bytes ESC/POS do cupom em base64, para impressão no navegador via QZ Tray (cenário nuvem → impressora na rede local).

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/pdv/cupom-escpos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"venda_id\": 36
}"
const url = new URL(
    "https://backend.valuor.com.br/api/pdv/cupom-escpos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "venda_id": 36
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/pdv/cupom-escpos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

venda_id   integer   

validation.min. Example: 36

Tenant — PIX (recebimento)

Webhook do provedor (sem auth; tenant resolvido pelo domínio).

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/pix/webhook/qui" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/pix/webhook/qui"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/pix/webhook/{provedor}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

provedor   string   

Example: qui

Configuração do PIX da empresa (admin).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/pix/config" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/pix/config"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/pix/config

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Salva a configuração do PIX.

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/pix/config" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"empresa_id\": 16,
    \"provedor\": \"a\",
    \"ativo\": true,
    \"sandbox\": false,
    \"chave_pix\": \"agnvyzscnzo\",
    \"expira_segundos\": 4
}"
const url = new URL(
    "https://backend.valuor.com.br/api/pix/config"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "empresa_id": 16,
    "provedor": "a",
    "ativo": true,
    "sandbox": false,
    "chave_pix": "agnvyzscnzo",
    "expira_segundos": 4
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/pix/config

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

empresa_id   integer  optional  

Example: 16

provedor   string   

Example: a

ativo   boolean  optional  

Example: true

sandbox   boolean  optional  

Example: false

chave_pix   string  optional  

validation.max. Example: agnvyzscnzo

expira_segundos   integer  optional  

validation.min validation.max. Example: 4

credenciais   object  optional  

Cria uma cobrança PIX (QR dinâmico).

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/pix/cobrancas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"valor\": 63,
    \"venda_id\": 11,
    \"descricao\": \"wrcwdflrbhkyxyfrg\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/pix/cobrancas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "valor": 63,
    "venda_id": 11,
    "descricao": "wrcwdflrbhkyxyfrg"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/pix/cobrancas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

valor   number   

validation.min. Example: 63

venda_id   integer  optional  

Example: 11

descricao   string  optional  

validation.max. Example: wrcwdflrbhkyxyfrg

Consulta/atualiza o status de uma cobrança (polling do PDV).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/pix/cobrancas/15" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/pix/cobrancas/15"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/pix/cobrancas/{pixCobranca_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

pixCobranca_id   integer   

The ID of the pixCobranca. Example: 15

Tenant — Produtos (Perfil 360°)

Endpoints de agregação para o perfil 360° do produto: entradas (compras), saídas (vendas), documentos fiscais (NF-e/NFC-e) e indicadores consolidados. Todos aceitam ?empresa_id= para escopar as saídas por empresa (omitir = todas).

Curva ABC — classificação de produtos por faturamento.

A = até 80% do faturamento acumulado · B = 80–95% · C = 95–100%.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/produtos/curva-abc?meses=12&empresa_id=1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/produtos/curva-abc"
);

const params = {
    "meses": "12",
    "empresa_id": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/produtos/curva-abc

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

meses   integer  optional  

Janela em meses (0 = todo o histórico). Example: 12

empresa_id   integer  optional  

Escopa por empresa. Example: 1

Alerta de reposição — cruza classe ABC × cobertura de estoque.

Para cada produto com saída no período calcula o consumo diário, os dias de cobertura do estoque atual e uma sugestão de compra para atingir a cobertura-alvo (definida por classe: A mais dias, C menos). Prioriza A com baixa cobertura.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/produtos/reposicao?meses=6&empresa_id=1&classe=A&status=critico&apenas_alerta=1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/produtos/reposicao"
);

const params = {
    "meses": "6",
    "empresa_id": "1",
    "classe": "A",
    "status": "critico",
    "apenas_alerta": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/produtos/reposicao

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

meses   integer  optional  

Janela de consumo em meses. Example: 6

empresa_id   integer  optional  

Escopa por empresa. Example: 1

classe   string  optional  

Filtrar por classe (A|B|C). Example: A

status   string  optional  

Filtrar por status (critico|atencao|ok). Example: critico

apenas_alerta   boolean  optional  

Retornar só itens em alerta (default true). Example: true

GET api/produtos/{produto_id}/perfil

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/produtos/18/perfil" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/produtos/18/perfil"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/produtos/{produto_id}/perfil

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

produto_id   integer   

The ID of the produto. Example: 18

Saldo do produto por depósito.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/produtos/11/saldos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/produtos/11/saldos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/produtos/{produto_id}/saldos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

produto_id   integer   

The ID of the produto. Example: 11

Saídas — itens de venda deste produto.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/produtos/10/vendas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/produtos/10/vendas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/produtos/{produto_id}/vendas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

produto_id   integer   

The ID of the produto. Example: 10

Entradas — itens de compra deste produto.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/produtos/4/compras" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/produtos/4/compras"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/produtos/{produto_id}/compras

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

produto_id   integer   

The ID of the produto. Example: 4

Documentos fiscais (NF-e e NFC-e) que contêm o produto.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/produtos/9/fiscal" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/produtos/9/fiscal"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/produtos/{produto_id}/fiscal

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

produto_id   integer   

The ID of the produto. Example: 9

Tenant — Quick Search

Busca global em paralelo nas entidades mais consultadas. Usada pelo Cmd+K da interface — devolve até 5 resultados por entidade, com URL de destino.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/quick-search" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/quick-search"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Tenant — Recibo

Gera o recibo em PDF no servidor (A4) a partir dos dados informados na tela — substitui o "imprimir a tela".

POST api/recibo/pdf

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/recibo/pdf" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"pagador\": \"aas\",
    \"documento\": \"xp\",
    \"valor\": 76,
    \"referente\": \"qepfrmqgicoav\",
    \"local\": \"wtkeujce\",
    \"data\": \"2026-06-10T00:06:09\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/recibo/pdf"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "pagador": "aas",
    "documento": "xp",
    "valor": 76,
    "referente": "qepfrmqgicoav",
    "local": "wtkeujce",
    "data": "2026-06-10T00:06:09"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/recibo/pdf

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

pagador   string   

validation.max. Example: aas

documento   string  optional  

validation.max. Example: xp

valor   number   

validation.min. Example: 76

referente   string  optional  

validation.max. Example: qepfrmqgicoav

local   string  optional  

validation.max. Example: wtkeujce

data   string  optional  

validation.date. Example: 2026-06-10T00:06:09

Tenant — Relatórios (exportação)

Exporta os relatórios existentes em CSV (Excel) ou PDF, reaproveitando a mesma lógica/filtros do RelatorioController. Ex.: GET /relatorios/vendas/export?formato=csv

GET api/relatorios/{tipo}/export

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/relatorios/non/export" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/relatorios/non/export"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/relatorios/{tipo}/export

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tipo   string   

Example: non

Tenant — Tags (clientes)

GET api/tags

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/tags" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/tags"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/tags

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/tags

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/tags" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/tags"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/tags

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/tags/{id}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/tags/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/tags/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/tags/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the tag. Example: 1

PUT api/tags/{id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/tags/18" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/tags/18"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/tags/{id}

PATCH api/tags/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the tag. Example: 18

DELETE api/tags/{id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/tags/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/tags/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/tags/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the tag. Example: 1

Tenant — Transportadora

Parceiros de transporte: tomador de serviço, destinatário e remetente. Filtrados/segmentados pelo campo papel.

GET api/transportadores

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/transportadores" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/transportadores"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/transportadores

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/transportadores

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/transportadores" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/transportadores"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/transportadores

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

PUT api/transportadores/{transportador_id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/transportadores/14" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/transportadores/14"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/transportadores/{transportador_id}

PATCH api/transportadores/{transportador_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

transportador_id   integer   

The ID of the transportador. Example: 14

DELETE api/transportadores/{transportador_id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/transportadores/17" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/transportadores/17"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/transportadores/{transportador_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

transportador_id   integer   

The ID of the transportador. Example: 17

GET api/veiculos

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/veiculos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/veiculos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/veiculos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/veiculos

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/veiculos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/veiculos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/veiculos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

PUT api/veiculos/{id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/veiculos/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/veiculos/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/veiculos/{id}

PATCH api/veiculos/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the veiculo. Example: 1

DELETE api/veiculos/{id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/veiculos/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/veiculos/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/veiculos/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the veiculo. Example: 16

GET api/parceiros-transporte

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/parceiros-transporte" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/parceiros-transporte"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/parceiros-transporte

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/parceiros-transporte

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/parceiros-transporte" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/parceiros-transporte"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/parceiros-transporte

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

PUT api/parceiros-transporte/{parceiro_id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/parceiros-transporte/13" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/parceiros-transporte/13"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/parceiros-transporte/{parceiro_id}

PATCH api/parceiros-transporte/{parceiro_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

parceiro_id   integer   

The ID of the parceiro. Example: 13

DELETE api/parceiros-transporte/{parceiro_id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/parceiros-transporte/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/parceiros-transporte/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/parceiros-transporte/{parceiro_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

parceiro_id   integer   

The ID of the parceiro. Example: 1

Tenant — Valuor Shopping

Carrinho do cliente (scan & go): cria sessão ao ler o QR da loja, adiciona/ remove itens escaneados, finaliza e importa no caixa (gera Venda).

Obs.: enquanto o app do consumidor não existe, estes endpoints rodam sob a autenticação do tenant. Quando o app for criado, a criação de sessão/itens ganhará um guard de cliente-consumidor próprio.

POST api/shopping/app/sessao

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/shopping/app/sessao" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"empresa_id\": 17,
    \"cliente_id\": 16,
    \"origem\": \"app\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/app/sessao"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "empresa_id": 17,
    "cliente_id": 16,
    "origem": "app"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/shopping/app/sessao

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

empresa_id   integer   

The id of an existing record in the empresas table. Example: 17

cliente_id   integer  optional  

The id of an existing record in the clientes table. Example: 16

origem   string  optional  

Example: app

Must be one of:
  • app
  • pwa
  • totem

GET api/shopping/app/{token}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/shopping/app/possimus" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/app/possimus"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/shopping/app/{token}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

token   string   

Example: possimus

POST api/shopping/app/{token}/itens

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/shopping/app/officia/itens" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"produto_id\": 2,
    \"codigo_barras\": \"qdqnrpydmohxhhyyb\",
    \"quantidade\": 68
}"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/app/officia/itens"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "produto_id": 2,
    "codigo_barras": "qdqnrpydmohxhhyyb",
    "quantidade": 68
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/shopping/app/{token}/itens

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

token   string   

Example: officia

Body Parameters

produto_id   integer  optional  

Example: 2

codigo_barras   string  optional  

validation.max. Example: qdqnrpydmohxhhyyb

quantidade   number  optional  

validation.min. Example: 68

DELETE api/shopping/app/{token}/itens/{item}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/shopping/app/error/itens/libero" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/app/error/itens/libero"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/shopping/app/{token}/itens/{item}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

token   string   

Example: error

item   string   

Example: libero

Identificação do consumidor por CPF (F3). Vincula/cria o cliente e o associa ao carrinho — habilita pontos de fidelidade na venda gerada.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/shopping/app/expedita/identificar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"cpf\": \"pljc\",
    \"nome\": \"jcgvlirsypc\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/app/expedita/identificar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "cpf": "pljc",
    "nome": "jcgvlirsypc"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/shopping/app/{token}/identificar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

token   string   

Example: expedita

Body Parameters

cpf   string   

validation.max. Example: pljc

nome   string  optional  

validation.max. Example: jcgvlirsypc

Histórico de compras do consumidor identificado no carrinho (F3).

Atrelado a uma sessão ativa (token) para evitar enumeração por CPF.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/shopping/app/qui/historico" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/app/qui/historico"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/shopping/app/{token}/historico

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

token   string   

Example: qui

Lista os favoritos do consumidor identificado (F4).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/shopping/app/fugiat/favoritos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/app/fugiat/favoritos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/shopping/app/{token}/favoritos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

token   string   

Example: fugiat

Liga/desliga um produto dos favoritos do consumidor (F4).

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/shopping/app/sed/favoritos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"produto_id\": 10
}"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/app/sed/favoritos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "produto_id": 10
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/shopping/app/{token}/favoritos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

token   string   

Example: sed

Body Parameters

produto_id   integer   

Example: 10

Ficha do produto (F4) — campos gated pela config `exibir` da empresa.

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/shopping/app/possimus/produto/minima" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/app/possimus/produto/minima"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/shopping/app/{token}/produto/{produto}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

token   string   

Example: possimus

produto   string   

The produto. Example: minima

Define os pontos de cashback a resgatar nesta compra (F4). `pontos=0` cancela.

A baixa dos pontos ocorre só na importação no caixa.

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/shopping/app/nihil/resgatar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"pontos\": 86
}"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/app/nihil/resgatar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "pontos": 86
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/shopping/app/{token}/resgatar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

token   string   

Example: nihil

Body Parameters

pontos   integer   

validation.min. Example: 86

POST api/shopping/app/{token}/finalizar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/shopping/app/repellendus/finalizar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/app/repellendus/finalizar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/shopping/app/{token}/finalizar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

token   string   

Example: repellendus

Parâmetros do Valuor Shopping da empresa (para a tela de gestão).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/shopping/config/enim" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/config/enim"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/shopping/config/{empresa}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa   string   

Example: enim

Atualiza (merge) os parâmetros do Shopping em configuracoes['shopping'].

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/shopping/config/accusantium" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"expiracao_minutos\": 20,
    \"divergencia\": \"alertar\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/config/accusantium"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "expiracao_minutos": 20,
    "divergencia": "alertar"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/shopping/config/{empresa}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa   string   

Example: accusantium

Body Parameters

expiracao_minutos   integer  optional  

validation.min validation.max. Example: 20

divergencia   string  optional  

Example: alertar

Must be one of:
  • alertar
  • autorizar
  • bloquear
compartilhar   object  optional  
exibir   object  optional  

GET api/shopping/promocoes

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/shopping/promocoes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/promocoes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/shopping/promocoes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/shopping/promocoes

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/shopping/promocoes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/promocoes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/shopping/promocoes

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

PUT api/shopping/promocoes/{promocao_id}

Example request:
curl --request PUT \
    "https://backend.valuor.com.br/api/shopping/promocoes/14" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/promocoes/14"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

PUT api/shopping/promocoes/{promocao_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

promocao_id   integer   

The ID of the promocao. Example: 14

DELETE api/shopping/promocoes/{promocao_id}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/shopping/promocoes/6" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/promocoes/6"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/shopping/promocoes/{promocao_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

promocao_id   integer   

The ID of the promocao. Example: 6

Monitor de carrinhos da loja (gestão/caixa).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/shopping/carrinhos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"empresa_id\": 11,
    \"status\": \"xzhwrah\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/carrinhos"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "empresa_id": 11,
    "status": "xzhwrah"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/shopping/carrinhos

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

empresa_id   integer  optional  

Example: 11

status   string  optional  

validation.max. Example: xzhwrah

Métricas de gestão da loja (Valuor Shopping): conversão, faturamento, ticket médio e carrinhos ativos agora. Período em dias (padrão: hoje).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/shopping/metricas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"empresa_id\": 9,
    \"dias\": 13
}"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/metricas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "empresa_id": 9,
    "dias": 13
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/shopping/metricas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

empresa_id   integer  optional  

Example: 9

dias   integer  optional  

validation.min validation.max. Example: 13

Payload do QR da loja — exibido/impresso pela loja; o app do consumidor lê para iniciar a sessão de carrinho. A "loja" é a empresa (matriz/filial).

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/shopping/loja-qr/rerum" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/loja-qr/rerum"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/shopping/loja-qr/{empresa}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

empresa   string   

Example: rerum

POST api/shopping/sessao

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/shopping/sessao" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"empresa_id\": 13,
    \"cliente_id\": 19,
    \"origem\": \"pwa\"
}"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/sessao"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "empresa_id": 13,
    "cliente_id": 19,
    "origem": "pwa"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/shopping/sessao

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

empresa_id   integer   

The id of an existing record in the empresas table. Example: 13

cliente_id   integer  optional  

The id of an existing record in the clientes table. Example: 19

origem   string  optional  

Example: pwa

Must be one of:
  • app
  • pwa
  • totem

GET api/shopping/sessao/{token}

Example request:
curl --request GET \
    --get "https://backend.valuor.com.br/api/shopping/sessao/et" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/sessao/et"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

GET api/shopping/sessao/{token}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

token   string   

Example: et

POST api/shopping/sessao/{token}/itens

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/shopping/sessao/qui/itens" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"produto_id\": 8,
    \"codigo_barras\": \"bwxtwjo\",
    \"quantidade\": 32
}"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/sessao/qui/itens"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "produto_id": 8,
    "codigo_barras": "bwxtwjo",
    "quantidade": 32
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/shopping/sessao/{token}/itens

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

token   string   

Example: qui

Body Parameters

produto_id   integer  optional  

Example: 8

codigo_barras   string  optional  

validation.max. Example: bwxtwjo

quantidade   number  optional  

validation.min. Example: 32

DELETE api/shopping/sessao/{token}/itens/{item}

Example request:
curl --request DELETE \
    "https://backend.valuor.com.br/api/shopping/sessao/animi/itens/fuga" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/sessao/animi/itens/fuga"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

DELETE api/shopping/sessao/{token}/itens/{item}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

token   string   

Example: animi

item   string   

Example: fuga

POST api/shopping/sessao/{token}/itens/{item}/pesar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/shopping/sessao/dolor/itens/quia/pesar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"quantidade\": 21
}"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/sessao/dolor/itens/quia/pesar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "quantidade": 21
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/shopping/sessao/{token}/itens/{item}/pesar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

token   string   

Example: dolor

item   string   

Example: quia

Body Parameters

quantidade   number   

validation.min. Example: 21

POST api/shopping/sessao/{token}/conferir

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/shopping/sessao/quis/conferir" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"itens\": [
        {
            \"produto_id\": 3,
            \"codigo_barras\": \"ocomgqqjjrcdctf\",
            \"quantidade\": 74
        }
    ]
}"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/sessao/quis/conferir"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "itens": [
        {
            "produto_id": 3,
            "codigo_barras": "ocomgqqjjrcdctf",
            "quantidade": 74
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/shopping/sessao/{token}/conferir

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

token   string   

Example: quis

Body Parameters

itens   object[]   

validation.min.

produto_id   integer  optional  

Example: 3

codigo_barras   string  optional  

validation.max. Example: ocomgqqjjrcdctf

quantidade   number  optional  

validation.min. Example: 74

POST api/shopping/sessao/{token}/finalizar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/shopping/sessao/odit/finalizar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/sessao/odit/finalizar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/shopping/sessao/{token}/finalizar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

token   string   

Example: odit

POST api/shopping/sessao/{token}/cancelar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/shopping/sessao/ex/cancelar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/sessao/ex/cancelar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/shopping/sessao/{token}/cancelar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

token   string   

Example: ex

POST api/shopping/sessao/{token}/importar

Example request:
curl --request POST \
    "https://backend.valuor.com.br/api/shopping/sessao/nesciunt/importar" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://backend.valuor.com.br/api/shopping/sessao/nesciunt/importar"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Server Error"
}
 

Request      

POST api/shopping/sessao/{token}/importar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

token   string   

Example: nesciunt