Você está na página 1de 35

Integrações Sistemas Terceiros

API Integrações TMOV

O objetivo desta documentação é demonstrar como deve ser realizada as integrações com o
TMOV para a criação de lotes, contratos e match de motoristas com cargas. Todos os métodos
utilizam protocolo HTTP para comunicação.

• API Integrações TMOV


• Informações Iniciais
• Ambientes
• Endpoints
o Códigos de Resposta Padrão
o Token
▪ POST - /v1/token
▪ POST - /v1/Token/RefreshToken
o Cliente
▪ POST - /v1/Cliente
o Lote / Contrato
▪ POST - /v1/LoteContrato
▪ PUT - /v1/LoteContrato/Status
o Motorista
▪ GET - /v1/Motorista
o Veículo
▪ GET - /v1/Veiculo
o Conjunto
▪ GET - /v1/Conjunto
▪ GET - /v1/Conjunto/status
o Documentos de Viagem
▪ POST - /v1/DocumentoLote
▪ DELETE - /v1/DocumentoLote/cte/{protocoloId}/{documentoId}
▪ DELETE - /v1/DocumentoLote/{protocoloId}/{documentoId}
• Webhooks
o Viagem Liberada

Informações Iniciais
Caso não possua, solicite cadastro de sua empresa no ambiente TMOV para adquirir as
credenciais de acesso a API.

Ambientes
Ambiente Base URL
Produção https://api-integracao-terceiros.tmov.com.br
Homologação https://api-integacao-terceiros-hml.tmov.com.br

Endpoints
A seguir serão listados os endpoints disponíveis na API Integração TMOV.

Códigos de Resposta Padrão


Status Code Message
200 Retorna Json com o resultado da busca
401 Token inválido ou expirado
404 Registro/Rota não localizado(a).
500 Erro interno da aplicação. Contactar TMOV.
Token
Relação dos endpoints para realização de autenticação e renovação de tokens de acesso a API
TMOV.

POST - /v1/token

Endpoint responsável para gerar o token de autorização a ser enviado nas chamadas para a api.

Corpo da Requisição

Campos Descrição
clienID* string Id cliente cadastrado na TMOV
secret* string Chave secreta da acesso

Request Body

{
"clientID": "tmov-transportadora",
"secret": "59bf7db0-6183-4a6c-9d4f-28085f362067"
}

Exemplo de chamada

curl --request POST \


--url ${base_url}/v1/Token \
--header 'Content-Type: application/json' \
--data '{
"clientID" : "clientid",
"secret": "secret"
}'

Exemplo de resposta

Status Code: 200


{
"token": "string",
"refreshToken": "string",
"expiresIn": 3600,
"expiresDateUTC": "2022-02-25T01:32:19.5565454+00:00"
}

Descritivo da resposta

Campos Descrição
Token que deve ser encaminhado no header a todas as chamadas de apis de
token
integração TMOV. Por default o token tem validade de 1h
Token deve ser utilizado para gerar um novo token após expiração do
refreshToken
principal
expiresIn Tempo de duração do token em segundos
expiresDateUTC Data de expiração do token

POST - /v1/Token/RefreshToken

Endpoint responsável para atualizar o token de autorização.

Corpo da Requisição

Campos Descrição
refresh_token* string Token para ser utilizado para obter um novo token quando expirado

Request Body

{
"refresh_token": "59bf7db0-6183-4a6c-9d4f-28085f362067"
}

Exemplo de chamada

curl --request POST \


--url ${base_url}/v1/Token/RefreshToken \
--header 'Content-Type: application/json' \
--data '{
"refresh_token" : "token"
}'

Exemplo de resposta

Status Code: 200

{
"token": "string",
"refreshToken": "string",
"expiresIn": 3600,
"expiresDateUTC": "2022-02-25T01:32:19.5565454+00:00"
}

Descritivo da resposta

Campos Descrição
Token que deve ser encaminhado no header a todas as chamadas de apis
token
de integração TMOV. Por default o token tem validade de 1h
Token deve ser utilizado para gerar um novo token após expiração do
refreshToken
principal
expiresIn Tempo de duração do token em segundos
expiresDateUTC Data de expiração do token

Cliente
API para gerenciamento de clientes dentro da TMOV.

POST - /v1/Cliente

Cadastra cliente ou insere o endereço caso cliente já exista.


Corpo da Requisição

Campos Descrição
nomeFantasia* string Nome Fantasia
razaoSocial* string Descrição Razão Social
cpfCnpj* string Código CPF ou CNPJ (somente números)
logradouro* string Descrição do logradouro do endereço
cep* string Número do CEP (somente números)
numero* string Número do endereço
complemento* string Descrição do complemento do endereço
celular* string Número de telefone (somente números)
codigoIbge* int Código IBGE do município do endereço

Request Body

{
"nomeFantasia": "string",
"razaoSocial": "string",
"cpfCnpj": "string",
"logradouro": "string",
"cep": "string",
"celular": "string",
"numero": "string",
"complemento": "string",
"codigoIbge": 0
}

Exemplo de chamada

curl --request POST \


