Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Installment_ImportAqui nossos parceiros (instituições financeiras de crédito) podem consultar a lista de APIs disponíveis e integar as mesmas com suas soluções, plataformas ou apps caso o convênio seja firmado com TOTVS TECHFIN.

Totvs custom tabs box
tabsRegras,V2, V3
ids0,9,10

 Autenticação

   A API utiliza autenticação via tokens JWT. Todas as requisições devem incluir o cabeçalho Authorization com o token.

Exemplo de cabeçalho:

Bloco de código
languagecss
Authorization: Bearer {seu_token_aqui}

URL Base:

Dev: https://api-consignado.dev.totvs.app/

Staging: https://api-consignado.staging.totvs.app/

Produção: https://api-consignado.totvs.app/


Código de Status HTTP

  • 200 OK: AÇÃO REALIZADA COM SUCESSO
  • 201 Created: RECURSO CRADO COM SUCESSO
  • 204 No Content: RECURSO EXCLUÍDO COM SUCESSO
  • 400 Bad Request: REQUISIÇÃO MALINFORMADA
  • 401 Unauthorized: FALHA NA AUTENTICAÇÃO
  • 404 Not Found: RECURSO NÃO ENCONTRADO
  • 500 Internal Server Error: ERRO NO SERVIDOR



Totvs custom tabs box items
defaultyes
referencia0
Totvs custom tabs box
tabsSobre ambiente e API's
ids0


Para acessar nossas APIs, você precisa ser um parceiro da TOTVS Consignado. Caso ainda não seja um parceiro, acesse o link https://totvstechfin.com.br/consignado/ para se conveniar.

Ao se tornar nosso parceiro, você receberá as credenciais necessárias para obter o token de acesso às nossas APIs.

Disponibilizamos uma lista de APIs específicas para nossos produtos, todas de uso exclusivo para parceiros de crédito. Para utilizar nossos recursos, é necessário fornecer um access_token em cada requisição.

O TOTVS Consignado oferece ambientes distintos para testes e produção, ambos com a mesma estrutura de endpoints. O ambiente de staging é uma réplica completa do servidor de produção, mantendo as mesmas regras e validações, com exceção dos dados. Nele, você pode realizar todos os testes de integração sem afetar os dados de produção.

Estamos comprometidos em manter uma documentação completa e de alta qualidade. Em caso de dúvidas técnicas ou feedback sobre nossa documentação, entre em contato conosco para que possamos aprimorar nosso material. Além disso, você pode sugerir novas APIs que poderiam simplificar ainda mais nossa integração

Totvs custom tabs box items
defaultno
referencia9
Totvs custom tabs box
tabsCompany,Conciliation, Contract,Employee,Payroll,PersonCompanyRelationship
ids992,993,994,995,996,997
Totvs custom tabs box items
defaultyes
referencia992

Esta API permite o gerenciamento de empresas parceiras, possibilitando listar todas as empresas e consultar informações detalhadas de uma empresa específica pelo CNPJ.


Expandir
titleGET
Expandir
title​/api​/partner​/v2​/company

Lista todas as empresas parceiras.

  • Corpo da Requisição:
    Nenhum corpo necessário.

  • Exemplo de Requisição com curl:

Bloco de código
languagebash
titlecurl
curl --location --globoff '{{Base URL}}/api/partner/v2/company' \
--header 'accept: text/plain' \
--header 'Authorization: Bearer'

Resposta:

  • 200 OK: Retorna uma lista de empresas parceiras.
Bloco de código
languagebash
titleJson
[
  {
    "cnpj": "00000000000100",
    "socialReason": "Empresa Exemplo LTDA"
  },
  {
    "cnpj": "11111111111111",
    "socialReason": "Outra Empresa SA"
  }
]
Expandir
title​/api​/partner​/v2​/company​/{cnpj}

Retorna informações de uma empresa parceira específica pelo CNPJ.

  • Parâmetros de caminho:

    • cnpj: (obrigatório) O CNPJ da empresa.
      Tipo: string
  • Exemplo de Requisição com curl:

Bloco de código
languagebash
curl --location --globoff '{{Base URL}}/api/partner/v2/company/{cnpj}' \
--header 'accept: text/plain' \
--header 'Authorization: Bearer {seu_token_aqui}'

Resposta:

  • 200 OK: Retorna os dados da empresa correspondente ao CNPJ fornecido.
  • Exemplo de Resposta:
Bloco de código
languagebash
titleJson
[
  {
    "cnpj": "11111111111111",
    "name": "Outra Empresa SA",
    "turnover": 0,
    "averageSalary": 1782.38,
    "rangeSalaryCount": [
      {
        "start": 1,
        "end": 1000,
        "numberOfEmployees": 8
      },
      {
        "start": 1001,
        "end": 2000,
        "numberOfEmployees": 65
      },
      {
        "start": 2001,
        "end": 3000,
        "numberOfEmployees": 8
      },
      {
        "start": 3001,
        "end": 4000,
        "numberOfEmployees": 5
      },
      {
        "start": 4001,
        "end": 5000,
        "numberOfEmployees": 1
      },
      {
        "start": 5001,
        "end": 6000,
        "numberOfEmployees": 1
      },
      {
        "start": 6001,
        "end": 7000,
        "numberOfEmployees": 1
      },
      {
        "start": 7001,
        "end": 8000,
        "numberOfEmployees": 0
      },
      {
        "start": 8001,
        "end": 9000,
        "numberOfEmployees": 0
      },
      {
        "start": 9001,
        "end": 10000,
        "numberOfEmployees": 0
      },
      {
        "start": 10001,
        "end": 11000,
        "numberOfEmployees": 0
      },
      {
        "start": 11001,
        "end": 12000,
        "numberOfEmployees": 0
      },
      {
        "start": 12001,
        "end": 13000,
        "numberOfEmployees": 0
      },
      {
        "start": 13001,
        "end": 14000,
        "numberOfEmployees": 0
      },
      {
        "start": 14001,
        "end": 15000,
        "numberOfEmployees": 1
      },
      {
        "start": 15001,
        "end": 2147483647,
        "numberOfEmployees": 0
      }
    ]
  }
]


Totvs custom tabs box items
defaultno
referencia993

Essa Api permite obter todas as conciliações de funcionários de uma empresa específica, identificada pelo CNPJ. O endpoint retorna informações detalhadas sobre as conciliações, incluindo status de parcelas e valores endossados.


Expandir
titleGET
Expandir
title​/api​/partner​/v2​/company​/'cnpj'​/conciliation

Obtém todas as conciliações dos funcionários da empresa correspondente ao CNPJ fornecido.

    • Parâmetros de caminho:

      • cnpj: (obrigatório) O CNPJ da empresa.
        Tipo: string
    • Parâmetros de consulta (query):

      • month: (obrigatório) O mês da conciliação.
        Tipo: integer ($int32)
      • year: (obrigatório) O ano da conciliação.
        Tipo: integer ($int32)
    • Exemplo de Requisição com curl:

      Bloco de código
      languagebash
      curl --location --globoff '{{Base URL}}/api/partner/v2/company/{cnpj}/conciliation?month={month}&year={year}' \
      --header 'accept: application/json' \
      --header 'Authorization: Bearer {seu_token_aqui}'

      Resposta:

      • 200 OK: Retorna uma lista de conciliações dos funcionários.
      • 400 Bad Reques: Se o mês ou ano forem inválidos. 
      Bloco de código
      languagebash
      {
        "hasNext": true,
        "items": [
          {
            "registration": "12345",
            "cpf": "123.456.789-00",
            "cnpjCompany": "00.000.000/0001-00",
            "contractCode": "CONTRATO123",
            "month": 7,
            "year": 2024,
            "installmentNumber": 1,
            "installmentStatus": 1,
            "reasonStatus": 1,
            "endorsedValue": 500.00,
            "notEndorsedValue": 100.00
          }
        ]
      }
