api umov2015/10/13  · api umov.me este documento descreve os aspectos gerais da api umov.me para...

164
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.

Upload: others

Post on 05-Feb-2021

80 views

Category:

Documents


1 download

TRANSCRIPT

  •  

    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 

  • 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 

  • 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 

  • 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 

  • 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 

  • 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 

  • 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 

  •      

    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.   

    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 

     

  •   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&sectionField.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 

  •