--url '$base_url/v1/Cliente' \
--header 'Authorization: Bearer ${token}' \
--header 'Content-Type: application/json' \
--data '{
"nomeFantasia": "string",
"razaoSocial": "string",
"cpfCnpj": "string",
"logradouro": "string",
"cep": "string",
"celular": "string",
"numero": "string",
"complemento": "string",
"codigoIbge": 0
}'

Lote / Contrato
API para gerenciamento de lotes e contratos dentro da TMOV.

POST - /v1/LoteContrato

Cria um lote/contrato a partir dos dados informados.

Caso não seja informado o objeto “contrato” será criado somente o lote.

Corpo da Requisição

Campos Descrição
pagadorCpfCnpj* string Número do documento do cliente pagador
shipper int Código do shipper responsável pelo lote
demanda int Código da demanda que o lote pertence
pesoContratado int Peso contratado para o lote
cadenciaDiaria int Cadência diária para o lote
naturezaDescricao* string Natureza do lote, exemplo: ‘MILHO’
tarifaEmpresa int Tarifa Empresa
tarifaMotoristaPf int Tarifa motorista quando pessoa física
tarifaMotoristaPj int Tarifa motorista quando pessoa jurídica
pedagioInclusoFreteMotorista* string Indica se o pedágio está incluso no valor do frete
especie* string Espécie do lote, exemplo: TONELADA
numeroPedidoCliente* string Número de contrato gerado no cliente.
observacao* string Observações do lote
dataInicio* string Data Início validade do lote
dataFim* string Data fim de validade do lote
clientes array Array de clientes que compõem o lote
clientes[].nomeFantasia* string Nome fantasia do cliente
clientes[].razaoSocial* string Descrição razão social do cliente
clientes[].cpfCnpj* string Número do documento
clientes[].tipo* string Tipo do cliente; Valores possível: REMETENTE
clientes[].logradouro* string Endereço descritivo do cliente
clientes[].numero* string Número do endereço do cliente
clientes[].codigoIBGE int Código IBGE da cidade do cliente
clientes[].ativo* boolean Indica se o cliente está ativo
Objeto que contém os dados do contrato. Caso
contrato
não seja informado será criado somente o lote.
contrato.descricao* string Descrição do contrato
contrato.numeroCakcn* string Número Cakcn
Responsável Seguro. Obs.: Confirme junto a
contrato.status* string | default = 0 TMOV o valor que deve ser informado neste
campo para sua integração.
Responsável Seguro. Obs.: Confirme junto a
contrato.responsavelSeguro* string |
TMOV o valor que deve ser informado neste
default = 4
campo para sua integração.
contrato.cfop* string Código CFPO do contrato
Código da observação fiscal. Obs.: Confirme
contrato.observacaoFiscal int | default = 8 junto a TMOV o valor que deve ser informado
neste campo para sua integração.
Código do termo de estadia. Obs.: Confirme
contrato.termoEstadia int | default = 4 junto a TMOV o valor que deve ser informado
neste campo para sua integração.
contrato.observacao string Observações do contrato quando necessário.
contrato.observacoesCtrc* string Observações Ctrc
Código da regra de documentos para
contrato.regraDocumentosFaturamento* int faturamento. Obs.: Confirme junto a TMOV o
| default = 9 valor que deve ser informado neste campo para
sua integração.
Código identificação movimentação empresa.
contrato.movimentacaoEmpresa* int |
Obs.: Confirme junto a TMOV o valor que deve
default = 4
ser informado neste campo para sua integração.
contrato.tipoPedagioEmpresa* string S - Somado, R - Sem redução, I - Incluso
Código de movimentação do motorista. Obs.:
contrato.movimentacaoMotorista* int |
Confirme junto a TMOV o valor que deve ser
default = 315
informado neste campo para sua integração.
Array de CPFs de usuários com acesso ao
contrato.usuarios[]*
contrato
contrato.usuarios[].cpf* string CPF do usuário com acesso ao contrato
Valores - 0 - Emissão Normal, 4 -
contrato.cpftipoServico* string
Subcontratação

Request Body

{
"id": 0,
"pagadorCpfCnpj": "string",
"shipper": 0,
"demanda": 0,
"pesoContratado": 0,
"cadenciaDiaria": 0,
"naturezaDescricao": "string",
"tarifaEmpresa": 0,
"tarifaMotoristaPf": 0,
"tarifaMotoristaPj": 0,
"pedagioInclusoFreteMotorista": "string",
"especie": "string",
"numeroPedidoCliente": "string",
"observacao": "string",
"dataInicio": "2022-03-31T14:44:07.109Z",
"dataFim": "2022-03-31T14:44:07.109Z",
"clientes": [
{
"nomeFantasia": "string",
"razaoSocial": "string",
"cpfCnpj": "string",
"tipo": "string",
"logradouro": "string",
"numero": "string",
"codigoIBGE": 0,
"ativo": true
}
],
"contrato": {
"id": 0,
"descricao": "string",
"numeroCakcn": "string",
"status": "string",
"responsavelSeguro": "string",
"cfop": "string",
"observacaoFiscal": 0,
"termoEstadia": 0,
"observacao": "string",
"observacoesCtrc": "string",
"regraDocumentosFaturamento": 0,
"movimentacaoEmpresa": 0,
"tipoPedagioEmpresa": "string",
"movimentacaoMotorista": 0,
"usuarios": [
{
"cpf": "string"
}
],
"tipoServico": "string",
"layoutOcCodigoErp": 0,
"layoutOcDescricao": "string",
"idRegraDocumentosExigidos": 0,
"idDocumentosExigidosTermoEstadia": 0
}
}