Totvs custom tabs box items
defaultno
referencia994

Essa Api permite obter todos os contratos e parcelas associados a uma empresa identificada pelo CNPJ. O retorno inclui detalhes sobre o contrato, como código do contrato, data, valores, parcelas, e status.


Expandir
titleGET
Expandir
title​/api​/partner​/v2​/company​/{cnpj}​/contract

Obtém todos os contratos associados a uma empresa identificada pelo CNPJ.

  • Parâmetros de caminho (path):

    • cnpj: (obrigatório) O CNPJ da empresa.
      Tipo: string
    • 200 OK: Retorna uma lista de contratos associados à empresa.
    • Exemplo de Resposta:
    • Exemplo de Requisição com curl:

      Bloco de código
      languagebash
      curl --location --globoff '{{Base URL}}/api/partner/v2/company/{cnpj}/contract' \
      --header 'accept: application/json' \
      --header 'Authorization: Bearer {seu_token_aqui}'

      Resposta:

    • Exemplo de Resposta
  • Bloco de código
    languagebash
    titleJson
    {
      "hasNext": false,
      "items": [
        {
          "employee": {
            "cpf": "51868155005",
            "cnpjCompany": "21867387000662",
            "registration": "99000001"
          },
          "contractCode": "TESTE_2009",
          "contractDate": "2024-07-15T20:08:12.372Z",
          "totalDebit": 0,
          "debitDate": "2024-07-15T20:08:12.372Z",
          "contractDuration": "2024-07-15T20:08:12.372Z",
          "totalToBorrow": 200,
          "totalToPay": 0,
          "installmentValue": 200,
          "installmentQuantity": 1,
          "taxes": {
            "valueIOF": 1.2,
            "monthlyTax": 4.5,
            "yearlyTax": 2.5,
            "monthlyCET": 3.5,
            "yearlyCET": 1.3
          },
          "expirationDate": "2024-07-15T20:08:12.372Z",
          "discountStartDate": "2024-07-15T20:08:12.372Z",
          "partnerLawDescription": "string",
          "partnerCode": null,
          "status": 1,
          "statusByPartner": null
        }
      ]
    }

    Erro 404 Not Found

    • Descrição: Este erro ocorre quando o contrato associado ao CNPJ fornecido não é localizado no sistema.
    • Resposta de Erro:
    Bloco de código
    languagebash
    titleJson
    [
      {
        "Key": "Contract_NotFound",
        "Message": "Contrato não foi encontrado no sistema",
        "HttpStatusCode": 0,
        "DetailMessageError": null,
        "StatusCode": 404
      }
    ]
    


Expandir
titleinstallment​

Essa Api permite obter informações sobre uma parcela específica de um contrato e para listar todas as parcelas de um contrato associado a uma empresa identificada pelo CNPJ.


Expandir
title​/api​/partner​/v2​/company​/{cnpj}​/contract​/{contractCode}/installment​/{installmentNumber}

Obtém informações sobre uma parcela específica de um contrato.

    • Parâmetros de caminho (path):

      • cnpj: (obrigatório) O CNPJ da empresa.
        Tipo: string
      • contractCode: (obrigatório) O código do contrato.
        Tipo: string
      • installmentNumber: (obrigatório) O número da parcela.
        Tipo: integer($int32)
    • Exemplo de Requisição com curl:

Bloco de código
languagebash
curl --location --globoff '{{Base URL}}/api/partner/v2/company/{cnpj}/contract/{contractCode}/installment/{installmentNumber}' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {seu_token_aqui}'

Resposta:

  • 200 OK: Retorna os detalhes da parcela solicitada.
  • Exemplo de Resposta:

    Bloco de código
    languagebash
    titleJson
    {
      "cpf": "51868155005",
      "cnpjCompany": "21867387000662",
      "registration": "99000001",
      "contractCode": "TESTE_2009",
      "number": 1,
      "dueDate": "2024-04-10T00:00:00Z",
      "status": 0,
      "value": 372.38,   
       "StatusByPartner" : {
            "EndorsedValue" : 200,
            "NotEndorsedValue" : 100,
            "UpdateDate" : "2024-08-21T17:56:13.107+0000"
        } }

    Erro 404 Not Found

    • Descrição: Este erro ocorre quando a parcela associada ao CNPJ, código do contrato e número da parcela fornecidos não é localizada no sistema.
    • Resposta de Erro:

      Bloco de código
      languagebash
      titleJson
      [
        {
          "Key": "Installment_NotFound",
          "Message": "Parcela não foi encontrada no sistema",
          "HttpStatusCode": 0,
          "DetailMessageError": null,
          "StatusCode": 404
        }
      ]
Expandir
title​/api​/partner​/v2​/company​/{cnpj}/contract​/{contractCode}/installments

Obtém todas as parcelas de um contrato.

  • Parâmetros de caminho (path):

    • cnpj: (obrigatório) O CNPJ da empresa.
      Tipo: string
    • contractCode: (obrigatório) O código do contrato.
      Tipo: string
  • Exemplo de Requisição com curl:

    Bloco de código
    languagebash
    curl --location --globoff '{{Base URL}}/api/partner/v2/company/{cnpj}/contract/{contractCode}/installments' \
    --header 'accept: application/json' \
    --header 'Authorization: Bearer {seu_token_aqui}'

    Resposta:

    • 200 OK: Retorna uma lista de parcelas associadas ao contrato.
    • Exemplo de Resposta:

      Bloco de código
      languagebash
      titleJson
      {
        "hasNext": false,
        "items": [
          {
            "cpf": "51868155005",
            "cnpjCompany": "21867387000662",
            "registration": "99000001",
            "contractCode": "TESTE_2009",
            "number": 1,
            "dueDate": "2024-04-10T00:00:00Z",
            "status": 0,
            "value": 372.38,           
      		"StatusByPartner" : {
              "EndorsedValue" : 200,
              "NotEndorsedValue" : 100,
              "UpdateDate" : "2024-08-21T17:56:13.107+0000"
          } }     
      },
          {
            "cpf": "51868155005",
            "cnpjCompany": "21867387000662",
            "registration": "99000001",
            "contractCode": "TESTE_2009",
            "number": 2,
            "dueDate": "2024-05-10T00:00:00Z",
            "status": 0,
            "value": 372.38,
            "statusByPartner": null
          }
        ]
      }

    Erro 404 Not Found

    • Descrição: Este erro ocorre quando a parcela associada ao CNPJ e código do contrato fornecidos não é localizada no sistema.
    • Resposta de Erro:

      Bloco de código
      languagebash
      titleJson
      [
        {
          "Key": "Installments_NotFound",
          "Message": "As parcelas não foram encontradas no sistema",
          "HttpStatusCode": 0,
          "DetailMessageError": null,
          "StatusCode": 404
        }
      ]


Expandir
titlePOST

Este documento descreve o endpoint utilizado para a criação de contratos associados a uma empresa, identificada pelo CNPJ.


Expandir
title/api​/partner​/v2​/company​/{cnpj}​/contract

