Adiantamento Fornecedor

Endpoints da WebApiAlcance para o controle de adiantamentos a fornecedores - registros de pagamentos antecipados a credores, importados do Klingo ERP. Cobrem criação, listagem geral com filtros e paginação, listagem por CNPJ do cliente, detalhamento por ID, atualização parcial e exclusão.

Todos os endpoints exigem autenticação. Veja Autenticação para o fluxo de API Key. O Swagger oficial está em api.contabilidadealcance.com.br/docs.

Base path

/api/v1/adiantamento-fornecedor

Escopos necessários

  • adiantamento_fornecedor:read - listagem, listagem por CNPJ e detalhamento
  • adiantamento_fornecedor:write - criação, atualização e exclusão

O escopo é derivado da rota: o prefixo /adiantamento-fornecedor vira o recurso adiantamento_fornecedor (hífen → underscore), e o método HTTP define a ação (read para GET, write para POST/PUT/DELETE).

Endpoints

POST /adiantamento-fornecedor/

Cria um novo registro de adiantamento de fornecedor. Os dados são originados do Klingo ERP e importados na WebApi.

Parâmetros

Este endpoint não recebe parâmetros de rota ou query - os dados vão no corpo da requisição (AdiantamentoFornecedorCreate). Todos os campos são opcionais.

Request

{
  "cnpj_cliente": "12345678000199",
  "cfg_emp": "ALCANCE MATRIZ",
  "cpg_serie": "1",
  "cpg_num": "1050",
  "bcp_dthr": "2026-06-01T00:00:00",
  "consumo": "150.00",
  "adiantamento": "500.00",
  "cpg_credor": "FORNECEDOR EXEMPLO LTDA",
  "tipo": "ADIANTAMENTO",
  "saldo": "350.00",
  "grupo": "A",
  "valor_usado_individual": "150.00"
}

Response 201 Created

{
  "success": true,
  "message": "Adiantamento de fornecedor criado com sucesso",
  "data": {
    "id": 42,
    "cnpj_cliente": "12345678000199",
    "cfg_emp": "ALCANCE MATRIZ",
    "cpg_serie": "1",
    "cpg_num": "1050",
    "bcp_dthr": "2026-06-01T00:00:00",
    "consumo": "150.00",
    "adiantamento": "500.00",
    "cpg_credor": "FORNECEDOR EXEMPLO LTDA",
    "tipo": "ADIANTAMENTO",
    "saldo": "350.00",
    "grupo": "A",
    "valor_usado_individual": "150.00",
    "data_upload": "2026-06-02T09:30:00"
  }
}

Dados inválidos retornam 422 Unprocessable Entity. Escopo: adiantamento_fornecedor:write

GET /adiantamento-fornecedor/

Lista os adiantamentos de fornecedores cadastrados, com filtros opcionais e paginação. Lista vazia é um estado válido - sempre retorna 200 OK, inclusive com data: [] e a mensagem "Nenhum adiantamento de fornecedor encontrado.".

Parâmetros

ParâmetroTipoLocalObrigatórioDescrição
cnpj_clientestrquerynãoFiltra por CNPJ do cliente.
tipostrquerynãoFiltra por tipo.
grupostrquerynãoFiltra por grupo.
limitintquerynãoItens por página. Default 100, faixa 1..500.
offsetintquerynãoOffset de paginação. Default 0, mínimo 0.

Request

Sem corpo de requisição.

Response 200 OK

{
  "success": true,
  "message": "Adiantamentos de fornecedor recuperados com sucesso",
  "data": [
    {
      "id": 42,
      "cnpj_cliente": "12345678000199",
      "cfg_emp": "ALCANCE MATRIZ",
      "cpg_serie": "1",
      "cpg_num": "1050",
      "bcp_dthr": "2026-06-01T00:00:00",
      "consumo": "150.00",
      "adiantamento": "500.00",
      "cpg_credor": "FORNECEDOR EXEMPLO LTDA",
      "tipo": "ADIANTAMENTO",
      "saldo": "350.00",
      "grupo": "A",
      "valor_usado_individual": "150.00",
      "data_upload": "2026-06-02T09:30:00"
    }
  ]
}