Exemplo de chamada

curl --request POST \


--url '$base_url/v1/LoteContrato' \
--header 'Authorization: Bearer ${token}' \
--header 'Content-Type: application/json' \
--data '{
"id": 0,
"pagadorCpfCnpj": "string",
"shipper": 0,
"demanda": 0,
"pesoContratado": 0,
"cadenciaDiaria": 0,
"naturezaDescricao": "string",
"tarifaEmpresa": 0,
"tarifaMotoristaPf": 0,
"tarifaMotoristaPj": 0,
"pedagioInclusoFreteMotorista": "string",
"especie": "string",
"numeroPedidoCliente": "string",
"observacao": "string",
"dataInicio": "2022-03-31T14:44:07.109Z",
"dataFim": "2022-03-31T14:44:07.109Z",
"clientes": [
{
"nomeFantasia": "string",
"razaoSocial": "string",
"cpfCnpj": "string",
"tipo": "string",
"logradouro": "string",
"numero": "string",
"codigoIBGE": 0,
"ativo": true
}
],
"contrato": {
"id": 0,
"descricao": "string",
"numeroCakcn": "string",
"status": "string",
"responsavelSeguro": "string",
"cfop": "string",
"observacaoFiscal": 0,
"termoEstadia": 0,
"observacao": "string",
"observacoesCtrc": "string",
"regraDocumentosFaturamento": 0,
"movimentacaoEmpresa": 0,
"tipoPedagioEmpresa": "string",
"movimentacaoMotorista": 0,
"usuarios": [
{
"cpf": "string"
}
],
"tipoServico": "string",
"layoutOcCodigoErp": 0,
"layoutOcDescricao": "string",
"idRegraDocumentosExigidos": 0,
"idDocumentosExigidosTermoEstadia": 0
}
}'

Exemplo de resposta

Status Code: 200

{
"idLote": 000000000,
"idContrato": 0000000000,
}

Descritivo da resposta
Campos Descrição
idLote Código do lote criado na TMOV
idContrato Código do contrato gerado na TMOV

PUT - /v1/LoteContrato/Status

Atualiza status do lote

Corpo da Requisição

Campos Descrição
idLote* int Código identificador do lote na TMOV.
Status do Lote

• 1 - Carregando
status* int • 2 - Suspenso
• 3 - Encerrado
• 4 - Finalizado

idContrato int Código identificador do contrato na TMOV

Request Body

{
"idLote": int,
"status": int,
"idContrato": int
}

Exemplo de chamada

curl --request POST \


--url '$base_url/v1/LoteContrato/Status' \
--header 'Authorization: Bearer ${token}' \
--header 'Content-Type: multipart/form-data' \
--data '{
"idLote": int,
"status": int,
"idContrato": int
}'

Exemplo de resposta

Status Code: 200

{
"IdLote" = int,
"NrContrato" = int
}

Descritivo da resposta

Campos Descrição
IdLote Código identificar do lote alterado
NrContrato Código identificador do contrato.

Motorista
API para gerenciamento de motoristas dentro da TMOV.

GET - /v1/Motorista

Endpoint responsável para buscar dados de um motorista em específico.

Parâmetros

Query Params Descrição


cpf* string Número do CPF do motorista

Exemplo de chamada

curl --request GET \


--url '$base_url/v1/Motorista?cpf=02458745852' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer ${token}

Exemplo de resposta

Status Code: 200

{
"pessoaFisica": {
"cpf": "string",
"nome": "string",
"nomeMae": "string",
"nomePai": "string",
"numeroPIS": "string",
"estadoCivil": "solteiro",
"naturalidade": "string",
"dataNascimento": "2022-03-31T13:52:53.754Z"
},
"numeroRegistroCNH": "string",
"categoriaCNH": "string",
"codigoSegurancaCNH": "string",
"numeroFormularioCNH": "string",
"numeroRenachCNH": "string",
"ufEmissaoCNH": "string",
"dataEmissaoCNH": "string",
"dataValidadeCNH": "2022-03-31T13:52:53.754Z"
}

Descritivo da resposta

Campos Descrição
pessoaFisica Objeto que contém os dados pertinentes a pessoa física
numeroRegistroCNH Número de registro da CNH
categoriaCNH Categoria da CNH
codigoSegurancaCNH Código de segurança da CNH
numeroFormularioCNH Número de Formulário CNH
numeroRenachCNH Número de registro do Renach
ufEmissaoCNH Sigla do estado de emissão da CNH
dataEmissaoCNH Data de emissão da CNH
dataValidadeCNH Data de validade da CNH

Veículo
API para gerenciamento de veículos dentro da TMOV.

GET - /v1/Veiculo

Endpoint responsável para buscar dados de um veículo em específico.

Parâmetros

Query Params Descrição