Cria um novo contrato para a empresa identificada pelo CNPJ.

  • Parâmetros de caminho (path):

    • cnpj: (obrigatório) O CNPJ da empresa.
      Tipo: string
    • Exemplo de Requisição com curl:

      Bloco de código
      languagebash
      curl --location --globoff --request POST '{{Base URL}}/api/partner/v2/company/{cnpj}/contract' \
      --header 'accept: application/json' \
      --header 'Authorization: Bearer {seu_token_aqui}' \
      --header 'Content-Type: application/json' \
      --data-raw '{
        "employee": {
          "cpf": "string",
          "cnpjCompany": "string",
          "registration": "string"
        },
        "contractCode": "string",
        "contractDate": "2024-08-30T12:59:13.637Z",
        "totalDebit": 0,
        "debitDate": "2024-08-30T12:59:13.637Z",
        "contractDuration": "2024-08-30T12:59:13.637Z",
        "totalToBorrow": 0,
        "totalToPay": 0,
        "installmentValue": 0,
        "installmentQuantity": 0,
        "taxes": {
          "valueIOF": 0,
          "monthlyTax": 0,
          "yearlyTax": 0,
          "monthlyCET": 0,
          "yearlyCET": 0
        },
        "expirationDate": "2024-08-30T12:59:13.637Z",
        "discountStartDate": "2024-08-30T12:59:13.637Z",
        "partnerLawDescription": "string",
        "partnerCode": "string",
        "status": 1,
        "statusByPartner": {
          "reasonType": 1,
          "reason": "string",
          "partnerContractNumber": "string",
          "terminationDate": "2024-08-30T12:59:13.637Z"
        }
      }'

      Campos Obrigatórios

      • CNPJ: Identificação da empresa.
        Tipo: string
        Local: Path (caminho)

      • Employee: Dados do funcionário associado ao contrato.

        • cpf: CPF do funcionário.
          Tipo: string
        • cnpjCompany: CNPJ da empresa.
          Tipo: string
        • registration: Matrícula do funcionário.
          Tipo: string
      • ContractCode: Código do contrato.
        Tipo: string

      • ContractDate: Data de início do contrato.
        Tipo: string (ISO 8601)

      • TotalDebit: Valor total do débito.
        Tipo: number

      • DebitDate: Data do débito.
        Tipo: string (ISO 8601)

      • ContractDuration: Duração do contrato.
        Tipo: string (ISO 8601)

      • TotalToBorrow: Valor total a ser emprestado.
        Tipo: number

      • TotalToPay: Valor total a ser pago.
        Tipo: number

      • InstallmentValue: Valor da parcela.
        Tipo: number

      • InstallmentQuantity: Quantidade de parcelas.
        Tipo: integer

      • Taxes: Informações sobre os impostos aplicáveis.

        • ValueIOF: Valor do IOF.
          Tipo: number
        • MonthlyTax: Taxa mensal.
          Tipo: number
        • YearlyTax: Taxa anual.
          Tipo: number
        • MonthlyCET: CET mensal.
          Tipo: number
        • YearlyCET: CET anual.
          Tipo: number
      • ExpirationDate: Data de expiração do contrato.
        Tipo: string (ISO 8601)

      • DiscountStartDate: Data de início do desconto.
        Tipo: string (ISO 8601)

      • PartnerLawDescription: Descrição das leis do parceiro.
        Tipo: string

      • PartnerCode: Código do parceiro.
        Tipo: string

      • Status: Status do contrato.
        Tipo: integer (Enum)

      • StatusByPartner: Informações adicionais sobre o status do contrato fornecido pelo parceiro.

        • ReasonType: Tipo de motivo.
          Tipo: integer (Enum)
        • Reason: Motivo.
          Tipo: string
        • PartnerContractNumber: Número do contrato fornecido pelo parceiro.
          Tipo: string
        • TerminationDate: Data de término do contrato (obrigatória para contratos encerrados).
          Tipo: string (ISO 8601)

      Estrutura da Resposta

      • 201 Created: Contrato criado com sucesso.
      • Exemplo de Resposta:

        Bloco de código
        languagebash
        titleJson
        {
          "employee": {
            "cpf": "06887896923",
            "cnpjCompany": "21867387000743",
            "registration": "00000025"
          },
          "contractCode": "200820261",
          "contractDate": "2020-12-13T18:36:26.278Z",
          "totalDebit": 888,
          "debitDate": "0001-01-01T00:00:00Z",
          "contractDuration": "0001-01-01T00:00:00Z",
          "totalToBorrow": 888,
          "totalToPay": 888,
          "installmentValue": 108,
          "installmentQuantity": 20,
          "taxes": {
            "valueIOF": 0.3,
            "monthlyTax": 0.3,
            "yearlyTax": 0.3,
            "monthlyCET": 0.3,
            "yearlyCET": 0.3
          },
          "expirationDate": "2022-08-13T18:36:26.278Z",
          "discountStartDate": "2022-08-13T18:36:26.278Z",
          "partnerLawDescription": "",
          "partnerCode": null,
          "status": 1,
          "statusByPartner": {
            "reasonType": 1,
            "reason": "",
            "partnerContractNumber": "20082024",
            "terminationDate": "0001-01-01T00:00:00"
          }
        }

        Tratamento de Erros

        1. Contrato Duplicado

          • Descrição: Já existe um contrato com o mesmo código para a empresa especificada.
          • Código de Status HTTP: 400 Bad Request
          • Resposta de Erro:

            Bloco de código
            languagebash
            titleJson
            [
              {
                "Key": "Contract_Duplicated",
                "Message": "Já existe um contrato com o mesmo código nesta empresa",
                "HttpStatusCode": 0,
                "DetailMessageError": null,
                "StatusCode": 400
              }
            ]

      2. Data Inválida

      • Descrição: Para contratos encerrados, a data de finalização (TerminationDate) deve ser informada.
      • Código de Status HTTP: 400 Bad Request
      • Resposta de Erro:

        Bloco de código
        languagebash
        titleJson
        [
          {
            "Key": "Invalid_Date",
            "Message": "Para contratos fechados informe a data de finalização no campo TerminationDate.",
            "HttpStatusCode": 0,
            "DetailMessageError": null,
            "StatusCode": 400
          }
        ]

      Tipos de Status do Contrato


Bloco de código
languagebash
public enum EContractStatusDTO
{
    Open = 1,       // Contrato aberto
    Terminated = 2, // Contrato encerrado
    Transferred = 3 // Contrato transferido
}


Tipos de ReasonType

Bloco de código
languagebash
public enum EReasonStatusDTO
{
    Normal = 1,     // Normal
    Refin,          // Refinanciamento
    Portability     // Portabilidade
}



Expandir
titleinstallment

Este documento descreve o endpoint utilizado para a criação de parcelas associadas a um contrato específico dentro de uma empresa, identificada pelo CNPJ.


Expandir
title​/api​/partner​/v2​/company​/{cnpj}​/contract​/{contractCode}/installment