Escopo: adiantamento_fornecedor:read

GET /adiantamento-fornecedor/cliente/{cnpj_cliente}

Lista todos os adiantamentos de um cliente específico pelo CNPJ, com paginação. Quando o cliente não tem adiantamentos, retorna 200 OK com data: [].

Parâmetros

ParâmetroTipoLocalObrigatórioDescrição
cnpj_clientestrpathsimCNPJ do cliente.
limitintquerynãoItens por página. Default 100, faixa 1..500.
offsetintquerynãoOffset de paginação. Default 0, mínimo 0.

Request

Sem corpo de requisição.

Response 200 OK

{
  "success": true,
  "message": "Adiantamentos de fornecedor recuperados com sucesso",
  "data": [
    {
      "id": 42,
      "cnpj_cliente": "12345678000199",
      "cfg_emp": "ALCANCE MATRIZ",
      "cpg_serie": "1",
      "cpg_num": "1050",
      "bcp_dthr": "2026-06-01T00:00:00",
      "consumo": "150.00",
      "adiantamento": "500.00",
      "cpg_credor": "FORNECEDOR EXEMPLO LTDA",
      "tipo": "ADIANTAMENTO",
      "saldo": "350.00",
      "grupo": "A",
      "valor_usado_individual": "150.00",
      "data_upload": "2026-06-02T09:30:00"
    }
  ]
}

Escopo: adiantamento_fornecedor:read

GET /adiantamento-fornecedor/{adiantamento_id}

Detalha um adiantamento pelo ID inteiro. Quando não encontrado, retorna 404 Not Found.

Parâmetros

ParâmetroTipoLocalObrigatórioDescrição
adiantamento_idintpathsimID interno do registro

Request

Sem corpo de requisição.

Response 200 OK

{
  "success": true,
  "message": "Adiantamento de fornecedor recuperado com sucesso",
  "data": {
    "id": 42,
    "cnpj_cliente": "12345678000199",
    "cfg_emp": "ALCANCE MATRIZ",
    "cpg_serie": "1",
    "cpg_num": "1050",
    "bcp_dthr": "2026-06-01T00:00:00",
    "consumo": "150.00",
    "adiantamento": "500.00",
    "cpg_credor": "FORNECEDOR EXEMPLO LTDA",
    "tipo": "ADIANTAMENTO",
    "saldo": "350.00",
    "grupo": "A",
    "valor_usado_individual": "150.00",
    "data_upload": "2026-06-02T09:30:00"
  }
}

Escopo: adiantamento_fornecedor:read

PUT /adiantamento-fornecedor/{adiantamento_id}

Atualiza um adiantamento existente. O body é um AdiantamentoFornecedorUpdate com campos parciais - somente o que vier preenchido é alterado. O campo cnpj_cliente não pode ser alterado por este endpoint (proteção contra mass-assignment).

Parâmetros

ParâmetroTipoLocalObrigatórioDescrição
adiantamento_idintpathsimID do registro

Request (AdiantamentoFornecedorUpdate - todos os campos opcionais)

{
  "consumo": "300.00",
  "saldo": "200.00",
  "valor_usado_individual": "300.00"
}

Response 200 OK

{
  "success": true,
  "message": "Adiantamento de fornecedor atualizado com sucesso",
  "data": {
    "id": 42,
    "cnpj_cliente": "12345678000199",
    "cfg_emp": "ALCANCE MATRIZ",
    "cpg_serie": "1",
    "cpg_num": "1050",
    "bcp_dthr": "2026-06-01T00:00:00",
    "consumo": "300.00",
    "adiantamento": "500.00",
    "cpg_credor": "FORNECEDOR EXEMPLO LTDA",
    "tipo": "ADIANTAMENTO",
    "saldo": "200.00",
    "grupo": "A",
    "valor_usado_individual": "300.00",
    "data_upload": "2026-06-02T09:30:00"
  }
}

Quando não encontrado, retorna 404 Not Found; dados inválidos retornam 422 Unprocessable Entity. Escopo: adiantamento_fornecedor:write

DELETE /adiantamento-fornecedor/{adiantamento_id}

Remove um adiantamento de fornecedor pelo ID. Quando não encontrado, retorna 404 Not Found.