placa* string Placa do veículo consultado

Exemplo de chamada

curl --request GET \


--url '$base_url/v1/Veiculo?placa=ABC9F09' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer ${token}'

Exemplo de resposta

Status Code: 200


{
"placa": "ABC9F09",
"tracao": true,
"chassi": "string",
"renavam": "string",
"numeroCRLV": "string",
"cor": "string",
"marca": "string",
"modelo": "string",
"carroceria": "string",
"tipo": "string",
"anoFabricacao": "string",
"anoModelo": "string",
"codigoIBGECidadeLicenciamento": 0,
"cidadeLicenciamento": "string",
"codigoIBGEEstadoLicenciamento": 0,
"ufEstadoLicenciamento": "string",
"nomeEstadoLicenciamento": "string"
}

Descritivo da resposta

Campos Descrição
placa Número da placa do veículo
chassi Número do chassi do veículo
renavam Número do renavam do veículo
numeroCRLV Número do registro do CRLV
cor Descrição da cor do veículo
marca Descrição da Marca
modelo Descrição do modelo
carroceria Descrição do tipo de carroceria
tipo Descrição do tipo do veículo
anoFabricacao Ano de Fabricação
anoModelo Ano do modelo
codigoIBGECidadeLicenciamento Código IBGE da cidade onde o veículo foi licenciado
cidadeLicenciamento Descrição da cidade do licenciamento
codigoIBGEEstadoLicenciamento Código IBGE do estado onde o veículo foi licenciado
ufEstadoLicenciamento UF do estado do licenciamento
nomeEstadoLicenciamento Nome do estado onde o veículo foi licenciado

Conjunto
API para gerenciamento de conjuntos dentro da TMOV.

GET - /v1/Conjunto

Endpoint responsável para buscar dados de um conjunto em específico.

Parâmetros

Query Params Descrição


cpf* string CPF do motorista que deseja buscar o conjunto em específico.

Exemplo de chamada

curl --request GET \


--url '$base_url/v1/Conjunto?cpf=12345678910' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer ${token}'

Exemplo de resposta

Status Code: 200

{
"motorista": {
"pessoaFisica": {
"cpf": "12345678910",
"nome": "string",
"nomeMae": "string",
"nomePai": "string",
"numeroPIS": "string",
"estadoCivil": "string",
"naturalidade": "string",
"dataNascimentoStr": "string",
"dataNascimento": "2022-04-01T11:17:07.047Z",
},
"pessoaJuridica": null,
"endereco": {
"telefone": "string",
"nomeMunicipio": "string",
"siglaEstado": "string",
"estado": "string",
"endereco": "string",
"bairro": "string",
"complemento": "string",
"numero": "string"
},
"cnh": "string",
"numeroRegistroCNH": "string",
"categoriaCNH": "string",
"codigoSegurancaCNH": "string",
"numeroFormularioCNH": "string",
"numeroRenachCNH": "string",
"ufEmissaoCNH": "string",
"dataEmissaoCNH": "2022-04-01T11:17:07.047Z",
"dataValidadeCNH": "2022-04-01T11:17:07.047Z"
},
"veiculos": [
{
"tracao": true,
"ordem": 1,
"placa": "string",
"chassi": "string",
"renavam": "string",
"numeroCRLV": "string",
"cor": "string",
"marca": "string",
"modelo": "string",
"carroceria": "string",
"tipo": "string",
"anoFabricacao": "string",
"anoModelo": "string",
"codigoIBGECidadeLicenciamento": 0,
"cidadeLicenciamento": "string",
"codigoIBGEEstadoLicenciamento": 0,
"ufEstadoLicenciamento": "string",
"nomeEstadoLicenciamento": "string",
"numeroEixos": 0,
"proprietario": {
"pessoaFisica": {
"cpf": "string",
"nome": "string",
"nomeMae": "string",
"nomePai": "string",
"numeroPIS": "string",
"estadoCivil": "string",
"naturalidade": "string",
"dataNascimentoStr": "string",
"dataNascimento": "2022-04-01T11:17:07.047Z"
},
"pessoaJuridica": null,
"endereco": {
"telefone": "string",
"nomeMunicipio": "string",
"siglaEstado": "string",
"estado": "string",
"endereco": "string",
"bairro": "string",
"complemento": "string",
"numero": "string"
},
"rntrc": "string",
"vencimentoRNTRC": "2022-04-01T11:17:07.047Z"
},
"arrendatario": {
"pessoaJuridica": {
"cnpj": "string",
"nomeFantasia": "string",
"razaoSocial": "string",
"inscricaoEstadual": "string"
},
"endereco": {
"telefone": "string",
"nomeMunicipio": "string",
"siglaEstado": "string",
"estado": "string",
"endereco": "string",
"bairro": "string",
"complemento": "string",
"numero": "string"
},
"rntrc": "string",
"vencimentoRNTRC": "2022-04-01T11:17:07.047Z"
}
},
{
"tracao": false,
"ordem": 2,
"placa": "string",
"chassi": "string",
"renavam": "string",
"numeroCRLV": "string",
"cor": "string",
"marca": "string",
"modelo": "string",
"carroceria": "string",
"tipo": "string",
"anoFabricacao": "string",
"anoModelo": "string",
"codigoIBGECidadeLicenciamento": 0,
"cidadeLicenciamento": "string",
"codigoIBGEEstadoLicenciamento": 0,
"ufEstadoLicenciamento": "string",
"nomeEstadoLicenciamento": "string",
"proprietario": {
"pessoaFisica": null,
"pessoaJuridica": {
"cnpj": "string",
"nomeFantasia": "string",
"razaoSocial": "string",
"inscricaoEstadual": "string"
},
"endereco": {
"telefone": "string",
"nomeMunicipio": "string",
"siglaEstado": "string",
"estado": "string",
"endereco": "string",
"bairro": "string",
"complemento": "string",
"numero": "string"
},
"rntrc": "string",
"vencimentoRNTRC": "2022-04-01T11:17:07.047Z"
},
"numeroEixos": 0
}
]
}

