Upload
others
View
81
Download
1
Embed Size (px)
Citation preview
API
uMov.me Este documento descreve os aspectos gerais da API uMov.me para integração com outros sistemas. Aqui são tratadas questões como autenticação, padrões de requisições e respostas bem como referência para informações específicas dos recursos disponibilizados pela API.
Sumário
Como nossa API está estruturada Autenticação
Gerar Token usando o Center Gerar Token usando a API
Validação de usuários Realizando requisições Operações Disponíveis
Busca Simples Por Identificador Busca Por Lista de Recursos Criação de Novos Recursos Atualização de Recursos
Paginação Limites
Requisições simultâneas Operações usando HTTP POST ActivityHistory (Histórico de Execução de Atividades)
Descrição de Histórico Busca por Lista de Históricos Busca de histórico completo específico (com todos os dados do histórico) Busca de um histórico específico Busca de um item de histórico específico Descrição de Item de Histórico Atualização de histórico (Marcar como Exportado) Inclusão de histórico
Callback Para Históricos Retornados AppVersion (Versão do Aplicativo)
Descrição de uma appVersion Descrição de uma app Consultar versões disponíveis de um aplicativo Consultar uma versão específica de um aplicativo Agendamento de atualização da versão de um aplicativo
Activity (Atividade) Descrição de uma Atividade Busca por Lista de Atividades Busca por Atividade Específica
Usando identificador interno Usando identificador alternativo
1
Section (Seção) Descrição de uma Seção Busca Por Lista de Seções Busca de uma Seção
Usando Identificador Interno Usando Identificador Alternativo
Section Field (Campo da Seção) Descrição de um Campo da Seção Busca por Lista de Campos na Seção Busca de um Campo na Seção
Usando Identificador Interno Usando Identificador Alternativo
Section SubGroup (Subgrupo da Seção) Descrição de um Subgrupo da Seção Inserir subgrupo na seção Busca de um Subgrupo da Seção
Usando Identificador Interno Remoção de um Subgrupo da Seção em Específico Inserir Subgrupos em Lote na Seção
Math Expressions (Fórmulas de Valor) Descrição de uma Fórmula de Valor Busca por Lista de Fórmulas de Valor Busca de uma Fórmula de Valor
Usando identificador Interno Logical Expressions (Fórmulas de Validação)
Descrição de uma Fórmula de Valor Busca por Lista de Fórmulas de Validação Busca de uma Fórmula de Validação
Usando Identificador Interno Auditing (Auditoria)
Descrição de um Registro de Auditoria Busca Por Lista de Auditoria Busca Por uma Auditoria
Usando Identificador Interno Descrição de um Valor da Auditoria Busca Por uma Valor de Auditoria
Usando Identificador Interno Busca Hierárquica da Auditoria de um Histórico
Atualização dos Dados do Contrato Descrição das Informações do Contrato no uMov.me Atualização dos Dados do Contrato
Criação/Cópia de Ambiente Descrição de um Workspace/Ambiente
2
Criação/Copia de Workspace/Ambiente Custom Entity (Cadastro Customizável)
Descrição de um Cadastro Customizável Busca Por Lista de Cadastros Customizáveis Busca de um Cadastro Customizável específico Descrição de um Registro do Cadastro Customizável Busca Por Lista de Registros do Cadastro Customizável Busca de um Registro do Cadastro Customizável específico Inclusão de um Registro do Cadastro Customizável Inclusão em Lote de Registro de Cadastro Customizável
Custom Field / Custom Field Value (Campo Customizável / Valor Campo Customizável) Descrição de um Custom Field Busca Por Lista de Campos Customizáveis Busca de um Campo Customizável
Usando Identificador Interno Usando Identificador Alternativo
Descrição de um Custom Field Value Inclusão/Alteração de Valores de Campos Customizáveis
Usando Identificador Interno Usando o Identificador Alternativo:
Inclusão/Alteração em lote de Valores de Campos Customizáveis Inclusão/Alteração de Valores no formato XML de Campos Customizáveis I
ExportLayout(Modelo de exportação) Busca por lista de modelo de exportação Busca por um modelo de exportação específico utilizando ID
GeoCoordinate (GeoCoordenadas) Descrição de uma GeoCoordenada Busca por lista de GeoCoordenadas Busca por uma GeoCoordenada em específico
ImportFiles (Agendamento de importação de arquivos) Agendamento de importação de arquivos
ImportLayout(Modelo de Importação) Descrição de um Modelo de Importação Descrição de um Campo do Modelo de Importação Busca por lista de modelo de importação Busca por um modelo de importação específico utilizando ID Busca de um modelo de importação por entidade
Relação de Item Group (Grupo)
Descrição de um Grupo Busca por lista de Grupos Busca por um Grupo específico Inclusão de um Grupo
3
Atualização de um Grupo específico Busca por um Grupo específico
Item (Item) Descrição de um Item Busca por lista de Itens Busca por um Item específico Inclusão de um Item Atualização de um Item específico
Utilizando id interno Utilizando identificador alternativo
Inclusão de itens em lote Busca por um Item específico através do identificador alternativo
ItemCategory (Categoria de Item) Descrição de uma Categoria de Item Busca por lista de Categoria de Item Busca por uma Categoria de Item específica Inclusão de uma Categoria de Item Atualização de uma Categoria de Item específica Busca por uma Categoria de Item específica através do identificador alternativo
SectionItem (Item de Seção) Descrição de um Item de Seção Busca por lista de Itens de Seção Busca por um Item de Seção específico Inclusão de um Item de Seção Atualização de um Item de Seção específico
SubGroup (Subgrupo) Descrição de um Subgrupo Busca por lista de Subgrupos Busca por um Subgrupo específico Inclusão de um Subgrupo Atualização de um Subgrupo
Usando Identificador Interno Usando Identificador Alternativo
Busca por um Subgrupo específico através do identificador alternativo Mix de Produtos
Busca por Lista de Tipo de Mix de Produtos Busca por Lista de Mix de Produtos Busca por Lista de Itens de Mix de Produtos Busca por Mix / Itens de Mix / Tipo de Mix de Produto
Usando Identificador Interno Usando Identificador Alternativo
Descrição de um Tipo de Mix Descrição de um Mix de Produtos
4
Descrição de um Item do Mix de Produtos Tipo de Mix (MixType)
Descrição de um Tipo de Mix Inclusão de um tipo de mix Buscar todos os registros de tipo de mix Buscar um registro específico de tipo de mix
Mix Descrição de um Mix Inclusão de um mix Buscar todos os registros de mix Buscar um Registro de Mix
Itens do Mix (Mix Product) Descrição de um Item de Mix Inclusão de um item do mix Busca por Lista de Registros de Itens do Mix Buscar por Lista de Produtos de um Mix Buscar um registro específico de itens do mix
Relação de Locais ServiceLocal (Local de Atendimento)
Descrição de um Local de Atendimento Busca Por Lista de Locais de Atendimento Busca de um Local de Atendimento específico Inclusão de um Local de Atendimento Atualização de um Local de Atendimento
Usando Identificador Interno Usando Identificador Alternativo
ServiceLocal Activity (Atividades dos Locais) Inclusão de atividades dos locais em lote Remoção de uma atividade de Local em específico
Usando Identificador Alternativo: ServiceLocalClassification (Classificação de local de atendimento)
Descrição de um Classificação de local de atendimento Busca por lista de Classificação de local de atendimento Busca por um Classificação de local de atendimento Inclusão de um Classificação de local de atendimento Atualização de um Classificação de local de atendimento específico Busca por Classificação de Local de Atendimento
Usando Identificador Alternativo ServiceLocalType(Tipo de Local de atendimento)
Descrição de um Tipo de local de atendimento Busca por lista de Tipo de local de atendimento Inclusão de um Tipo de local de atendimento Atualização de um Tipo de Local de Atendimento
5
Usando Identificador Interno Usando Identificador Alternativo
Busca por Tipo de Local de Atendimento Usando Identificador Interno Usando Identificador Alterantivo
Local3Dimension (Grupo de local de atendimento) Descrição de um Grupo de local de atendimento Busca por lista de Grupo de local de atendimento Busca por Grupo de Local de Atendimento
Usando Identificador Interno Usando Identificadot alternativo
Inclusão de um Grupo de local de atendimento Atualização de um Grupo de local de atendimento específico Busca por Grupo de Local de Atendimento
Usando Identificador Interno Usando Identificador Alternativo
RELACAO DE PESSOAS Agent (Agente)
Descrição de um Agente/Pessoa Busca por Lista de Agentes/Pessoas Busca de um Agente/Pessoa específica Inclusão de um Agente/Pessoa específica Atualização de um Agente/Pessoa especifíca
Usando Identificador Interno Usando Identificador Alternativo
Busca por Agente/Pessoa Usando Identificador Interno Usando Identificador Alternativo
Agent Activity (Atividades dos Agentes) Inclusão de atividades dos agentes em lote
AgentType (Tipo de Agente) Descrição de um Tipo de Agente Busca por lista de Tipo de Agente Busca por um Tipo de Agente específico Inclusão de um Tipo de Agente Atualização de um Tipo de Agente
Usando Identificador Interno Usando Identificaor Alternativo
Busca por um Tipo de Agente Usando Identificador Interno Usando Identificador Alternativo
SmsRequest (Envio de SMS) Descrição de um SmsRequest
6
Inclusão de um SmsRequest Team(Equipe)
Descrição de uma Equipe Busca Por Lista de Equipes Busca por uma Equipe
Usando Identificador Interno Usando Identificador Alternativo
Inclusão de uma Equipe Atualização de uma Equipe Inclusão de uma pessoa em uma equipe Remoção de uma pessoa de uma equipe Consulta de uma pessoa em uma equipe
TeamType(Tipo de Equipe) Descrição de um Tipo de Equipe Busca Por Lista de Tipos de Equipe Busca de um Tipo de Equipe Inclusão de um Tipo de Equipe Atualização de um Tipo de Equipe
RELACAO DE TAREFAS Schedule (Tarefas)
Descrição de uma Tarefa Busca Por Lista de Tarefas Busca de uma tarefa
Usando Identificador Interno Usando Identificador Alternativo
Inclusão de uma Tarefa Atualização de uma Tarefa
Utilizando Identificador Interno Utilizando Identificador Alternativo Inclusão ou atualização de uma tarefa com identificadores alternativos
Cancelamento de uma tarefa Schedule Item (Itens das Tarefas)
Inclusão de itens de tarefa em lote Busca Por Lista de Tarefas Busca por um Item de Tarefa em específico Remoção de um Item de Tarefa em específico
Usando Identificador Interno Usando Identificador Alternativo:
Envio Notificação Push Criação de notificação
Envio de Mensagens Criação da Mensagem
7
Como nossa API está estruturada A API do uMov.me é implementada sobre o protocolo HTTP/HTTPS usando verbos conhecidos do protocolo como GET e POST para realizar as requisições. Originalmente o formato suportado pela API é XML eXtensible Markup Language. A API é baseada nos conceitos REST (Representational State Transfer). Neste sentido dizemos que a nossa API é inspirada em REST e respeita os aspectos mais significativos e restritivos da sua arquitetura, em particular a restrição de "interface uniforme". Cada recurso disponibilizado pela API possui sua própria URL base e é manipulado de forma isolada.
Autenticação Para ter acesso a API uMov.me, o ambiente em questão deve possuir uma chave de acesso da API gerada. Isto é feito através das configurações do ambiente, onde um desenvolvedor pode requisitar uma chave de acesso. Quem possuir esta chave terá o acesso aos dados do ambiente através das chamadas de API. Esta chave de acesso não deve ser publicada pelo cliente — ela é a segurança do cliente no acesso ao sistema através da API.
Gerar Token usando o Center Caso o cliente tenha interesse em criar ou "reiniciar" esta chave, pode fazer isto pelo menu Gestão > Integração > API.
8
http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.htmlhttp://www.w3.org/Protocols/rfc2616/rfc2616-sec9.htmlhttp://pt.wikipedia.org/wiki/XMLhttp://pt.wikipedia.org/wiki/REST
A chave é usada como parte das informações de uma dada requisição, exemplo: https://api.umov.me/CenterWeb/api/4526e732f53e811be6f0678c4512c9bcea990/serviceLocal/5421.xml Neste caso, o token 4526e732f53e811be6f0678c4512c9bcea990 é a chave de API dentro da requisição. Toda requisição deve ter a chave enviada.
Gerar Token usando a API É possível também gerar ou recuperar o token através de uma requisição POST via API. A requisição a ser feita é:
URL: https://api.umov.me/CenterWeb/api/token.xml Exemplo da requisição com dados do XML:
fulano senhafulano ambiente
Validação de usuários Através da API do uMov.me também é possível validar se um determinado usuário é valido através de uma requisição POST via API. A requisição a ser feita é:
URL: https://api.umov.me/CenterWeb/api/authentication.xml Exemplo da requisição com dados do XML:
fulano senhafulano ambiente
9
Possiveis códigos de retorno:
● 200: Usuário autorizado ● 401: Usuário não autorizado
Realizando requisições Ao realizar uma requisição para a API uMov.me é necessário:
● indicar a chave de API ● o recurso de interesse ● opcionalmente se pode informar um identificador, no caso de requisições que desejam
retornar um registro em específico. ● o tipo de conteúdo que está sendo tratado, seja no envio ou no retorno de informação.
Com relação ao tipo de conteúdo a API uMov.me trabalha com o formato XML;
GET https://api.umov.me/CenterWeb/api/4526e732f53e811be6f0678c4512c9bcea990/...
A requisição acima é lida da seguinte forma: desejo retornar (GET) informações via API existente no ambiente uMov.me com chave de API "4526e732f53e811be6f0678c4512c9bcea990", sobre um local de atendimento (serviceLocal) específico, de código 5421, em formato XML. Ainda é possível adicionar parâmetros nas requisições. Este tipo de funcionalidade é disponível nas requisições de consulta de registros. Para enviar parâmetros na requisição, é necessário adicionar parâmetros igual realizamos em uma requisição HTTP/HTTPS. Exemplo:
GET https://api.umov.me/CenterWeb/api/{$apiKey}/agent.xml?name=fulano&active=true
Esta requisição está pedindo todos os agentes disponíveis cujo nome tenha a palavra fulano presente (name=fulano) e que estejam ativos (active=true). Enviar parâmetros para a API uMov.me é simples assim!
Operações Disponíveis
10
https://api.umov.me/CenterWeb/api/4526e732f53e811be6f0678c4512c9bcea990/serviceLocal/5421.xml
Busca Simples Por Identificador GET https://api.umov.me/CenterWeb/api/{chave_api}/{nome_recurso}/{identificador_recurso}.xml
Busca Por Lista de Recursos GET https://api.umov.me/CenterWeb/api/{chave_api}/{nome_recurso}.{formato}?{parametro1}={valor1}&{parametro2}={valor2}...
Criação de Novos Recursos POST https://api.umov.me/{chave_api}/{nome_recurso}.{formato}
Atualização de Recursos POST https://api.umov.me/CenterWeb/api/{chave_api}/{nome_recurso}/{identificador_recurso}.{formato}
Respostas e alertas de erro O método de envio POST pode ser usado para realizar uma inserção ou atualização. No caso de uma inserção, é retornado o código 201 (recurso criado) no caso de sucesso. No caso de uma atualização de recurso, é retornado o código 200 (recurso atualizado). Veja um resumo dos status HTTP que a API pode retornar:
● 200 um retorno ok para uma consulta (GET) ou operação de atualização de dados com sucesso;
● 201 um retorno indicando a criação de um novo registro, usado para inserção de dados (requisições POST para inclusão de dados);
● 400 request mal realizado, retornado quando o cliente executa uma chamada sem usar os parâmetros esperados por exemplo;
● 401 não autorizado, normalmente quando a chave de API uMov.me não está correta; ● 404 quando pesquisado por um registro indicando um id especifico, porém inexistente; ● 501 para entidades não disponiveis via API;
Referência dos códigos HTTP: W3C HTTP/1.1 Status Code Definitions (http://www.w3.org/Protocols/rfc2616/rfc2616sec10.html) Para requisições de criação e atualização de um recurso com sucesso, será enviado uma mensagem ao usuário conforme o exemplo abaixo:
11
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
serviceLocal 5421 /serviceLocal/5421.xml
Ao realizar buscas por uma lista de recursos, será enviada ao usuário uma mensagem informando as seguintes informações:
● nome do recurso pesquisado ● total de registros encontrados ● lista de entradas contento o link para acesso de cada recurso encontrado
serviceLocal N ...
Paginação Existe uma número máximo de registros que uma pesquisa pode retornar. Por padrão a API mostra apenas a primeira página com resultados da pesquisa. Para exibir os demais registros, é necessário paginar a pesquisa, informando o número da página que se deseja consultar. Para isso, devese adicionar o parâmetro 'paging.page' à requisição informando o número da página desejada:
GET https://api.umov.me/CenterWeb/api/{$apiKey}/schedule.xml?paging.page=5
Limites
Requisições simultâneas
12
A API do uMov.me trabalha atualmente com um limite máximo de 5 conexões por segundo. Este bloqueio de conexões simultâneas ocorre baseado em um limite de requisições por IP e TOKEN. Exemplificando: Dado que um determinado IP(200.x.x.x) ou token(4526e732f53e811be6f0678c4512c9bcea990) realizar 6 chamadas de forma simultânea(no mesmo segundo) para a o uMov.me, então serão processadas apenas as cindo primeiras requisição observando a ordem de chegada. A sexta requisição será bloqueada!
Operações usando HTTP POST Ao atualizar um histórico você precisa em sua requisição POST identificar os dados do histórico utilizando um parâmetro com o nome data. Segue um exemplo disparando a requisição a partir de um formulário HTML, onde você precisa trocar {$apiKey} pela chave da sua API e {$id} pelo código do objeto que está sendo modificado. Neste exemplo estamos modificando o status do histórico para exportado. Veja a base do form HTML.
Perguntas Frequentes! ● A API uMov.me não suporta outros formatos? ● Existe alguma aplicação demo, ou algum cliente da API uMov.me para que sirva
de exemplo?
Entre em contato conosco para saber do nosso roadmap!
13
ActivityHistory (Histórico de Execução de Atividades) A API de ActivityHistory é responsável por retornar os dados de execução das tarefas de campo. Ela é a forma como o sistema integrado ao uMov.me consegue saber o que aconteceu em campo e poder assim dar prosseguimento aos processos de negócio envolvidos!
Descrição de Histórico
Campo Valor Tamanho Obrigatório Descrição
activity Não Dados relacionados à atividade.
initialStartTimeOnSystem texto 19 Não Data de inico da execução da atividade no sistema. Formato (yyyymmdd HH:mm:ss) 24hs.
id numérico 10 Não Identificador interno de histórico de execução de atividade no uMov.me
schedule Não Dados relacionados à tarefa
endFinishTimeOnSystem
texto 19 Não Data final de execução da atividade. Formato (yyyymmdd HH:mm:ss) 24hs.
status true/false
Não Indica se o histórico está ativo ou inativo, válido ou não válido.
Busca por Lista de Históricos
GET /CenterWeb/api/{$apiKey}/activityHistory.xml Este recurso permite fazer a busca de históricos de um determinado ambiente. É permitido que você adicione alguns parâmetros na requisição. Os parâmetros são os seguintes:
● schedule: pesquisar por uma determinada tarefa GET /CenterWeb/api/{$apiKey}/activityHistory.xml?schedule=002
● Atividades iniciados entre 20111001 00:00:00 e 20111001 23:59:59
GET
14
/CenterWeb/api/{$apiKey}/activityHistory.xml?initialStartTimeOnSystem=20111001%2008:00:00&endStartTimeOnSystem=20111001%2023:59:00:00
● Atividades finalizadas entre 20111101 00:00:00 e 20111101 23:59:59 GET
/CenterWeb/api/{$apiKey}/activityHistory.xml?endStartTimeOnSystem=20111101%2008:00:00&endFinishTimeOnSystem=20111101%2023:59:00:00
● Atividades executadas entre 20111001 00:00:00 e 20111101 23:59:59 GET
/CenterWeb/api/{$apiKey}/activityHistory.xml?initialStartTimeOnSystem=20111001%2008:00:00&endFinishTimeOnSystem=20111101%2023:59:00:00
● Atividades filtrando os históricos através de atributos das entidades vinculadas
GET /CenterWeb/api/{$apiKey}/activityHistory.xml?activity.captureGPS=true&schedule.alternativeIdentifier=teste
Realizar pesquisas de histórico de execução de atividades utilizando parâmetros pela API uMov.me é simples assim. Veja um exemplo, do resultado de uma requisição que foi feita em XML:
activityHistory 1
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 histórico completo específico (com todos os dados do histórico)
GET /CenterWeb/api/{$apiKey}/activityHistoryHierarchical/{$id}.xml
15
Esta operação serve para puxar informações de um histórico de execução de atividade do sistema de forma completa. Todos os dados da tarefa e dados coletados são retornadas nessa requisição. Veja o exemplo de retorno de uma entidade abaixo (considerando uma requisição feita em XML): 445 20101005 19:30:16 20101005 19:30:36 0 true false false 2 1 9 Entrega Total Realizada 1 0 2 true 0 1 false true false 2 566 50 Returned 38 Entregador 5 false e5 false true false 0 false
16
D 0 false 1 16:29 20101005 1 20101005 19:30 6 Trevisan Sao Paulo 23.566675, 46.6499364 Trevisan Tecnologia Ltda Av. Paulista 726 sala 1707 99999999 SP true 1 20100707 20:25:15 20101224 14:14:49 0 true 1 false 9 Unica 0 true 1
false false 0 1
17
6 Padrão Item true 23 1 0 true false Nome Recebedor: true true A 25 true 0 false 2645 yyyy yyyy true 24 1 1 true false Documento Recebedor: true true
N 15 true 0 false 2646 9999 9999
18
true 25 1 2 true false Tipo Recebedor: true true L true U 0 false 2647 1 O Mesmo true 1031046 20121227 161027 0.0 0.0 ON_START_ACTIVITY Não foi possível capturar as coordenadas. A pessoa desistiu após tentar novamente 0 vezes. true true false 1031045 20121227
19
160808 0.0 0.0 ON_START_ACTIVITY Não foi possível capturar as coordenadas. A pessoa desistiu após tentar novamente 0 vezes. true true false
Busca de um histórico específico
GET /CenterWeb/api/{$apiKey}/activityHistory/{$id}.xml
Esta operação serve para puxar informações de um histórico de execução de atividade do sistema. Veja o exemplo de retorno de uma entidade abaixo (considerando uma requisição feita em XML):
563486 3146 Atividade true false false 394748 4 23:31 23:31 true 3 20111018 23:31:37 20111018 23:31:42
20
Note que ao requisitar as informações de um determinado histórico buscando pelo Id, um conjunto de informações que compõe o histórico de execução são resgatos juntos. Entre as informações estão, dados sobre a atividade, tarefa e uma lista de items que armazenam os valores de execução para os campo da atividade.
Busca de um item de histórico específico
GET /CenterWeb/api/{$apiKey}/activityHistoryItem/{$id}.xml
Através desta operação é possivel obter os dados informados para os campos de uma atividade no momento da execução pelo sistema. Veja o exemplo de retorno de uma entidade abaixo (considerando uma requisição feita em XML):
11204373 10475 Entrega Realizada true true
38096 Padrão true
38037 true false Nota true true N 2 true
10
21
Descrição de Item de Histórico
Campo Valor Tamanho Obrigatório Descrição
active true/false Não Indica se o item de histórico está ativo ou não
id numérico 10 Não Identificador interno o item de histórico no uMov.me
section.description texto 70 Não Descrição da seção que compõe o item de histórico
section.id numérico 10 Não Identificador interno no uMov.me da seção que compõe o item de histórico.
section.mandatory true/false Não Inidica se a seção que compõe o item de histórico é obrigatória
sectionField.active true/false Não Inidica se o campo está ativo ou não
sectionField.description texto 100 Não Descrição do campo de uma seção
sectionField.id numérico 10 Não Identificador interno no uMov.me do campo de uma seção.
sectionField.nullable true/false Não Inidica se o campo da seção aceita valores nulos ou vazio.
sectionField.size numérico 10 Sim Tamanho do campo em caracteres.
sectionField.type caracter 3 Sim Referente ao tipo de dado do campo.
A(alfanumérico), N(numérico), B(booleano), D(data), T(time/hora), L(lista)
sectionField.unique true/false Não Inidica que o valor do campo não pode ser repetido em uma mesma seção e item
sectionField.updatable true/false Não Indica se o valor do campo pode ser alterado no momento da execução
sectionField.visible true/false Não Indica se o campo é visível na seção
value numérico 1000 Não Valor interno do campo utlizado para tratamento do resultado
valueForExhibition numérico 1000 Não Valor de exibição do campo selecionado pelo usuário
22
Atualização de histórico (Marcar como Exportado)
POST /CenterWeb/api/{$apiKey}/activityHistory/{$id}.xml
Esta operação faz com que o histórico da tarefa seja marcado como exportado. É possível também informar o nome do arquivo ou lote gerado. true Arquivo 12345 Esta operação faz com que o histórico da tarefa seja marcado como não exportado. false
Inclusão de histórico
POST /CenterWeb/api/{$apiKey}/schedule/{scheduleId}/activityHistory.xml
POST /CenterWeb/api/{$apiKey}/schedule/alternativeIdentifier/{scheduleIdentifier}/activityHistory.xml
Esta operação permite fazer a criação de um histórico pela API. O histórico pela api, segue uma estrutura similar ao utilizado pela busca de histórico completo (hierárquico). Nele é informada toda a estrutura do histórico de forma hierárquica (Tarefa > Atividade > Seção > Item > Campo) para que o sistema consiga mapear este registro de forma correta. A criação do histórico obriga a existência de uma tarefa. Esta tarefa por sua vez tem suas atividades vinculadas, seguidas de seções e campos. Sendo assim para que um histórico seja criado, é necessário que toda a hierarquia de uma execução seja préexistente no sistema. Para criação do histórico começamos pela tarefa. Esta tarefa é identificada pela api através das chaves {scheduleId} ou {scheduleIdentifier}, identificada acima na URL de exemplo. Isso demonstra que é possível identificar uma tarefa através de seu id interno do sistema ou pelo identificador alternativo cadastrado.
23
A tarefa informada na URL deve estar na situação pendente de envio ou em campo. Somente é permitida a inclusão de históricos para atividades que mantem a tarefa em campo. Após a inclusão do histórico, a tarefa passa para a situação Em Campo. Existem dois tipos de histórico. Um relacionado a algum item ou aqueles utilizados em seções sem items. Para cada caso, existe uma pequena alteração na estrutura do XML que deve ser enviado para a API. Exemplo de histórico SEM itens:
POST /CenterWeb/api/{$apiKey}/schedule/alternativeIdentifier/tarefa1/activityHistory.xml atividade1 secao1 campo1 yyyy yyyy campo2 9999 9999 No exemplo acima está sendo criado um histórico para a tarefa identificada como "tarefa1". Estão sendo preenchidos os campos "campo1" e "campo2" da seção "secao1" na atividade "atividade1". Todos as referências são identificadas utilizando o identificador alternativo.
24
Exemplo de histórico COM itens:
POST /CenterWeb/api/{$apiKey}/schedule/alternativeIdentifier/tarefa2/activityHistory.xml atividade2 secao1 item1 campo1 yyyy yyyy campo2 9999 9999 No exemplo acima está sendo criado um histórico para a tarefa identificada como "tarefa2". Estão sendo preenchidos os campos "campo1" e "campo2" do item "item1" da seção "secao1" na atividade "atividade2". Todos as referências são identificadas utilizando o identificador alternativo.
Callback Para Históricos Retornados O sistema conta com um serviço de callback para notificar automaticamente um histórico recebido na retaguarda para um outro sistema. Isso torna o processo mais ágil, sem a
25
necessidade de fazer requisições de API para consultar se a informação já chegou ou ainda está sendo processada. Para que o callback funcione de forma adequada, ainda deve ser solicitada a ativação do recurso ao time de suporte. Em breve, estaremos disponibilizando uma interface para que seja possível a ativação do recurso via uMov.Center. Com o processo ativo, deve ser criado um campo customizável alfanumérico na tarefa. Esse campo deve possuir identificador altenativo = "callback". Dessa forma, ao criar uma tarefa, deve ser informado nesse campo (callback) a URL do seu sistema que irá receber os dados do histórico que estão no uMov.me. Quando um histórico da tarefa for recebido na retaguarda, com o processo de callback ativo, e com uma URL de callback cadastrada na tarefa, será disparada uma requisição POST para a URL informada contendo as informações dos históricos recebidos na retaguarda, conforme exemplo listado abaixo:
Tarefa XXX
Note que nesse exemplo, é enviado o identificador alternativo da tarefa (Tarefa XXX) e o histórico recebido para a tarefa abaixo com o id="8988776655445393". Para buscar os dados do histórico, podem ser usados os métodos GET /CenterWeb/api/{$apiKey}/activityHistoryHierarchical/{$id}.xml ou GET /CenterWeb/api/{$apiKey}/activityHistory/{$id}.xml, conforme listado acima. Importante: O sistema somente irá considerar os históricos recebidos após a data e hora de ativação do recurso e para tarefas que possuem uma URL de callback válida. Além disso, ao disparar a requisição do callback, o sistema marca o histórico como já integrado. Dessa forma, a chamada da API de callback é executada uma única vez por histórico. Observações importantes:
● Os valores informados deverão sempre respeitar as informações de tipo, tamanho, etc. dos campos criados pelo sistema. (Ex. apenas números para campos numéricos, etc.);
● No caso de campo data o formato esperado do valor deverá ser AAAAMMDD; ● Não é possível fazer a criação de histórico para campos do tipo foto e multimidia pela
API; ● Os campos value e valueForExhibition são principalmente usados para casos onde
temos campo do tipo lista, nos demais casos (Alfanumérico, Numérico, etc.) você deverá apenas repetir o valor esperado nos dois campos.
26
● As fórmulas de valor e validação para campos, seções e atividades não são executadas na inclusão de histórico via API.
● Sistema não valida de itens estão vinculados a seção. Somente valida se item está cadastrado no ambiente.
● Não são validados campos ou itens obrigatórios na inclusão via API. ● Não é feita a validação de seção e atividades antecessoras. ● As coordenadas GPS de execução não podem ser incluídas via API. ● Os valores preenchidos em campo lista não são validados para verificar se são válidos
conforme o cadastro do campo.
AppVersion (Versão do Aplicativo) A API de AppVersion permite interagir com os aplicativos e versões geradas do aplicativo vinculado ao ambiente.
27
Descrição de uma appVersion Campo Valor Tamanho Obrigatório Descrição
id numérico 10 Sim Identificador interno da versão do aplicativo no uMov.me
description texto 100 Sim Descrição da versão do aplicativo.
version texto 20 Sim Identificação da versão do aplicativo informada na publicação da versão.
observation texto 500 Não Observação sobre a versão do aplicativo com detalhes sobre ela.
updateType texto 1 Sim Indica o tipo de atualização (0=Opcional | 1=Obrigatória).
publishDate dateTime Sim Data e hora da publicação da versão do aplicativo
Descrição de uma app Campo Valor Tamanho Obrigatório Descrição
id numérico 10 Sim Identificador interno do aplicativo no uMov.me
description texto 100 Sim Descrição do aplicativo.
observation texto 500 Não Observações gerais sobre o aplicativo
Importante: uma versão de aplicativo (appVersion) sempre está vinculada a um aplicativo (app). A consulta do aplicativo sempre será feita através da versão que está vinculada ao ambiente. Consulta a versão corrente do aplicativo vinculado ao ambiente
GET /CenterWeb/api/{$apiKey}/app/version.xml Esta operação faz com que seja retornada a versão e o aplicativo vinculado ao ambiente. Este é um exemplo de um xml retornado de um ambiente:
1 Versão 1 do aplicativo de vendas 1.0 Versão inicial gerada para o aplicativo de força de vendas 0
28
20130813 15:00:00 1 Força de Vendas Aplicativo para vendas no uMov.me
Consultar versões disponíveis de um aplicativo GET /CenterWeb/api/{$apiKey}/app/{$app_id}.xml
Esta operação faz com que seja retornada uma lista com as versões disponíveis de um aplicativo. Somente será possível consultar versões de um aplicativo já vinculado ao ambiente Este é um exemplo de um xml retornado de um ambiente:
1 Força de Vendas Aplicativo para vendas no uMov.me
Consultar uma versão específica de um aplicativo GET /CenterWeb/api/{$apiKey}/appVersion/{$appVersion_id}.xml
Esta operação faz com que seja retornada detalhes de uma versão específica para conferência. Este é um exemplo de um xml retornado de um ambiente:
1 Versão 1 do aplicativo de vendas 1.0 Versão inicial gerada para o aplicativo de força de vendas 0
29
20130813 15:00:00 1 Força de Vendas Aplicativo para vendas no uMov.me
Agendamento de atualização da versão de um aplicativo POST /CenterWeb/api/{$apiKey}/app/version.xml
Esta operação faz com que seja agendada a atualização de um aplicativo
2 20130814 18:00:00
Deve ser informada a versão que será aplicada no ambiente no momento da atualização. Somente será possível atualizar para uma versão com data mais recente que a versão corrente vinculada ao ambiente. Pode ser informada a data e hora de agendamento. Essa data e hora é opcional. Se não informada, o sistema irá gravar a data corrente para realizada a atualização no momento da chamada.
Activity (Atividade) A API de atividade permite consultar as atividades existentes no uMov.me.
Descrição de uma Atividade
Campo Valor Tamanho Obrigatório Descrição
description texto 10 Sim Descrição da atividade no uMov.me
id numérico 10 Não Identificador interno da atividade no uMov.me
sections lista Não Lista de seções vinculadas à atividade
30
alternativeIdentifier texto 100 Não Identificador alternativo da atividade no uMov.me
displayOrder numérico 10 Não Ordem de exibição da atividade
active true / false Não Indica se uma atividade está no estado ativo ou não. Pode receber valores "true" ou "false"
comunicationType caracter 1 Sim Tipo de sincronismo da atividade (0Confirmado pelo Usuário | 1Sincronismo Automático | 2Sincronismo Manual)
executionType caracter 1 Sim Tipo de execução da atividade (0Mantem Tarefa no Dispositivo Móvel | 1Finaliza Tarefa | 2Finaliza Atividade)
loopExecution true / false Não Indica se execução da atividade é em loop. Pode receber valores "true" ou "false"
showSessionWebForm true / false Não Indica se exibe seção na web com campos e itens em formato de grade. Pode receber valores "true" ou "false"
confirmClose caracter 1 Não Confirmação de encerramento da atividade executada (0Confirma | 1Confirma e Exibe Dados para Conferência | 2Confirma e Exibe os Itens Não Coletados)
acceleratedExecution true / false Não Indica se atividade possui execução acelerada com teclas de atalho. Pode receber valores "true" ou "false"
captureGPS true / false Não Indica se GPS é coletado na execução da atividade. Pode receber valores "true" ou "false"
confirmWithoutGPS true / false Não Indica se solicita confirmação no encerramento de atividade sem GPS coletado. Pode receber valores "true" ou "false"
GPSIsMandatory true / false Não GPS obrigatório na execução da atividade. Pode receber valores "true" ou "false"
locked true / false Não Indica se a atividade encontrase bloqueada para edição. Pode receber valores "true" ou "false"
documentation texto 500 Não Utilizado para registrar a documentação do registro
mathExpressions lista Não Lista de Fórmulas de Valor da atividade
31
logicalExpressions lista Não Lista de Fórmulas de Validação da atividade
Busca por Lista de Atividades GET /CenterWeb/api/{$apiKey}/activity.xml
Se preferir ainda, pode refinar as pesquisas enviando parâmetros na requisição, para isso é necessário adicionar parâmetros igual realizamos em uma requisição HTTP:
GET /CenterWeb/api/{$apiKey}/activity.xml?description=Pedido
Esta requisição está puxando todas as atividades em que a sua descrição(description) é igual a pedido. Enviar parâmetros para a API uMov.me é simples assim. Veja um exemplo, do resultado de uma requisição que foi feita em XML:
activity 1
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 retornada o Id do registro no uMov.me e o link que possa ser usado para recuperar os dados específicos deste registro. Através desta resposta, o chamador da API pode agora buscar as informações específicas dos retornos que foram encontrados.
Busca por Atividade Específica
Usando identificador interno
GET /CenterWeb/api/{$apiKey}/activity/{$id}.xml
32
Este recurso serve para puxar dados de uma atividade específica do sistema. Veja o exemplo de retorno de uma entidade abaixo (considerando uma requisição feita em XML):
1802275 Fechamento
ID_Fechamento true 0 1 false false 1 false true false false false Documentação
Usando identificador alternativo
GET /CenterWeb/api/{$apiKey}/activity/alternativeIdentifier/{$identificador alternativo}.xml
Este recurso serve para buscar dados de uma atividade específica do sistema através do seu identificador alternativo. Veja o exemplo de retorno de uma entidade abaixo (considerando uma requisição feita em XML):
863526 Atividade
33
ID_ATIV true 0 1 false false 1 false true false false false Documentação
Section (Seção)
Descrição de uma Seção Campo Valor Tamanho Obrigatório Descrição
id numérico 10 Não Identificador interno da seção no uMov.me
description texto 100 Sim Descrição da seção da atividade
order numérico 10 Não Ordem de exibição da seção na atividade
sectionFields lista Não Lista de campos da seção
alternativeIdentifier numérico 100 Não Identificador alternativo da seção
mandatory caracter 1 Não Indica se o preenchimento da seção é obrigatório ou opcional (0Opcional | 1Obrigatório)
34
useItem caracter 1 Não Indica como os itens estão vinculados a seção (0Itens selecionados | 1Subgrupos de itens selecionados | 2Todos os itens cadastrados)
findItemsByIdentifier true / false Não Habilita a busca de itens da seção pelo identificador alternativo. Pode receber valores "true" ou "false"
itemFillMode caracter 1 Não Tipo de preenchimento de itens na seção (0Permitir Preencher Quantos Forem Necessários | 1Apenas 1 Item Deve ser Preenchido | 2Todos os Itens Devem Ser Preenchidos)
groupingItensTypeOnMobile caracter 1 Não Forma de agrupamento de itens, grupo ou subgrupo no mobile (0Não Exibir Agrupamento de Itens | 1 Exibir Somente Subgrupo | 2Exibir Grupo e Subgrupo)
activityHistoryReportType caracter 1 Não Forma de visualização dos campos no relatório (HHorizontal | VVertical)
displayItemsInMobile caracter 1 Não Filtro de itens no mobile (0Itens Vinculados na Seção | 1Itens Vinculados no Local ou Tarefa)
seeItemsCollectedAutomatically true / false Não Visualiza itens na tela de itens coletados automaticamente. Pode receber valores "true" ou "false"
quizMode true / false Não Configuração para exibir campos aleatoriamente. Pode receber valores "true" ou "false"
numberFieldsQuiz numérico 10 Não Quantidade de campos exibidos no mobile quando ativado a opção para Exibir Campos Aleatoriamente
locked true / false Não Indica se a atividade encontrase bloqueada para edição. Pode receber valores "true" ou "false"
markCompleteGroup true / false Não Exibe uma indicação ao se preencher todos itens de um subgrupo. A indicação também é exibida no grupo, quando seus subgrupos estão todos preenchidos
documentation texto 500 Não Utilizado para registrar a
35
documentação do registro
mathExpressions lista Não Lista de Fórmulas de Valor da atividade
logicalExpressions lista Não Lista de Fórmulas de Validação da atividade
Busca Por Lista de Seções GET /CenterWeb/api/{$apiKey}/section.xml
Se preferir ainda, pode refinar as pesquisas enviando parâmetros na requisição, para isso é necessário adicionar parâmetros igual realizamos em uma requisição HTTP:
GET /CenterWeb/api/{$apiKey}/section.xml?activity.description={descrição da atividade}
Esta requisição busca todas as seções contidas na atividade requisitada. Enviar parâmetros para a API uMov.me é simples assim. Veja um exemplo, do resultado de uma requisição que foi feita em XML:
section 3
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 retornada o Id do registro no uMov.me e o link que possa ser usado para recuperar os dados específicos deste registro. Através desta resposta, o chamador da API pode agora buscar as informações específicas dos retornos que foram encontrados. Busca de uma Seção
36
Usando Identificador Interno
GET /CenterWeb/api/{$apiKey}/section/{$id}.xml Este recurso serve para puxar todos os dados de uma seção específica do sistema. Veja o exemplo de retorno de uma entidade abaixo (considerando uma requisição feita em XML):
1782992 Total 2 false 1 0 false 0 1 V 0 false false false false Documentação
Usando Identificador Alternativo
GET /CenterWeb/api/{$apiKey}/section/alternativeIdentifier{$identificador alternativo}
Este recurso serve para buscar todos os dados de uma seção específica do sistema através do seu identificador alternativo. Veja o exemplo de retorno de uma entidade abaixo (considerando uma requisição feita em XML):
2173315
37
Seção Padrão 0 SEC_ID true 1 2 false 0 1 V 0 false false false false Documentação
38
Section Field (Campo da Seção)
Descrição de um Campo da Seção Campo Valor Tamanho Obrigatório Descrição
id numérico 10 Não Indentificador interno de um campo da seção
alternativeIdentifier texto 100 Não Identificador alternativo de um campo da seção
mobilePageNumber numérico 10 Não Define em qual tela o campo deve ser exibido
order numérico 10 Não Ordem de exibição do campo na seção da atividade
nullable true / false Não Define se a campo deve ter preenchimento obrigatório ou não. Pode receber os valores "true" ou "false"
description texto 100 Sim Descrição de um campo
39
updatable true / false Não Define se a campo pode ser editado ou não. Pode receber os valores "true" ou "false"
visible true / false Não Define se o campo é visível ou não. Pode receber os valores "true" ou "false"
tip texto 500 Não Dica de preenchimento para o campo da seção
type texto 1 Não Tipo de campo (AAlfanumérico | NNumérico | LLista | BBooleano/Lógico | DData | HHora | IImagem | MMultimídia
size numérico 10 Não Tamanho do campo
decimal numérico 10 Não Número de casas decimais do campo. Somente exibido para campos Numéricos.
active true / false Não Indica se um campo está em estado ativo ou não. Pode receber os valores "true" ou "false"
listType caracter 1 Não Define o tipo de lista nos campos do tipo lista (ULista de Seleção Única | MLista de Seleção Múltipla)
trueValue texto 100 Não Valor verdadeiro a ser gravado quando campo booleno / lógico estiver marcado
falseValue texto 100 Não Valor falso a ser gravado quando campo booleno / lógico estiver desmarcado
sourceValue caracter 1 Não Define a origem dos valores de campos do tipo lista (0Valores informados manualmente | 1Valores carregados a partir de campo customizável multivalorado | 2Valores carregados a partir de um cadastro customizável)
showValueInMobile true / false Não Define se deve aparecer os valores do campo na lista de itens do mobile. Pode receber os valores "true" ou "false"
40
customFieldReference lista Não Referência a campo customizável multivalorado da pessoa ou local que alimenta o campo do tipo lista. Somente preenchido quando sourceValue = 1
showDataCollected true / false Não Define se deve aparecer valor coletado na tela de conferência de dados. Pode receber os valores "true" ou "false"
subType caracter 1 Não Define o subtipo de dados em campos do tipo multimídia (IImagem | XXML | UURL | HHTML)
persistent true / false Não Indica se valor coletado é armazenado na base de dados ou não. Pode receber os valores "true" ou "false"
urlViewType caracter 1 Não Define modo de abertura de campos multimídia do subtipo URL (WWebview | BBrowser)
customEntity lista Não Referência a cadastro customizável que alimenta o campo do tipo lista. Somente preenchido quando sourceValue = 2
customEntityFieldInternalValue texto 100 Não Indica campo do cadastro customizável que carregará o valor interno de campo do tipo lista. Somente preenchido quando sourceValue = 2
customEntityFieldExternalValue texto 100 Não Indica campo do cadastro customizável que carregará o valor de exibição de campo do tipo lista. Somente preenchido quando sourceValue = 2
locked true / false Não Indica se a atividade encontrase bloqueada para edição. Pode receber valores "true" ou "false"
documentation texto 500 Não Utilizado para registrar a documentação do registro
mathExpressions lista Não Lista de Fórmulas de Valor da atividade
41
logicalExpressions lista Não Lista de Fórmulas de Validação da atividade
Busca por Lista de Campos na Seção GET /CenterWeb/api/{$apiKey}/sectionField.xml
Se preferir ainda, pode refinar as pesquisas enviando parâmetros na requisição, para isso é necessário adicionar parâmetros igual realizamos em uma requisição HTTP:
GET /CenterWeb/api/{$apiKey}/sectionField.xml?description=foto
Esta requisição está puxando todos os campos da seção em que a sua descrição(description) é igual a pedido. Enviar parâmetros para a API uMov.me é simples assim. Veja um exemplo, do resultado de uma requisição que foi feita em XML:
sectionField 15
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 retornada o
42
Id do registro no uMov.me e o link que possa ser usado para recuperar os dados específicos deste registro. Através desta resposta, o chamador da API pode agora buscar as informações específicas dos retornos que foram encontrados.
Busca de um Campo na Seção
Usando Identificador Interno GET /CenterWeb/api/{$apiKey}/sectionField/{$id}.xml
Este recurso serve para puxar dados de um campo da seção específico do sistema. Veja o exemplo de retorno de uma entidade abaixo (considerando uma requisição feita em XML):
1088073 ft 1 1 true Foto true true campo foto I true false true true false Documentação
Usando Identificador Alternativo
GET /CenterWeb/api/{$apiKey}/sectionField/alternativeIdentifier/{$identificador alternativo}
43
Este recurso serve para buscar todos os dados de um campo customizável de uma seção específica do sistema através do seu identificador alternativo. Veja o exemplo de retorno de uma entidade abaixo (considerando uma requisição feita em XML):
1088073 ft 1 1 true Foto true true campo foto I true false true true false Documentação
44
Section SubGroup (Subgrupo da Seção)
Descrição de um Subgrupo da Seção Campo Valor Tamanho Obrigatório Descrição
id numérico 10 Não Indentificador interno de um subgrupo da seção
subGroup referência Sim SubGrupo vinculado
section referência Sim Seção vinculada
Inserir subgrupo na seção POST /CenterWeb/api/{$apiKey}/sectionSubGroup.xml
Esta operação serve para incluir um subgrupo em uma seção do sistema. Veja um exemplo da requisição com dados em XML:
15728352 3892
Alterar subgrupo da seção:
POST /CenterWeb/api/{$apiKey}/sectionSubGroup/{$id}.xml
Esta operação serve para alterar o subgrupo ou a seção de uma relação entre um subgrupo da seção do sistema. Veja um exemplo da requisição com dados em XML:
45
15728352 3892
Busca Por subgrupos na seção
GET /CenterWeb/api/{$apiKey}/sectionSubGroup.xml
Se preferir ainda, pode refinar as pesquisas enviando parâmetros na requisição, para isso é necessário adicionar parâmetros igual realizamos em uma requisição HTTP:
GET /CenterWeb/api/{$apiKey}/sectionSubGroup.xml?section=1234
Esta requisição está puxando todos os subgrupos vinculados a alguma seção específica identificada pelo id. Enviar parâmetros para a API uMov.me é simples assim. Veja um exemplo, do resultado de uma requisição que foi feita em XML:
sectionSubGroup 2
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 retornada o Id do registro no uMov.me e o link que possa ser usado para recuperar os dados específicos deste registro. Através desta resposta, o chamador da API pode agora buscar as informações específicas dos retornos que foram encontrados.
46
Busca de um Subgrupo da Seção
Usando Identificador Interno
GET /CenterWeb/api/{$apiKey}/sectionSubGroup/{$id}.xml
Este recurso serve para puxar dados de um campo da seção específico do sistema. Veja o exemplo de retorno de uma entidade abaixo (considerando uma requisição feita em XML):
203 3558929 Padrão 1 true
3416289 seção qualquer 0 qualquer true 1 0 false 0 1 V 0 false false false false 0 false
47
Remoção de um Subgrupo da Seção em Específico
DELETE /CenterWeb/api/{$apiKey}/sectionSubGroup/{$id}.xml Como confirmação da remoção do subgrupo da seção, o sistema retorna como status da requisição, o código de retorno 200 (OK) bem como apresenta a seguinte mensagem de retorno:
Ex.: 200 scheduleItem: scheduleItem.item.exclusion.successful
Inserir Subgrupos em Lote na Seção
POST /CenterWeb/api/{$apiKey}/batch/sectionSubGroup.xml Este recurso permite fazer a inclusão em lote de subgrupos da seção, sem que haja necessidade de fazer inúmeras requisições à API:
15728352 3892 ... 15728352 3892
48
O elemento "" representa cada subgrupo da seção a ser inserido, limitando em 100 o número máximo de subgrupos por requisição. Caso algum erro ocorra, toda a operação será abortada e nenhum subgrupo da seção será inserido.Como retorno a esta chamada o sistema apresenta os o link de acesso a cada subgrupo criado.
Ex:
sectionSubGroups 2
Math Expressions (Fórmulas de Valor)
Descrição de uma Fórmula de Valor Campo Valor Tamanho Obrigatório Descrição
49
id numérico 10 Não Indentificador interno de um campo da seção
objectType numérico 10 Não Indica a qual entidade a expressão pertence. Os possíveis valores são: 1 = Atividade, 2 = Seção, 3=Campo
objectCode numérico 10 Não Indica o objeto ao qual a fórmula está veiculada
moment numérico 1 Não Indica quando a expressão deve ser executada. Os valores são: 1 = Précondição 2 = Póscondição
expressionForPrint texto 1000 Não Representação da expressão
convertEmptyValuesToZero texto 1 Não Comportamento do uMov.Mobile quando um operando possui valor vazio.
ordination numérico Não Ordem de exibição e execução.
documentation texto 500 Não Armazena a documentação do registro, inserida pelo desenvolvedor.
sectionField numérico 10 Não Indica o campo utilizado na fórmula
Busca por Lista de Fórmulas de Valor
GET /CenterWeb/api/{$apiKey}/mathExpression.xml Se preferir ainda, pode refinar as pesquisas enviando parâmetros na requisição, para isso é necessário adicionar parâmetros igual realizamos em uma requisição HTTP:
GET /CenterWeb/api/{$apiKey}/mathExpression.xml?sectionField.type=L§ionField.active=true Esta requisição filtra fórmulas de valor com base nos atribulos do campo de seção do tipo lista ativos relacionados à fórmula.
50
GET /CenterWeb/api/{$apiKey}/mathExpression.xml?objectCode=386789
Esta requisição está puxando todos os campos da fórmula de valor em que a sua código do objeto (objectCode) é igual a 386789. Enviar parâmetros para a API uMov.me é simples assim. Veja um exemplo, do resultado de uma requisição que foi feita em XML:
mathExpression 12
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 retornada o Id do registro no uMov.me e o link que possa ser usado para recuperar os dados específicos deste registro. Através desta resposta, o chamador da API pode agora buscar as informações específicas dos retornos que foram encontrados.
Busca de uma Fórmula de Valor
Usando identificador Interno
51
GET /CenterWeb/api/{$apiKey}/mathExpression/1234768.xml Este recurso serve para puxar dados de uma fórmula de valor específica do sistema. Veja o exemplo de retorno de uma entidade abaixo (considerando uma requisição feita em XML): 1234768 3 3869476 2 Documentação:Custom Entity|=|Pessoa:Campo 2 da Pessoa false 1 3869476
1 1 true Custom Entity true true L true U 2 false true true alternativeId description false
Logical Expressions (Fórmulas de Validação)
Descrição de uma Fórmula de Valor Campo Valor Tamanho Obrigatório Descrição
52
id numérico 10 Não Indentificador interno de um campo da seção
objectType numérico 10 Não Indica a qual entidade a expressão pertence. Os possíveis valores são: 1 = Atividade, 2 = Seção, 3=Campo
moment numérico 1 Não Indica quando a expressão deve ser executada. Os valores são: 1 = Précondição 2 = Póscondição.
objectCode numérico 10 Não Indica o objeto ao qual a fórmula está veiculada
expressionsForPrint texto 1000 Não Representação da expressão
falseResultMode texto 1 Sim Forma como ocorre a validação: 0=Bloqueio, 1=Alerta
validationMessage texto 1000 Não Mensagem a ser exibida quando a fórmula retorna falso
emitBeep texto 1 Não Emitir aviso sonoro
executeExpressionVisibleField texto 1 Sim Executar fórmula apenas se os campos estiverem visíveis.
ordination numérico Não Ordem de exibição e execução.
documentation texto 500 Não Armazena a documentação do registro, inserida pelo desenvolvedor.
Busca por Lista de Fórmulas de Validação
GET /CenterWeb/api/{$apiKey}/logicalExpression.xml Se preferir ainda, pode refinar as pesquisas enviando parâmetros na requisição, para isso é necessário adicionar parâmetros igual realizamos em uma requisição HTTP:
GET /CenterWeb/api/{$apiKey}/logicalExpression.xml?objectCode=386476 Esta requisição está puxando todos os campos da fórmula de valor em que a sua código do objeto (objectCode) é igual a 386789.
53
Enviar parâmetros para a API uMov.me é simples assim. Veja um exemplo, do resultado de uma requisição que foi feita em XML:
logicalExpression 12
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 retornada o Id do registro no uMov.me e o link que possa ser usado para recuperar os dados específicos deste registro. Através desta resposta, o chamador da API pode agora buscar as informações específicas dos retornos que foram encontrados.
Busca de uma Fórmula de Validação
Usando Identificador Interno
GET /CenterWeb/api/{$apiKey}/logicalExpression/1355385.xml Este recurso serve para puxar dados de uma fórmula de valor específica do sistema. Veja o exemplo de retorno de uma entidade abaixo (considerando uma requisição feita em XML):
1355385 3 4 3869476
54
Carro:Descrição|>|Pessoa:Versão do Aplicativo 0 false false 1
Auditing (Auditoria)
A partir da versão 04.54 da mobile na plataforma Android o uMov.me armazena dados de auditoria no momento da execução da atividade. São dados relativos aos dispositivos móveis e
55
seu estado no momento da coleta das informações. Esses dados podem ser capturados via API, conforme mostrado abaixo. Somente é possível realizar a busca desses dados via API e não é permitida a inclusão.
Descrição de um Registro de Auditoria Campo Valor Tamanho Obrigatório Descrição
id numérico 10 Sim Identificador interno da auditoria coletada no uMov.me
date datetime Sim Data e hora da coleta da auditoria no mobile.
moment char 1 Sim Momento da realização da coleta. Inicialmente será sempre 0=Ao finalizar a execução da atividade
agent numérico 10 Sim Identificador da pessoa no uMov.me.
schedule numérico 10 Sim Identificador da tarefa no uMov.me.
history numérico 10 Sim Identificador da histórico coletado no uMov.me.
auditionValues numérico Sim Lista com os valores coletados na auditoria do mobile.
Busca Por Lista de Auditoria GET /CenterWeb/api/{$apiKey}/auditing.xml
Se preferir ainda, pode refinar as pesquisas enviando parâmetros na requisição, para isso é necessário adicionar parâmetros igual realizamos em uma requisição HTTP. O mais comum é filtrar a auditoria coletada em uma execução:
● Pesquisar por um determinado histórico:
GET /CenterWeb/api/{$apiKey}/auditing.xml?history={HISTORY_ID}
O resultado de uma requisição deve ser o seguinte:
auditing
56
1
Busca Por uma Auditoria
Usando Identificador Interno Ao realizar a busca informando o Id da auditoria, o sistema irá buscar todos os dados da auditoria, conforme mostrado no exemplo abaixo:
GET /CenterWeb/api/{$apiKey}/auditing/{AUDITING_ID}.xml
38 20140718 15:01:58 0 7 Administrador master true 655470042 999 15:00 999
57
Descrição de um Valor da Auditoria Campo Valor Tamanho Obrigatório Descrição
id numérico 10 Sim Identificador interno do valor da auditoria coletado no uMov.me
keyInformation texto 100 Sim Identificação do dado que foi coletado.
valueInformation texto 100 Sim Valor coletado para o dado.
Busca Por uma Valor de Auditoria
Usando Identificador Interno Ao realizar a busca informando o Id do valor da auditoria, o sistema irá buscar todos os dados do valor da auditoria, conforme mostrado no exemplo abaixo:
GET /CenterWeb/api/{$apiKey}/auditingValue/{AUDITIONVALUE_ID}.xml
81 PlatformOS ANDROID
Pode ser realizada a busca por um valor filtrando pela chave que deseja ser encontrada:
GET /CenterWeb/api/{$apiKey}/auditingValue.xml?keyInformation=PlatformOS
Busca Hierárquica da Auditoria de um Histórico É possível também buscar todos os valores de auditoria de um histórico específico em uma única chamada. Para isso, pode ser executada a seguinte chamada:
58
GET /CenterWeb/api/{$apiKey}/auditingHierchical/{HISTORY_ID}.xml 38 20140718 15:01:58 0 7 655470042 8988776655448482 81 PlatformOS ANDROID 82 uMovVersion 4,54 83 PlatformAPILevel 19 84 IMSI 724065103161737 85 IMEI 356891050533910 86 BatteryLevel 45 87 DeviceSerialNumber cc1d6e58
59
88 DeviceManufacturer samsung 89 DeviceModel GTI9505 90 PhoneNumber UNAVAILABLE_PHONE_NUMBER 91 SignalLevel UNAVAILABLE_SIGNAL_LEVEL
Para executar a busca filtrando por alguns valores específicos, pode ser realizada a chamada da seguinte forma:
GET /CenterWeb/api/{$apiKey}/auditingHierchical/{HISTORY_ID}.xml?values=PlatformOS,IMEI Nesse caso, o sistema retorna todos os dados listados acima, porém somente com os valores PlatformOS e IMEI, conforme informado no filtro. É possível filtrar por vários campos, somente incluindo uma vírgula (,) entre os valores da pesquisa.
60
Atualização dos Dados do Contrato A API de atualização de contrato permite manipular as informações do ambiente necessárias para iniciar o seu uso. Se não informados os dados do contrato, o sistema não permite a inclusão de novos usuários.
Descrição das Informações do Contrato no uMov.me
Campo Valor Tamanho Obrigatório Descrição
companyName texto 100 Sim Indica o nome da empresa ou pessoa que está adquirindo o uMov.me.
cnpj número 20 Sim Indica o CPF (pessoa física) ou CNPJ (pessoa jurídica) da pessoa responsável pela aquisição. Sistema valida se CPF ou CNPJ possui dados válidos. Informar somente números, sem formatação.
contactName texto 50 Sim Indica o nome da pessoa para contato
61
contactEmail texto 50 Sim Indica o email da pessoa para contato
contactPhone número 20 Sim Indica o telefone da pessoa para contato. Favor informar com DDD e somente números, sem formatação
country texto 50 Sim Indica o país em que a empresa ou pessoa está situada
state texto 50 Sim Indica o estado em que a empresa ou pessoa está situada
city texto 50 Sim Indica a cidade em que a empresa ou pessoa está situada
neighborhood texto 50 Sim Indica o bairro em que a empresa ou pessoa está situada
street texto 50 Sim Indica o logradouro em que a empresa ou pessoa está situada
number número 10 Sim Indica o número em que a empresa ou pessoa está situada
complement texto 50 Não Indica o complemento em que a empresa ou pessoa está situada
zipCode número 20 Sim Indica o CEP em que a empresa ou pessoa está situada. Informar somente números, sem formatação
licensesQuantity número 20 Sim Indica a quantidade de licenças contratadas para o ambiente
acceptTermsOfUse true/false Sim Indica se aceita ou não os termos de uso do contrato
Atualização dos Dados do Contrato
POST /CenterWeb/api/{$apiKey}/workspace/info.xml
Esta operação faz com que sejam atualizados os dados do contrato com os dados informados. Este é um exemplo de um xml para atualização do contrato:
Empresa ABC
62
99999999999 João da Silva [email protected] 9999999999 Brasil SP São Paulo Centro Av. Dom Pedro I 999 Sala 9 90000000 100 true
Criação/Cópia de Ambiente A API de Workspace permite interagir com a parte de criação de ambiento do uMov.me.
Descrição de um Workspace/Ambiente
Campo Valor Tamanho Obrigatório Descrição
domain texto 10 Sim Indica o nome do dominio do novo ambiente a ser criado ou copiado.
username texto 10 Sim Indica o nome do usuário do novo ambiente a ser criado ou copiado.
password texto 9 Não Indica o password para se logar no novo ambiente criado ou copiado.
repeatPassword texto 9 Não Indica o campo de repetição do password
email texto 100 Sim Indica o email configurado para o novo ambiente a ser criado ou copiado.
63
copy true/false Sim Indica se você deseja copiar o ambiente (copy = true) ou criar novo ambiente (copy = false)
Criação/Copia de Workspace/Ambiente
POST /CenterWeb/api/{$apiKey}/workspace.xml
Esta operação faz com que seja criado ou copiado um novo ambiente com os dados informados. Este é um exemplo de um xml para criação de ambiente:
domainfulano fulano 123 123 [email protected] false
Este é um exemplo de um xml para copiar um ambiente:
domainfulano fulano 123 123 [email protected] true
64