Parâmetros

ParâmetroTipoLocalObrigatórioDescrição
adiantamento_idintpathsimID do registro

Request

Sem corpo de requisição.

Response 200 OK

{
  "success": true,
  "message": "Adiantamento de fornecedor removido com sucesso",
  "data": null
}

Escopo: adiantamento_fornecedor:write

Schemas

AdiantamentoFornecedorCreate

Herda todos os campos de AdiantamentoFornecedorBase. Todos os campos são opcionais.

CampoTipoObrigatórioObservações
cnpj_clientestrnãoCNPJ do cliente. Máx. 30 caracteres.
cfg_empstrnãoConfiguração/empresa. Máx. 300 caracteres.
cpg_seriestrnãoSérie do título a pagar. Máx. 30 caracteres.
cpg_numstrnãoNúmero do título a pagar. Máx. 30 caracteres.
bcp_dthrdatetimenãoData/hora do baixa/comprovante de pagamento.
consumostrnãoValor consumido. Máx. 30 caracteres.
adiantamentostrnãoValor do adiantamento. Máx. 30 caracteres.
cpg_credorstrnãoNome do credor/fornecedor. Máx. 300 caracteres.
tipostrnãoTipo do lançamento. Máx. 30 caracteres.
saldostrnãoSaldo remanescente. Máx. 10 caracteres.
grupostrnãoGrupo. Máx. 10 caracteres.
valor_usado_individualstrnãoValor usado individual. Máx. 30 caracteres.

AdiantamentoFornecedorUpdate

Todos os campos são opcionais; apenas os enviados são atualizados. O campo cnpj_cliente foi removido deste schema para evitar mass-assignment (troca de dono do registro via PUT); alterar o CNPJ exige um fluxo dedicado (delete + create).

CampoTipoObservações
cfg_empstrConfiguração/empresa. Máx. 300 caracteres.
cpg_seriestrSérie do título a pagar. Máx. 30 caracteres.
cpg_numstrNúmero do título a pagar. Máx. 30 caracteres.
bcp_dthrdatetimeData/hora do baixa/comprovante de pagamento.
consumostrValor consumido. Máx. 30 caracteres.
adiantamentostrValor do adiantamento. Máx. 30 caracteres.
cpg_credorstrNome do credor/fornecedor. Máx. 300 caracteres.
tipostrTipo do lançamento. Máx. 30 caracteres.
saldostrSaldo remanescente. Máx. 10 caracteres.
grupostrGrupo. Máx. 10 caracteres.
valor_usado_individualstrValor usado individual. Máx. 30 caracteres.

AdiantamentoFornecedorRead

Estende AdiantamentoFornecedorBase com os campos gerados pelo servidor.

CampoTipoNotas
idintIdentificador interno do registro.
cnpj_clientestrCNPJ do cliente.
cfg_empstrConfiguração/empresa.
cpg_seriestrSérie do título a pagar.
cpg_numstrNúmero do título a pagar.
bcp_dthrdatetimeData/hora do baixa/comprovante de pagamento.
consumostrValor consumido.
adiantamentostrValor do adiantamento.
cpg_credorstrNome do credor/fornecedor.
tipostrTipo do lançamento.
saldostrSaldo remanescente.
grupostrGrupo.
valor_usado_individualstrValor usado individual.
data_uploaddatetimeData/hora de importação do registro na WebApi.

Notas

  • Toda resposta segue o envelope { success, message, data } (ou { success: false, message, details } em erro). Códigos HTTP refletem semântica REST padrão.
  • Os dados de adiantamento são originados do Klingo ERP e importados na WebApi; o campo data_upload registra o momento da importação.
  • Valores monetários (consumo, adiantamento, saldo, valor_usado_individual) trafegam como string, preservando a formatação de origem.
  • GET /adiantamento-fornecedor/cliente/{cnpj_cliente} é declarado antes da rota dinâmica GET /adiantamento-fornecedor/{adiantamento_id}, então cliente é resolvido como segmento estático (e não interpretado como um adiantamento_id).
  • O campo cnpj_cliente é imutável via PUT: para reatribuir um adiantamento a outro cliente, exclua o registro e crie um novo.