Esta seção destina-se a descrever a estrutura de comunicação REST, estabelecida entre aplicativos e o servidor de back-end.
Atenção: CITSMART_URL: prefixo de URL inalterável, para que você possa acessar os serviços disponibilizados para os aplicativos móveis.
TODO API QUE NECESSITA UM “sessionID” PRECISARÁ ESTAR EM UMA SESSÃO FORNECIDA PELO “Login” DA API.
Login do usuário para usar os Serviços CITSmart.
Solicitação:
userName: alfanumérico não vazio e nem nulo;
password: alfanumérico não vazio e nem nulo;
token: alfanumérico não vazio e nem nulo, refere-se ao identificador do dispositivo para enviar a notificação push;
platform: refere-se ao tipo de plataforma (ios ou android) do qual o usuário efetuará login;
Resposta:
sessionID: não pode ser nulo nem vazio.
rangeAction: é inteiro, não nulo e não pode ser zero. Representa o raio de ação de um usuário de campo em KM.
locationInterval: é inteiro, não nulo e maior que zero. Representa, em minutos, o intervalo de tempo que o aplicativo deve enviar o posicionamento do atendente.
Lista dos contratos acessíveis ao atendente.
Solicitação :
sessionID: alfanumérico não nulo e nem vazio;
Resposta :
dateTime: timestamp não vazio nem nulo;
operationID: numérico não vazio nem nulo;
error: valor alfanumérico que pode ser nulo mas não pode ser vazio;
contracts: não vazio nem nulo;
id: numérico não vazio nem nulo;
description: alfanumérico não vazio nem nulo.
Lista de razões quando recusar uma solicitação, como no check-in
Solicitação :
sessionID: alfanumérico não nulo e nem vazio;
Resposta :
dateTime: timestamp não vazio nem nulo;
operationID: numérico não vazio nem nulo;
error: valor alfanumérico que pode ser nulo mas não pode ser vazio;
reasons: não vazio nem nulo;
id: numérico não vazio nem nulo;
description: alfanumérico não vazio nem nulo.
Lista os status de uma solicitação a ser usada, por exemplo, no serviço de checkout.
Solicitação :
sessionID: alfanumérico não vazio nem nulo;
Resposta :
dateTime: timestamp não vazio nem nulo;
operationID: numérico não vazio nem nulo;
error: valor alfanumérico que pode ser nulo mas não pode ser vazio;
status: não vazio nem nulo;
id: numérico não vazio nem nulo;
description: alfanumérico não vazio nem nulo;
Lista as unidades de um contrato
Solicitação:
sessionID: alfanumérico não vazio nem nulo;
contractID: numérico não nulo.
Resposta:
dateTime: timestamp não vazio nem nulo;
operationID: numérico não vazio nem nulo;
error: valor alfanumérico que pode ser nulo mas não pode ser vazio;
units: não vazio nem nulo;
id: numérico não vazio nem nulo;
description: alfanumérico não vazio nem nulo;
Atualiza as coordenadas geográficas de uma unidade.
Solicitação:
unitID: numérico não nulo;
sessionID: alfanumérico não vazio nem nulo;
latitude: numérico não nulo;
longitude: numérico não nulo;
Resposta:
dateTime: timestamp não vazio nem nulo;
operationID: numérico não vazio nem nulo;
error: valor alfanumérico que pode ser nulo mas não pode ser vazio;
success: boolean;
Desassociar um usuário de um dispositivo para que, quando um usuário excluir uma conexão, o usuário não receba mais a notificação push da conexão excluída.
Solicitação:
connection: alfanumérico não vazio nem nulo, referindo-se à conexão excluída pelo usuário;
sessionID: alfanumérico não vazio nem nulo;
token: alfanumérico não vazio nem nulo, referindo-se ao token a ser desassociado;
Resposta:
dateTime: timestamp não vazio nem nulo;
operationID: numérico não vazio nem nulo;
error: valor alfanumérico que pode ser nulo mas não vazio;
success: boolean;
Recupera a solicitação mais recente para o usuário no grupo, a partir da última (newestNumber) no aplicativo
Solicitação:
notificationType: numérico não nulo;
onlyApproval: numérico não nulo;
sessionID: alfanumérico não vazio nem nulo;
newestNumber: numérico não nulo;
Resposta:
dateTime: timestamp não vazio nem nulo;
operationID: numérico não vazio nem nulo;
error: valor alfanumérico que pode ser nulo mas não pode ser vazio;
notifications: não nulo;
number: numérico não nulo;
taskId: numérico não nulo;
type: numérico não vazio nem nulo;
0 - Tudo
1 - Compras
2 - Viagens
3 - RH
4 - Incidentes
5 - Outros
6 - Esperando
data: string de data no formato dd/mm/aaaa;
timeFlag: Número que define o período;
0 - Em tempo
1 - Menos que uma hora
2 - Atrasado
timeSLA: numérico inteiro não nulo, em minutos;
latitude: numérico;
longitude: numérico;
endSLA: data em alfanumérico no padrão dd/MM/aaaa HH:mm ou MM/dd/aaaa HH:mm, dependendo da localidade, que pode ter valor nulo.
task: alfanumérico não vazio nem nulo;
personal: boolean que identifica se a solicitação é destinada para o usuário ou se é do grupo;
inService: Boolean não nulo que identifica se a solicitação está em atendimento;
inCheckin: Flag que identifica se a solicitação está em check Pessoal (true ou false);
0 – Esperando checkin
1 – Em Checkin
service: alfanumérico não vazio nem nulo;
typeRequest: Flag que identifica o tipo de execução da solicitação
0 - Execução da Solicitação
1 - Aprovação da Solicitação
waiting: Flag que define o status da solicitação.
0 - Acompanhando
1 - Execução disponível
contract: numérico não nulo;
unit: numérico não nulo;
priorityorder: valor numérico que pode apresentar valor nulo, número de sequência que identifica se o gerente solicitou o atendimento;
Recupere a solicitação mais recente para o usuário no grupo, do mais antigo.
Solicitação:
notificationType: numérico não nulo;
onlyApproval: numérico não nulo;
sessionID: alfanumérico não vazio nem nulo;
oldestNumber: numérico não nulo;
Resposta:
dateTime: timestamp não vazio nem nulo;
operationID: numérico não vazio nem nulo;
error: valor alfanumérico que pode ser nulo mas não pode ser vazio;
notifications: não nulo;
number: numérico não nulo;
taskId: numérico não nulo;
type: numérico não vazio nem nulo;
0 - Tudo
1 - Compras
2 - Viagens
3 - RH
4 - Incidentes
5 - Outros
6 - Esperando
date: data no formato dd/mm/aaaa;
timeFlag: Número que define o período;
0 - Em tempo
1 - Menos de uma hora
2 - Atrasado
timeSLA: numérico inteiro não nulo, em minutos;
latitude: numérico;
longitude: numérico;
endSLA: data em alfanumérico nos padrões dd/MM/aaaa HH:mm ou MM/dd/aaaa HH:mm, dependendo do locale, que pode ter valor nulo.
task: alfanumérico não vazio nem nulo;
personal: boolean que identifica se a solicitação está destinada para o usuário ou para o grupo;
inService: Boolean não nulo que identifica se a solicitação está em atendimento;
inCheckin: Flag que identifica se a solicitação está em checkin Pessoal (true ou false);
0 – Esperando checkin
1 – Em Cleckin
service: alfanumérico não vazio nem nulo;
typeRequest: Flag que identifica o tipo de execução de uma solicitação
0 - Execução da Solicitação
1 - Aprovação da Solicitação
waiting: Flag que define o status da solicitação
0 - Acompanhando
1 - Execução disponível
contract: numérico não nulo;
unit: numérico não nulo;
priorityorder: valor numérico que pode apresentar valor nulo, número de sequência que identifica se o gerente solicitou o serviço;
Recupera a solicitação mais recente para o usuário no grupo, a partir das coordenadas atuais do usuário.
Solicitação:
notificationType: numérico não nulo;
onlyApproval: numérico não nulo;
latitude: numérico não nulo;
longitude: numérico não nulo;
sessionID: alfanumérico não vazio nem nulo;
pager: informação de paginação:
page: número de página a ser consultado, a partir de 1;
size: número de elementos a retornar;
Resposta:
dateTime: timestamp não vazio nem nulo;
operationID: numérico não vazio nem nulo;
error: valor alfanumérico que pode ser nulo nem vazio;
notifications: não nulo;
number: numérico não nulo;
taskId: numérico não nulo;
type: numérico não vazio nem nulo;
0 - Tudo
1 - Compras
2 - Viagens
3 - RH
4 - Incidentes
5 - Outros
6 - Esperando
date: data no formato dd/mm/aaaa;
timeFlag: Número que define o período;
0 - Em tempo
1 - Menos de uma hora
2 - Atrasado
timeSLA: inteiro numérico não nulo, em minutos;
latitude: numérico não nulo;
longitude: numérico não nulo;
endSLA: date em alfanumérico nos padrões dd/MM/aaaa HH:mm ou MM/dd/aaaa HH:mm, dependendo do locale, que pode ter valor nulo.
task: alfanumérico não vazio nem nulo;
personal: boolean que identifica se a solicitação foi destinada ao usuário ou para o grupo;
inService: Boolean não nulo que identifica se a solicitação está em atendimento;
inCheckin: Flag que identifica se a solicitação está em checkin Pessoal (true ou false);
0 – Esperando checkin
1 – Em Cleckin
service: alfanumérico não vazio nem nulo;
typeRequest: Flag que identifica o tipo de execução de uma solicitação
0 - Execução da Solicitação
1 - Aprovação da Solicitação
waiting: Flag que define o status da solicitação.
0 - Acompanhando
1 - Execução disponível
contract: numérico não nulo;
unit: numérico não nulo;
priorityorder: valor numérico que pode apresentar valor nulo, número de sequência que identifica se o gerente solicitou o serviço;
paging: informação de paginação
1. page: número da página atual
2. size: tamanho da página retornada
3. totalElements: número de elementos de acordo com a consulta
totalPages: número de páginas de acordo com a consulta
Recupera as tarefas de um serviço.
Solicitação:
notificationType: numérico não nulo;
onlyApproval: numérico não nulo;
sessionID: alfanumérico não vazio nem nulo;
oldestNumber: numérico não nulo;
Resposta:
dateTime: timestamp não vazio nem nulo;
operationID: numérico não vazio nem nulo;
error: valor alfanumérico que pode ser nulo nem vazio;
notifications: não nulo;
number: numérico não nulo;
taskId: numérico não nulo;
type: numérico não vazio nem nulo;
0 - Tudo
1 - Compras
2 - Viagens
3 - RH
4 - Incidentes
5 - Outros
6 - Esperando
date: data no formato dd/mm/aaaa;
timeFlag: Número que define o período;
0 - Em tempo
1 - Menos de uma hora
2 - Atrasado
timeSLA: inteiro numérico não nulo, em minutos;
latitude: numérico não nulo;
longitude: numérico não nulo;
endSLA: date em alfanumérico nos padrões dd/MM/aaaa HH:mm ou MM/dd/aaaa HH:mm, dependendo do locale, que pode ter valor nulo.
task: alfanumérico não vazio nem nulo;
personal: Boolean que identifica se a solicitação foi destinada ao usuário ou para o grupo;
inService: Boolean não nulo que identifica se a solicitação está em atendimento;
inCheckin: Flag que identifica se a solicitação está em checkin Pessoal (true ou false);
0 – Esperando checkin
1 – Em Cleckin
service: alfanumérico não vazio nem nulo;
typeRequest: Flag que identifica o tipo de execução de uma solicitação
0 - Execução de Solicitação
1 - Aprovação de Solicitação
waiting: Flag que define o status da solicitação.
0 - Acompanhando
1 - Execução disponível
contract: numérico não nulo;
unit: numérico não nulo;
priorityorder: valor numérico que pode apresentar valor nulo, número de sequência que identifica se o gerente solicitou o serviço;
Recupera detalhes de uma solicitação, de acordo com seu identificador
Solicitação:
taskId: numérico não nulo;
sessionID: alfanumérico não vazio nem nulo;
Resposta:
dateTime: timestamp não vazio nem nulo;
operationID: numérico não vazio nem nulo;
error: valor alfanumérico que pode ser nulo mas não pode ser vazio;
notification; não vazio nem nulo;
endSLA: data em alfanumérico pelos padrões dd/MM/aaaa HH:mm ou MM/dd/aaaa HH:mm, dependendo do locale.
task: alfanumérico não vazio nem nulo;
service: alfanumérico não vazio nem nulo;
description: alfanumérico não vazio nem nulo;
status: alfanumérico não vazio nem nulo;
taskStatus: alfanumérico não vazio nem nulo;
timeSLA: numérico inteiro não nulo, em minutos;
Recuperar os motivos a serem utilizados na aprovação de uma solicitação, de acordo com a solicitação.
Solicitação:
taskId: numérico não nulo;
sessionID: alfanumérico não vazio nem nulo;
Resposta:
dateTime: timestamp não vazio nem nulo;
operationID: numérico não vazio nem nulo;
error: valor alfanumérico que pode ser nulo mas não pode ser vazio;
amount: numérico não vazio nem nulo;
reasons; não vazio nem nulo;
id: numérico não vazio nem nulo;
desc: alfanumérico não vazio nem nulo;
Informar o início do atendimento de uma solicitação de serviço.
Solicitação:
number: numérico não nulo;
latitude: numérico não nulo;
longitude: numérico não nulo;
dateTime: timestamp não vazio nem nulo;
sessionID: alfanumérico não vazio nem nulo;
Resposta:
dateTime: timestamp não vazio nem nulo;
operationID: numérico não vazio nem nulo;
error: valor alfanumérico que pode ser nulo mas não pode ser vazio;
success: Boolean que identifica a conclusão bem sucedida da operação;
Informa a localização automática da posição do atendente.
Registra uma aprovação ou negação de uma solicitação de serviço.
Solicitação:
taskId: numérico não nulo;
feedback: numérico não nulo;
0 - rejeição da solicitação;
1 - aprovação da solicitação;
reasonId: numérico não nulo;
comments: alfanumérico não vazio nem nulo;
sessionID: alfanumérico não vazio nem nulo;
Resposta:
dateTime: timestamp não vazio nem nulo;
operationID: numérico não vazio nem nulo;
error: valor alfanumérico que pode ser nulo mas não pode ser vazio;
Cria uma nova solicitação
Solicitação:
description: alfanumérico não vazio nem nulo;
sessionID: alfanumérico não vazio nem nulo;
latitude: numérico não nulo;
longitude: numérico não nulo;
Resposta:
dateTime: timestamp não vazio nem nulo;
operationID: numérico não vazio nem nulo;
error: valor alfanumérico que pode ser nulo mas não pode ser vazio;
number: alfanumérico não vazio nem nulo;
Check-in do atendente em uma solicitação. Em outras palavras, inicia o cumprimento da solicitação.
Solicitação:
taskId:numérico não nulo;
sessionID: alfanumérico não vazio nem nulo;
latitude: numérico não nulo;
longitude: numérico não nulo;
startTime: timestamp não vazio nem nulo do tempo que o atendente solicita o "Check-in"
Resposta:
dateTime: timestamp não vazio nem nulo;
operationID: numérico não vazio nem nulo;
error: valor alfanumérico que pode ser nulo mas não pode ser vazio;
number: alfanumérico não vazio nem nulo;
Verifica um atendente em uma solicitação, atualizando seu status ("Suspenso", "Resolvido", etc.).
Solicitação:
taskId: numérico não nulo;
sessionID: alfanumérico não vazio nem nulo;
latitude: numérico não nulo;
longitude: numérico não nulo;
status: numérico não nulo, de acordo com o retorno do serviço "ListNotivicationStatus"
solution: numérico, informado apenas quando o status for “Solucionado (4)” or “Suspenso (2)”
descSolution: alfanumérico, não vazio nem nulo, informado apenas quando o status for “Solucionado (4)” or “Suspenso (2)”
Resposta:
dateTime: timestamp não vazio nem nulo;
operationID: numérico não vazio nem nulo;
error: valor alfanumérico que pode ser nulo mas não pode ser vazio;
number: alfanumérico não vazio nem nulo;
Registrar a negação de uma solicitação de atendimento pelo atendente, nos casos de recusa ao check-in.
Solicitação:
taskId: numérico não nulo;
sessionID: alfanumérico não vazio nem nulo;
latitude: numérico não nulo;
longitude: numérico não nulo;
reasonId: numérico e não nulo. Obtido através do chamado de serviço "GetDeniedReasons";
Resposta:
dateTime: timestamp não vazio nem nulo;
operationID: numérico não vazio nem nulo;
error: valor alfanumérico que pode ser nulo mas não pode ser vazio;
number: alfanumérico não vazio nem nulo;