Descritivo da resposta

Campos Descrição
Objeto que contém os dados pertinentes ao
motorista
motorista
Objeto que contém os dados pertinentes a
motorista.pessoaFisica
pessoa física
Objeto que contém dados pertinentes a pessoa
motorista.pessoaJuridica
Jurídica
motorista.endereco Objeto que contém dados pertinentes a endereço
motorista.endereco.telefone Número de telefone
motorista.endereco.nomeMunicipio Nome do município
motorista.endereco.siglaEstado Sigla do estado
motorista.endereco.estado Nome do estado
motorista.endereco.endereco Logradouro do endereço
motorista.endereco.bairro Nome do bairro
motorista.endereco.complemento Descrição do complemento
motorista.endereco.numero Número do endereço
motorista.cnh Categoria CNH
motorista.numeroRegistroCNH Número de registro da CNH
motorista.codigoSegurancaCNH Código de segurança da CNH
motorista.numeroFormularioCNH Número de Formulário CNH
motorista.numeroRenachCNH Número de registro do Renach
motorista.ufEmissaoCNH Sigla do estado de emissão da CNH
motorista.dataEmissaoCNH Data de emissão da CNH
motorista.dataValidadeCNH Data de validade da CNH
Objeto array com todos os veículos que
veiculos[]
compoem o conjunto
veiculos[].tracao Indica se o veículo possui tração.
Indica a posição do veículo no conjunto.
veiculos[].ordem Posição 1 e tração igual a true será considerado
como sendo o cavalo.
veiculos[].placa Número da placa
veiculos[].chassi Número do chassi
veiculos[].renavam Número de registro do renavam
veiculos[].numeroCRLV Número do CRLV
veiculos[].cor Descritivo da cor do veículo
veiculos[].marca Descrição da marca do veículo
veiculos[].modelo Descrição do modelo do veículo
veiculos[].carroceria Descrição da carroceria
veiculos[].tipo Tipo do veículo
veiculos[].anoFabricacao Ano de fabricação do veículo
veiculos[].anoModelo Ano do modelo
Código IBGE da cidade onde o veículo foi
veiculos[].codigoIBGECidadeLicenciamento
licenciado
veiculos[].cidadeLicenciamento Descrição da cidade do licenciamento
Código IBGE do estado onde o veículo foi
veiculos[].CodigoIBGEEstadoLicenciamento
licenciado
veiculos[].ufEstadoLicenciamento UF do estado do licenciamento
veiculos[].numeroEixos Quanto de eixos que o veículo possui
veiculos[].proprietario Objeto com os dados do proprietário
Objeto padrão pessoa física- Vide payload de
veiculos[].proprietario.pessoaFisica
retorno
Objeto padrão pessoa jurídica - Vide payload de
veiculos[].proprietario.pessoaJuridica
retorno
veiculos[].arrendatario Objeto com os dados do arrendatário
Objeto padrão pessoa jurídica - Vide payload de
veiculos[].arrendatario.pessoaJuridica
retorno
Objeto padrão de endereço - Vide payload de
veiculos[].arrendatario.endereco
retorno
veiculos[].arrendatario.rntrc Número da RNTRC
veiculos[].arrendatario.vencimentoRNTRC Data de Vencimento da RNTRC

GET - /v1/Conjunto/status

Pesquisa o status GR (Gerenciamento de Risco) através do CPF do motorista.

Parâmetros

Query Params Descrição


cpf* string Número do CPF do motorista

Exemplo de chamada

curl --request GET \


--url '$base_url/v1/Conjunto/status?cpf=12345678910' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer ${token}'
Exemplo de resposta

Status Code: 200

{
"codigo": "int",
"mensagem": "string"
}

Descritivo da resposta

Campos Descrição
codigo Código de status do Gerenciador de Risco. 1 - Pré-cadastro
mensagem Mensagem descritiva do código retornado.

Documentos de Viagem
Api para gerenciamento de documentos (CT-e, MDF-e, etc…) de viagem na TMOV.

POST - /v1/DocumentoLote

Realiza o upload de documentos de viagem

Corpo da Requisição

Campos Descrição
Protocolo identificador da viagem. É recebido via webhook pelo evento
Protocolo* string
viagem liberada descrito neste documento.
Tipo do documento

