Open the menu

Utilização

O suporte REST criado oferece o seguinte conjunto de funcionalidades:

Autenticação

Login

Para permitir que o usuário se autentique no portal por uma aplicação externa, foi provida uma chamada de autenticação REST conforme o formato a seguir.

{protocolo}://{domínio}[:porta]/lumis/api/rest/lumlogin?username={user-name}[&password=password][&locale=locale]

Os exemplos a seguir são chamadas válidas para autenticação no Lumis Portal:

  • http://<meu domínio>/lumis/api/rest/lumlogin?username=admin
  • http://<meu domínio>/lumis/api/rest/lumlogin?username=admin&password=12345
  • http://<meu domínio>/lumis/api/rest/lumlogin?username=admin&password=12345&locale=pt_BR

Logout

Esta chamada deve encerrar a sessão do usuário no portal.

{protocolo}://{domínio}[:porta]/lumis/api/rest/logout

Usuário Atual.

Afim de obter os dados do usuário atualmente logado no sistema, pode ser feita a seguinte chamada Rest:

{protocolo}://{domínio}[:porta]/lumis/api/rest/lumis/authentication/users/current

Esta, por sua vez, retorna um JSON contendo os dados públicos do usuário. Como exemplo, o usuário logado será o "admin" :

Mudança de Locale

Foi criada uma chamada capaz de alterar o idioma da sessão atual (guest ou autenticada). O formato básico é mostrado a seguir.

{protocolo}://{domínio}[:porta]/lumis/api/rest/lumsetlocale/[locale]

Exemplos:

  • http://<meu domínio>/lumis/api/rest/lumsetlocale/pt_BR
  • http://<meu domínio>/lumis/api/rest/lumsetlocale/en_US

Caso o ‘locale’ mencionado não seja suportado pelo portal, o idioma atual será mantido.

Se o parâmetro não for especificado, o portal será retornado para o ‘locale’ padrão.

Leitura de Interface REST

Foi criada uma chamada capaz de consultar as informações contidas nos sources definidos nas interfaces REST. O formato básico é mostrado a seguir.

{protocolo}://{domínio}[:porta]/lumis/api/rest/{nome-rest}/lumgetdata/{restinterface-name}[.returnType][parameters]

  • Protocol à são aceitas conexões via http e https.
  • Domínio/porta à domínio e porta de conexão do website.
  • nome-rest à nome REST da instância de serviço.
  • restinterface-name à GUID da instância de serviço.
  • restinterface-name à nome da interface REST do serviço utilizado.
  • Return type à pode receber os valores ‘json’ ou ‘xml’, informando como será o retorno das informações (JSON ou XML, respectivamente – default ‘json’).

Exemplos:

  • http://<meu domínio>/lumis/api/rest/noticias/lumgetdata/lista
  • http://<meu domínio>/lumis/api/rest/noticias/lumgetdata/lista.json

Os parâmetros podem ser:

  • Número máximo de itens (lumMaxRows)

    Esse parâmetro é opcional e é utilizado como no exemplo a seguir, que traz as cinco primeiras notícias publicadas na instância de serviço chamada ‘noticias’.

    http://<meu domínio>/lumis/api/rest/noticias/lumgetdata/lista.json?lumMaxRows=5

  • Primeiro item da lista (lumStartAt)

    Esse parâmetro é opcional e é utilizado como no exemplo a seguir, que traz a segunda página de notícias publicadas na instância de serviço chamada ‘noticias’, considerando cinco notícias por página.

    http://<meu domínio>/lumis/api/rest/noticias/lumgetdata/lista.json?lumMaxRows=5&lumStartAt=6

  • Ordenação (lumOrderBy)

    Esse parâmetro é opcional e é utilizado para definir uma ordenação por um determinado campo em ordem crescente ou decrescente (ASC ou DESC respectivamente).

    O exemplo a seguir ordena as notícias adquiridas pelo seu titulo, de forma ascendente.

    http://<meu domínio>/lumis/api/rest/noticias/lumgetdata/lista.json?lumMaxRows=5&lumStartAt=6&lumOrderBy=Title ASC

  • Campos retornados (lumReturnFields)

    Este parâmetro define quais campos deverão ser retornados. Por padrão, quando este parâmetro não for informado serão retornados todos os campos definidos explicitamente no source da interface REST juntamente com os campos "Chave primária do source" e o "Identificador de Conteúdo" (caso seja um serviço de conteúdo). Quando este parâmetro for informado os campos que serão retornados serão os definidos na lista de campos que devem ser separados por vírgula (",").
    Caso seja desejado o retorno de todos os campos basta informar "*" como valor do parâmetro lumReturnFields.

O exemplo a seguir retorna os campos chave, identificador do conteúdo juntamente com os campos explícitos da interface REST.

http://<meu domínio>/lumis/api/rest/noticias/lumgetdata/lista.json

O exemplo a seguir retorna os campos descrição e quem criou o conteúdo.

http://<meu domínio>/lumis/api/rest/noticias/lumgetdata/lista.json?lumReturnFields=createdBy,description

O exemplo a seguir retorna todos campos do source.

http://<meu domínio>/lumis/api/rest/noticias/lumgetdata/lista.json?lumReturnFields=*