Voltar para Finance 360 API

Vínculo Empregatício

VINCULO_EMPREGATICIO

Situação e tipo de vínculo empregatício do CPF (CLT, autônomo, etc.), dias de pagamento e CNPJ do empregador, inferidos via Open Finance.

Endpoint

POST /api/client/provider/open-finance

Método

POST

Autenticação

Bearer JWT

Descrição

Retorna a situação e o tipo de vínculo empregatício do CPF (CLT, autônomo, etc.), dias de pagamento de salário e CNPJ do empregador, inferidos a partir da movimentação Open Finance.

Request Body

Content-Type: application/json
Campo Tipo Obrigatorio Descricao
document string Sim CPF do consultado (11 dígitos, somente números).
product_code array Sim Lista de códigos de produto a consultar. Pode combinar vários relatórios Open Finance numa única requisição.

Exemplo

{
    "document": "12345678901",
    "product_code": [
        "VINCULO_EMPREGATICIO"
    ]
}

Exemplo cURL

curl -X POST \
  https://positivaconnect.positivaconsultas.com.br/api/client/provider/open-finance \
  -H "Authorization: Bearer {seu_token}" \
  -H "Content-Type: application/json" \
  -d '{
    "document": "12345678901",
    "product_code": ["VINCULO_EMPREGATICIO"]
  }'

Formato do Envelope de Resposta

200 OK
{
  "success": true,
  "document": "12345678901",
  "provider": "open-finance",
  "query_date": "2026-03-18T10:00:00",
  "results": {
    "VINCULO_EMPREGATICIO": {
      "success": true,
      "data": { ... }
    }
  }
}

Quando results.VINCULO_EMPREGATICIO.success for false, indica falha de comunicação com o provider externo (timeout, erro 5xx). Erros de autorização são rejeitados antes da consulta com HTTP 403.

Campos do data

Campo Descrição
reportStatus Código HTTP do status do relatório na Klavi (200 = sucesso).
requestId Identificador único da requisição na Klavi.
productName Código do produto consultado na Klavi (ex.: pf_klavi_income_eco).
productVersion Versão do produto (ex.: V1).
productReportTime Data e hora de geração do relatório (ISO 8601).
enquiryCpf CPF consultado.
employment.labelDetails Array de indicadores. Cada item tem labelCode, labelName e labelValue.
employment.labelDetails[].labelCode F000087 (1º dia regular de pagamento CLT), F000088 (2º dia regular de pagamento CLT), F001279 (Situação atual de emprego, ex.: Formal), F001280 (Tipo de emprego primário, ex.: CLT privado), F001281 (Tipo de emprego secundário), F001282 (Mudança na situação de emprego), F001374 (CNPJ do empregador primário).
employment.personalInfo.civilName Nome civil do consultado.
employment.personalInfo.accounts Instituições Open Finance vinculadas (bacenName, brandName, compeCode).

Exemplo de Resposta

Conteúdo de results.VINCULO_EMPREGATICIO.data

200 OK
{
    "reportStatus": 200,
    "requestId": "399339e077b34703aa8da63c30638cad",
    "productName": "pf_klavi_employment_eco",
    "productVersion": "V1",
    "productReportTime": "2026-08-19T17:49:23.932Z",
    "enquiryCpf": "76109277673",
    "employment": {
        "labelDetails": [
            {
                "labelCode": "F000087",
                "labelName": "1st regular CLT salary payday",
                "labelValue": 11
            },
            {
                "labelCode": "F000088",
                "labelName": "2nd regular CLT salary payday",
                "labelValue": 27
            },
            {
                "labelCode": "F001279",
                "labelName": "Current Employment Status",
                "labelValue": "Formal"
            },
            {
                "labelCode": "F001280",
                "labelName": "Primary Employment Type",
                "labelValue": "CLT privado"
            },
            {
                "labelCode": "F001281",
                "labelName": "Secondary Employment Type",
                "labelValue": "Renda de PFs não-recorrentes"
            },
            {
                "labelCode": "F001282",
                "labelName": "Change in Employment Status",
                "labelValue": "Sem Alteração"
            },
            {
                "labelCode": "F001374",
                "labelName": "Primary employer cnpj",
                "labelValue": "00000000000000"
            }
        ],
        "personalInfo": {
            "accounts": [
                {
                    "bacenName": "Klavi OP Mock Institution",
                    "brandName": "Banco Brasileiro",
                    "compeCode": "11110"
                }
            ],
            "civilName": "Tatiana Galvão"
        }
    }
}

Respostas de Erro

400

invalid_request

Documento inválido, product_code ausente ou vazio

401

unauthenticated

Token JWT ausente ou inválido

403

product_not_authorized

Um ou mais produtos informados não estão contratados. A requisição inteira é rejeitada.

404

product_not_found

Um dos códigos em product_code não existe ou está inativo