Cria novas parcelas para um contrato específico identificado pelo contractCode, pertencente a uma empresa identificada pelo cnpj.

  • Parâmetros de caminho (path):

    • cnpj: (obrigatório) O CNPJ da empresa.
      Tipo: string
    • contractCode: (obrigatório) O código do contrato.
      Tipo: string
  • Exemplo de Requisição com curl:

    Bloco de código
    languagebash
    curl --location --globoff --request POST '{{Base URL}}/api/partner/v2/company/{cnpj}/contract/{contractCode}/installment' \
    --header 'accept: application/json' \
    --header 'Authorization: Bearer {seu_token_aqui}' \
    --header 'Content-Type: application/json' \
    --data-raw '[
      {
        "cpf": "string",
        "cnpjCompany": "string",
        "registration": "string",
        "contractCode": "string",
        "number": 0,
        "dueDate": "2024-08-30T13:37:45.378Z",
        "status": 1,
        "value": 0,
        "statusByPartner": {
          "endorsedValue": 0,
          "paymentDate": "2024-08-30T13:37:45.378Z",
          "notEndorsedValue": 0,
          "updateDate": "2024-08-30T13:37:45.378Z"
        }
      }
    ]'

    Campos Obrigatórios

    • CNPJ: Identificação da empresa.
      Tipo: string
      Local: Path (caminho)

    • ContractCode: Código do contrato.
      Tipo: string
      Local: Path (caminho)

    • Request Body: Lista de parcelas a serem criadas.

      • cpf: CPF do funcionário associado ao contrato.
        Tipo: string
      • cnpjCompany: CNPJ da empresa associada ao contrato.
        Tipo: string
      • registration: Matrícula do funcionário.
        Tipo: string
      • contractCode: Código do contrato.
        Tipo: string
      • number: Número da parcela.
        Tipo: integer
      • dueDate: Data de vencimento da parcela.
        Tipo: string (ISO 8601)
      • status: Status da parcela.
        Tipo: integer (Enum)
      • value: Valor da parcela.
        Tipo: number
      • statusByPartner: Informações sobre o status da parcela fornecidas pelo parceiro.( Obrigatório para pagamento de parcelas)
        • endorsedValue: Valor endossado.
          Tipo: number
        • paymentDate: Data de pagamento da parcela.
          Tipo: string (ISO 8601)
        • notEndorsedValue: Valor não endossado.
          Tipo: number
        • updateDate: Data de atualização do status.
          Tipo: string (ISO 8601)

    Estrutura da Resposta

  • 201 Created: Parcelas criadas com sucesso.
  • Exemplo de Resposta:

    Bloco de código
    languagebash
    titleJson
    [
      {
        "cpf": "string",
        "cnpjCompany": "string",
        "registration": "string",
        "contractCode": "string",
        "number": 0,
        "dueDate": "2024-08-30T13:37:45.405Z",
        "status": 1,
        "value": 0,
        "statusByPartner": {
          "endorsedValue": 0,
          "paymentDate": "2024-08-30T13:37:45.405Z",
          "notEndorsedValue": 0,
          "updateDate": "2024-08-30T13:37:45.405Z"
        }
      }
    ]

    Tratamento de Erros

      1. Parcela Duplicada

        • Descrição: Já existe uma parcela com o mesmo número para o contrato especificado.
        • Código de Status HTTP: 400 Bad Request
        • Resposta de Erro:

          Bloco de código
          languagebash
          titleJson
          [
            {
              "Key": "Installment_Duplicated",
              "Message": "Já existe uma parcela com o número 1 no contrato.",
              "HttpStatusCode": 0,
              "DetailMessageError": null,
              "StatusCode": 400
            }
          ]
      2. StatusByPartner Não Informado

        • Descrição: O Objeto StatusByPartner é obrigatório para parcelas pagas.
        • Código de Status HTTP: 400 Bad Request
        • Resposta de Erro:


          Bloco de código
          languagebash
          titleJson
          [
            {
              "Key": "Installment_StatusByPartner_Null",
              "Message": "O StatusByPartner para a parcela 2 deve ser informado.",
              "HttpStatusCode": 0,
              "DetailMessageError": null,
              "StatusCode": 400
            }
          ]
      3. Valor de Pagamento Não Informado

        • Descrição: O valor do pagamento da parcela e/ou a data de pagamento são obrigatórios.
        • Código de Status HTTP: 400 Bad Request
        • Resposta de Erro:
  • Bloco de código
    languagebash
    titleJson
    [
      {
        "Key": "InstallmentPaidValue_IsNull",
        "Message": "O valor do pagamento da parcela 2 e/ou data de pagamento devem ser informados.",
        "HttpStatusCode": 0,
        "DetailMessageError": null,
        "StatusCode": 400
      }
    ]
    


    Tipos de Status da Parcela

    Bloco de código
    languagebash
    public enum EInstallmentStatusDTO
    {
      Open = 1,
      Paid,
      Error,
      Canceled
    }
Expandir
titlePUT

Este documento detalha os endpoints utilizado para registrar o débito total associado a um contrato específico dentro de uma empresa, identificada pelo CNPJ, e atualizar informações de um contrato específico dentro de uma empresa, identificada pelo CNPJ.


Expandir
title​/api​/partner​/v2​/company​/{cnpj}/contract​/{contractCode}​/debit

Atualiza o débito total de um contrato específico identificado pelo contractCode, pertencente a uma empresa identificada pelo cnpj.

  • Parâmetros de caminho (path):

    • cnpj: (obrigatório) O CNPJ da empresa.
      Tipo: string
    • contractCode: (obrigatório) O código do contrato.
      Tipo: string
  • Exemplo de Requisição com curl:

    Bloco de código
    languagebash
    curl --location --globoff --request PUT '{{Base URL}}/api/partner/v2/company/{cnpj}/contract/{contractCode}/debit' \
    --header 'accept: application/json' \
    --header 'Authorization: Bearer {seu_token_aqui}' \
    --header 'Content-Type: application/json' \
    --data '{
      "cpf": "string",
      "cnpjCompany": "string",
      "registration": "string",
      "contractCode": "string",
      "totalDebit": 0,
      "debitDate": "2024-08-30T14:31:59.131Z"
    }'

    Campos Obrigatórios

    • CNPJ: Identificação da empresa.
      Tipo: string
      Local: Path (caminho)

    • ContractCode: Código do contrato.
      Tipo: string
      Local: Path (caminho)

    • Request Body:

      • cpf: CPF do funcionário associado ao contrato.
        Tipo: string
      • cnpjCompany: CNPJ da empresa associada ao contrato.
        Tipo: string
      • registration: Matrícula do funcionário.
        Tipo: string
      • contractCode: Código do contrato.
        Tipo: string
      • totalDebit: Valor total do débito associado ao contrato.
        Tipo: number
      • debitDate: Data do débito.
        Tipo: string (ISO 8601)

Estrutura da Resposta

  • 200 OK: Débito registrado com sucesso.
  • Exemplo de Resposta:

    Bloco de código
    languagebash
    titleJson
    {
      "cpf": "06887896923",
      "cnpjCompany": "21867387000743",
      "registration": "00000025",
      "contractCode": "200820261",
      "totalDebit": 20000,
      "debitDate": "2024-08-30T14:31:17.343Z"
    }

     

Tratamento de Erros

  1. Código do Contrato Inconsistente

    • Descrição: O código do contrato na rota não corresponde ao código no corpo da requisição.
    • Código de Status HTTP: 400 Bad Request
    • Resposta de Erro:
Bloco de código
languagebash
titleJson
[
  {
    "Key": "Invalid_Code",
    "Message": "Código do contrato da requisição inconsistente. Código do contrato 200820269 na rota e 200820261 no corpo.",
    "HttpStatusCode": 0,
    "DetailMessageError": null,
    "StatusCode": 400
  }
]

     2. Contrato Não Encontrado

  • Descrição: O contrato especificado não foi encontrado no sistema.
  • Código de Status HTTP: 404 Not Found
  • Resposta de Erro:

    Bloco de código
    languagebash
    titleJson
    [
      {
        "Key": "Contract_NotFound",
        "Message": "Contrato não foi encontrado no sistema",
        "HttpStatusCode": 0,
        "DetailMessageError": null,
        "StatusCode": 404
      }
    ]
  • 3. Funcionário Não Encontrado

    • Descrição: O funcionário especificado não foi encontrado no sistema.
    • Código de Status HTTP: 404 Not Found
    • Resposta de Erro:

      Bloco de código
      languagebash
      titleJson
      [
        {
          "Key": "Registration_NotFound",
          "Message": "Funcionário não foi encontrado no sistema",
          "HttpStatusCode": 0,
          "DetailMessageError": null,
          "StatusCode": 404
        }
      ]


       Campos Obrigatórios
  • CNPJ: Identificação da empresa.
    Tipo: string
    Local: Path (caminho)

  • ContractCode: Código do contrato.
    Tipo: string
    Local: Path (caminho)

  • Request Body:

    • employee: Informações do funcionário associado ao contrato.
      • cpf: CPF do funcionário.
        Tipo: string
      • cnpjCompany: CNPJ da empresa associada ao contrato.
        Tipo: string
      • registration: Matrícula do funcionário.
        Tipo: string
    • contractCode: Código do contrato.
      Tipo: string
    • contractDate: Data de criação do contrato.
      Tipo: string (ISO 8601)
    • totalDebit: Valor total do débito associado ao contrato.
      Tipo: number
    • debitDate: Data do débito.
      Tipo: string (ISO 8601)
    • contractDuration: Duração do contrato.
      Tipo: string (ISO 8601)
    • totalToBorrow: Valor total a ser emprestado.
      Tipo: number
    • totalToPay: Valor total a ser pago.
      Tipo: number
    • installmentValue: Valor de cada parcela.
      Tipo: number
    • installmentQuantity: Quantidade de parcelas.
      Tipo: integer
    • taxes: Detalhes dos impostos aplicáveis.
      • valueIOF: Valor do IOF.
        Tipo: number
      • monthlyTax: Taxa mensal.
        Tipo: number
      • yearlyTax: Taxa anual.
        Tipo: number
      • monthlyCET: CET mensal.
        Tipo: number
      • yearlyCET: CET anual.
        Tipo: number
    • expirationDate: Data de expiração do contrato.
      Tipo: string (ISO 8601)
    • discountStartDate: Data de início do desconto.
      Tipo: string (ISO 8601)
    • partnerLawDescription: Descrição das leis aplicáveis ao parceiro.
      Tipo: string
    • partnerCode: Código do parceiro.
      Tipo: string
    • status: Status do contrato.
      Tipo: integer (enum)
      • 1: Aberto
      • 2: Encerrado
      • 3: Transferido
    • statusByPartner: Detalhes sobre o status fornecido pelo parceiro.
      • reasonType: Tipo de motivo.
        Tipo: integer (enum)
        • 1: Normal
        • 2: Refinanciamento
        • 3: Portabilidade
      • reason: Motivo detalhado.
        Tipo: string
      • partnerContractNumber: Número do contrato do parceiro.
        Tipo: string
      • terminationDate: Data de encerramento do contrato.
        Tipo: string (ISO 8601)

