Objetos Compartilhados
Boa parte dos dados são compartilhados entre Reservation e RentalAgreement. Abaixo as definições destes objetos podem ser localizadas de maneira facilitada.
Objeto reservation
{
"id": "0",
"channel": "reservation_central",
"reservation_date": "2020-03-31T08:15:00-03:00",
"sales_channel" : "PARCERIA TELEFONICA"
}
O objeto reservation é utilizado no endpoint de rental_agreement para representar a reserva que deu origem ao aluguel que será analisado. Este campo é necessário para que um rental_agreement seja vinculado à reserva. Representada da seguinte maneira:
| nome | tipo | descrição |
|---|---|---|
| id | inteiro | Identificador da reserva que deu origem ao aluguel. |
| channel | enumerador | Canal pelo qual foi feito a reserva para este aluguel. |
| reservation_date | DateTime | Data e Hora com fuso-horário do momento em que ocorreu a reserva para este aluguel. |
| sales_channel | string | Canal de vendas pelo qual a reserva foi realizada (ex.: PARCERIA MASTERCARD) |
Existem os seguintes enumeradores para o campo channel: walkin, reservation_central, app, website_mobile, website_desktop, partnerships e third_parties.
Objeto car
{
"model_group": "C",
"upgrade_model_group": "SV",
"group_description": "Sedan Médio 1.4",
"rental_daily_price": 48496
}
O objeto car representa um veículo que está sendo reservado (endpoint de reservation) ou retirado (endpoint de rental_agreement). Os dados enviados são:
| nome | tipo | descrição |
|---|---|---|
| model_group | string | O grupo do veículo, em letras maiúsculas. (obrigatório) |
| upgrade_model_group | string | O grupo do veículo do upgrade, em letras maiúsculas. |
| group_description | string | Uma descrição do grupo do veículo |
| rental_daily_price | inteiro | O valor da diária cobrado |
Objeto client
O objeto de client representa os dados referentes ao cliente que está fazendo a reserva ou retirada do veículo.
Objeto client (v1)
O exemplo "v1" representa o payload de exemplo antes da migração da scoragem principal para a reserva. Tanto para reservas quanto para rental_agreements.
{
"type": "natural_person",
"document_number": "123.456.789-00",
"name": "John Sample",
"gender": "female",
"birthdate": "2001-01-15",
"mother_name": "Mary Sample",
"email": "john.sample@sample.com.br",
"allowed_information_on_email": true,
"face_picture": "c77d1925-0e72-4634-8393-395dbbce498d",
"additional_pictures": [
"718b8caa-8ef5-446c-b101-2dbf6c7e401f",
"9c67f365-1427-4889-b963-d3729d437ff3",
"8006f82c-3a80-4371-914e-e88c91507711",
"42c6909e-51aa-4b6d-972f-f4684a047993",
"b7a88947-96bd-4557-81e9-a69a3c84f428"
],
"total_rents": 6,
"fidelity_points": 1200,
"documents": {
"rg": {
"document_number": "00000000",
"issuer": "SSP"
},
"cnh": {
"document_number": "000000000",
"security_code": "00000",
"first_issuance": "2015-07-20",
"expiration_date": "2030-07-26",
"state": "SP"
}
},
"residential_address": {
"street": "Av Brigadeiro Faria Lima",
"number": "2391",
"neighborhood": "Jardins",
"city": "SÃO PAULO",
"uf": "SP",
"complement": "",
"postal_code": "00000-000"
},
"commercial_address": {
"street": "Av Brigadeiro Faria Lima",
"number": "2391",
"neighborhood": "Jardins",
"city": "SÃO PAULO",
"uf": "SP",
"complement": "",
"postal_code": "00000-000"
},
"phones": [
{
"international_dial_code": "55",
"area_code": "11",
"number": "00000-0000",
"type": "mobile"
},
{
"international_dial_code": "55",
"area_code": "11",
"number": "00000-0000",
"type": "residential"
}
]
}
| nome | tipo | descrição |
|---|---|---|
| type | enum | Enumerador que define tipo do cliente. (obrigatório) |
| document_number | string | O CPF ou Passaporte do cliente. (obrigatório) |
| name | string | O nome completo do cliente. (obrigatório) |
| gender | enum | O gênero do cliente. (obrigatório) |
| birthdate | date | Data de nascimento do cliente. |
| mother_name | string | O nome completo da mãe do cliente. |
| string | O email informado pelo cliente. (obrigatório) | |
| allowed_information_on_email | booleano | Flag que indica se o cliente permitiu o envio de e-mails de marketing no momento do cadastro. (obrigatório) |
| face_picture | GUID | GUID da imagem previamente enviada cujo conteúdo é uma foto do rosto do cliente. |
| additional_pictures | List of GUIDs | Lista de GUIDs das imagens adicionais enviadas de rostos e documentos dos clientes. |
| total_rents | integer | Quantidade total de aluguéis do cliente. |
| fidelity_points | integer | Quantidade de pontos de fidelidade do cliente. |
| documents | documents | Objeto que contém o detalhamento dos documentos do cliente. (obrigatório) |
| residential_address | address | Endereço residencial do cliente. |
| commercial_address | address | Endereço comercial do cliente. |
| phones | List of phone | Lista com os telefones do cliente. (obrigatório) |
Existem os seguintes enumeradores para o campo type: natural_person, legal_person, replacement, fleet, uber, enterprise e agencia.
Existem os seguintes enumeradores para o campo gender: male, female e undefined.
Objeto client (v2)
Esta seção diz respeito às informações necessárias para o fluxo de análise de fraude primariamente na reserva.
O exemplo do objeto de "client (v2)" representa o payload de exemplo posterior à migração da scoragem principal para a reserva. Tanto para reservas quanto para rental_agreements.
{
"type": "natural_person",
"document_number": "123.456.789-00",
"name": "John Sample",
"gender": "female",
"birthdate": "2001-01-15",
"mother_name": "Mary Sample",
"email": "john.sample@sample.com.br",
"allowed_information_on_email": true,
"face_picture": "c77d1925-0e72-4634-8393-395dbbce498d",
"additional_pictures": [
"718b8caa-8ef5-446c-b101-2dbf6c7e401f",
"9c67f365-1427-4889-b963-d3729d437ff3",
"8006f82c-3a80-4371-914e-e88c91507711",
"42c6909e-51aa-4b6d-972f-f4684a047993",
"b7a88947-96bd-4557-81e9-a69a3c84f428"
],
"total_rents": 6,
"fidelity_points": 1200,
"documents": {
"rg": {
"document_number": "00000000",
"issuer": "SSP"
},
"cnh": {
"document_number": "000000000",
"security_code": "00000",
"first_issuance": "2015-07-20",
"expiration_date": "2030-07-26",
"state": "SP"
}
},
"residential_address": {
"street": "Av Brigadeiro Faria Lima",
"number": "2391",
"neighborhood": "Jardins",
"city": "SÃO PAULO",
"uf": "SP",
"complement": "",
"postal_code": "00000-000"
},
"commercial_address": {
"street": "Av Brigadeiro Faria Lima",
"number": "2391",
"neighborhood": "Jardins",
"city": "SÃO PAULO",
"uf": "SP",
"complement": "",
"postal_code": "00000-000"
},
"phones": [
{
"international_dial_code": "55",
"area_code": "11",
"number": "00000-0000",
"type": "mobile"
},
{
"international_dial_code": "55",
"area_code": "11",
"number": "00000-0000",
"type": "residential"
}
]
}
| nome | tipo | descrição |
|---|---|---|
| type | enum | Enumerador que define tipo do cliente. - type esperados: "natural_person", "legal_person", "replacement", "fleet", "uber", "agencia", "uber_semanal" (obrigatório) |
| document_number | string | O CPF ou Passaporte do cliente. (obrigatório) |
| name | string | O nome completo do cliente. |
| gender | enum | O gênero do cliente. (obrigatório) |
| birthdate | date | Data de nascimento do cliente. |
| mother_name | string | O nome completo da mãe do cliente. |
| string | O email informado pelo cliente. | |
| allowed_information_on_email | booleano | Flag que indica se o cliente permitiu o envio de e-mails de marketing no momento do cadastro. (obrigatório) |
| face_picture | GUID | GUID da imagem previamente enviada cujo conteúdo é uma foto do rosto do cliente. |
| additional_pictures | List of GUIDs | Lista de GUIDs das imagens adicionais enviadas de rostos e documentos dos clientes. |
| total_rents | integer | Quantidade total de aluguéis do cliente. |
| fidelity_points | integer | Quantidade de pontos de fidelidade do cliente. |
| documents | documents | Objeto que contém o detalhamento dos documentos do cliente. (obrigatório) |
| residential_address | address | Endereço residencial do cliente. |
| commercial_address | address | Endereço comercial do cliente. |
| phones | List of phone | Lista com os telefones do cliente. (obrigatório) |
Existem os seguintes enumeradores para o campo type: natural_person, legal_person, replacement, fleet, uber, enterprise e agencia.
Existem os seguintes enumeradores para o campo gender: male, female e undefined.
Objeto billing
{
"name": "Agência AAA",
"document_number": "00.000.000/0001-00",
"voucher_type":"ABCD75",
"voucher_description": "Pagamento pela Agência"
}
O objeto billing é utilizado para representar quem é o responsável pelo pagamento do aluguel, e é representado da seguinte maneira:
| nome | tipo | descrição |
|---|---|---|
| name | string | Nome da pessoa ou empresa responsável pelo pagamento do aluguel. |
| document_number | string | CPF, CNPJ ou Passaporte da pessoa ou empresa responsável pelo pagamento do aluguel. |
| voucher_type | string | Código alfanumérico que representa o tipo do voucher utilizado. |
| voucher_description | string | Descrição do tipo de voucher utilizado. |
Objeto address
{
"street": "Rua do Exemplo",
"number": "111",
"neighborhood": "Bairro do Teste",
"city": "Aparecida de Goiânia",
"uf": "GO",
"complement": "",
"postal_code": "00000-000"
}
O objeto address é utilizado para representar endereços em toda a API, endereços no território brasileiro são representados da seguinte maneira:
| nome | tipo | descrição |
|---|---|---|
| street | string | Rua do endereço, incluindo o logradouro, evitando, se possível, abreviações. |
| number | string | Número do imóvel, incluindo letras caso possua. |
| neighborhood | string | Bairro, sem abreviações. e.g.: Santa Felicidade |
| city | string | Nome completo da cidade, sem abreviações |
| uf | string | A unidade federativa, com duas letras maiúsculas. e.g.: SP |
| complement | string | Quaisquer complementos para localizar o imóvel. e.g.: Apartamento 101, Conjunto 12 |
| postal_code | string | O código postal da localidade, contendo o hífen. |
| country | string | Código ISO 3166-1 alfa-3 do país do endereço. |
No caso dos endereços cujo país não seja Brasil ("BRA"), o postal_code e a unidade federativa poderão ser preenchidos livremente.
Objeto documents
O objeto documents é utilizado para representar o detalhamento dos dados dos documentos informados pelo cliente. O objeto é representado da seguinte maneira:
| nome | tipo | descrição |
|---|---|---|
| rg | rg | Objeto que descreve as informações do RG do cliente. |
| cnh | cnh | Objeto que descreve as informações da CNH do cliente. |
Objeto rg
O objeto rg é utilizado para representar o detalhamento dos dados do RG informados pelo cliente. O objeto é representado da seguinte maneira:
| nome | tipo | descrição |
|---|---|---|
| document_number | string | Número do RG do cliente. |
| issuer | string | Órgão emissor e estado de emissão do RG do cliente. |
Objeto cnh
O objeto cnh é utilizado para representar o detalhamento dos dados da CNH informados pelo cliente. O objeto é representado da seguinte maneira:
| nome | tipo | descrição |
|---|---|---|
| document_number | string | Número de Registro da CNH do cliente. |
| security_code | string | Código de segurança da CNH do cliente. |
| first_issuance | date | Data da primeira emissão da CNH do cliente |
| expiration_date | string | Data de validade da CNH do cliente |
| state | string | Estado de emissão da CNH do cliente. |
Objeto phone
{
"international_dial_code": "1",
"area_code": "11",
"number": "99999-9999",
"type": "mobile"
}
Um objeto phone representa um número telefônico, dentro ou fora do Brasil e sua classificação. Para isso, os campos são:
| nome | tipo | descrição |
|---|---|---|
| international_dial_code | string | Código de discagem internacional, sem zero ou +, somente números. (obrigatório) |
| area_code | string | Código de área, sem zero, somente números. (obrigatório) |
| number | string | Número do telefone, sem o hífen. (obrigatório) |
| type | enum | Tipo de número: celular, residencial, comercial, etc. (obrigatório) |
Existem os seguintes enumeradores para tipo de telefone: residential, commercial, mobile.
Objeto coverage
{
"description": "S/ PROTEÇÃO AMERICAN PLATINUM",
"price": 0
}
Um objeto coverage está relacionado a uma cobertura contratada pelo locatário.
| nome | tipo | descrição |
|---|---|---|
| description | string | Descrição da cobertura contratada. (obrigatório) |
| price | integer | Preço diário da cobertura. (obrigatório) |