## Receita Federal / PER/DCOMP
 A API consulta pedidos PER/DCOMP (Pedido Eletrônico de Restituição, Ressarcimento ou Reembolso e Declaração de Compensação) no aplicativo de celular Receita Federal. Quando há mais de um pedido no retorno da pesquisa, os dados do primeiro pedido são retornados e, para os demais pedidos, apenas os seus números são retornados, permitindo que a consulta de dados completa de um determinado pedido seja feita posteriormente. 


### Site URL
- https://play.google.com/store/apps/details?id=br.gov.economia.receita.rfb&hl=pt_BR

### Request
POST endpoint: `https://api.infosimples.com/api/v2/consultas/receita-federal/perdcomp`



| Parameter  | Description                                                 |
| ---------- | ----------------------------------------------------------- |
| token*     | The token that will authenticate and authorize the request. |
| cpf**      | CPF of the individual to be queried.                        |
| cnpj**     | CNPJ of the company to be queried.                          |
| perdcomp** | Número do PER/DCOMP                                         |

> * Required parameter.

> ** Optional parameter. Sometimes it is necessary to set at least one of the optional parameters for the service to work properly.


### Response examples (OK)
```json
{
  "code": 200,
  "code_message": "A requisição foi processada com sucesso.",
  "errors": [],
  "header": {
    "api_version": "v2",
    "service": "receita-federal/perdcomp",
    "parameters": {
      "cnpj": "11111111111111",
      "data_fim": "",
      "data_inicio": ""
    },
    "client_name": "Minha Empresa",
    "token_name": "Token de Produção",
    "billable": true,
    "price": "0.2",
    "requested_at": "2021-06-28T16:57:54.000-03:00",
    "elapsed_time_in_milliseconds": 10,
    "remote_ip": "111.111.111.111",
    "signature": "U2FsdGVkX18z8cwGckH0vt8vfouyIM4UlzKO2bv8WYMTt5h1xvWgFZq2SOWpwoddhyuLqnb8j/jCMznOd7yybA=="
  },
  "data_count": 1,
  "data": [
    {
      "perdcomp": [
        {
          "perdcomp": "111111111111111111111111",
          "cnpj": "11111111111111",
          "cpf": "",
          "solicitante": "EXEMPLO DE NOME",
          "tipo_documento": "Declaração de Compensação",
          "tipo_credito": "Pagamento Indevido ou a Maior",
          "data_transmissao": "11/11/1111",
          "situacao": "Em análise",
          "situacao_detalhamento": "Recepcionado em procedimento de análise."
        }
      ],
      "site_receipt": "https://www.exemplo.com/exemplo-de-url"
    }
  ],
  "site_receipts": [
    "https://www.exemplo.com/exemplo-de-url"
  ]
}
```


### Preview file

The preview file (`site_receipts`) in the response JSON may be **synthesized by Infosimples** using data from the source (website/app) that processed the automation if the file generated by the source is not suitable for viewing.

### Code snippets


#### Python
```python
# Tested with: Python 3.10.19, Python 3.14.0
import requests

url = 'https://api.infosimples.com/api/v2/consultas/receita-federal/perdcomp'
args = {
  "cpf":      "VALUE_OF_PARAMETER_CPF",
  "cnpj":     "VALUE_OF_PARAMETER_CNPJ",
  "perdcomp": "VALUE_OF_PARAMETER_PERDCOMP",
  "token":    "WRITE_YOUR_TOKEN_HERE",
  "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'])
```


## We are here to help
Do you still need to figure something out? Reach us at [suporte@infosimples.com.br](mailto:suporte@infosimples.com.br) and our highly qualified support team will be happy to help.