Estrutura da Resposta

  • 200 OK: Contrato atualizado com sucesso.
  • Exemplo de Resposta

    Bloco de código
    languagebash
    titleJson
    {
      "employee": {
        "cpf": "06887896923",
        "cnpjCompany": "21867387000743",
        "registration": "00000025"
      },
      "contractCode": "200820261",
      "contractDate": "2020-12-13T18:36:26.278Z",
      "totalDebit": 988,
      "debitDate": "0001-01-01T00:00:00Z",
      "contractDuration": "0001-01-01T00:00:00Z",
      "totalToBorrow": 888,
      "totalToPay": 888,
      "installmentValue": 148,
      "installmentQuantity": 20,
      "taxes": {
        "valueIOF": 0.3,
        "monthlyTax": 0.3,
        "yearlyTax": 0.3,
        "monthlyCET": 0.3,
        "yearlyCET": 0.3
      },
      "expirationDate": "2022-08-13T18:36:26.278Z",
      "discountStartDate": "2022-08-13T18:36:26.278Z",
      "partnerLawDescription": "",
      "partnerCode": null,
      "status": 1,
      "statusByPartner": {
        "reasonType": 1,
        "reason": "",
        "partnerContractNumber": "20082024",
        "terminationDate": "0001-01-01T00:00:00Z"
      }
    }
    
    
    • Tratamento de Erros

      Código de Status: 404 Not Found

      • Registration_NotFound: O funcionário especificado não foi encontrado no sistema.

      Exemplo de Resposta de Erro:

      Bloco de código
      languagebash
      titleJson
      [
        {
          "Key": "Registration_NotFound",
          "Message": "Funcionário não foi encontrado no sistema",
          "HttpStatusCode": 404,
          "DetailMessageError": null,
          "StatusCode": 404
        }
      ]

      Código de Status: 400 Bad Request


      • Invalid_Code: O código do contrato na rota não corresponde ao código no corpo da requisição.

      Exemplo de Resposta de Erro:

      Bloco de código
      languagebash
      titleJson
      [
        {
          "Key": "Invalid_Code",
          "Message": "Código do contrato da requisição inconsistente. Código do contrato 200820261 na rota e 200820211 no corpo.",
          "HttpStatusCode": 400,
          "DetailMessageError": null,
          "StatusCode": 400
        }
      ]


Expandir
title​/api​/partner​/v2​/company​/{cnpj}/contract​/{contractCode}

Atualiza as informações de um contrato específico identificado pelo contractCode, pertencente a uma empresa identificada pelo cnpj.

  • Parâmetros de caminho (path):

    • cnpj: (obrigatório) O CNPJ da empresa.
      Tipo: string
    • contractCode: (obrigatório) O código do contrato.
      Tipo: string
  • Exemplo de Requisição com curl:

    Bloco de código
    languagebash
    curl --location --globoff --request PUT '{{Base URL}}/api/partner/v2/company/{cnpj}/contract/{contractCode}' \
    --header 'accept: application/json' \
    --header 'Authorization: Bearer {seu_token_aqui}' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "employee": {
        "cpf": "string",
        "cnpjCompany": "string",
        "registration": "string"
      },
      "contractCode": "string",
      "contractDate": "2024-08-30T17:12:06.582Z",
      "totalDebit": 0,
      "debitDate": "2024-08-30T17:12:06.582Z",
      "contractDuration": "2024-08-30T17:12:06.582Z",
      "totalToBorrow": 0,
      "totalToPay": 0,
      "installmentValue": 0,
      "installmentQuantity": 0,
      "taxes": {
        "valueIOF": 0,
        "monthlyTax": 0,
        "yearlyTax": 0,
        "monthlyCET": 0,
        "yearlyCET": 0
      },
      "expirationDate": "2024-08-30T17:12:06.582Z",
      "discountStartDate": "2024-08-30T17:12:06.582Z",
      "partnerLawDescription": "string",
      "partnerCode": "string",
      "status": 1,
      "statusByPartner": {
        "reasonType": 1,
        "reason": "string",
        "partnerContractNumber": "string",
        "terminationDate": "2024-08-30T17:12:06.582Z"
      }
    }'

    Tratamento de Erros

    Código de Status: 400 Bad Request

    • ContractNotFoundToRegistration: Não foi encontrada parcela neste contrato para esse funcionário.
    • Installment_NotFound: Não existe uma parcela com o número {installmentNumber} no contrato.
    • InstallmentPaidValue_IsNull: O valor do pagamento da parcela {installmentNumber} e/ou data de pagamento devem ser informados.
    • Installment_Import: A parcela de número {installmentNumber} já foi importada para folha de pagamento.
    • Contract_Closed: O contrato não pode ser atualizado pois já está fechado.

    Exemplo de Resposta de Erro:

Bloco de código
languagebash
titleJson
[
  {
    "Key": "ContractNotFoundToRegistration",
    "Message": "Não foi encontrada parcela neste contrato para esse funcionario.",
    "HttpStatusCode": 400,
    "DetailMessageError": null,
    "StatusCode": 400
  }
]


Expandir
titleinstallment

Este endpoint permite a atualização de uma parcela específica de um contrato de uma empresa.


Expandir
title​/api​/partner​/v2​/company​/{cnpj}​/contract​/{contractCode}/installment​/'{installmentNumber}

 Atualiza uma parcela específica de um contrato.

  • Parâmetros de caminho (path):

    • cnpj (string): O CNPJ da empresa. Obrigatório.
    • contractCode (string): O código do contrato. Obrigatório.
    • installmentNumber (integer): O número da parcela a ser atualizada. Obrigatório
  • Exemplo de Requisição com curl:

Bloco de código
languagebash
titleJson
curl --location --globoff --request PUT '{{Base URL}}/partner/v2/company/{cnpj}/contract/{contractCode}/installment/{installmentNumber}' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {seu_token_aqui}' \
--header 'Content-Type: application/json' \
--data '{
  "cpf": "06887896923",
  "cnpjCompany": "21867387000743",
  "registration": "00000025",
  "contractCode": "200820261",
  "number": 1,
  "dueDate": "2024-08-30T13:39:47.615Z",
  "status": 1,
  "value": 500,
  "statusByPartner": {
    "endorsedValue": 0,
    "paymentDate": "2024-08-30T18:06:17.060Z",
    "notEndorsedValue": 0,
    "updateDate": "2024-08-30T18:09:20.799Z"
  }
}'

