> ## Documentation Index
> Fetch the complete documentation index at: https://bmpdocs.moneyp.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Autorizar consultas

> Para permitir a consulta de vínculos do trabalhador é obrigatória a assinatura do Termo de Autorização pelo trabalhador. Este termo autoriza a Instituição Financeira a consultar as informações dos vínculos empregatícios.

## Regras

* A autorização tem duração de 30 dias;
* A Dataprev não permite a renovação da autorização enquanto existir uma autorização válida para o CPF. Se um parceiro coletou a autorização de um CPF no dia 01/01, ela será válida até 01/02. Se neste meio tempo outro parceiro coletou a autorização do mesmo CPF, o prazo da autorização não é renovado.
* O token de autorização utilizado nas integrações com a Dataprev é gerenciado internamente pela BMP e não é exposto nesta API.

<Accordion title="Descrição dos campos da Requisição">
  <ParamField path="cpfTrabalhador" type="string" required>
    CPF do trabalhador assinante da autorização de consulta de dados.
  </ParamField>

  <ParamField path="hashAssinatura" type="string" required>
    Hash gerado a partir da assinatura do termo de autorização. Utilizado pela BMP para rastreabilidade, integridade e auditoria do processo de formalização da autorização.
  </ParamField>

  <ParamField path="nomeAssinante" type="string" required>
    Nome do trabalhador assinante da autorização de consulta de dados.
  </ParamField>

  <ParamField path="email" type="string">
    E-mail do trabalhador assinante da autorização de consulta de dados.
  </ParamField>

  <ParamField path="celular" type="string">
    Celular do trabalhador assinante da autorização de consulta de dados.
  </ParamField>

  <ParamField path="dataHoraAssinatura" type="string<date-time>" required>
    Data e hora da assinatura do termo de autorização de consulta de dados.
  </ParamField>

  <ParamField path="ip" type="string" required>
    Endereço IP do dispositivo utilizado na assinatura.
  </ParamField>

  <ParamField path="arquivo" type="string" required>
    Arquivo PDF do termo de autorização de consulta de dados assinado codificado em Base64.
  </ParamField>

  <ParamField path="latitude" type="number">
    Latitude do dispositivo utilizado na assinatura.
  </ParamField>

  <ParamField path="longitude" type="number">
    Longitude do dispositivo utilizado na assinatura.
  </ParamField>

  <ParamField path="dispositivo" type="string">
    Identificação do dispositivo utilizado na assinatura.
  </ParamField>
</Accordion>

## Responses

Há 3 possíveis respostas para este endpoint:

* **Autorização criada** - Quando uma nova autorização de consulta é criada na BMP e na Dataprev para o CPF informado.
* **Autorização reutilizada** - Quando já existir uma autorização válida para o CPF da requisição na Dataprev, a BMP reutilizará internamente a autorização existente para evitar a criação de uma nova autorização na Dataprev. Neste caso, um novo registro de autorização continuará sendo persistido para o parceiro responsável pela requisição, porém a validade retornada corresponderá à autorização originalmente vigente.
* **Falha no processamento** - Retorna o código e a mensagem de erro retornados pela BMP ou Dataprev relacionados ao processamento da autorização.

<Accordion title="Descrição dos campos do response">
  <ResponseField name="CodigoRequisicao" type="string">
    Código identificador da requisição feita.
  </ResponseField>

  <ResponseField name="Origem" type="string">
    Identificador do endpoint onde foi feita a requisição.
  </ResponseField>

  <ResponseField name="Conteudo" type="object">
    Objeto com o resultado da autorização.
  </ResponseField>

  <ResponseField name="situacaoAutorizacao" type="string">
    Código que especifica o resultado do processamento da autorização. Podendo ser de Autorização criada, Autorização reutilizada ou Falha no processamento.
  </ResponseField>

  <ResponseField name="codigoAutorizacao" type="string">
    Código que identifica o registro desta autorização na BMP.
  </ResponseField>

  <ResponseField name="dataHoraAssinatura" type="string<date-time>">
    Data e hora da assinatura da autorização atualmente válida para o CPF informado.
  </ResponseField>

  <ResponseField name="cpfTrabalhador" type="string">
    CPF do trabalhador assinante da autorização de consulta de dados informado na requisição.
  </ResponseField>

  <ResponseField name="dataValidadeAutorizacao" type="string<date-time>">
    Data e hora de validade da autorização de consulta de dados deste CPF.
  </ResponseField>
</Accordion>

<RequestExample>
  ```shellscript Exemplo de requisição theme={null}
  curl --location --request POST 'https://econsignadotrabalhador.moneyp.dev.br/trabalhador/termo-autorizacao' \
  --header 'authorization: Bearer <TOKEN>' \
  --header 'content-type: application/json' \
  --data '{
  	"cpfTrabalhador": "string", 
  	"hashAssinatura": "string", 
  	"nomeAssinante": "string", 
  	"email": "string", 
  	"celular": "string", 
  	"dataHoraAssinatura": "dateTime", 
  	"ip": "string", 
  	"arquivo": "Arquivo assinado em base64", 
  	"latitude": 0, 
  	"longitude": 0, 
  	"dispositivo": "string" 
  }'
  ```
</RequestExample>

<ResponseExample>
  ```json AUTORIZACAO_REUTILIZADA theme={null}
  {
    "CodigoRequisicao": "string",
    "Origem": "/trabalhador/termo-autorizacao",
    "Conteudo": {
      "situacaoAutorizacao": "AUTORIZACAO_REUTILIZADA",
      "codigoAutorizacao": "codigoAutorizacao",
      "dataHoraAssinatura": "dateTime",
      "cpfTrabalhador": "string",
      "dataValidadeAutorizacao": "dateTime"
    },
    "Erros": []
  }
  ```

  ```json AUTORIZACAO_CRIADA theme={null}
  {
    "CodigoRequisicao": "string",
    "Origem": "/trabalhador/termo-autorizacao",
    "Conteudo": {
      "situacaoAutorizacao": "AUTORIZACAO_CRIADA",
      "codigoAutorizacao": "codigoAutorizacao",
      "dataHoraAssinatura": "dateTime",
      "cpfTrabalhador": "string",
      "dataValidadeAutorizacao": "dateTime"
    },
    "Erros": []
  }
  ```

  ```json FALHA_PROCESSAMENTO theme={null}
  {
    "CodigoRequisicao": "string",
    "Origem": "/trabalhador/termo-autorizacao",
    "Conteudo": {},
    "Erros": [
      {
        "situacaoAutorizacao": "FALHA_PROCESSAMENTO",
        "codigo": "CÓDIGO DO ERRO DA DATAPREV",
        "mensagem": "MENSAGEM DO ERRO DA DATAPREV"
      }
    ]
  }
  ```
</ResponseExample>
