2.0info: 3.2.0 localizacoes x-senior-domain: tmsentregas x-senior-domain-path: tmsentregas x-senior-service-path: localizacoes contact: name: Senior X Platform url: https://dev.senior.com.br email: seniorx-dev@senior.com.brhost: platform.senior.com.br /t/senior.com.br/bridge/1.0/rest/tmsentregassecurityDefinitions: APIKeyHeader: type: apiKey in: header name: Authorizationsecurity: – APIKeyHeader: [] – application/json – application/jsonpaths: /localizacoes/queries/buscaDirecoesExecutadas: post: description: Consulta de direções já geradas na roteirização tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – cdRoteiro properties: cdRoteiro: type: integer format: int64 description: Código do roteiro que possui a direção cdAtividade: type: integer format: int64 description: Código do atividade que possui a direção incluirPontos: type: boolean description: Indica se deve incluir as coordenadas default: true responses: 200: description: Ok schema: type: object required: – ok – dsErro – tempo – distancia properties: ok: type: boolean description: Confirmação de sucesso dsErro: type: string description: Mensagem de Erro pontos: type: array items: type: object allOf: – #/definitions/recLatLon description: Pontos do tipo Latitude Longitude que compõem as direções tempo: type: integer format: int64 description: Tempo do trajeto distancia: type: number format: double description: Distância do trajeto 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Consulta de direções já geradas na roteirização tags: – Queries x-senior-visibility: PRIVATE parameters: – name: cdRoteiro description: Código do roteiro que possui a direção in: query required: true type: integer format: int64 – name: cdAtividade description: Código do atividade que possui a direção in: query type: integer format: int64 – name: incluirPontos description: Indica se deve incluir as coordenadas in: query type: boolean responses: 200: description: Ok schema: type: object required: – ok – dsErro – tempo – distancia properties: ok: type: boolean description: Confirmação de sucesso dsErro: type: string description: Mensagem de Erro pontos: type: array items: type: object allOf: – #/definitions/recLatLon description: Pontos do tipo Latitude Longitude que compõem as direções tempo: type: integer format: int64 description: Tempo do trajeto distancia: type: number format: double description: Distância do trajeto 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /localizacoes/queries/buscaDirecoesExecutadasEmLote: post: description: Consulta em lote de direções já geradas na roteirização tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – roteiros – usuario properties: roteiros: type: array items: type: integer format: int64 minimum: 1 description: Códigos dos roteiros que possuem as direções usuario: type: string description: Usuário (completo, conforme login) responsável pela requisição responses: 200: description: Ok schema: type: object required: – mensagem properties: mensagem: type: string description: Mensagem de retorno para sinalizar que o processo é assincrono 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Consulta em lote de direções já geradas na roteirização tags: – Queries x-senior-visibility: PRIVATE parameters: – name: roteiros description: Códigos dos roteiros que possuem as direções in: query required: true type: array items: type: integer format: int64 minimum: 1 – name: usuario description: Usuário (completo, conforme login) responsável pela requisição in: query required: true type: string responses: 200: description: Ok schema: type: object required: – mensagem properties: mensagem: type: string description: Mensagem de retorno para sinalizar que o processo é assincrono 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /localizacoes/queries/buscaUltimasDirecoesExecutadas: post: description: Busca deireções já geradas na roteirização, ignorando N (offset) registros iniciais. Deve emitir o evento ultimasDirecoesSobDemanda tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – cdRoteiro properties: cdRoteiro: type: integer format: int64 description: Código do roteiro que possui a direção cdAtividade: type: integer format: int64 description: Código da atividade offset: type: integer format: int64 description: Número de registros a ignorar default: 0 responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Busca deireções já geradas na roteirização, ignorando N (offset) registros iniciais. Deve emitir o evento ultimasDirecoesSobDemanda tags: – Queries x-senior-visibility: PRIVATE parameters: – name: cdRoteiro description: Código do roteiro que possui a direção in: query required: true type: integer format: int64 – name: cdAtividade description: Código da atividade in: query type: integer format: int64 – name: offset description: Número de registros a ignorar in: query type: integer format: int64 responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /localizacoes/queries/healthcheck: post: description: Query para o SRE verificar a disponibilidade do serviço tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object responses: 200: description: Ok schema: type: object required: – status – checks properties: status: type: string allOf: – #/definitions/serviceHealthStatus description: Status do serviço checks: type: array items: type: object allOf: – #/definitions/checkData minimum: 1 description: Verificações para assegurar o status 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Query para o SRE verificar a disponibilidade do serviço tags: – Queries x-senior-visibility: PRIVATE parameters: responses: 200: description: Ok schema: type: object required: – status – checks properties: status: type: string allOf: – #/definitions/serviceHealthStatus description: Status do serviço checks: type: array items: type: object allOf: – #/definitions/checkData minimum: 1 description: Verificações para assegurar o status 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /localizacoes/queries/getMetadata: post: description: Default getMetadata query. Every service must handle this command and return metadata in the format requested. tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object properties: metadataFormat: type: string description: responses: 200: description: Ok schema: type: object required: – metadata properties: metadata: type: string description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Default getMetadata query. Every service must handle this command and return metadata in the format requested. tags: – Queries x-senior-visibility: PRIVATE parameters: – name: metadataFormat description: in: query type: string responses: 200: description: Ok schema: type: object required: – metadata properties: metadata: type: string description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /localizacoes/queries/getDependencies: post: description: Returns a list with all dependencies from this service, along with their respective versions tags: – Queries x-senior-visibility: PUBLIC responses: 200: description: Ok schema: type: object required: – dependencies properties: dependencies: type: array items: type: object allOf: – #/definitions/dependency minimum: 1 description: List with this service dependencies 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Returns a list with all dependencies from this service, along with their respective versions tags: – Queries x-senior-visibility: PUBLIC responses: 200: description: Ok schema: type: object required: – dependencies properties: dependencies: type: array items: type: object allOf: – #/definitions/dependency minimum: 1 description: List with this service dependencies 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /localizacoes/actions/insereLocalizacaoVeiculo: post: description: Inserção da localização do veículo tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – localizacoes – cdRoteiro properties: localizacoes: type: array items: type: object allOf: – #/definitions/localizacaoVeicRec minimum: 1 description: Lista de localizações a serem inseridas cdVersaoApp: type: integer format: int64 description: Versão instalada do aplicativo móvel utilizada no dispositivo que realizou o envio cdRoteiro: type: integer format: int64 description: Roteiro ao qual as ocorrências percentecem responses: 200: description: Ok schema: type: object required: – ok – dsErro properties: ok: type: boolean description: Sucesso na operação dsErro: type: string description: Mensagem caso erro 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /localizacoes/actions/insereLogMobile: post: description: Inserção de log dos dispositivos tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object properties: localizacao: type: object allOf: – #/definitions/localizacaoVeicRec description: Localização de onde ocorreu o erro versionApp: type: integer format: int64 description: Versão instalada do aplicativo móvel utilizada no dispositivo que realizou o envio cdRoteiro: type: integer format: int64 description: Roteiro ao qual o log foi registrado model: type: string description: Modelo do aparelho type: string description: Versão Android message: type: string description: Mensagem do log dateLog: type: string description: Data do registro do log platform: type: string description: Plataforma do dispositivo serviceStatus: type: object allOf: – #/definitions/serviceStatus description: Status do servico de localização do dispositivo networkType: type: string description: Tipo de rede do dispositivo responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /localizacoes/actions/registraEntradaSaidaAtividade: post: description: Registro de entrada/saída na atividade com base em uma lista de localizações tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – localizacoes – cdRoteiro properties: localizacoes: type: array items: type: object allOf: – #/definitions/localizacaoVeicRec minimum: 1 description: Lista de localizações a serem inseridas e validadas dsUsuario: type: string description: Usuário responsável pelo registro cdVersaoApp: type: integer format: int64 description: Versão instalada do aplicativo móvel utilizada no dispositivo que realizou o envio cdRoteiro: type: integer format: int64 description: Código da Rota em que a Entra e Saída da atividade foi registrada responses: 200: description: Ok schema: type: object required: – ok – dsErro – resultado properties: ok: type: boolean description: Sucesso na operação dsErro: type: string description: Mensagem caso erro resultado: type: array items: type: object allOf: – #/definitions/recEntradaSaidaAtv minimum: 1 description: Retorno 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /localizacoes/events/atualizaTemposExecucaoOcorrencias: post: description: Atualiza os tempos de execução, transito e distância das ocorrências, além de atribuir a atividade ao trajeto do veículo x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – ocorrencias – primitiva properties: ocorrencias: type: array items: type: object allOf: – #/definitions/atualizaTemposOcorrenciaRec minimum: 1 description: atividade excluída primitiva: type: string description: Primitiva responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /localizacoes/events/posicaoVeiculoAtualizada: post: description: x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – dados properties: dados: type: object allOf: – #/definitions/localizacaoVeicRec description: responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /localizacoes/events/ultimasDirecoesSobDemanda: post: description: Devolve as ultimas direções de forma paginada x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – cdRoteiro – direcoes – paginaAtual – totalDePaginas properties: cdRoteiro: type: integer format: int64 description: Código da rota direcoes: type: array items: type: object allOf: – #/definitions/recLatLon minimum: 1 description: Últimas direções executadas paginaAtual: type: integer format: int64 description: Número da página retornada pela busca totalDePaginas: type: integer format: int64 description: Número total de páginas que serão retornadas responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /localizacoes/events/obterDirecoesExecutadas: post: description: Evento que efetiva o obterDirecoesExecutas de forma assíncrona na sua totalidade, evitando que erros comprometam a publicação realizada pela primitiva buscaDirecoesExecutadasEmLote x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – roteiros – usuario properties: roteiros: type: array items: type: integer format: int64 minimum: 1 description: Códigos dos roteiros que possuem as direções usuario: type: string description: Usuário (completo, conforme login) responsável pela requisição responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /localizacoes/events/retornoDirecoesExecutadas: post: description: Evento que retornará as informações para torre de controle das direções executadas x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – listaResultado properties: listaResultado: type: array items: type: object allOf: – #/definitions/recTempoDistRot minimum: 1 description: Lista de Atividades responses: 200: description: OK default: description: Error response schema: #/definitions/genericErrordefinitions: serviceHealthStatus: description: Define o Status do serviço type: string enum: – UP – DOWN userNotificationKind: description: User notification kind. type: string enum: – Operational – Management – News userNotificationPriority: description: User notification priority. type: string enum: – Error – Alert – None eventEmailFormat: description: Format of the email type: string enum: – HTML – PLAIN_TEXT serviceStatus: description: type: object properties: authorization: type: integer format: int64 description: hasPermissions: type: boolean description: isRunning: type: boolean description: locationServicesEnabled: type: boolean description: localizacaoVeicRec: description: type: object required: – hrAtualizacao – dsLatitude – dsLongitude properties: hrAtualizacao: type: string format: date-time description: dsLatitude: type: string description: dsLongitude: type: string description: nrPlaca: type: string description: cdSequencia: type: integer format: int64 description: cdVersaoApp: type: integer format: int64 description: cdRoteiro: type: integer format: int64 description: MCEATVRec: description: type: object properties: nrCNPJFilial: type: string description: cdAtividade: type: integer format: int64 description: inAtividade: type: integer format: int64 description: dsInAtividade: type: string description: dsDestinatario: type: string description: dsLat: type: string description: dsLong: type: string description: dsNrDocto: type: string description: dtPrazoEntr: type: string format: date-time description: qtPeso: type: number format: double description: recEntradaSaidaAtv: description: Registro para entrada e saída da atividade type: object required: – cdAtividade properties: cdAtividade: type: integer format: int64 description: Código da atividade cdSequencia: type: integer format: int64 description: Sequência do registro dsUsuario: type: string description: Usuário responsável pelo registro dtHrEntrada: type: string format: date-time description: Data e hora de entrada dtHrSaida: type: string format: date-time description: Data e hora de saída dsLatitudeEntrada: type: string description: Latitude de entrada dsLongitudeEntrada: type: string description: Longitude de entrada dsLatitudeSaida: type: string description: Latitude de saída dsLongitudeSaida: type: string description: Longitude de saída cdVersaoApp: type: integer format: int64 description: Versão instalada do aplicativo móvel utilizada no dispositivo que realizou o envio cdRoteiro: type: integer format: int64 description: Código da Rota em que a Entra e Saída da atividade foi registrada recLatLon: description: type: object required: – lat – lon properties: lat: type: number format: double description: lon: type: number format: double description: recTempoDistRot: description: type: object required: – tempo – distancia – cdRoteiro properties: tempo: type: integer format: int64 description: Tempo do trajeto distancia: type: number format: double description: Distância do trajeto cdRoteiro: type: integer format: int64 description: Código da Rota atualizaTemposOcorrenciaRec: description: type: object required: – cdAtividade – cdSequencia – cdOcorrencia – cdRoteiro – dtPosIni – dtMovimento properties: cdAtividade: type: integer format: int64 description: cdSequencia: type: integer format: int64 description: cdOcorrencia: type: integer format: int64 description: cdRoteiro: type: integer format: int64 description: dtPosIni: type: string format: date-time description: dtMovimento: type: string format: date-time description: checkData: description: Dados do healthcheck type: object required: – name – status properties: name: type: string description: Nome do healthcheck status: type: string allOf: – #/definitions/serviceHealthStatus description: Status do healthcheck notifyUserEventPayload: description: Represents a regular user event notification payload discriminator: _discriminator type: object required: – notificationKind – notificationPriority – notificationSubject – notificationContent – sourceDomain – sourceService – destinationUser – _discriminator properties: notificationClass: type: string description: Class of notification notificationOrigin: type: string description: Origin of notification. Free text. Optional. notificationKind: type: string allOf: – #/definitions/userNotificationKind description: Notification kind. notificationPriority: type: string allOf: – #/definitions/userNotificationPriority description: Notification priority. notificationSubject: type: string description: Notification subject. notificationContent: type: string description: Notification content. sourceDomain: type: string description: Domain that generates the notification. sourceService: type: string description: Service that generates the notification. destinationUser: type: string description: Username of the destination user. link: type: string description: Notification link _discriminator: type: string description: emailNotifyUserEventPayload: description: Represents an email notification payload allOf: – #/definitions/notifyUserEventPayload – type: object required: – from properties: from: type: string description: Email sender address sendTo: type: array items: type: string description: Additional recipients to send the email to format: type: string allOf: – #/definitions/eventEmailFormat description: Email format pushNotifyUserEventPayload: description: Represents a push notification payload allOf: – #/definitions/notifyUserEventPayload – type: object required: – applicationId properties: applicationId: type: string description: Apple/Google application id blobReference: description: Default blob reference type. Every service defines its own. type: object required: – targetObjectId properties: domainName: type: string description: The domain the blob belongs to. serviceName: type: string description: The service the blob belongs to. targetObjectId: type: string description: The basic id of the blob. targetCopyId: type: string description: The id of the blob copy. basicErrorPayload: description: Default error payload type. Every service defines its own. type: object properties: message: type: string description: The user-facing error message, if any. errorCode: type: string description: The program-accessible (and service-specific) error code. dependency: description: Represents a service dependency type: object required: – domain – service – version properties: domain: type: string description: Domain of the dependency service service: type: string description: Name of the dependency service type: string description: Version of the dependency service genericError: properties: message: type: string description: Messaging describing the error. reason: type: string description: A symbolic code identifying the category of the reason of the error. enum: – BAD_REQUEST – UNAUTHORIZED – PAYMENT_REQUIRED – FORBIDDEN – OBJECT_NOT_FOUND – REQUEST_TIMEOUT – GONE – UNPROCESSABLE – INTERNAL_ERROR – NOT_IMPLEMENTED – SERVICE_UNAVAILABLE – INSUFFICIENT_STORAGE