Estrutura da Resposta

• Código de Status: 200 OK

Bloco de código
languagebash
titleJson
{
  "cpf": "06887896923",
  "cnpjCompany": "21867387000743",
  "registration": "00000025",
  "contractCode": "200820261",
  "number": 1,
  "dueDate": "2024-08-30T13:39:47.615Z",
  "status": 1,
  "value": 500,
  "statusByPartner": {
    "endorsedValue": 0,
    "paymentDate": "2024-08-30T18:06:17.060Z",
    "notEndorsedValue": 0,
    "updateDate": "2024-08-30T18:09:20.799Z"
  }
}

Tratamento de Erros

  • Código de Status: 400 Bad Request

    • ContractNotFoundToRegistration: Não foi encontrada parcela neste contrato para esse funcionário.
    • Installment_NotFound: Não existe uma parcela com o número {installmentNumber} no contrato.
    • InstallmentPaidValue_IsNull: O valor do pagamento da parcela {installmentNumber} e/ou data de pagamento devem ser informados.
    • Installment_Import: "A parcela de número 1 já foi importada para folha de pagamento.".

    Exemplo de Resposta de Erro:


Bloco de código
languagebash
titleJson
[
  {
    "Key": "ContractNotFoundToRegistration",
    "Message": "Não foi encontrada parcela neste contrato para esse funcionario.",
    "HttpStatusCode": 400,
    "DetailMessageError": null,
    "StatusCode": 400
  }
]



Totvs custom tabs box items
defaultno
referencia995

Essa Api permite obter informações sobre funcionários de uma empresa específica, identificada pelo CNPJ. Os endpoints permitem filtrar funcionários e obter dados sobre desligamentos.


Expandir
titleGET
Expandir
title​/api​/partner​/v2​/company​/{cnpj}​/employee

Obtém todos os funcionários de uma empresa com base em filtros aplicados.

  • Parâmetros de caminho:

    • cnpj: (obrigatório) O CNPJ da empresa.
      Tipo: string
  • Parâmetros de consulta (query):

    • cpf: (obrigatório) CPF do funcionário.
      Tipo: string
  • Exemplo de Requisição com curl:

    Bloco de código
    languagebash
    curl --location --globoff '{{Base URL}}/api/partner/v2/company/{cnpj}/employee?cpf={cpf}' \
    --header 'accept: application/json' \
    --header 'Authorization: Bearer {seu_token_aqui}'

    Resposta:

    • 200 OK: Retorna uma lista de funcionários com base nos filtros aplicados. 
    • Exemplo de Resposta:

      Bloco de código
      languagebash
      titleJson
      {
        "hasNext": false,
        "items": [
          {
            "registration": "00000002",
            "cpf": "75215950687",
            "cnpjCompany": "21867387000662",
            "name": "JOAO DA SILVA JORDAM",
            "hiringDate": "1991-01-02T00:00:00Z",
            "consignableMargin": 0,
            "consignableMarginFull": 0,
            "salary": 1355.29,
            "phone": "(31) 2122-9000",
            "externalLoan": false,
            "terminationDate": null,
            "status": 1,
            "motherName": "MARIA HELENA DE QUEIROZ",
            "maritalStatus": 3,
            "email": "[email protected]",
            "birthDate": "1950-05-28T00:00:00Z",
            "address": {
              "zipCode": "31140270",
              "street": "Rua Prof. Marcolino",
              "number": "450",
              "addOn": "303",
              "neighborhood": "Jatoba",
              "city": "Belo Horizonte",
              "state": "MG"
            }
          }
        ]
      }
Expandir
title​/api​/partner​/v2​/company​/{cnpj}​/employee​/termination

Obtém todas as informações sobre desligamentos de funcionários da empresa correspondente ao CNPJ fornecido.

  • Parâmetros de caminho:

    • cnpj: (obrigatório) O CNPJ da empresa.
      Tipo: string
  • Parâmetros de consulta (query):

    • month: (obrigatório) O mês do desligamento.
      Tipo: integer ($int32)
    • year: (obrigatório) O ano do desligamento.
      Tipo: integer ($int32)
  • Exemplo de Requisição com curl:

    Bloco de código
    curl --location --globoff '{{Base URL}}/api/partner/v2/company/{cnpj}/employee/termination?month={month}&year={year}' \
    --header 'accept: application/json' \
    --header 'Authorization: Bearer {seu_token_aqui}'

    Resposta:

    • 200 OK: Retorna uma lista de desligamentos de funcionários.
    • 400 Bad Reques: Se o mês ou ano forem inválidos. 
    • Exemplo de Resposta:

      Bloco de código
      languagebash
      titleJson
      {
        "hasNext": true,
        "items": [
          {
            "cpf": "123.456.789-00",
            "cnpjCompany": "00000000000100",
            "name": "John Doe",
            "registration": "REG123",
            "terminationDate": "2024-08-29T19:28:46.036Z",
            "paymentDate": "2024-08-29T19:28:46.036Z",
            "year": 2024,
            "month": 8,
            "reason": 1,
            "discountValue": 0.00
          }
        ]
      }

Totvs custom tabs box items
defaultno
referencia996

Essa api permite obter informações sobre a folha de pagamento de uma empresa específica, identificada pelo CNPJ. O endpoint retorna detalhes das folhas de pagamento geradas para um determinado mês e ano.


Expandir
titleGET
Expandir
title​/api​/partner​/v2​/company​/{cnpj}​/payroll

Obtém todas as folhas de pagamento da empresa correspondente ao CNPJ fornecido para um mês e ano específicos.

  • Parâmetros de caminho (path):

    • cnpj: (obrigatório) O CNPJ da empresa.
      Tipo: string
  • Parâmetros de consulta (query):

    • month: (obrigatório) O mês da folha de pagamento.
      Tipo: integer ($int32)
    • year: (obrigatório) O ano da folha de pagamento.
      Tipo: integer ($int32)
  • Exemplo de Requisição com curl:

    Bloco de código
    languagebash
    curl --location --globoff '{{Base URL}}/api/partner/v2/company/{cnpj}/payroll?month={month}&year={year}' \
    --header 'accept: application/json' \
    --header 'Authorization: Bearer {seu_token_aqui}'

    Resposta:

      • 200 OK: Retorna uma lista de folhas de pagamento geradas para o mês e ano especificados.
      • 400 Bad Reques: Se o mês ou ano forem inválidos. 
      • Exemplo de Resposta:
    Bloco de código
    languagebash
    titleJson
    {
      "hasNext": true,
      "items": [
        {
          "registration": "REG123",
          "cpf": "123.456.789-00",
          "cnpjCompany": "00.000.000/0001-00",
          "month": 8,
          "year": 2024,
          "generated": true
        }
      ]
    }

Totvs custom tabs box items
defaultno
referencia997

Essa api permite obter todas as relações entre uma pessoa (identificada pelo CPF) e empresas (identificadas pelo CNPJ). O endpoint retorna detalhes dessas relações, como CPF, CNPJ e matrícula.


Expandir
titleGET
Expandir
title​/api​/partner​/v2​/person​/{cpf}/company

