## ECRVSP / ATPV (Intenção de Venda) / Incluir
Inclui ATPV-e (Autorização para Transferência de Propriedade do Veículo) de um veículo no portal e-CRVsp do DETRAN de São Paulo.


### URL do site
- https://www.e-crvsp.sp.gov.br/

### Requisição
URL para POST: `https://api.infosimples.com/api/v2/consultas/ecrvsp/atpv/incluir`



| 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. |
| a3*                     | Identificador do certificado digital (token) A3 a ser utilizado.                                         |
| a3_pin*                 | PIN do certificado digital (token) A3 a ser utilizado.                                                   |
| login_cpf*              | CPF para login no site do ECRV.                                                                          |
| login_senha*            | Senha para login no site do ECRV. Caso a conta faça login com GOV.BR, deve informar a senha do GOV.BR.   |
| placa*                  | Placa do veículo.                                                                                        |
| renavam*                | RENAVAM do veículo.                                                                                      |
| chassi*                 | CHASSI do veículo.                                                                                       |
| hodometro*              | Hodômetro do veículo.                                                                                    |
| proprietario_email*     | E-mail do proprietário do veículo.                                                                       |
| proprietario_cpf_cnpj*  | CPF ou CNPJ do proprietário do veículo.                                                                  |
| comprador_cpf_cnpj*     | CPF ou CNPJ do comprador.                                                                                |
| comprador_nome*         | Nome do comprador.                                                                                       |
| comprador_email*        | E-mail do comprador.                                                                                     |
| comprador_cep*          | CEP do endereço do comprador. Para o CEP 99999-999, enviar <code>"99999999"</code>                       |
| comprador_municipio*    | Município do endereço do comprador.                                                                      |
| comprador_bairro*       | Bairro do endereço do comprador.                                                                         |
| comprador_logradouro*   | Logradouro do endereço do comprador.                                                                     |
| comprador_numero*       | Número do endereço do comprador.                                                                         |
| comprador_complemento** | Complemento do endereço do comprador.                                                                    |
| comprador_uf*           | UF do endereço do comprador. Para a UF de São Paulo, enviar <code>"SP"</code>                            |
| venda_valor*            | Valor de venda do veículo. Para o valor R$ 999.999,99, enviar <code>"999.999,99"</code>                  |

> * 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.",
  "header": {
    "api_version": "v2",
    "product": "Consultas",
    "service": "ecrvsp/atpv/imprimir",
    "parameters": {
      "a3_md5": "a43e006a66cb98c37282c850fc40866c",
      "a3_pin_md5": "ab20ad7cdf52e8a3595972ef488b636a",
      "chassi": "1AA11111AA1111111",
      "login_cpf_md5": "e379c59a3573be16480533ae3f53ea1b",
      "login_senha_md5": "e379c59a3573be16480533ae3f53ea1b",
      "placa": "AAA1111",
      "renavam": "1111111111",
      "municipio": "SAO PAULO / SP",
      "uf": "SP",
      "hodometro": "1000",
      "proprietario_email": "exemplo@email.com",
      "proprietario_cpf_cnpj": "12.345.678/9012-34",
      "comprador_cpf_cnpj": "12345678901234",
      "comprador_nome": "Exemplo de Nome",
      "comprador_email": "exemplo@email.com",
      "comprador_cep": "01310-200",
      "comprador_municipio": "São Paulo",
      "comprador_bairro": "Bela Vista",
      "comprador_logradouro": "Avenida Paulista",
      "comprador_numero": "100",
      "comprador_complemento": "apartamento 10",
      "comprador_uf": "SP",
      "venda_valor": "99.999,99"
    },
    "client_name": "Minha Empresa",
    "token_name": "Token de Produção",
    "billable": true,
    "price": "0.2",
    "requested_at": "2022-06-28T12:38:13.000-03:00",
    "elapsed_time_in_milliseconds": 342,
    "remote_ip": "111.111.111.111",
    "signature": "U2FsdGVkX19f6BZb62r85u/OQ7ANPjV0ZqS4Jh6OUo1fcHbAtzFvknErM+Q9iP6CEi4CstHcI/1TMq+WhZ0FdA=="
  },
  "data_count": 1,
  "data": [
    {
      "mensagem": "Exemplo de mensagem",
      "numero_atpve": "111111111111111"
    }
  ],
  "errors": [],
  "site_receipts": [
    "https://www.exemplo.com/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/ecrvsp/atpv/incluir'
args = {
  "a3":                    "VALOR_DO_PARAMETRO_A3",
  "a3_pin":                "VALOR_DO_PARAMETRO_A3_PIN",
  "login_cpf":             "VALOR_DO_PARAMETRO_LOGIN_CPF",
  "login_senha":           "VALOR_DO_PARAMETRO_LOGIN_SENHA",
  "placa":                 "VALOR_DO_PARAMETRO_PLACA",
  "renavam":               "VALOR_DO_PARAMETRO_RENAVAM",
  "chassi":                "VALOR_DO_PARAMETRO_CHASSI",
  "hodometro":             "VALOR_DO_PARAMETRO_HODOMETRO",
  "proprietario_email":    "VALOR_DO_PARAMETRO_PROPRIETARIO_EMAIL",
  "proprietario_cpf_cnpj": "VALOR_DO_PARAMETRO_PROPRIETARIO_CPF_CNPJ",
  "comprador_cpf_cnpj":    "VALOR_DO_PARAMETRO_COMPRADOR_CPF_CNPJ",
  "comprador_nome":        "VALOR_DO_PARAMETRO_COMPRADOR_NOME",
  "comprador_email":       "VALOR_DO_PARAMETRO_COMPRADOR_EMAIL",
  "comprador_cep":         "VALOR_DO_PARAMETRO_COMPRADOR_CEP",
  "comprador_municipio":   "VALOR_DO_PARAMETRO_COMPRADOR_MUNICIPIO",
  "comprador_bairro":      "VALOR_DO_PARAMETRO_COMPRADOR_BAIRRO",
  "comprador_logradouro":  "VALOR_DO_PARAMETRO_COMPRADOR_LOGRADOURO",
  "comprador_numero":      "VALOR_DO_PARAMETRO_COMPRADOR_NUMERO",
  "comprador_complemento": "VALOR_DO_PARAMETRO_COMPRADOR_COMPLEMENTO",
  "comprador_uf":          "VALOR_DO_PARAMETRO_COMPRADOR_UF",
  "venda_valor":           "VALOR_DO_PARAMETRO_VENDA_VALOR",
  "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.
