API Táxi Digital
API pública oferecida pela Táxi Digital para integrações com os nossos serviços.
Para acessar está API você precisará de um pré-cadastro.
Entre em contato conosco através do email atendimento@taxidigital.net ou telefone (11) 3090-2929.
URL de acesso https://api.taxidigital.net/APITD/
Para cada operação combine a URL de acesso com a URL da ação desejada.
No final de cada chamada você pode escolher o tipo de retorno json ou xml.
Exemplo: https://api.taxidigital.net/APITD/api/booking/payment/json
Autenticação
Em todas requisições deve ser enviado o header contendo usuário e senha de acesso pré-cadastrados separados por ":" e códficados com Base64 para autenticação.
Exemplo Autorization: 'Authorization: Basic ' . base64_encode($user . ':' . $pass)
[OPCIONAL] Caso possua acesso a API através de uma credencial do estabelecimento da rádio, é possível passar qual é o cliente que deseja acessar.
Exemplo: X-uiCliente: 9S6A5S1VV-ASD22-780A-8AS5-76AE42EB1192
Headers
POST /api/booking/estimate/json Host: https://api.taxidigital.net/APITD/ Authorization: Basic xxxxx Content-Type: application/x-www-form-urlencoded
Versionamento
Caso não passe o header X-Versao a API irá usar a versão mínima, que é a 1.
A versão mais recente da API é a 3.
Headers
POST /api/booking/estimate/json Host: https://api.taxidigital.net/APITD/ X-Versao: 3 Content-Type: application/json
Estabelecimento
Estas requisições são referentes ao acesso de dados através da credencial de API do estabelecimento da rádio.
Listar Clientes
Esta requisição retorna todos os clientes que possuem relação com o estabelecimento enviado.
[ATENÇÃO]
Para esta requisição funcionar é necessário acessar a API usando as credenciais do estabelecimento da rádio.
Requisição
Sem parâmetros para requisição
Retorno
{
"status": 1,
"data": {
"total_clients": 999,
"clients": [{
"client_id" : "C93236C0C-4462-5F69-978B-3C8FBD8AAA06",
"trade_name" : "Este é o nome fantasia do cliente",
"company_name" : "Esta é a nome razão social do cliente",
"cnpj": "59558411055140",
"contract_number": "001"
}]
}
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| clients | Array | Array com os clientes encontrados |
| client_id | ALPHA NÚMERICO | Identificador único do cliente |
| trade_name | TEXTO | Nome Fantasia |
| company_name | TEXTO | Razão Social |
| cnpj | TEXTO | CNPJ do cliente |
| contract_number | TEXTO | Número de contrato do cliente |
Usuários
Estas requisições são referentes a todo processo de gerenciamento de usuários.
Vincular Carteira Externa
Esta requisição efetua a vinculação de uma carteira digital com um usuário.
Requisição
{
"user_id": 1,
"external_wallet_id": 111119,
"wallet_type": "beam"
}
Parâmetros:
| Propriedade | Obrigatório | Tipo | Descrição |
| user_id | Sim | NÚMERICO | ID único da conta do usuário |
| external_wallet_id | Sim | NUMÉRICO | ID externo de vinculação |
| wallet_type | Sim | NÚMERICO | Código da empresa integradora. Valores possíveis: beam - Beam Wallet |
Retorno
{
"status": 1,
"message": "Operação realizada com sucesso!"
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| message | TEXTO | Texto informando o retorno |
Desvincular Carteira Externa
Esta requisição efetua a remoção do vinculo de uma carteira digital com um usuário.
Requisição
{
"external_wallet_id": 111119,
"wallet_type": "beam"
}
Parâmetros:
| Propriedade | Obrigatório | Tipo | Descrição |
| external_wallet_id | Sim | NUMÉRICO | ID externo de vinculação |
| wallet_type | Sim | NÚMERICO | Código da empresa integradora. Valores possíveis: beam - Beam Wallet |
Retorno
{
"status": 1,
"message": "Operação realizada com sucesso!"
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| message | TEXTO | Texto informando o retorno |
Serviços
Estas requisições são referentes a todo processo de gerenciamento, criação e cancelamento de serviços, assim como tras as opções referentes ao serviço como: estimativa de valores, preferências, formas de pagamento entre outros.
Estimativa de valores
Esta requisição tras a estimativa de valor se baseando na origem e destino.
Pode trazer apenas o valor do trajeto ou trazer as categorias existentes já com o valor
estimado.
As informações de latitude e longitude são necessárias pois a cooperativa pode estar com desconto
cadastrado para diferentes regiões.
ATENÇÃO: Se quiser passar uma rota, os parâmetros distance, ride_duration e encoded_polyline passam a
ser obrigatórios.
Requisição
{
"init_lat" : -23.540171,
"init_lng" : -46.613081,
"end_lat" : -23.565863,
"end_lng" : -46.651686,
//Opcionais
"waypoints" : [
{
"address_lat" : -23.554854,
"address_lng" : -46.662354
}
],
"reference_date" : "30/03/2020 15:49:30",
"route_type": "RE",
"distance": 123,
"ride_duration": 12000,
"encoded_polyline": "eix~FlflvOduChR|aDhR|vAemF"
}
Parâmetros:
| Propriedade | Obrigatório | Tipo | Descrição |
| init_lat | Sim | NÚMERICO | Latitude do endereço de origem |
| init_lng | Sim | NÚMERICO | Longitude do endereço de origem |
| end_lat | Sim | NÚMERICO | Latitude do endereço de destino |
| end_lng | Sim | NÚMERICO | Longitude do endereço de Destino |
| waypoints | Não | ARRAY | Paradas intermediárias entre a origem e o destino, na ordem em que devem ser percorridas. Alteram a distância e o valor estimados. |
| waypoints.address_lat | Sim | NÚMERICO | Latitude da parada |
| waypoints.address_lng | Sim | NÚMERICO | Longitude da parada |
| reference_date | Não | TEXTO | Data de referência da agenda do serviço |
| route_type | Não | TEXTO | Caso deseje mostrar a rota feita por você para o cliente, use esse parâmetro com o valor 'RE' |
| distance | Não | NÚMERICO | Distância em metros calculada pelo seu sistema |
| ride_duration | Não | NÚMERICO | Tempo de duração do trajeto em segundos calculado pelo seu sistema |
| encoded_polyline | Não | TEXTO | Polígono da rota calculado pelo seu sistema. |
Retorno com categorias
{
"status" : 1,
"data" : {
"total_categories" : 1,
"categories" : [{
"category_id" : "178",
"display_name" : "Taxi Comum",
"capacity" : 5,
"pickup_estimate" : "9",
"estimate": 32.4,
"currency_code" : "BRL",
"fixed_price" : "0",
"distance" : "7.500",
"estimate_id": "123",
"taximeter_configs":[
{
"start_date": "2023-10-02 10:00"
"end_date": "2023-10-02 12:00",
"distance":"7.500",
"title_fare":"tx b02",
"type_fare":"1",
"initial_fare":"3.50",
"additional_fare":"1.50",
"total_fare":"32.4"
}
]
}],
"estimate_fare" : ""
}}
}
Retorno sem categorias
{
"status" : 1,
"data" : {
"total_categories" : 0,
"categories" : [],
"estimate_fare" : {
"estimate" : "27,56",
"distance" : "8,39",
"desc_route" : "Está é apenas uma estimativa. O valor pode variar de acordo com o tráfego"
}
}
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| data | ARRAY | Em caso de sucesso retorna um array com o resultado |
| total_categories | NÚMERICO | Número total de categorias |
| categories | Array | Array com as categorias encontradas |
| category_id | NÚMERO | ID da categoria |
| display_name | TEXTO | Descrição da categoria |
| capacity | NÚMERO | Capacidade de passageiros do veículo |
| pickup_estimate | NÚMERO | Tempo estimado de chegada do táxi |
| estimate | NÚMERO | Valor estimado da tarifa do táxi |
| high_estimate (DEPRECIADO) | NÚMERO | Valor estimado mais alto da tarifa do táxi |
| low_estimate (DEPRECIADO) | NÚMERO | Valor estimado mais baixo da tarifa do táxi |
| currency_code | TEXTO | Moeda a que se refere o valor |
| estimate_fare | ARRAY | Array com informações do valor estimado do trajeto |
| distance | NÚMERO | Distância calculado do local de origem até destino |
| desc_route | TEXTO | Texto descrevendo o valor informado |
| fixed_price | NÚMERO | Retorna '1' quando se trata de preço fechado |
| estimate_id | NÚMERO | Código Númerico referente a estimativa |
| category.taximeter_configs | ARRAY | Configuração dos valores do taxímetro |
| category.taximeter_configs.start_date | TEXTO | Data inicial do taxímetro |
| category.taximeter_configs.end_date | TEXTO | Data final do taxímetro |
| category.taximeter_configs.distance | NUMÉRICO | Distância percorrida |
| category.taximeter_configs.title_fare | TEXTO | Título do taxímetro usado |
| category.taximeter_configs.type_fare | TEXTO | Bandeira do taxímetro |
| category.taximeter_configs.initial_fare | TEXTO | Valor da bandeirada |
| category.taximeter_configs.additional_fare | TEXTO | Valor da bandeira |
| category.taximeter_configs.total_fare | TEXTO | Valor mostrado no taxímetro |
Categorias
Esta requisição tras as categorias de acordo com a latitude e longitude informadas.
Não traz os valores. Para saber os valores de cada categorias utilizar a chamada Estimativa de valores
Requisição
{
"init_lat" : -23.540171,
"init_lng" : -46.613081,
"reference_date" : "30/03/2020 15:49:30"
}
Parametros:
| Propriedade | Obrigatório | Tipo | Descrição |
| init_lat | Sim | NÚMERICO | Latitude do endereço de origem |
| init_lng | Sim | NÚMERICO | Longitude do endereço de origem |
| reference_date | Não | TEXTO | Data de referência da agenda do serviço |
Retorno
{
"status" : 1,
"data" : {
"total_categories" : 1,
"categories" : [{
"category_id" : "178",
"display_name" : "Taxi Comum",
"capacity" : 5,
"pickup_estimate" : "9",
"fixed_price" : "0",
"distance" : "5.66",
"estimate_id": "123",
"taximeter_configs":[
{
"start_date": "2023-10-02 10:00"
"end_date": "2023-10-02 12:00",
"distance":"7.500",
"title_fare":"tx b02",
"type_fare":"1",
"initial_fare":"3.50",
"additional_fare":"1.50",
"total_fare":"32.4"
}
]
}]
}
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| data | ARRAY | Em caso de sucesso retorna um array com o resultado |
| total_categories | NÚMERICO | Número total de categorias |
| categories | Array | Array com as categorias encontradas |
| category_id | NÚMERO | ID da categoria |
| display_name | TEXTO | Descrição da categoria |
| capacity | NÚMERO | Capacidade de passageiros do veículo |
| pickup_estimate | NÚMERO | Tempo estimado de chegada do táxi |
| fixed_price | NÚMERO | Retorna '1' quando se trata de preço fechado |
| distance | NÚMERO | Distância calculado do local de origem até destino |
| estimate_id | NÚMERO | Código Númerico referente a estimativa |
| taximeter_configs | ARRAY | Configuração dos valores do taxímetro |
| taximeter_configs.start_date | TEXTO | Data inicial do taxímetro |
| taximeter_configs.end_date | TEXTO | Data final do taxímetro |
| taximeter_configs.distance | NUMÉRICO | Distância percorrida |
| taximeter_configs.title_fare | TEXTO | Título do taxímetro usado |
| taximeter_configs.type_fare | TEXTO | Bandeira do taxímetro |
| taximeter_configs.initial_fare | TEXTO | Valor da bandeirada |
| taximeter_configs.additional_fare | TEXTO | Valor da bandeira |
| taximeter_configs.total_fare | TEXTO | Valor mostrado no taxímetro |
Preferências
Esta requisição tras as preferências do serviço.
Se for passado o id da categoria trará apenas as preferências daquela categoria.
Requisição
{
"category_id" : 4
}
Parametros:
| Propriedade | Obrigatório | Tipo | Descrição |
| category_id | Não | NÚMERICO | Se informado trará apenas as preferências desta categoria |
Retorno
{
"status" : 1,
"data" : [
{
"preference_id" : "1",
"description" : "Mala Grande"
},
{
"preference_id" : "2",
"description" : "Transporta Animal"
},
{
"preference_id" : "3",
"description" : "Carro sem Insulfilme"
},
{
"preference_id" : "4",
"description" : "Fumante"
},
{
"preference_id" : "5",
"description" : "Banco de Couro"
},
{
"preference_id" : "6",
"description" : "Táxi Executivo"
}
]
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| data | ARRAY | Em caso de sucesso retorna um array com as preferências |
| preference_id | NÚMERICO | ID da preferência |
| description | TEXTO | Nome da preferência |
Formas de pagamento
Esta requisição tras as formas de pagamento disponíveis.
Se for passado o id da categoria trará apenas as formas de pagamento daquela categoria.
Requisição
{
"category_id" : 4
}
Parametros:
| Propriedade | Obrigatório | Tipo | Descrição |
| category_id | Não | NÚMERICO | Se informado trará apenas as formas de pagamento desta categoria |
Retorno
{
"status" : 1,
"data" : [
{
"payment_id" : "1",
"description" : "Dinheiro",
"is_required_contract" : "0"
},
{
"payment_id" : "3",
"description" : "Cartão",
"is_required_contract" : "0"
},
{
"payment_id":"6",
"description":"Corporativo Voucher",
"is_required_contract" : "1"
}
]
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| data | ARRAY | Em caso de sucesso retorna um array com as formas de pagamento |
| payment_id | NÚMERICO | ID da forma de pagamento |
| description | TEXTO | Nome da forma de pagamento |
| is_required_contract | NÚMERICO | Identifica se a forma de pagamento necessita de número de contrato ao solicitar o serviço. Caso seja "1" deve passar o campo "contract_number" ao solicitar um serviço. |
Solicitar Serviço
Esta requisição solicita ou agenda um serviço.
Os status de serviços podem ser seguidos através de webhooks
Requisição
{
"user_email" : "joao@taxidigital.net",
"user_phone_ddi" : "55",
"user_phone" : "11930902929",
"user_name" : "João da Silva",
"requester_name" : "João da Silva",
"init_address_name" : "Av. Celso Garcia",
"init_address_lat" : -23.540171,
"init_address_lng" : -46.613081,
"init_address_number" : "47",
"init_reference" : "Ao lado do posto",
"init_cep" : "08454014",
"init_real_lat" : -23.456484,
"init_real_lng" : -46.456484,
"end_address_name" : "Av. Paulista, 800",
"end_address_lat" : -23.565863,
"end_address_lng" : -46.651686,
"waypoints" : [
{
"address_name" : "Rua Augusta",
"address_number" : "1500",
"reference" : "Em frente à praça",
"cep" : "01304001",
"neighborhood" : "Consolação",
"city" : "São Paulo",
"address_lat" : -23.554854,
"address_lng" : -46.662354
}
],
"payment_id" : 5,
"preferences" : "1|3|4",
"schedule" : 1,
"schedule_date" : "20/02/2018",
"schedule_date" : "20/02/2018",
"schedule_lead_time" : "0",
"booking_hash" : "EasdfPpTwsnI0sD75yEN5n9AZOXktoi",
"external_authorization_id" : "53E4270B-56EE-45A7-B81E-6847410C4248",
"estimate_fare" : "25.58",
"estimate_km" : "6.01",
"user_imei" : "4868745354423156",
"driver_observation": "",
"blocked_license_plates": ["RIO2A18","SAO3S321"],
"operator_observation": "",
"user_platform" : "1",
"category_id" : "0",
"unique_field" : "001051551",
"share_group" : "",
"contract_number" : "12314",
"estimate_id": "123",
"unique_fields": [
{
"unique_field": "53E4270B-56EE-45A7-B81E-5557410C5A00",
"classificators": [
{
"field": 1,
"field_id": 2420891,
"field_value": "Atendimento"
},{
"field": 2,
"field_id": 2420895,
"field_value": "Manutenção"
},{
"field": 3,
"field_value": "2017"
}
]
}
]
}
Parametros:
| Propriedade | Obrigatório | Tipo | Descrição |
| user_email | Sim | TEXTO | email do usuário que está enviando a avaliação |
| user_phone_ddi | Sim | NÚMERICO | Código do país (DDI) do telefone do usuário. Exemplo: 55 para Brasil. |
| user_phone | Sim | TEXTO | Número do telefone do usuário. Formato (11)930902929 |
| user_name | Sim | TEXTO | Nome do usuário |
| requester_name | Não | TEXTO | Nome do Solicitante |
| booking_hash | Sim | TEXTO | Hash randômico com 32 caracteres. Evita de duplicar o serviço. Cada serviço deve ter seu próprio hash |
| external_authorization_id | Não | TEXTO | Identificador próprio de até 50 caractéres usado apra identificar o serviço. |
| init_address_name | Sim | TEXTO | Endereço de origem |
| init_address_lat | Sim | NÚMERICO | Latitude do endereço de origem |
| init_address_lng | Sim | NÚMERICO | Longitude do endereço de origem |
| init_address_number | Não | TEXTO | Número do endereço de origem |
| init_reference | Não | TEXTO | Ponto de referência do endereço de origem |
| init_cep | Não | NÚMERICO | CEP do endereço de origem |
| init_city | Não | TEXTO | Cidade do endereço de origem |
| init_neighborhood | Não | TEXTO | Bairro do endereço de origem |
| init_real_lat | Não | NÚMERICO | Latitude real do usuário |
| init_real_lng | Não | NÚMERICO | Longitude real do usuário |
| end_address_name | Não | TEXTO | Endereço de destino |
| end_address_lat | Não | NÚMERICO | Latitude do endereço de destino |
| end_address_lng | Não | NÚMERICO | Longitude do endereço de destino |
| end_neighborhood | Não | TEXTO | Bairro do endereço de destino |
| end_city | Não | TEXTO | Cidade do endereço de destino |
| waypoints | Não | ARRAY | Paradas intermediárias entre a origem e o destino, na ordem em que devem ser percorridas. O endereço de destino não entra nesta lista. |
| waypoints.address_name | Sim | TEXTO | Endereço da parada |
| waypoints.address_lat | Sim | NÚMERICO | Latitude da parada |
| waypoints.address_lng | Sim | NÚMERICO | Longitude da parada |
| waypoints.address_number | Não | TEXTO | Número do endereço da parada |
| waypoints.reference | Não | TEXTO | Ponto de referência da parada |
| waypoints.cep | Não | NÚMERICO | CEP da parada |
| waypoints.neighborhood | Não | TEXTO | Bairro da parada |
| waypoints.city | Não | TEXTO | Cidade da parada |
| payment_id | Não | NÚMERICO | ID único da forma de pagamento |
| preferences | Não | TEXTO | ID das preferências. Se tiver mais que uma devem ser separadas por pipe '|'. (ex: 1|3|4) |
| schedule | Não | NÚMERICO | Define se o serviço será agendado ou não 0 - Pede o serviço de momento 1 - Agenda o serviço. (neste caso os campos schedule_date e schedule_time são obrigatórios) |
| schedule_date | Não | TEXTO | Data do agendamento. É obrigatória se o campo schedule for 1. Formato 20/02/2018 |
| schedule_time | Não | TEXTO | Horário do agendamento. É obrigatória se o campo schedule for 1. Formato 12:30 |
| schedule_lead_time | Não | NÚMERICO | Tempo em minutos de antecedência em que o serviço agendado será disponíbilizado para os motoristas |
| estimate_fare | Não | TEXTO | Valor estimado que foi mostrado ao usuário |
| estimate_km | Não | TEXTO | KM estimado que foi mostrado ao usuário |
| prior_price | Não | NÚMERICO | Para preço fechado mandar valor 1 neste campo e o preço fechado será o valor enviado no campo estimate_fare |
| user_imei | Não | TEXTO | Número IMEI do aparelho |
| operator_observation | Não | TEXTO | Observação para o operador do sistema de despachos de serviços |
| driver_observation | Não | TEXTO | Observação para o motorista que atenderá o serviço |
| blocked_license_plates | Não | OBJETO | ARRAY contendo placas de veículos impedidos de atenderem o serviço(Número máximo 30 placas) |
| user_platform | Não | NÚMERICO | Plataforma do usuário. 1 - Web 2 - Android 3 - iOs 4 - Windows phone |
| category_id | Não | NÚMERICO | ID único da categoria selecionada |
| unique_fields | Não | OBJETO | Container para o envio de um ou mais autorizados. |
| unique_fields.classificators | Sim | ARRAY | Lista de campos de classificação a serem preenchidos |
| unique_fields.classificators.field | Sim | NUMBER | Numero do classificador de 1 a 12 |
| unique_fields.classificators.field_id | Não | NUMBER | (Obrigatório se for classificador de tipo lista) ID do valor de um classificador do tipo lista. |
| unique_fields.classificators.field_value | Sim | TEXT | Valor do classificador. (Se for um classificador do tipo lista deve ter o nome correto) |
| unique_field | Não | NÚMERICO | Código de identificação do autorizado (ex: matrícula). Necessário quando a forma de pagamento é 2 |
| contract_number | Não | NÚMERICO | Número do contrato. Obrigatório caso a forma de pagamento tenha "is_required_contract" = "1" |
| share_group | Não | TEXTO | chave simples ou composta para agrupamento de Serviços para um unico atendimento. |
| estimate_id | Não | NÚMERICO | Código referente a estimativa de valor selecionada. |
Retorno
{
"status" : 1,
"message" : "Solicitação enviada com sucesso",
"data" : 123,
"booking_code" : 14875,
"register_date" : "25/05/1977 08:46:08"
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| message | TEXTO | Texto informando o retorno |
| data | NÚMERO | ID único do serviço. Utilizado para ações no serviço |
| booking_code | NÚMERO | ID interno do serviço |
| register_date | DATETIME | Data e horário em que foi criado o serviço |
Editar Serviço
Esta requisição edita um serviço, só deveram ser enviados os parâmetros que serão alterados.
Requisição
{
"booking_id": "132154",
"user_email" : "joao@taxidigital.net",
"user_phone" : "11930902929",
"user_name" : "João da Silva",
"requester_name": "TESTE TD",
"init_address_name" : "Av. Celso Garcia",
"init_address_lat" : -23.540171,
"init_address_lng" : -46.613081,
"init_address_number" : "47",
"init_reference" : "Ao lado do posto",
"init_cep" : "08454014",
"end_address_name" : "Av. Paulista, 800",
"end_address_lat" : -23.565863,
"end_address_lng" : -46.651686,
"waypoints" : [
{
"address_name" : "Rua Augusta",
"address_number" : "1500",
"neighborhood" : "Consolação",
"city" : "São Paulo",
"address_lat" : -23.554854,
"address_lng" : -46.662354
}
],
"payment_id" : 5,
"preferences" : "1|3|4",
"estimate_fare" : "25.58",
"estimate_km" : "6.01",
"user_imei" : "4868745354423156",
"user_platform" : "1",
"category_id" : "0",
"unique_field" : "001051551",
"contract_number" : "12314",
"classificators": [
{
"field": 1,
"field_id": 2420892,
"field_value": "Desenvolvimento"
}
]
}
Parametros:
| Propriedade | Obrigatório | Tipo | Descrição |
| booking_id | Sim | NÚMERICO | ID único do serviço que será cancelada (retorna na chave "data" do enpoint de registro da corrida) |
| user_name | Sim | TEXTO | Nome do usuário usuário |
| unique_field | Não | NÚMERICO | Código de identificação do autorizado (ex: matrícula). Necessário quando a forma de pagamento é 2 |
| user_email | Não | TEXTO | email do usuário que está enviando a avaliação |
| user_phone | Não | TEXTO | Número do telefone do usuário. Formato (11)930902929 |
| init_address_lat | Não | NÚMERICO | Latitude do endereço de origem |
| init_address_lng | Não | NÚMERICO | Longitude do endereço de origem |
| init_address_number | Não | TEXTO | Número do endereço de origem |
| init_address_name | Não | TEXTO | Endereço de origem |
| init_neighborhood | Não | TEXTO | Bairro do endereço de origem |
| init_reference | Não | TEXTO | Ponto de referência do endereço de origem |
| init_cep | Não | NÚMERICO | CEP do endereço de origem |
| init_city | Não | TEXTO | Cidade do endereço de origem |
| end_address_name | Não | TEXTO | Endereço de destino |
| end_reference | Não | TEXTO | Ponto de referência do endereço de destino |
| end_city | Não | TEXTO | Cidade do endereço de destino |
| end_cep | Não | NÚMERICO | CEP do endereço de destino |
| end_address_lat | Não | NÚMERICO | Latitude do endereço de destino |
| end_address_lng | Não | NÚMERICO | Longitude do endereço de destino |
| waypoints | Não | ARRAY | Paradas intermediárias entre a origem e o destino, na ordem em que devem ser percorridas. O endereço de destino não entra nesta lista. Enviar a lista completa: as paradas informadas substituem as anteriores. |
| waypoints.address_name | Sim | TEXTO | Endereço da parada |
| waypoints.address_lat | Sim | NÚMERICO | Latitude da parada |
| waypoints.address_lng | Sim | NÚMERICO | Longitude da parada |
| waypoints.address_number | Não | TEXTO | Número do endereço da parada |
| waypoints.reference | Não | TEXTO | Ponto de referência da parada |
| waypoints.cep | Não | NÚMERICO | CEP da parada |
| waypoints.neighborhood | Não | TEXTO | Bairro da parada |
| waypoints.city | Não | TEXTO | Cidade da parada |
| payment_id | Não | NÚMERICO | ID único da forma de pagamento |
| category_id | Não | NÚMERICO | ID único da categoria selecionada |
| requester_name | Não | TEXTO | Nome do solicitante |
| estimate_fare | Não | TEXTO | Valor estimado que foi mostrado ao usuário |
| estimate_km | Não | TEXTO | KM estimado que foi mostrado ao usuário |
| preferences | Não | TEXTO | ID das preferências. Se tiver mais que uma devem ser separadas por pipe '|'. (ex: 1|3|4) |
| prior_price | Não | NÚMERICO | Para preço fechado mandar valor 1 neste campo e o preço fechado será o valor enviado no campo estimate_fare |
| user_imei | Não | TEXTO | Número IMEI do aparelho |
| user_platform | Não | NÚMERICO | Plataforma do usuário. 1 - Web 2 - Android 3 - iOs 4 - Windows phone |
| contract_number | Não | NÚMERICO | Número do contrato. Obrigatório caso a forma de pagamento tenha "is_required_contract" = "1" |
| estimate_id | Não | NÚMERICO | Código referente a estimativa de valor selecionada. |
Retorno
{
"status" : 1,
"message" : "Solicitação enviada com sucesso",
"data" : 123,
"booking_code" : 14875
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| message | TEXTO | Texto informando o retorno |
Motivos do cancelamento
Esta requisição tras os motivos do cancelamento do serviço.
O id do motivo é necessário na hora do cancelamento.
Requisição
{
}
Retorno
{
"status" : 1,
"data" : [
{
"reason_id" : "1",
"description" : "Não preciso mais de táxi"
},
{
"reason_id" : "2",
"description" : "Taxista demorando demais"
},
{
"reason_id" : "3",
"description" : "Outro"
}
]
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| data | ARRAY | Em caso de sucesso retorna um array com os motivos do cancelamento |
| reason_id | NÚMERICO | ID do motivo do cancelamento |
| description | TEXTO | Texto do motivo do cancelamento |
Cancelar serviço
Esta requisição cancela um serviço agendada ou não.
Requisição
{
"booking_id" : 1343,
"reason_id" : 2,
"description" : "Não preciso mais pois consegui uma carona",
"notify_user" : false
}
Parametros:
| Propriedade | Obrigatório | Tipo | Descrição |
| booking_id | Sim | NÚMERICO | ID único do serviço que será cancelada |
| reason_id | Sim | NÚMERICO | ID único do motivo do cancelamento |
| description | Não | TEXTO | Texto livre que pode ser enviado pelo usuário |
| notify_user | Não | BOOLEANO | Flag usada para habilitar o enviou ou não de uma notificação sobre o cancelamento para o usuário. O valor padrão é 'true' |
Retorno
{
"status" : 1,
"message" : "Serviço cancelado com sucesso"
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| message | TEXTO | Texto informando o retorno |
Informações do serviço
Esta requisição tras todas as informações do serviço em andamento.
Requisição
{
"booking_id" : 1343
}
Parametros:
| Propriedade | Obrigatório | Tipo | Descrição |
| booking_id | Sim | NÚMERICO | ID único do serviço |
Retorno
{
"status" : 1,
"data" : {
"in_progress" : "1",
"status_id" : "4",
"status_desc" : "Passageiro Embarcou",
"phone_number" : "01130902929",
"init_lat" : -23.569394,
"init_lng" : -46.639007,
"end_lat" : -23.621768,
"end_lng" : -46.697576,
"driver_name" : "JOÃO DOS SANTOS",
"driver_photo" : "http://taxidigital.net/photomoto=123",
"driver_prefix" : "999999",
"license_plate" : "FMT-2209",
"informed_time": "10",
"passed_informed_time" : "5",
"car_brand" : "TOYOTA",
"car_model" : "ETIOS",
"car_color" : "Branco"
}
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| data | ARRAY | Em caso de sucesso retorna um array com o resultado |
| in_progress | NÚMERICO | 0 - se o serviço já estiver finalizado 1 - se ainda estiver em andamento |
| status_id | NÚMERICO | Status do serviço: 0 - Serviço cancelada 2 - Motorista a caminho 3 - Motorista no local 4 - Passageiro embarcou 5 - Serviço finalizado 19 - Motorista aceitou o serviço |
| status_desc | TEXTO | Descrição do status do serviço |
| phone_number | TEXTO | Número de telefone. Enquanto o serviço não for aceita tras o número da rádio, quando um motorista aceitar tras o número do motorista |
| init_lat | NÚMERICO | Latitude do endereço de origem |
| init_lng | NÚMERICO | Longitude do endereço de origem |
| end_lat | NÚMERICO | Latitude do endereço de destino |
| end_lng | NÚMERICO | Longitude do endereço de destino |
| driver_name | TEXTO | Nome do motorista |
| driver_photo | TEXTO | URL da foto do motorista |
| driver_prefix | TEXTO | Prefixo do motorista |
| license_plate | TEXTO | Número da placa do veículo |
| informed_time | TEXTO | Tempo estimado pelo motorista |
| passed_informed_time | TEXTO | Tempo que passou após motorista informar estimativa |
| car_brand | TEXTO | Marca do veículo |
| car_model | TEXTO | Modelo do veículo |
| car_color | TEXTO | Cor do veículo |
Enviar mensagem
Esta requisição envia uma mensagem no chat.
Enquanto o serviço não for aceito a mensagem é enviada para a rádio e depois que for aceita é enviada para o motorista.
Requisição
{
"booking_id" : 1343,
"message" : "Estou no ponto de encontro"
}
Parametros:
| Propriedade | Obrigatório | Tipo | Descrição |
| booking_id | Sim | NÚMERICO | ID único do serviço |
| message | Sim | TEXTO | Texto livre que será enviado |
Retorno
{
"status" : 1,
"message" : "Mensagem enviada com sucesso"
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| message | TEXTO | Texto informando o retorno |
Avaliar Serviço
Esta requisição envia a avaliação do serviço.
A avaliação deve ser um número de 1 a 5.
Requisição
{
"booking_id" : 1343,
"user_email" : "joao@taxidigital.net",
"rating" : 5,
"comment" : "Muito eficiente"
}
Parametros:
| Propriedade | Obrigatório | Tipo | Descrição |
| booking_id | Sim | NÚMERICO | ID único do serviço que será avaliado |
| user_email | Sim | TEXTO | email do usuário que está enviando a avaliação |
| rating | Sim | NÚMERICO | Nota de 1 a 5 |
| comment | Não | TEXTO | Comentário feito pelo usuário |
Retorno
{
"status" : 1,
"message" : "Avaliação enviada com sucesso"
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| message | TEXTO | Texto informando o retorno |
Relatório de serviços
Esta requisição tras um relatório de serviços concluídos.
O tempo requisitado não pode ser maior do que 1 mês.
Requisição
{
"initial_date" : "01/09/2018 10:00:00",
"end_date" : "01/09/2018 18:00:00"
}
Parametros:
| Propriedade | Obrigatório | Tipo | Descrição |
| initial_date | Sim | Datetime | Data e horário inicial da busca |
| end_date | Sim | Datetime | Data e horário final da busca |
Retorno
{
"status" : 1,
"data" : [
{
"booking_id": "1234",
"service_id":"123",
"register_date":"9/1/2018 10:02:29 AM",
"source_name":"APP Cliente",
"user_system":"teste@teste.com.br",
"schedule":"False",
"schedule_date":"9/1/2018 10:02:29 AM",
"user_name":"João da Silva",
"user_phone":"12312412",
"category_name":"Táxi Comum",
"payment_name":"Voucher Eletrônico",
"init_address_name":"Av. Paulista",
"init_address_number":"1234",
"init_reference":"Avenida N2",
"init_address_lat":"-36.321",
"init_address_lng":"-46.567",
"end_address_name":"Av. Celso Garcia",
"end_address_lat":"-37.321",
"end_address_lng":"-46.123",
"end_with_password":"0",
"real_distance":"23.000",
"real_fare":"93.98",
"estimate_distance":"23.110",
"estimate_fare":"71.10",
"status_id":"42",
"status_name":"Aguardando Ateste Geral",
"user_email":"teste@teste.com",
"requester_name":"João da Silva",
"classifier1":"joao",
"classifier1_extra":"",
"classifier2":"1234",
"classifier2_extra":"",
"classifier3":"121",
"classifier3_extra":"",
"classifier4":"(11) 1234-1234",
"classifier4_extra":"",
"classifier5":"(11) 1234-1234",
"classifier5_extra":"",
"local_date":"9/1/2018 10:04:32 AM",
"start_date":"9/1/2018 10:07:11 AM",
"end_date":"9/1/2018 10:43:04 AM",
"taxi_company":"Taxi Digital",
"taxi_prefix":"1234",
"taxi_driver":"Manoel da Silva",
"taxi_vehicle_brand":"FIAT",
"taxi_vehicle_model":"WEEKEND",
"taxi_vehicle_plate":"AAA-1111",
"taxi_vehicle_color":"BRANCA",
"taxi_vehicle_model_year_":"2016"
}
]
}
Parametros:
| Propriedade | Tipo | Descrição |
| booking_id | NÚMERICO | ID do serviço |
| service_id | NÚMERICO | ID do serviço |
| register_date | DATETIME | Date e horário em que foi criada o serviço |
| source_name | TEXTO | Origem do serviço |
| user_system | TEXTO | E-mail do usuário |
| schedule | BOOLEANO | Se foi ou não agendada |
| schedule_date | DATETIME | Data do agendamento |
| user_name | TEXTO | Nome do usuário |
| user_phone | TEXTO | Celular do usuário |
| category_name | TEXTO | Nome da categoria |
| payment_name | TEXTO | Nome da forma de pagamento |
| init_address_name | TEXTO | Endereço de origem |
| init_address_number | TEXTO | Número do endereço de origem |
| init_reference | TEXTO | Referência do endereço de origem |
| end_address_name | TEXTO | Endereço de destino |
| real_distance | TEXTO | Distância real percorrida do serviço |
| real_fare | TEXTO | Taxa real |
| estimate_distance | TEXTO | Estimativa da distância |
| estimate_fare | TEXTO | Valor estimado do serviço |
| status_id | NÚMERICO | Status do serviço |
| status_name | TEXTO | Nome do status do serviço |
| user_email | TEXTO | E-mail do usuário |
| requester_name | TEXTO | Nome do solicitante |
| user_email | TEXTO | E-mail do usuário |
| classifier | TEXTO | Classificadores do 1 ao 24 e seus extras (Depende da configuração de cada empresa) |
| local_date | DATETIME | Data e hora local |
| start_date | DATETIME | Data e hora de inicio |
| end_date | DATETIME | Data e hora de término |
| taxi_company | TEXTO | Nome da empresa que atendeu |
| taxi_prefix | TEXTO | Prefixo do motorista |
| taxi_vehicle_brand | TEXTO | Marca do veículo |
| taxi_vehicle_model | TEXTO | Modelo do veículo |
| taxi_vehicle_plate | TEXTO | Placa do veículo |
| taxi_vehicle_color | TEXTO | Cor do veículo |
| taxi_vehicle_model_year | TEXTO | Ano do veículo |
Detalhes do serviço
Esta requisição tras todas as informações de um serviço.
Requisição
{
"booking_id" : 1343
}
Parametros:
| Propriedade | Obrigatório | Tipo | Descrição |
| booking_id | Sim | NÚMERICO | ID único do srviço |
Retorno
{
"status" : 1,
"data" : {
"date" : "02 OUT 2018",
"passenger_name":"João da Silva",
"passenger_number":"11657878787",
"payment_method":"Voucher Eletrônico",
"ride_value":"53,76",
"init_address" : "Av. Paulista, 123",
"init_reference" : "apt 12",
"init_lat" : -23.569394,
"init_lng" : -46.639007,
"end_address" : "Av. celso garcia, 21"
"end_lat" : -23.621768,
"end_lng" : -46.697576,
"driver_name" : "JOÃO DOS SANTOS",
"driver_photo" : "http://taxidigital.net/photomoto=123",
"driver_prefix" : "999999",
"license_plate" : "FMT-2209",
"car_model" : "ETIOS",
"init_date" : "01/09/2018 11:39:59",
"init_end":"01/09/2018 12:26:19",
"time_in_seconds": "2780",
"km":"21,795",
"status_id" : "4",
"status_desc" : "Passageiro Embarcou",
"service_value" : "59,27"
"stopped_time" : "00:00:00",
"stopped_time_value" : "0,42",
"tollgate_fare" : "0,00",
"parking_fare" : "0,00",
"discount_value" : "5,93",
"category_id" : "123",
"taximeter_configs": [
{
"start_date": "11/14/2023 12:01:52 PM",
"end_date": "11/14/2023 12:40:00 PM",
"distance": "23.247",
"title_fare": "teste",
"type_fare": "1",
"initial_fare": "4.97",
"additional_fare": "3.22",
"total_fare": "79.83"
}
]
}
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| data | ARRAY | Em caso de sucesso retorna um array com o resultado |
| date | Data | Data da solicitação |
| passenger_name | TEXTO | Nome do passageiro |
| phone_number | TEXTO | Número de telefone do passageiro |
| payment_method | TEXTO | Forma de pagamento utilizada |
| ride_value | REAIS | Valor total final |
| init_address | TEXTO | Endereço de origem |
| init_reference | TEXTO | Referência do endereço de origem |
| init_lat | NÚMERICO | Latitude do endereço de origem |
| init_lng | NÚMERICO | Longitude do endereço de origem |
| end_lat | NÚMERICO | Latitude do endereço de destino |
| end_lng | NÚMERICO | Longitude do endereço de destino |
| end_address | TEXTO | Endereço de destino |
| driver_name | TEXTO | Nome do motorista |
| driver_photo | TEXTO | URL da foto do motorista |
| driver_prefix | TEXTO | Prefixo do motorista |
| license_plate | TEXTO | Número da placa do táxi |
| car_model | TEXTO | Modelo do veículo |
| init_date | DATETIME | Data inicial |
| init_end | DATETIME | Data final |
| time_in_seconds | NÚMERICO | Tempo em segundos de duração do serviço |
| km | NÚMERICO | Valor em km de percurso do serviço |
| status_id | NÚMERICO | Status do serviço: 0 - Serviço cancelado 2 - Motorista a caminho 3 - Motorista no local 4 - Passageiro embarcou 5 - Serviço finalizada 19 - Motorista aceitou o serviço |
| status_desc | TEXTO | Descrição do status do serviço |
| service_value | REAIS | Valor do serviço |
| stopped_time | TEXTO | Tempo em que o motorista ficou parado |
| stopped_time_value | REAIS | Valor relacionado ao tempo em que o motorista ficou parado |
| tollgate_fare | REAIS | Valor da taxa de pedágio |
| parking_fare | REAIS | Valor da taxa de estacionamento |
| discount_value | REAIS | Valor do desconto oferecido |
| category_id | NUMÉRICO | ID da categoria |
| taximeter_configs | OBJETO | Informações do taxímetro. (OPCIONAL) |
| taximeter_configs.start_date | TEXTO | Data inicial do taxímetro |
| taximeter_configs.end_date | TEXTO | Data final do taxímetro |
| taximeter_configs.distance | NUMÉRICO | Distância percorrida |
| taximeter_configs.title_fare | TEXTO | Título do taxímetro usado |
| taximeter_configs.type_fare | TEXTO | Bandeira do taxímetro |
| taximeter_configs.initial_fare | TEXTO | Valor da bandeirada |
| taximeter_configs.additional_fare | TEXTO | Valor da bandeira |
| taximeter_configs.total_fare | TEXTO | Valor mostrado no taxímetro |
Detalhes do serviço por telefone
Esta requisição tras as informações do serviço de um determinado telefone.
Requisição
{
"phone_number" : 1194343879
}
Parametros:
| Propriedade | Obrigatório | Tipo | Descrição |
| phone_number | Sim | NÚMERICO | Número do telefone sem (somente números) |
Retorno
{
"status" : 1,
"data" : [
{
"request_id":"1234",
"request_number":"111",
"booking_id":"4321",
"status_id":"35",
"status_desc":"Serviço Associado",
"phone_number":"11959846321",
"driver_name":"João da Silva",
"driver_prefix":"10000",
"license_plate":"ABC-1234",
"estimated_time":"10",
"estimated_time_date":"2019-02-18 13:36:32",
"register_date":"2019-02-18 13:35:58",
"booking_date":"2019-02-18 13:36:00",
"car_phone_number":"11987654321"
}
]
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| data | ARRAY | Em caso de sucesso retorna um array com os serviços |
| request_id | NÚMERICO | Código interno do serviço |
| request_number | NÚMERICO | Número do serviço |
| booking_id | NÚMERICO | ID único do serviço |
| status_id | NÚMERICO | Status do serviço: 0 - Serviço cancelado 2 - Motorista a caminho 3 - Motorista no local 4 - Passageiro embarcou 5 - Serviço finalizado 19 - Motorista aceitou o serviço |
| status_desc | TEXTO | Descrição do status do serviço |
| phone_number | TEXTO | Número de telefone do passageiro |
| driver_name | TEXTO | Nome do motorista |
| driver_prefix | TEXTO | Prefixo do motorista |
| license_plate | TEXTO | Número da placa do táxi |
| estimated_time | NÚMERICO | Tempo estimado pelo motorista em minutos |
| estimated_time_date | DATA | Data e hora em que foi dada a previsão |
| register_date | DATA | Data de registro do serviço |
| booking_date | DATA | Data do serviço, no caso de agendamento tras a data agendada |
| car_phone_number | TEXTO | Número de telefone móvel cadastrado no veículo do motorista |
Altera retorno do serviço
Esta requisição altera o tipo do retorno do serviço.
Requisição
{
"request_id":"166338",
"return_type" : "1",
"user_description" : "URA"
}
Parametros:
| Propriedade | Obrigatório | Tipo | Descrição |
| request_id | Sim | NÚMERICO | ID único do serviço |
| return_type | SIM | NÚMERICO | 1. RingBack 2. SMS |
| user_description | SIM | Texto | Descrição de quem pediu a alteração |
Retorno
{
"status" : 1,
"message" : "Operação realizada com sucesso"
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| message | TEXTO | Texto informando o retorno |
Link de solicitação de serviço
Gera um link para uma página com um formulário para o usuário pedir um serviço.
Requisição
{
"phone_number":"11987586584",
"send_sms" : "1",
"text_sms" : "Você pode solicitar serviços através do link @dsLink@. Obrigado"
}
Parametros:
| Propriedade | Obrigatório | Tipo | Descrição |
| phone_number | Sim | NÚMERICO | Telefone do usuário |
| send_sms | Não | NÚMERICO | 0. Não envia SMS 1. Envia SMS |
| text_sms | Não | TEXTO | Texto do SMS. Deve contar a hash @dsLink@ |
Retorno
{
"status" : 1,
"message" : "Operação realizada com sucesso",
"link" : "https://tsetx.net/qr/8oei9"
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| message | TEXTO | Texto informando o retorno |
| link | TEXTO | Link da página |
Embarque Rápido (QR CODE)
O aplicativo do integrador deverá gerar um QRCODE com o seguinte conteúdo antes de enviar o serviço a API TD.
O external_authorization_id será o mesmo código que será enviado posteriormente à nossa API no endpoint de Solicitar Serviço.
A imagem do QRCODE gerada, deverá ser capturada pelo motorista através do aplicativo Taxidigital Motorista e assim que o mesmo fizer,
será enviado uma requisição através do webhook com o status 8 e external_authorization_id presente no QRCODE,
sinalizando ao integrador que a leitura foi realizada.
Requisição
{
"action":"quickstart",
"authorization":"aWJsQGlibC5jb20uYnI6aWJsMxYzMQ==",
"external_authorization_id":"53E4270B-56EE-45A7-B81E-6847410C4248"
}
Parametros:
| Propriedade | Obrigatório | Tipo | Descrição |
| action | Sim | TEXTO | Ação do QR CODE |
| authorization | Sim | TEXTO | Padrão de login:senha em base64 usado para logar na API |
| external_authorization_id | Sim | TEXTO | Identificador próprio de até 50 caractéres usado apra identificar o serviço. |
Retorno
{
"status" : 1,
"message" : "Operação realizada com sucesso",
"link" : "https://tsetx.net/qr/8oei9"
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| message | TEXTO | Texto informando o retorno |
| link | TEXTO | Link da página |
Lista de Pré-Aprovação
Esta requisição retorna a lista de serviços pendentes de pré-aprovação.
Requisição
{}
Parametros:
| Propriedade | Obrigatório | Tipo | Descrição |
| Nenhum | Não | - | Esta requisição não requer parâmetros |
Retorno
{
"status" : 1,
"data" : [
{
"booking_id" : 1343,
"booking_date" : "01/09/2018 11:39:59",
"passenger_name" : "João da Silva",
"requester_name" : "Maria da Silva",
"classifier1" : "Centro de Custo 1",
"classifier2" : "Projeto A",
"classifier3" : "",
"classifier4" : "",
"classifier5" : "",
"estimated_value" : "53,76",
"origin_address" : "Av. Paulista, 123",
"destination_address" : "Av. celso garcia, 21",
}
]
}
Parametros de Retorno:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| data | ARRAY | Em caso de sucesso retorna um array com os serviços pendentes de pré-aprovação |
| booking_id | NÚMERICO | ID único do serviço |
| booking_date | DATETIME | Data e hora do serviço |
| passenger_name | TEXTO | Nome do passageiro |
| requester_name | TEXTO | Nome do solicitante |
| classifier1 | TEXTO | Classificador 1 |
| classifier2 | TEXTO | Classificador 2 |
| classifier3 | TEXTO | Classificador 3 |
| classifier4 | TEXTO | Classificador 4 |
| classifier5 | TEXTO | Classificador 5 |
| estimated_value | TEXTO | Valor estimado do serviço |
| origin_address | TEXTO | Endereço de origem |
| destination_address | TEXTO | Endereço de destino |
Lista de Razões de Desaprovação
Esta requisição retorna a lista de razões de desaprovação disponíveis para pré-aprovação de serviços.
Requisição
{}
Parametros:
| Propriedade | Obrigatório | Tipo | Descrição |
| Nenhum | Não | - | Esta requisição não requer parâmetros |
Retorno
{
"status" : 1,
"data" : [
{
"disapproval_reason_id" : 1,
"description" : "Valor acima do permitido"
},
{
"disapproval_reason_id" : 2,
"description" : "Destino não autorizado"
},
{
"disapproval_reason_id" : 3,
"description" : "Horário não permitido"
}
]
}
Parametros de Retorno:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| data | ARRAY | Em caso de sucesso retorna um array com as razões de desaprovação |
| disapproval_reason_id | NÚMERICO | ID único da razão de desaprovação |
| description | TEXTO | Descrição da razão de desaprovação |
Aprovar Pré-Aprovação
Esta requisição aprova um serviço que está pendente de pré-aprovação.
Requisição
{
"booking_id" : 1343
}
Parametros:
| Propriedade | Obrigatório | Tipo | Descrição |
| booking_id | Sim | NÚMERICO | ID único do serviço |
Retorno
{
"status" : 1,
"message" : "Operação realizada com sucesso"
}
Parametros de Retorno:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| message | TEXTO | Mensagem de retorno |
Reprovar Pré-Aprovação
Esta requisição reprova um serviço que está pendente de pré-aprovação.
Requisição
{
"booking_id" : 1343,
"disapproval_reason_id" : 1,
"description" : "Valor acima do permitido para este centro de custo"
}
Parametros:
| Propriedade | Obrigatório | Tipo | Descrição |
| booking_id | Sim | NÚMERICO | ID único do serviço |
| disapproval_reason_id | Sim | NÚMERICO | ID da razão de desaprovação (obtido através da requisição preaut_disapproval_reasons) |
| description | Não | TEXTO | Descrição adicional do motivo da reprovação |
Retorno
{
"status" : 1,
"message" : "Operação realizada com sucesso"
}
Parametros de Retorno:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| message | TEXTO | Mensagem de retorno |
Motoristas
Estas requisições são referentes as ações sobre os motoristas
Posição do motorista
Esta requisição tras a última posição do motorista e seu status.
Um dos parametros é obrigatório.
Requisição
{
"booking_id" : 1343,
"driver_prefix" : 12351
}
Parametros:
| Propriedade | Obrigatório | Tipo | Descrição |
| booking_id | Não | NÚMERICO | ID único do serviço |
| driver_prefix | Não | NÚMERICO | Número do prefixo do motorista |
Retorno
{
"status" : 1,
"data" : {
"status" : "11",
"status_data" : "1519893641",
"latitude" : "-23.54654",
"longitude" : "-43.55456",
"position_date" : "1519893634"
}
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Status do motorista 11 - Livre 12 - Ocupado 13 - Passageiro |
| status_data | TIMESTAMP | Data referente ao status |
| latitude | NÚMERICO | Latitude da posição do motorista |
| longitude | NÚMERICO | Longitude da posição do motorista |
| position_date | TIMESTAMP | Data referente a posição |
Relatórios
Estas requisições são referentes aos relatórios do sistema
Pontos com veículos
Esta requisição traz a quantidade de veículos por PA.
Requisição
{
"pa_type" : 1,
"vehicle_filter_type" : "T"
}
Parâmetros:
| Propriedade | Obrigatório | Tipo | Descrição |
| pa_type | Sim | NÚMERICO | Tipo de PA (1 - Fila de Veiculos [Ponto]; 2 - Área de Veículos [Zona]) |
| vehicle_filter_type | Sim | TEXTO | Tipo de filtro do veículo (V - Apenas Pontos de Apoio com carros; T - Todos pontos de Apoio) |
Retorno
{
"status": 1,
"data": {
"total_pas": 43,
"pas": [
{
"pa_id": "19",
"pa_code": "LORDELO",
"latitude": "41.154424",
"longitude": "-8.649311",
"number_of_vehicles": "2"
}
]
}
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| data | ARRAY | Em caso de sucesso retorna um array com o resultado |
| total_pas | NÚMERICO | Quantidade de PA's retornada |
| pas | ARRAY | Array com os PAs encontrados |
| pa_id | NÚMERICO | ID do PA |
| pa_code | TEXTO | Código do PA |
| latitude | NÚMERICO | Latitude do PA |
| longitude | NÚMERICO | Longitude do PA |
| number_of_vehicles | NÚMERICO | Número de veículos dentro PA |
Credencial
Estas requisições são referentes a sua credencial da API
Listar Clientes
Esta requisição traz todos os clientes que sua credencial possui acesso.
Requisição
{
"lat" : -23.540171,
"lng" : -46.613081
}
Parâmetros:
| Propriedade | Obrigatório | Tipo | Descrição |
| lat | Não | NÚMERICO | Latitude do ponto central em que deseja fazer a pesquisa de clientes |
| lng | Não | NÚMERICO | Longitude do ponto central em que deseja fazer a pesquisa de clientes |
Retorno
{
"status": 1,
"data":{
"total_clients": 999,
"clients": [
{
"client_id": "22d444e4-2f3f-40ed-9aaf-54e48a234911",
"trade_name": "Teste",
"establishment_id": "22d444e4-2f3f-40ed-9aaf-54e48a234912",
"cnpj": "40525384000133"
},
{
"client_id": "736f5852-028f-489d-bd63-df513fdac22f",
"trade_name": "LTDA - ENGENHARIA",
"establishment_id": "736f5852-028f-489d-bd63-df513fdacxx1",
"cnpj": "86281541001111"
}
]
}
}
Parâmetros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| data | OBJECT | Em caso de sucesso retorna um objeto com o resultado |
| total_clients | NÚMERICO | Quantidade de clientes retornada |
| clients | ARRAY | Array com os clientes encontrados |
| client_id | ALPHA NÚMERICO | ID do cliente |
| establishment_id | NÚMERICO | ID do estabelecimento do cliente |
| cnpj | TEXTO | CNPJ do cliente |
Nova Sessão Externa de Serviço
Essa requisição cria uma nova sessão externa de corrida. Usada pra enviar o seguinte link
ao usuário
https://txdgt.com/ce/[session_token]
[ATENÇÃO]
Para esta requisição funcionar é necessário acessar a API usando as credenciais do estabelecimento da rádio.
Requisição
{
"session_type": "new_ride",
"user_phone_ddi": "55",
"user_phone": "1197725123"
}
{
"session_type": "tracking",
"booking_id": "00000000"
}
{
"session_type": "tracking",
"booking_code": "0000"
}
Parâmetros:
| Propriedade | Obrigatório | Tipo | Descrição |
| session_type | Sim | TEXTO | Tipo da sessão (tracking / new_ride) |
| booking_id | Não | NÚMERICO | ID único do serviço. Obrigatório quando session_type = tracking. Se usado, não deve-se usar o booking_code. |
| booking_code | Não | NÚMERICO | ID interno do serviço. Obrigatório quando session_type = tracking. Se usado, não deve-se usar o booking_id. |
| user_phone_ddi | Não | NÚMERICO | Código do país (DDI) do telefone do usuário. Obrigatório quando session_type = new_ride |
| user_phone | Não | TEXTO | Número do telefone do usuário. Obrigatório quando session_type = new_ride |
Retorno
{
"status" : 1,
"message" : "Solicitação enviada com sucesso",
"session_token" : 04a2c75c-b448-8601-1774-127fcb837e47
}
Parâmetros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| message | TEXTO | Texto informando o retorno |
| session_token | UUID | ID da sessão |
Explorer Porto
Estas requisições são referentes a áreas de atendimento de um estabelecimento (Disponívels apenas para estabelecimentos específicos).
Veículos por Área
Esta requisição traz a quantidade de veículos de acordo com as áreas equivalentes à Explorer Porto
Requisição
{}
Retorno
{
"status": 1,
"data": {
"4684C032-26AA-4A10-9F5F-D33652889685": {
"total_vehicles": 1
},
"7FC9BBC7-201C-48DC-A434-323F8DABD47C": {
"total_vehicles": 2
}
}
}
Parâmetros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| data | OBJECT | Em caso de sucesso retorna um objeto com o resultado |
| data.[UUID] | OBJECT | Objeto com as informações de acordo com a área da explorer porto (globalid) |
| data.[UUID].total_vehicles | NUMÉRICO | Quantidade de carros dentro da área |
Webhooks
A API irá enviar via POST para URL previamente informada cada informação de troca de status ou posição do motorista.
Retorno de status
{
"type" : "status",
"code" : "accepted",
"status" : 7,
"datetime" : 18456212651,
"data" : "{driver_name : João da Silva}",
"booking_id" : 1235456
}
Parametros:
| Propriedade | Tipo | Descrição |
| type | TEXTO | Informa o tipo de informação que está sendo enviada |
| code | TEXTO | Código de identificação do status |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| datetime | TIMESTAMP | Data e horário em que o evento foi gerado |
| data | ARRAY | Informações extra do status |
| amount | NÚMERICO | Informação extra. Valor do serviço, informado apenas quando status for 5 |
| stopped_time | NÚMERICO | Tempo parado durante o trajeto em segundos, informado apenas quando status for 5 |
| stopped_time_value | NÚMERICO | Valor referente o tempo parado durante o trajeto, informado apenas quando status for 5 |
| toll_value | NÚMERICO | Valor do pedágio, informado apenas quando status for 5 |
| parking_value | NÚMERICO | Valor do estacionamento, informado apenas quando status for 5 |
| discount_value | NÚMERICO | Valor do desconto, informado apenas quando status for 5 |
| driver_comment | TEXTO | Comentários do motorista, informado apenas quando status for 5 |
| km | NÚMERICO | Informação extra. Kilometragem, informado apenas quando status for 5 |
| time | NÚMERICO | Tempo de serviço em segundos. Valor do serviço, informado apenas quando status for 5 |
| category_id | NUMÉRICO | ID da categoria |
| taximeter_configs | OBJETO | Informações do taxímetro. informado apenas quando status for 5 e a versão da API selecionada for a v2 |
| taximeter_configs.start_date | TEXTO | Data inicial do taxímetro |
| taximeter_configs.end_date | TEXTO | Data final do taxímetro |
| taximeter_configs.distance | NUMÉRICO | Distância percorrida |
| taximeter_configs.title_fare | TEXTO | Título do taxímetro usado |
| taximeter_configs.type_fare | TEXTO | Bandeira do taxímetro |
| taximeter_configs.initial_fare | TEXTO | Valor da bandeirada |
| taximeter_configs.additional_fare | TEXTO | Valor da bandeira |
| taximeter_configs.total_fare | TEXTO | Valor mostrado no taxímetro |
| booking_id | NÚMERICO | ID único do serviço referente ao status |
| external_authorization_id | TEXTO | Identificador próprio de até 50 caractéres usado apra identificar o serviço. |
| api_version | TEXTO | Versão da API que foi usada para enviar o webhook |
Possíveis status
| status_code | code | message |
| 1 | searching | Procurando motorista |
| 3 | arrived | Táxi no local |
| 4 | in_progress | Passageiro embarcou |
| 5 | completed | Serviço finalizado |
| 6 | chat | Mensagem de chat |
| 7 | accepted | Motorista aceitou o serviço |
| 8 | read_qrcode | Motorista fez a leitura do QRCODE |
| 9 | reserved | Táxi Reservado |
| 10 | reprogramed | Serviço reprogramado |
Retorno de posição
{
"type" : "position",
"latitude" : "-24.56546",
"longitude" : "-43.56546",
"speed" : 0,
"angle" : 7,
"datetime" : 18456212651,
"booking_id" : 1235456,
"external_authorization_id" : "53E4270B-56EE-45A7-B81E-6847410C4248"
}
Parametros:
| Propriedade | Tipo | Descrição |
| type | TEXTO | Informa o tipo de informação que está sendo enviada |
| latitude | TEXTO | Latitude do motorista |
| longitude | TEXTO | Longitude do motorista |
| speed | NÚMERICO | Velocidade do táxi |
| angle | NÚMERICO | Angulo em uma grau de 360º |
| datetime | TIMESTAMP | Data e horário em que o evento foi gerado |
| booking_id | NÚMERICO | ID único do serviço |
Códigos de erro
Em todas as requisições você receberá o status que será 1 para sucesso e 0
para erro.
Retorno com erro
{
"status" : 0,
"status_code" : 3,
"code" : "incomplete_params",
"message" : "Parâmetros obrigatórios incompletos"
}
Parametros:
| Propriedade | Tipo | Descrição |
| status | NÚMERICO | Retorno 0 para erro e 1 para sucesso |
| status_code | NÚMERICO | Código de identificação do erro |
| code | TEXTO | Código de identificação do erro |
| message | TEXTO | Texto descrevendo o erro |
Possíveis erros
| status_code | code | message |
| 1 | invalid_url | URL inválida |
| 2 | action_not_found | Ação não encontrada |
| 3 | incomplete_params | Parâmetros obrigatórios incompletos |
| 4 | distance_error | Não foi possível calcular distância com o endereço informado |
| 5 | category_not_found | Categorias não disponíveis nesta região |
| 6 | reason_not_found | Erro ao buscar motivos de cancelamento |
| 7 | cancel_error | Erro ao cancelar serviço |
| 8 | send_error | Erro ao enviar mensagem |
| 9 | booking_info | Erro ao pegar dados do serviço |
| 10 | rating_error | Erro ao avaliar serviço |
| 11 | rating_value_error | A avaliação deve ser um número de 1 a 5 |
| 12 | erro_check_authorized | Erro ao validar autorizado |
| 13 | erro_position | Erro ao pegar posição |
| 14 | erro_edit | Erro ao editar |
| 15 | erro_criar | Erro ao criar autorizado |
| 16 | erro_busca_campo | Campo não encontrado |
| 18 | erro_listar_clientes | Erro ao listar clientes |
| 19 | erro_authorizeds_limit | Você pode passar no mínimo 1 e no máximo 200 autorizados... |
| 20 | erro_404_authorized | Autorizado não encontrado |
| 21 | operation_error | Falha ao executar operação |
| 22 | error_integration_exists | Integração já existente para o usuário fornecido |
| 23 | invalid_params | Alguns parâmetros inválidos |
| 24 | erro_limite_veiculo_placa | Ultrapassou número máximo de 30 placas |
| 25 | invalid_email | Email inválido |
| 26 | invalid_profile | Perfil inválido |
| 27 | invalid_pass | Senha inválida |
| 28 | erro_pk | Erro de chave primária |