• 1 - CT-e
• 2 - MDF-e
• 3 - CF-e
TipoDocumento* int
• 4 - Contrato de Transporte
• 5 - Termo de Estadia
• 6 - Ordem de Carregamento
• 7 - Outros

Arquivo* string Binary do arquivo


Chave de identificação do documento. Obrigatório quando CT-e ou
Chave string
MDF-e.
Peso decimal Peso que consta no documento. Obrigatório quando CTe ou MDF-e.
Valor decimal Valor do documento. Obrigatório quando CT-e ou MDF-e.

Request Body

{
"protocolo": "string",
"tipoDocumento": int,
"arquivo": "string",
"chave": "string",
"peso": decimal,
"valor": decimal
}

Exemplo de chamada

curl --request POST \


--url '$base_url/v1/DocumentoLote' \
--header 'Authorization: Bearer ${token}' \
--header 'Content-Type: multipart/form-data' \
--data '{
"protocolo": "string",
"tipoDocumento": int,
"arquivo": "string",
"chave": "string",
"peso": decimal,
"valor": decimal
}'
Exemplo de resposta

Status Code: 200

{
"documentoId": "string"
}

Descritivo da resposta

Campos Descrição
documentoId Código de identificação do documento enviado.

DELETE - /v1/DocumentoLote/cte/{protocoloId}/{documentoId}

Realiza a exclusão de um CT-e enviado na viagem.

Este endpoint deve ser utilizado apenas para exclusão de CT-e.

Params String

Campos Descrição
protocoloId* Protocolo identificador da viagem. É recebido via webhook pelo evento
string viagem liberada descrito neste documento.
documentoId*
Código identificador do documento a ser excluído.
int

Request Body

no body

Exemplo de chamada

curl --request DELETE \


--url '$base_url/v1/DocumentoLote/cte/{protocoloId}/{documentoId}' \
--header 'Authorization: Bearer ${token}' \
--header 'Content-Type: application/json' \
Exemplo de resposta

Status Code: 200

{
"documentoId": "string"
}

Descritivo da resposta

Campos Descrição
documentoId Código de identificação do documento excluído.

DELETE - /v1/DocumentoLote/{protocoloId}/{documentoId}

Realiza a exclusão de um documento da viagem.

Params String

Campos Descrição
Protocolo identificador da viagem. É recebido via webhook pelo
protocoloId* string
evento viagem liberada descrito neste documento.
documentoId* int Código identificador do documento a ser excluído.

Request Body

no body

Exemplo de chamada

curl --request DELETE \


--url '$base_url/v1/DocumentoLote/cte/{protocoloId}/{documentoId}' \
--header 'Authorization: Bearer ${token}' \
--header 'Content-Type: application/json' \

Exemplo de resposta

Status Code: 200

{
"documentoId": "string"
}

Descritivo da resposta

Campos Descrição
Código de identificação do documento
documentoId
excluído.

Webhooks
Após a criação de lotes dentro da TMOV você pode solicitar a assinatura em nossos webhooks
para receber informações dos eventos que ocorrerem nos lotes cadastrados.

Para receber os eventos, você deve fornecer a TMOV o endpoint responsável pelo recebimento
das notificações e demais configurações como autenticação por exemplo.

Os eventos disponíveis são listados a seguir:

Viagem Liberada
O evento de viagem liberada é disparado toda vez que um motorista entrar na fila com status “em
trânsito”, possuir um contrato e motorista aprovado no GR.

Abaixo o payload que será enviado no evento de viagem liberada:


Exemplo de Corpo de Mensagem

