## Comprot / Processo
A API consulta processos administrativos na COMPROT (Comunicação e Protocolo) do Ministério da Fazenda, pesquisando por CPF, CNPJ ou número do processo, e datas de início e fim. Quando há mais de um processo no retorno da pesquisa, os dados do primeiro processo são retornados e, para os demais processos, apenas os seus números são retornados, permitindo que a consulta de dados completa desse processo seja feita posteriormente. A API automatiza a consulta no site do COMPROT e por isso funciona de segunda a sexta-feira no período das 8:00 às 22:00 (horário de Brasília), que é o mesmo período de funcionamento do site.


### URL do site
- https://comprot.fazenda.gov.br/comprotegov/site/index.html#ajax/processo-consulta.html

### Requisição
URL para POST: `https://api.infosimples.com/api/v2/consultas/comprot/processo`



| Parâmetro    | Descrição                                                                                                                                                                                                   |
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| token*       | Chave de autenticação da API. É com o token que a API reconhece e autoriza quem está fazendo a consulta.                                                                                                    |
| cnpj**       | CNPJ da empresa a ser consultada.                                                                                                                                                                           |
| cpf**        | CPF do indivíduo a ser consultado.                                                                                                                                                                          |
| processo**   | Número do processo.                                                                                                                                                                                         |
| data_inicio* | Data de início no formato ISO 8601. Por exemplo, 22 de Abril de 1985 é representado em ISO 8601 da forma "1985-04-22". Preste atenção que é necessário incluir zeros, o formato "1985-4-22" seria inválido. |
| data_fim*    | Data de fim no formato ISO 8601. Por exemplo, 22 de Abril de 1985 é representado em ISO 8601 da forma "1985-04-22". Preste atenção que é necessário incluir zeros, o formato "1985-4-22" seria inválido.    |

> * Parâmetro obrigatório.

> ** Parâmetro opcional. Pode ser necessário informar algum dos parâmetros opcionais para que a consulta funcione adequadamente.


### Exemplos de respostas (OK)
```json
{
  "code": 200,
  "code_message": "A requisição foi processada com sucesso.",
  "errors": [],
  "header": {
    "api_version": "v2",
    "service": "comprot/processo",
    "parameters": {
      "cpf": "11111111111",
      "data_inicio": "2018-09-02",
      "data_fim": "2018-11-05"
    },
    "client_name": "Minha Empresa",
    "token_name": "Token de Produção",
    "billable": true,
    "price": "0.2",
    "requested_at": "2018-11-05T15:07:27.000-02:00",
    "elapsed_time_in_milliseconds": 5107,
    "remote_ip": "111.111.111.111",
    "signature": "U2FsdGVkX1+rv2Q0brBig5FTVBEwT8ZWqNHNVX94jzba/HD7Q+5Osp32zCvQT6AxSAk09X5sKgy5GvHLF4ifpw=="
  },
  "data_count": 1,
  "data": [
    {
      "assunto": "",
      "cnpj": "",
      "cpf": "1111111111",
      "documento_origem": "AUTOPERDIMENTO",
      "eprocesso": "Sim",
      "interessado": "Nome de Exemplo",
      "movimento_data": "04/10/2018",
      "movimentos": [
        {
          "data": "04/10/2018",
          "tipo": "Movimentação",
          "sequencia": "0004",
          "relacao": "10239",
          "origem": "SEC PROGRAMACAO E LOGISTICA-DRF-FCA-SP",
          "destino": "DEL REC FED FRANCA-SP",
          "principal": ""
        },
        {
          "data": "27/09/2018",
          "tipo": "Movimentação",
          "sequencia": "0003",
          "relacao": "11031",
          "origem": "DEL REC FED FRANCA-SP",
          "destino": "SEC PROGRAMACAO E LOGISTICA-DRF-FCA-SP",
          "principal": ""
        },
        {
          "data": "14/09/2018",
          "tipo": "Movimentação",
          "sequencia": "0002",
          "relacao": "10267",
          "origem": "SECAO DE FISCALIZACAO-DRF-FRANCA-SP",
          "destino": "DEL REC FED FRANCA-SP",
          "principal": ""
        },
        {
          "data": "13/09/2018",
          "tipo": "Primeira Distribuição",
          "sequencia": "0001",
          "relacao": "00000",
          "origem": "PROTOCOLO DEL REC FED FRANCA-SP",
          "destino": "SECAO DE FISCALIZACAO-DRF-FRANCA-SP",
          "principal": ""
        }
      ],
      "numero": "11111.111111/1111-11",
      "orgao": "DEL REC FED FRANCA-SP",
      "orgao_origem": "SEC PROGRAMACAO E LOGISTICA-DRF-FCA-SP",
      "posicionamentos": [
        {
          "orgao_codigo": "11111111",
          "orgao_sigla": "Exemplo de texto",
          "orgao": "Exemplo de texto",
          "data": "23/05/2022",
          "hora": "17:23:59",
          "descricao": "Exemplo de texto",
          "detalhe": "Exemplo de texto"
        }
      ],
      "procedencia": "PROCESSO DIGITAL DRF/FCA/SAFIS",
      "profisc": "Não",
      "protocolo_data": "11/11/1111",
      "rm": "10239",
      "sequencia": "0004",
      "sief": "Protocolizado e Cadastrado pelo SIEF",
      "situacao": "EM ANDAMENTO",
      "tipo": "Digital",
      "uf": "SP",
      "site_receipt": "https://api.infosimples.com/receipt/exemplo-de-url"
    }
  ],
  "site_receipts": [
    "https://api.infosimples.com/receipt/exemplo-de-url"
  ]
}
```


### Arquivo de visualização de consulta

O arquivo de visualização de consulta (`site_receipts`) disponibilizado no retorno da API é **emitido pela fonte original**.

### Exemplos de códigos para integração com a API


#### Python
```python
# Testado com: Python 3.10.19, Python 3.14.0
import requests

url = 'https://api.infosimples.com/api/v2/consultas/comprot/processo'
args = {
  "cnpj":        "VALOR_DO_PARAMETRO_CNPJ",
  "cpf":         "VALOR_DO_PARAMETRO_CPF",
  "processo":    "VALOR_DO_PARAMETRO_PROCESSO",
  "data_inicio": "VALOR_DO_PARAMETRO_DATA_INICIO",
  "data_fim":    "VALOR_DO_PARAMETRO_DATA_FIM",
  "token":       "INFORME_AQUI_O_TOKEN_DA_CHAVE_DE_ACESSO",
  "timeout":     "300"
}

response = requests.post(url, args)
response_json = response.json()
response.close()

if response_json['code'] == 200:
  print("Retorno com sucesso: ", response_json['data'])
elif response_json['code'] in range(600, 799):
  mensagem = "Resultado sem sucesso. Leia para saber mais: \n"
  mensagem += "Código: {} ({})\n".format(response_json['code'], response_json['code_message'])
  mensagem += "; ".join(response_json['errors'])
  print(mensagem)

print("Cabeçalho da consulta: ", response_json['header'])
print("URLs com arquivos de visualização (HTML/PDF): ", response_json['site_receipts'])
```


## Estamos prontos para ajudar
Ainda tem alguma dúvida ou precisa de ajuda na sua integração? Entre em contato em [suporte@infosimples.com.br](mailto:suporte@infosimples.com.br) e receba ajuda da nossa equipe técnica altamente qualificada.