Obtém todas as relações entre uma pessoa e as empresas associadas ao CPF fornecido.

  • Parâmetros de caminho (path):

    • cpf: (obrigatório) O CPF da pessoa.
      Tipo: string
  • Exemplo de Requisição com curl:

    Bloco de código
    languagebash
    curl --location --globoff '{{Base URL}}/api/partner/v2/person/{cpf}/company' \
    --header 'accept: application/json' \
    --header 'Authorization: Bearer {seu_token_aqui}'

    Resposta:

    • 200 OK: Retorna uma lista de relações entre a pessoa e as empresas associadas.
    • Exemplo de Resposta:

      Bloco de código
      languagebash
      titleJson
      {
        "hasNext": false,
        "items": [
          {
            "cnpj": "21867387000662",
            "cpf": "75215950687",
            "registration": "00000002"
          }
        ]
      }

      Erro 404 Not Found

      • Descrição: Este erro ocorre quando o funcionário associado ao CPF fornecido não é localizado no sistema.
      • Resposta de Erro:
    Bloco de código
    languagebash
    titleJson
    [
      {
        "Key": "PersonCompanyRelationship_Not_Found",
        "Message": "Funcionário não localizado.",
        "HttpStatusCode": 0,
        "DetailMessageError": null,
        "StatusCode": 404
      }
    ]
    


Totvs custom tabs box items
defaultno
referencia10
Totvs custom tabs box
tabsLoanRequest
ids101



Totvs custom tabs box items
defaultyes
referencia101
Expandir
titleGET

Essa Api permite  obter uma URL assinada para download de um documento específico.


Expandir
title​/api​/partner​/v3​/companies​/{cnpj}​/loan-requests​/{loanRequestId}​/signed-url-download​/{documentId}

Obtém uma URL assinada para fazer o download de um documento associado a uma solicitação de empréstimo.

Parâmetros de caminho (path):

  • cnpj (string, obrigatório): O CNPJ da empresa à qual a solicitação de empréstimo está associada.
  • loanRequestId (string, obrigatório, $uuid): O identificador único da solicitação de empréstimo.
  • documentId (string, obrigatório): O identificador do documento específico que será baixado.

Exemplo de Requisição curl

Bloco de código
languagebash
curl --location --globoff '{{Base URL}}/api/partner/v3/companies/12345678000195/loan-requests/19017355-6e08-440f-848b-81d4b4f0f1ce/signed-url-download/abc123' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {seu_token_aqui}'

Resposta de Sucesso

Código de Status: 200 OK

Bloco de código
languagebash
titleJson
{ "signedUrlDocument": "https://storage.googleapis.com/totvsapps-stg-rh-consignado-storage/6d81779d-d409-4acc-a779-1e18ee275e97.jpg?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=rh-consignado-svc-storage-buck%40tfc9924-service-12-374429.iam.gserviceaccount.com%2F20240902%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20240902T121206Z&X-Goog-Expires=1799&X-Goog-SignedHeaders=host&X-Goog-Signature=6a52e9f6c4093c4faa51f7246288b58256e79c1d0ece38213dcd89ee92083035b0cb8b555da0fdd8dd019cace5ea255593608265e7897d80199385874a239ea84ab1fc1c60fc263c4f968b2a474995d2f3acb3fa95291fcc5ecc8b389e8122c03b1dc281fb50b07f90bd3bb494f878e6b704168d941e9d081f34d621098059679e3c1039d964d98882a04a592bf4b468c610b1136c99c8cfd473c200302503a1cfc8259212810f8e070c17041252a666ea68446534444d8aa69a4a3620e0ab7ad26a14f0233d99d56bcc991b51eeb34d211e2d35fe7d6d1f850e3cd7626a3d59daee01f6d9c358303de0a77d52c39fc68a1d35d7522e49832bced40167a81056" }

Tratamento de Erros

Código de Status: 404 Not Found

  1. Documento da Solicitação Não Encontrado

    • Descrição: O documento associado à solicitação de empréstimo não foi encontrado.
    • Resposta de Erro:

      Bloco de código
      languagebash
      titleJson
      {
        "code": "Zvpebfbsg.NfcArgPber.Zip.GasPbagebyyre+Reebe.1",
        "message": "Erro ao buscar 'Solicitação'",
        "detailedMessage": "AspNetCoreOnGetError",
        "helpUrl": "",
        "details": [
          {
            "guid": "91548b9f-feca-4a4b-9838-e47b0f949d1e",
            "code": "LoanRequestDocumentNotFound",
            "message": "O documento da Solicitação não foi encontrado.",
            "detailedMessage": "LoanRequestDocumentNotFound"
          }
        ]
      }


      2. Solicitação Não Encontrada

      • Descrição: A solicitação de empréstimo não foi identificada no sistema.
      • Resposta de Erro:

        Bloco de código
        languagebash
        titleJson
        {
          "code": "Zvpebfbsg.NfcArgPber.Zip.GasPbagebyyre+Reebe.1",
          "message": "Erro ao buscar 'Solicitação'",
          "detailedMessage": "AspNetCoreOnGetError",
          "helpUrl": "",
          "details": [
            {
              "guid": "09cf27ac-0598-45ce-954c-0f07adb6125a",
              "code": "LoanRequestNotFound",
              "message": "A Solicitação não foi identificada.",
              "detailedMessage": "LoanRequestNotFound"
            }
          ]
        }



Expandir
titlePOST

Cria uma nova solicitação de empréstimo para uma empresa identificada pelo CNPJ.


Expandir
title​/api​/partner​/v3​/companies​/{cnpj}/loan-requests

Parâmetros de caminho (path):

  • cnpj (string, obrigatório): O CNPJ da empresa para a qual a solicitação de empréstimo está sendo criada

Corpo da Requisição

Bloco de código
languagebash
titleJson
{
  "employee": {
    "cpf": "06887896923",
    "cnpjCompany": "21867387000743",
    "registration": "00000025"
  },
  "totalToBorrow": 50,
  "totalToPay": 50,
  "totalToFinance": 50,
  "installmentQuantity": 20,
  "installmentValue": 150,
  "discountStartDate": "2024-08-30T20:07:20.527Z",
  "taxes": {
    "valueIOF": 50,
    "monthlyTax": 50,
    "yearlyTax": 50,
    "monthlyCET": 40,
    "yearlyCET": 20
  }
}

Resposta de Sucesso

Código de Status: 201 Created

Bloco de código
languagebash
titleJson
{
  "loanRequestId": "19017355-6e08-440f-848b-81d4b4f0f1ce"
}

Tratamento de Erros

Código de Status: 400 Bad Request

  1. CPF Inválido

    • Descrição: O CPF fornecido para o funcionário é inválido.
    • Resposta de Erro
Bloco de código
languagebash
titleJson
{
  "errors": {
    "Employee.CPF": [
      "CPF inválido"
    ]
  },
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
  "title": "One or more validation errors occurred.",
  "status": 400,
  "traceId": "00-dbfbb1d7a8f2ac6ed447556666405aa4-952098a7eb7b7f6c-00"
}


2. CNPJ Inválido

  • Descrição: O CNPJ fornecido para a empresa é inválido.
  • Resposta de Erro:
Bloco de código
languagebash
titleJson
{
  "errors": {
    "Employee.CNPJCompany": [
      "CNPJ inválido"
    ]
  },
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
  "title": "One or more validation errors occurred.",
  "status": 400,
  "traceId": "00-dbeae9b2140cd3eab88af2ca1c974eb9-3f4d91bda3ab3cff-00"
}


3. Funcionário Não Encontrado

  • Descrição: O funcionário especificado não foi encontrado no sistema.
  • Resposta de Erro:
Bloco de código
languagebash
titleJson
{
  "code": "Zvpebfbsg.NfcArgPber.Zip.GasPbagebyyre+Reebe.2",
  "message": "Erro ao salvar 'Solicitação'",
  "detailedMessage": "AspNetCoreOnPostError",
  "helpUrl": "",
  "details": [
    {
      "guid": "b3390a17-6111-416b-9591-1c0fdfabf08e",
      "code": "EmployeeNotFound",
      "message": "Funcionário não encontrado.",
      "detailedMessage": "EmployeeNotFound"
    }
  ]
}



Expandir
titlePUT
Expandir
title​/api​/partner​/v3​/companies​/{cnpj}/loan-requests​/{loanRequestId}​/status

Atualiza o status de uma solicitação de empréstimo feita por um parceiro.