{
"IdLote": 000312,
"nrContrato": 0000,
"viagem": {
"filialCnpj": "123456789102123",
"dataEmbarque": null,
"valorTarifa": 1.000,
"tipoPagamento": "P/ Tonelada",
"distanciaKm": 45,
"tipoPedagio": 2,
"remetenteCnpj": "123456789102123",
"destinatarioCnpj": "123456789102123",
"expedidorCnpj": "123456789102123",
"recebedorCnpj": "123456789102123",
"tomadorDeServicoCnpj": "123456789102123",
"valorPedagioEixo": 0.0,
"motoristaCpf": "12345678910"
},
"contratoFrete": {
"percentualAdiantamento": 0.0,
"valorTarifa": 0.00
},
"produto": {
"peso": 300.000,
"nome": "MILHO",
"unidade": "KG",
"ncm": null
},
"clienteRemetente": {
"documento": "05366261000143",
"endereco": "string",
"telefone": "66999392155",
"pessoaFisica": null,
"pessoaJuridica": {
"cnpj": "05366261000143",
"nomeFantasia": "string",
"razaoSocial": "string",
"inscricaoEstadual": "9085816109"
}
},
"clienteDestinatario": {
"documento": "03990431000998",
"endereco": "string",
"telefone": "",
"pessoaFisica": null,
"pessoaJuridica": {
"cnpj": "123456789102123",
"nomeFantasia": "string",
"razaoSocial": "string",
"inscricaoEstadual": "123456789"
}
},
"clienteExpedidor": {
"documento": "05366261000143",
"endereco": "string",
"telefone": "66999392155",
"pessoaFisica": null,
"pessoaJuridica": {
"cnpj": "05366261000143",
"nomeFantasia": "string",
"razaoSocial": "string",
"inscricaoEstadual": "9085816109"
}
},
"clienteRecebedor": {
"documento": "03990431000998",
"endereco": "string",
"telefone": "",
"pessoaFisica": null,
"pessoaJuridica": {
"cnpj": "03990431000998",
"nomeFantasia": "string",
"razaoSocial": "string",
"inscricaoEstadual": "9072293786"
}
},
"clientePagador": {
"documento": "05366261000143",
"endereco": "string",
"telefone": "66999392155",
"pessoaFisica": null,
"pessoaJuridica": {
"cnpj": "05366261000143",
"nomeFantasia": "string",
"razaoSocial": "string",
"inscricaoEstadual": "9085816109"
},
"proprietario": {
"rntrc": "",
"vencimentoRNTRC": ""
},
"referencias": []
},
"conjunto": {
"tipo": "string",
"motorista": {
"pessoaFisica": {
"cpf": "12345678910",
"nome": "string",
"nomeMae": "string",
"nomePai": "string",
"numeroPIS": "string",
"estadoCivil": "string",
"naturalidade": "string",
"dataNascimentoStr": "string",
"dataNascimento": "2022-04-01T11:17:07.047Z",
},
"pessoaJuridica": null,
"endereco": {
"telefone": "string",
"nomeMunicipio": "string",
"siglaEstado": "string",
"estado": "string",
"endereco": "string",
"bairro": "string",
"complemento": "string",
"numero": "string"
},
"cnh": "string",
"numeroRegistroCNH": "string",
"categoriaCNH": "string",
"codigoSegurancaCNH": "string",
"numeroFormularioCNH": "string",
"numeroRenachCNH": "string",
"ufEmissaoCNH": "string",
"dataEmissaoCNH": "2022-04-01T11:17:07.047Z",
"dataValidadeCNH": "2022-04-01T11:17:07.047Z"
},
"veiculos": [
{
"tracao": "boolean",
"ordem": "int",
"placa": "string",
"chassi": "string",
"renavam": "string",
"numeroCRLV": "string",
"cor": "string",
"marca": "string",
"modelo": "string",
"carroceria": "string",
"tipo": "string",
"anoFabricacao": "string",
"anoModelo": "string",
"codigoIBGECidadeLicenciamento": 0,
"cidadeLicenciamento": "string",
"codigoIBGEEstadoLicenciamento": 0,
"ufEstadoLicenciamento": "string",
"nomeEstadoLicenciamento": "string",
"numeroEixos": 0,
"proprietario": {
"pessoaFisica": {
"cpf": "string",
"nome": "string",
"nomeMae": "string",
"nomePai": "string",
"numeroPIS": "string",
"estadoCivil": "string",
"naturalidade": "string",
"dataNascimentoStr": "string",
"dataNascimento": "2022-04-01T11:17:07.047Z"
},
"pessoaJuridica": null,
"endereco": {
"telefone": "string",
"nomeMunicipio": "string",
"siglaEstado": "string",
"estado": "string",
"endereco": "string",
"bairro": "string",
"complemento": "string",
"numero": "string"
},
"rntrc": "string",
"vencimentoRNTRC": "2022-04-01T11:17:07.047Z"
},
"arrendatario": {
"pessoaJuridica": {
"cnpj": "string",
"nomeFantasia": "string",
"razaoSocial": "string",
"inscricaoEstadual": "string"
},
"endereco": {
"telefone": "string",
"nomeMunicipio": "string",
"siglaEstado": "string",
"estado": "string",
"endereco": "string",
"bairro": "string",
"complemento": "string",
"numero": "string"
},
"rntrc": "string",
"vencimentoRNTRC": "2022-04-01T11:17:07.047Z"
}
},
{
"tracao": false,
"ordem": 2,
"placa": "string",
"chassi": "string",
"renavam": "string",
"numeroCRLV": "string",
"cor": "string",
"marca": "string",
"modelo": "string",
"carroceria": "string",
"tipo": "string",
"anoFabricacao": "string",
"anoModelo": "string",
"codigoIBGECidadeLicenciamento": 0,
"cidadeLicenciamento": "string",
"codigoIBGEEstadoLicenciamento": 0,
"ufEstadoLicenciamento": "string",
"nomeEstadoLicenciamento": "string",
"proprietario": {
"pessoaFisica": null,
"pessoaJuridica": {
"cnpj": "string",
"nomeFantasia": "string",
"razaoSocial": "string",
"inscricaoEstadual": "string"
},
"endereco": {
"telefone": "string",
"nomeMunicipio": "string",
"siglaEstado": "string",
"estado": "string",
"endereco": "string",
"bairro": "string",
"complemento": "string",
"numero": "string"
},
"rntrc": "string",
"vencimentoRNTRC": "2022-04-01T11:17:07.047Z"
},
"numeroEixos": 0
}
]
},
"contextoTms": "string"
}

Descritivo dos campos

