Histórico da Página
...
Produto: |
| ||||||||
---|---|---|---|---|---|---|---|---|---|
Linha de Produto: |
| ||||||||
Segmento: |
| ||||||||
Módulo: | TOTVS Logística TMS | ||||||||
Função: | OMSA040 - Cadastro de Motorista | ||||||||
Ticket: | Não se aplica | ||||||||
Requisito/Story/Issue (informe o requisito relacionado) : | DLOGTMS02-13230 |
02. SITUAÇÃO/REQUISITO
Implementar melhoria no processo de integração entre o módulo SIGATMS e Repom, utilizando a plataforma Repom Frete, que baseia-se na tecnologia Web API* em arquitetura RestFul.
A API de integração da Repom permite a realização de deiversas diversas operações contidas no Repom Frete, como manipulação de cadastros (Contratados, Motoristas e VeiculosVeículos), Roteiros, Viagens e Pagamento.
Implementada melhoria no processo de integração entre o módulo SIGATMS e Repom utilizando modelos denominados pela Repom como integração Financeiro e Contábil - Fase I.
...
* Web APÌ - Solução utilizada na integração de sistemas e na comunicação entre diferentes aplicações, utilizando a linguagem universal JSON para tráfego de dados, proporciona a sistemas desenvolvidos em plataformas distintas sejam compatíveis.
03. SOLUÇÃO
Implementado a integração TMS com a Repom Frete, que estará disponível a partir da configuração dos parâmetros "MV_VSREPOM = 2.2" e MV_TMSOPDG = 2.
Informações | ||
---|---|---|
| ||
As alterações de dicionário de dados estarão disponíveis a partir do release 12.1.33. |
Nesta versão houve algumas mudanças de configuração:
- Parâmetro MV_ENREPOM não será utilizado para esta integração junto a plataforma Repom Frete da Repom, porém o Fechamento da viagem continua o "start" (Abertura do Contrato) entre a integração Protheus TMS e Repom.
Abaixo seguem detalhes dos métodos de integração com exemplos de utilização.
Autenticação: BEARER (Token) - Necessário solicitar para a equipe Repom o usuário e
senha inicial, a partir desse usuário será possível gerar o Token. Realizar uma chamada
POST para a interface Post/token informando o usuário e senha cadastrados e no partner
informar o cnpj do tms, um Token será devolvido no resultado da chamada, este token
deverá estar incluso no Header de todas as chamadas.
Implementar a Viagem de Transporte e Coleta-Entrega (Modelo 3) do SIGATMS, proporcionando maior agilidade para os processos de emissão de viagens de entrega, transferência e coleta-entrega.
As definições/conceitos para os processos de viagem transporte e entrega, permanecem os mesmos:
- Rodoviário Transporte - A viagem de transporte rodoviário é utilizada para efetuar a transferência de cargas entre as transportadoras que possuem filiais.
- Rodoviário Entrega - A viagem entrega é o processo utilizado para se efetuar a distribuição das mercadorias, ou seja, as respectivas entregas no destinatário.
03. SOLUÇÃO
Implementado a nova funcionalidade de integração com a Repom Frete (versao 2.2)
Foram implementadas as seguintes melhorias:
...
- No cadastro de Operadora de Frotas foram criados novos campos:
- Momento da Quitação (DEG_REPQUI): Utilizado para definir o Momento da Quitação do Contrato na Repom;
- Tempo de Espera (DEG_TMPESP): Utilizado para definir o tempo de espera do processamento da inclusão do Contrato na Repom, onde ocorre o retorno do Código do Contrato (DTR_PRCTRA/DM5_PRCTRA) e o Código do CIOT (DTR_CIOT);
Os processos de interface utilizados são:
SIGATMS REPOM DESCRIÇÃO Motorista Driver Este método integra os cadastros de Motoristas do SIGATMS com a base de dados da Repom. Fornecedor Hired Este método integra os cadastros de Fornecedor do SIGATMS com a base de dados da Repom. Veículos Vehicle Este método integra os cadastros de Veículos do SIGATMS com a base de dados da Repom. Operações da Operadora - Cadastro Operadoras de Frota Operation No sistema da Repom, as operações de transporte são um conjunto de configurações para que o sistema se comporte de maneira distinta, de forma a atender aos diferentes tipos de operações. Por exemplo, há operações que contemplam a quebra de peso e quebra de frete. No SIGATMS, esta configuração está disponível no botão Outras Opções → Operac. ,na rotina Operadora de Frota. Esse método é utilizado, pois durante a emissão do contrato na base da Repom, é necessário enviar junto dos dados da viagem, qual a operação deseja utilizar. Roteiro Route / RouteRequest As informações referente ao Roteiro/Percurso da viagem são enviadas no momento da emissão de um contrato na Repom. No SIGATMS, esse método é acionado no momento do Cadastro da Rota. Cada rota do SIGATMS é amarrada a um roteiro/percurso da Repom. Emitir Viagem Shipping Na Repom, este método é um dos principais componentes da integração, por meio do qual é gerado o contrato no sistema da Repom. No SIGATMS, esse método é acionado no momento do Fechamento da Viagem.
Quando ocorrer o estorno do Fechamento da Viagem, é acionado automaticamente o método para cancelamento do contrato na Repom. O cancelamento do contrato na Repom segue regras específicas que podem interferir no seu cancelamento. Caso não seja possível cancelar o contrato na Repom, o estorno do fechamento da viagem não será realizado.Quitação Payment A quitação do contrato determina o fim do processo de viagem na Repom.
Esse método será acionado conforme a configuração do campo DEG_REPQUI (Momento Quitação) do Cadastro de Operadoras de Frotas (Contrato de Carreteiro, conforme configuração do MV_LIBCTC e/ou no Encerramento da Viagem)Obs: Na versão 2.2 (RepomFrete) não existe o método de "Autorização de Quitação do contrato" conforme versões anteriores.
Consulta Contrato Shipping/StatusProcessing/ByIdentifier Após a quitação do contrato na Repom, realizamos a consulta do contrato diretamente por este método para conseguir os valores referente a impostos, calculados para pessoas físicas. Autorização de Pagamento PaymentAuthorization O processo de autorização é configurado no Sistema REPOM.
Portanto, o TMS somente enviará a autorização quando o Status do Contrato na REPOM estiver como 'CLEARED'
Cálculo de Pedágio Route/ByRouteCode
Ao informar os Recursos da Viagem (Operadora de Frota e Veículo) automaticamente, com base na rota da viagem, é acionado esse método para obter o valor do pedágio. Na Viagem Modelo 3, na Aba Recursos, no campo “Pedágio” é apresentado o valor. Movimentação de Valores Shipping/AddMovement
Depois que o contrato é emitido na Repom, todos os tipos de créditos e débitos que poderão ocorrer durante a viagem recebem o nome de “Movimentações de Valores”. Esse método é utilizado para que uma movimentação seja inserida e ou excluída dentro do contrato na Repom. MÉTODOS REPOM
Abaixo segue todos os métodos desenvolvidos para troca de informações entre o Totvs Logistica TMS x Repom ambiente Repom Frete.
Método Repom Método Totvs Descrição GET /AnttTypes/LoadTypes
GetLoadTypes()
Recupera um GetLoadTypes
POST /token
Auth()
Obtém Token POST /Driver
DriverCreate()
Cria um novo driver
PUT /Driver/{country}/{nationalId}
DriverUpdate()
Atualiza o motorista
PATCH /Driver/lockUnlock/{country}/{nationalId}
DriverLock()
Atualiza o motorista
GET /Driver/ByName/{name}
GetDrvrByName()
Recuperar motoristas por nome
GET /Driver/ByDocument/{country}/{nationalId}
GetDrvrByDoc()
Recupera um motorista por número de identificação de documento
POST /Hired
HiredCreate()
Cria um novo contratado
PUT /Hired/{country}/{nationalId}
HiredUpdate()
Atualiza um novo contratado
PATCH /Hired/lockUnlock/{country}/{nationalId}
HiredLock()
Bloquear ou desbloquear contratado
GET /Hired/ByName/{name}
GetHrdByName()
Recupera contratados pelo nome
GET /Hired/ByDocument/{country}/{nationalId}
GetHrdByDoc()
Recupera um contratado por número de identificação de documento
POST /Vehicle
VehicleCreate()
Cria um novo veículo
PUT /Vehicle/{country}/{license}
VehicleUpdate()
Atualiza um veículo
PATCH /Vehicle/{country}/{license}
VehicleLock()
Trancar ou destrancar o veículo
GET /Vehicle/ByDocument/{country}/{license}
GetVeicByDoc()
Recupera um veículo por licença
POST /RouteRequest
RouteCreate()
Cria uma solicitação de rota
GET /Route/ByCEP/{cep}/{toCep}/{vehicleAxles}
GetRtByCEP()
Recupera uma rota
GET /Route/ByIBGE/{IBGECode}/{toIBGECode}/{vehicleAxles}
GetRtByIBGE()
Recupera uma rota
GET /Route/ByTraceIdentifier/{traceIdentifier}/{vehicleAxles}
GetRtByTrcId()
Recupera uma rota
GET /Route/ByRouteCode/{traceCode}/{routeCode}/{vehicleAxles} GetByRtCode() Recupera uma rota
GET /RouteRequest/{traceIdentifier}
GetRtRequest()
Recupera uma solicitação de rota por id
POST /Shipping
ShippingCreate()
Solicite um novo frete
PATCH /Shipping/AddDocument/{shippingId}
ShippingDocAdd()
Adicionar documento de envio
PATCH /Shipping/AddMovement/{shippingId}
ShippingMovAdd()
Adicionar movimento de envio
PATCH /Shipping/Cancel/{id}
ShippingCancel()
Cancelar frete
PATCH /Shipping/lockUnlock/{shippingId} ShippingLock() Bloquear ou desbloquear um frete
PATCH /Shipping/Interruption/{id} ShippingInter() Interrupção de envio
GET /Shipping/ByShipping/{shippingId}
GetShipByShip()
Recupera um frete por shippingId
GET /Shipping/ByIdentifier/{identifier} GetShipById() Recupera um frete por identificador
GET /Shipping/StatusProcessing/ByIdentifier/{id} GetShipStPrcBy() Recupera uma lista de embarques por código do cliente
POST /ShippingPayment
PaymentCreate()
Envio de pagamento
PATCH /ShippingPayment/Cancel/{shippingID}
PaymentCancel()
Cancelamento de pagamento de envio
PATCH /ShippingPayment/DocumentLost/{shippingID}
PaymLostDoc()
Documento perdido
PATCH /ShippingPayment/DocumentReship/{shippingID}
PaymReshipDoc()
Documento de reenvio
PATCH /ShippingPayment/DocumentDelivered/{shippingID}
PaymDeliverDoc()
Documento entregue
PATCH /ShippingPayment/DocumentDismissed/{shippingID}
PaymDismisDoc()
Dispensa documento
GET /ShippingValidation/ByVehicles/{vehicles}
GetShipVeicVld()
Veículos validados para novo envio
GET /ShippingValidation/ByHiredDocument/{country}/{document}
GetShipHiredVld()
Contratado Validar para novo envio
POST /PaymentAuthorization
AuthorizationCreate()
Envia uma autorização de pagamento
PATCH /PaymentAuthorization/Cancel
AuthCancel()
Cancelar uma autorização de pagamento
GET /PaymentAuthorization/ByShippingId/{shippingId}
GetPayAutShip()
Recupera uma autorização de pagamento por shippingId
GET /Card/GetActiveCardsByHired/{HiredNationalID}
GetCardHired()
Recupera ActiveCard
GET /Card/GetActiveCardsByDriver/{DriverNationalID}
GetCardDriver()
Recupera ActiveCard
GET /Card/GetActiveCardsByHiredAndByDriver/{HiredNationalID}/{DriverNationalID}
GetCardDvrHrd()
Recupera ActiveCard
GET /VPR/TollList/ByShippingIdentifier/{shippingIdentifier}
GetVPR()
Recupera TollList por shippeingIdentifier
GET /ShippingFuelBenefit/GetLinkByCardNumber/{cardNumber}
GetFuelbyCard()
Recupera o título do FuelBenefits pelo número do cartão
GET /Operation GetOperation() Recupera operações
GET /Operation/ByIdentifier/{operationIdentifier} GetOperById() Recupera operações por identificador
GET /Movement/GetMovement GetMovement() Retorna movimentações dos clientes
DOCUMENTAÇÕES API REPOMInformações icon false title IMPORTANTE! Documentação Swagger Repom Frete - http://qa.repom.com.br/Repom.Frete.WebAPI/HelpApi/index#/
Documentação Swagger Repom Relatórios - https://qa.repom.com.br/Repom.Relatorio.WebApi/HelpApi/#/
...
title | Importante |
---|
...
04. DEMAIS INFORMAÇÕES
Para uso desta funcionalidade, deve ser utilizado:
- Pacote: 008033 - Para atualização de dicionário de dados,
...
- criação/alteração de campos e índices.
- Autenticação: BEARER (Token) - Necessário solicitar para a equipe Repom o usuário e senha inicial, a partir desse usuário será possível gerar o Token.
Informações | ||
---|---|---|
| ||
Configuração:
|
DETALHAMENTO DA ATUALIZAÇÃO DE DICIONÁRIO CONFORME ABAS
Totvs custom tabs box | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
05. ASSUNTOS RELACIONADOS
...
Templatedocumentos |
---|
HTML | ||||
---|---|---|---|---|
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-pane.l { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } .aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { background: #FF9900; !important } .menu-item.active-tab { border-bottom: none !important; } </style> | ||||
Totvs custom tabs box | ||||
| ||||
Totvs custom tabs box items | | |||
| ||||
Campo | DM3_FILIAL | |||
Tipo | Caractere | |||
Tamanho | 2 | |||
Decimal | 0 | |||
Formato | @! | |||
Título | Filial | |||
Descrição | Filial do Sistema | |||
Usado | Não | |||
Obrigatório | Não | |||
Browse | Sim | Opções | When | Relação | Val. Sistema |
Help | Informe a filial do sistema. | |||
Campo | DM3_ORIGEM | |||
Tipo | Caracter | |||
Tamanho | 1 | |||
Decimal | 0 | Formato | ||
Título | Orig. Carreg | |||
Descrição | Origem do Carregamento | |||
Usado | Sim | |||
Obrigatório | Não | |||
Browse | Não | Opções | When | |
Relação | IF(INCLUI,0,POSICIONE("DT6",1,XFILIAL("DT6")+DM3->(DM3_FILDOC+DM3_DOC+DM3_SERIE),"DT6_VALMER")) | Val. Sistema | ||
Help | Valor da Mercadoria. | |||
Campo | DM4_FILIAL | |||
Tipo | Caracter | |||
Tamanho | 2 | |||
Decimal | 0 | Formato | ||
Título | Filial | |||
Descrição | Filial do Sistema | |||
Usado | Não | |||
Obrigatório | Não | |||
Browse | Sim | Opções | When | Relação | Val. Sistema |
Help | Filial do Sistema. | |||
Campo | DM4_FILORI | |||
Tipo | Caractere | |||
Tamanho | 2 | |||
Decimal | 0 | Formato | ||
Título | Filial | |||
Descrição | Filial de Origem da Viagem | |||
Usado | Não | |||
Obrigatório | Não | |||
Browse | Sim | Opções | When | Relação |
Val. Sistema | TMSAF62("DM4") | |||
Help | Informe a filial de Origem da Viagem. | |||
Totvs custom tabs box items | ||||
| ||||
Índice | Ordem | Chave | Descrição | |
DM3 | 1 | DM3_FILIAL+DM3_FILDOC+DM3_DOC+DM3_SERIE+DM3_FILORI+DM3_VIAGEM | Fil.Docto. + No.Docto. + Serie Docto. + Fil.Origem + Viagem | DM3 | 2 | DM3_FILIAL+DM3_FILORI+DM3_VIAGEM+DM3_SEQUEN+DM3_FILDOC+DM3_DOC+DM3_SERIE | Fil.Origem + Viagem + Sequencia + Fil.Docto. + No.Docto. + Serie Docto