Rotas e relacionados (Itinerary (Rotas))

A API de Itinerary é responsável pela manutenção das rotas. É nela que vamos conseguir criar uma rota e permitir vincular locais, pessoas e atividades na mesma. Através dos recursos desta API poderemos criar rotas e atualizar as mesmas.

Descrição de um Rota

OBS: Para atualização de cadastro, somente o identificador alternativo é obrigatório.

image.png

Busca Por Lista de Rotas

GET /CenterWeb/api/{$apiKey}/itinerary.xml

Veja um exemplo, do resultado de uma requisição que foi feita em XML:

<result>

<resourceName>itinerary</resourceName>

<size>2</size>

<entries>

<entry id="001" link="/itinerary/001.xml"/>

<entry id="002" link="/itinerary/002.xml"/>

</entries>

</result>

A resposta da requisição será uma mensagem contendo o total de registro retornados e uma lista simples, sem detalhes de cada registro retornado, contendo para cada entrada, Id do registro no uMov.me e o link, que pode ser usado para recuperar os dados específicos deste registro.

Busca de uma rota específica

GET /CenterWeb/api/{$apiKey}/itinerary/{$id}.xml

Esta operação serve para puxar informações de uma rota do sistema. Veja o exemplo de retorno de uma entidade abaixo (considerando uma requisição feita em XML):

<itinerary>

<id>25142</id>

<description>Rota_Teste_1</description>

<origin>0</origin>

<agentRelation>0</agentRelation>

<displayOrder>1</displayOrder>

<alternativeIdentifier>Rota_Teste_1</alternativeIdentifier>

<active>true</active>

<validateTasksOnField>0</validateTasksOnField>

<exclusive>true</exclusive>

<itineraryDefault>true</itineraryDefault>

</itinerary>

Observação: Na consulta de uma rota já criada, o sistema não lista as atividades <activities>, locais <serviceLocal> e pessoas (agent) vinculadas a rota. Para isso, devem ser realizadas as demais chamadas conforme descrito na documentação de rotas.

Inclusão de uma rota

POST /CenterWeb/api/{$apiKey}/itinerary.xml

Esta operação serve para incluir uma rota no sistema. Existe um mínimo de informações que o sistema espera receber para poder realizar a criação de um novo registro no ambiente em questão. Confira a descrição de uma Rota para identificar os campos obrigatórios. Veja um exemplo da requisição com dados em XML:

<itinerary>

<description>Teste rota</description>

<origin>0</origin>

<agentRelation>1</agentRelation>

<displayOrder>1</displayOrder>

<alternativeIdentifier>TesteRota</alternativeIdentifier>

<validateTasksOnField>0</validateTasksOnField>

<exclusive>false</exclusive>

<active>true</active>

<itineraryDefault>false</itineraryDefault>

</itinerary>

Atualização de uma Rota

Ambas as operações abaixo permitem atualizar informações de uma rota utilizando ou o id interno ou o identificador alternativo. Assim é possível atualizar a rota enviando apenas os dados desejados conforme é demonstrado o xml de exemplo abaixo:

Utilizando id interno

POST /CenterWeb/api/{$apiKey}/itinerary/{$id}.xml

Utilizando identificador alternativo

POST /CenterWeb/api/{$apiKey}/itinerary/alternativeIdentifier/{$alternativeIdentifier}.xml

<itinerary>

<description>Teste Rota Nova</description>

</itinerary>

Busca de uma rota específica através do identificador alternativo

GET /CenterWeb/api/{$apiKey}/itinerary/alternativeIdentifier/{$alternative identifier}.xml

Esta operação serve para buscar informações de uma rota do sistema. Veja o exemplo de retorno de uma entidade abaixo (considerando uma requisição feita em XML):

<itinerary>

<id>25142</id>

<description>Rota_Teste_1</description>

<origin>0</origin>

<agentRelation>0</agentRelation>

<displayOrder>1</displayOrder>

<alternativeIdentifier>Rota_Teste_1</alternativeIdentifier>

<active>true</active>

<validateTasksOnField>0</validateTasksOnField>

<exclusive>true</exclusive>

<itineraryDefault>true</itineraryDefault>

</itinerary>