Parâmetros de caminho (path):

  • cnpj: (string, path) - CNPJ da empresa.
  • loanRequestId: (string, path) - Identificador único da solicitação de empréstimo (UUID).

    Request Body:

    Bloco de código
    languagebash
    {
      "status": 2,
      "reason": "teste"
    }
    • status: Inteiro representando o status da solicitação. Os valores possíveis são:
      • 1: Approved (Aprovado)
      • 2: Rejected (Rejeitado)
    • reason: (string, opcional) - Razão para a alteração do status.

    Exemplo de Requisição curl:

    Bloco de código
    languagebash
    curl --location --globoff --request PUT '{{Base URL}}/api/partner/v3/companies/12345678000195/loan-requests/6510e5d1-5d94-41dc-b435-9bdea2605b64/status' \
    --header 'accept: application/json' \
    --header 'Authorization: Bearer {seu_token_aqui}' \
    --header 'Content-Type: application/json' \
    --data-raw '{
        "status": 2,
        "reason": "teste"
    }'
    
    Resposta de Sucesso:

    Resposta de Sucesso:

    Bloco de código
    languagebash
    titleJson
    {
      "loanRequestId": "6510e5d1-5d94-41dc-b435-9bdea2605b64"
    }

    Tratamento de Erros

    Erro ao Atualizar Solicitação

    • Descrição: Ocorreu um erro ao tentar atualizar a solicitação.
    • Código de Status HTTP: 400 Bad Request
    • Resposta de Erro:
    Bloco de código
    languagebash
    titleJson
    {
      "code": "Zvpebfbsg.NfcArgPber.Zip.GasPbagebyyre+Reebe.3",
      "message": "Erro ao atualizar 'Solicitação'",
      "detailedMessage": "AspNetCoreOnPutError",
      "helpUrl": "",
      "details": [
        {
          "guid": "42f7cb30-52d3-48d4-9422-3c3c28b28e35",
          "code": "LoanRequestChangeStatusToApprovedInvalid",
          "message": "Não é possível aprovar a solicitação. Registro não está na etapa de aprovação pelo parceiro",
          "detailedMessage": "LoanRequestChangeStatusToApprovedInvalid"
        }
      ]
    }

    Erro de Validação de Status
    • Descrição: O status da solicitação não foi informado corretamente.
    • Código de Status HTTP: 400 Bad Request
    • Resposta de Erro:
    Bloco de código
    languagebash
    titleJson
    {
      "code": "Zvpebfbsg.NfcArgPber.Zip.GasPbagebyyre+Reebe.3",
      "message": "Erro ao atualizar 'Solicitação'",
      "detailedMessage": "AspNetCoreOnPutError",
      "helpUrl": "",
      "details": [
        {
          "guid": "67e5ab45-dd08-4226-b012-97df8b9916d7",
          "code": "PredicateValidator",
          "message": "",
          "detailedMessage": "O status da solicitação deve ser informado. 1 = Approved ou  2 = Rejected."
        }
      ]
    }

Expandir
titleterms
Expandir
title​/api​/partner​/v3​/companies​/{cnpj}​/loan-requests​/{loanRequestId}​/terms​/signed-url-upload

Gera uma URL assinada para upload de um documento de termos relacionado a uma solicitação de empréstimo.

Parâmetros de caminho (path):

  • cnpj: (string, path) - CNPJ da empresa.
  • loanRequestId: (string, path) - Identificador único da solicitação de empréstimo (UUID).
  • fileType: (string, query) - Tipo de arquivo a ser enviado.
  • termType: (integer, query) - Tipo de termo associado ao documento.

Exemplo de Requisição curl

Bloco de código
languagebash
curl --location --globoff --request PUT '{{Base URL}}/api/partner/v3/companies/12345678000195/loan-requests/19017355-6e08-440f-848b-81d4b4f0f1ce/terms/signed-url-upload?fileType=pdf&termType=1' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {seu_token_aqui}'

Resposta de Sucesso:


Bloco de código
languagebash
titleJson
{
  "signedUrlDocument": "string"
}

  

Tipos de Termos

Bloco de código
languagec#
public enum ETermType
{
  CCB = 1,
  DebitAuth,
  ConsignmentAuth
}


Tratamento de Erros

  • Descrição: Ocorreu um erro ao tentar atualizar a solicitação.
  • Código de Status HTTP: 400 Bad Request
  • Resposta de Erro:
Bloco de código
languagebash
titleJson
{
  "code": "Zvpebfbsg.NfcArgPber.Zip.GasPbagebyyre+Reebe.3",
  "message": "Erro ao atualizar 'Solicitação'",
  "detailedMessage": "AspNetCoreOnPutError",
  "helpUrl": "",
  "details": [
    {
      "guid": "6edd8e2f-3587-4146-978a-366ae54624ff",
      "code": "LoanRequestDoesNotAcceptNewTerms",
      "message": "A solicitação não aceita novos termos.",
      "detailedMessage": "LoanRequestDoesNotAcceptNewTerms"
    }
  ]
}
Expandir
title/api​/partner​/v3​/companies​/{cnpj}​/loan-requests​/{loanRequestId}/terms

Atualiza os termos de um contrato relacionado a uma solicitação de empréstimo.

Parâmetros de caminho (path):

    • cnpj: (string, path) - CNPJ da empresa.
    • loanRequestId: (string, path) - Identificador único da solicitação de empréstimo (UUID).

    Request Body:


    Bloco de código
    languagebash
    { "documentTypes": [ 1 ] }
  • documentTypes: Array de inteiros representando os tipos de documentos que estão sendo enviados. Os valores possíveis são:
    • 1: CCB (Cédula de Crédito Bancário)
    • 2: DebitAuth (Autorização de Débito)
    • 3: ConsignmentAuth (Autorização de Consignação)


  • Exemplo de Requisição curl:
Bloco de código
languagebash
titleJson
curl --location --globoff --request PUT '{{Base URL}}/api/partner/v3/companies/12345678000195/loan-requests/19017355-6e08-440f-848b-81d4b4f0f1ce/terms' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {seu_token_aqui}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "documentTypes": [
        1
    ]
}'

Resposta de Sucesso:

Bloco de código
languagebash
titleJson
{
  "loanRequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Tratamento de Erros

Erro ao Atualizar Solicitação

  • Descrição: Ocorreu um erro ao tentar atualizar a solicitação.
  • Código de Status HTTP: 400 Bad Request
  • Resposta de Erro:
Bloco de código
languagebash
titleJson
{
  "code": "Zvpebfbsg.NfcArgPber.Zip.GasPbagebyyre+Reebe.3",
  "message": "Erro ao atualizar 'Solicitação'",
  "detailedMessage": "AspNetCoreOnPutError",
  "helpUrl": "",
  "details": [
    {
      "guid": "dfaefcd7-9164-4060-be12-2188b88f5c70",
      "code": "ContractTermsNotSent",
      "message": "Os termos do contrato não foram enviados.",
      "detailedMessage": "ContractTermsNotSent"
    }
  ]
}

Erro ao Alterar o Status da Solicitação
  • Descrição: Não é possível alterar o status da solicitação.
  • Código de Status HTTP: 400 Bad Request
  • Resposta de Erro:
Bloco de código
languagebash
titleJson
 
{
  "code": "Zvpebfbsg.NfcArgPber.Zip.GasPbagebyyre+Reebe.3",
  "message": "Erro ao atualizar 'Solicitação'",
  "detailedMessage": "AspNetCoreOnPutError",
  "helpUrl": "",
  "details": [
    {
      "guid": "e449ee04-f392-477e-90fc-b1103b1ce5ca",
      "code": "LoanRequestChangeStatusInvalid",
      "message": "Não é possível alterar o status da solicitação.",
      "detailedMessage": "LoanRequestChangeStatusInvalid"
    }
  ]
}