Campos Descrição
idLote Código de identificação do lote na TMOV
nrContrato Código de identificação do contrato na TMOV
viagem Objeto que contém dados sobre a viagem
viagem.filialCnpj CNPJ da Filial da empresa responsável pela viagem
viagem.dataEmbarque Data de embarque
viagem.valorTarifa Valor da tarifa
Descrição do tipo de Pagamento - P/ Tonelada, Cheio,
viagem.tipoPagamento
A Combinar, R$/KM
viagem.distanciaKm Distância da viagem em quilômetros
Descrição do tipo de pedágio. Incluso, Sem Pedágio e
viagem.tipoPedagio
Com Pedágio
viagem.remetenteCnpj Número do CNPJ do Remetente
viagem.destinatarioCnpj Número do CNPJ do Destinatário
viagem.expedidorCnpj Número do CNPJ do Expedidor
viagem.recebedorCnpj Número do CNPJ do Recebedor
viagem.tomadorDeServicoCnpj Numero do CNPJ do tomador de serviço
viagem.valorPedagioEixo Valor do pedágio por eixo
viagem.motoristaCpf CPF do motorista
contratoFrete Objeto que contém informações do contrato de frete
contratoFrete.percentualAdiantamento Percentual de adiantamento do contrato/frete
contratoFrete.valorTarifa Valor da tarifa do contrato/frete
produto Objeto que contém dados do produto
produto.peso Peso do produto transportado
produto.nome Nome do produto
produto.unidade Unidade de medida do produto
Código de oito dígitos para identificação da natureza
produto.ncm
do produto
Remetente/Destinatário/Expedidor/Recebedor/Pagado
cliente
r possuem mesmo padrão de dados
cliente.documento Número do documento CPF/CNPJ
cliente.endereco Objeto padrão endereço - Vide payload de retorno
cliente.telefone Número do Telefone do cliente
cliente.pessoaFisica Objeto padrão pessoa física - Vide payload de retorno
Objeto padrão pessoa jurídica - Vide payload de
cliente.pessoaJuridica
retorno
Dados do proprietário - Somente quando cliente
cliente.proprietario
pagador
cliente.proprietario.RNTRC Código de registro da TNTRC
cliente.proprietario.VencimentoRNTR
Data de vencimento da RNTRC
C
Objeto que contém as referências de contato do
cliente.referencias
cliente.
Objeto que contém os dados de conjunto,
conjunto
motorista + veículos
tipo Descrição do tipo do conjunto
motorista Objeto que contém dados do motorista
Objeto padrão pessoa física- Vide payload de
motorista.pessoaFisica
retorno
Objeto padrão pessoa jurídica- Vide payload de
motorista.pessoaJuridica
retorno
Objeto padrão endereço - Vide payload de
motorista.endereco
retorno
motorista.cnh Categoria CNH
motorista.numeroRegistroCNH Número de registro da CNH
motorista..codigoSegurancaCNH Código de segurança da CNH
motorista.numeroFormularioCNH Número de Formulário CNH
motorista.numeroRenachCNH Número de registro do Renach
motorista.ufEmissaoCNH Sigla do estado de emissão da CNH
motorista.dataEmissaoCNH Data de emissão da CNH
motorista.dataValidadeCNH Data de validade da CNH
Objeto array com todos os veículos que
veiculos[]
compõem o conjunto
veiculos[].tracao Indica se o veículo possui tração
Indica a posição do veículo no conjunto. Posição
veiculos[].ordem 1 e tração igual a true será considerado como
sendo o cavalo.
veiculos[].placa Número da placa
veiculos[].chassi Número do chassi
veiculos[].renavam Número de registro do renavam
veiculos[].numeroCRLV Número do CRLV
veiculos[].cor Descrição da cor do veículo
veiculos[].marca Descrição da marca do veículo
veiculos[].modelo Descrição do modelo do veículo
veiculos[].carroceria Descrição da carroceria
veiculos[].tipo Tipo do veículo
veiculos[].anoFabricacao Ano de fabricação do veículo
veiculos[].anoModelo Ano do modelo
Código IBGE da cidade onde o veículo foi
veiculos[].codigoIBGECidadeLicenciamento
licenciado
veiculos[].cidadeLicenciamento Descrição da cidade do licenciamento
Código IBGE do estado onde o veículo foi
veiculos[].CodigoIBGEEstadoLicenciamento
licenciado
veiculos[].ufEstadoLicenciamento UF do estado do licenciamento
veiculos[].numeroEixos Quanto de eixos que o veículo possui
veiculos[].proprietario Objeto com os dados do proprietário
Objeto padrão pessoa fiíica- Vide payload de
veiculos[].proprietario.pessoaFisica
retorno
Objeto padrão pessoa jurídica - Vide payload de
veiculos[].proprietario.pessoaJuridica
retorno
veiculos[].arrendatario Objeto com os dados do arrendatário
Objeto padrão pessoa jurídica - Vide payload de
veiculos[].arrendatario.pessoaJuridica
retorno
Objeto padrão de endereço - Vide payload de
veiculos[].arrendatario.endereco
retorno
veiculos[].arrendatario.rntrc Número da RNTRC
veiculos[].arrendatario.vencimentoRNTRC Data de Vencimento da RNTRC
contextoTms Indica a qual TMS a integração se refere

Você também pode gostar