Histórico da Página
Informações | ||
---|---|---|
| ||
Esta página foi revisada para considerar as novas configurações de server do fluig para a do TOTVS Fluig Plataforma a partir da atualização 1.6.Caso possua uma atualização anterior do fluig acesse: DES 069 - Fluig API. |
Índice
Índice | ||||||
---|---|---|---|---|---|---|
|
...
Este documento é direcionado a desenvolvedores, clientes e parceiros que desejam criar aplicações e recursos externos ou internos ao fluig. O fluig possui uma API Pública com os principais serviços disponíveis na plataforma, bem como um componente interno (fluig-sdk-api.jar) que pode ser importado e utilizado para chamadas dos serviços no mesmo contexto do fluig. A API disponibiliza uma documentação de classes e interfaces no padrão Java Doc que pode ser encontrada aqui.
Através da API é possível criar mensagens em nome do usuário, adicionar um contato como favorito, criar artigos e muito mais. Para que aplicativos possam atuar em nome do usuário a autorização é realizada através do protocolo OAuth, e caso o serviço seja utilizado pelo componente interno, é injetado o EJB para execução dos serviços.
Pré requisitos
...
São pré requisitos básicos ter conhecimento sobre:
- Desenvolvimentos de API REST
- Padrão OAuth
API
...
API, de Application Programming Interface (Interface de Programação de Aplicativos), é um conjunto de rotinas e padrões estabelecidos pelo software para que aplicativos externos possam utilizar seus recursos em suas aplicações. No fluig, a documentação da API está disponível em http://[servidor_fluig]/api ou aqui.
Todos os serviços são baseados em REST, onde ações de escrita estão limitados à requisições HTTP do tipo POST, e ações de consulta à requisições do tipo GET.
OAuth
A autenticação e autorização de aplicativos externos ao fluig é realizada através do protocolo OAuth 1.0 e OAuth 1.0a , que possibilita que aplicações executem ações em nome do usuário sem armazenar seus dados de acesso (usuário/senha). Também é possível utilizar a API do fluig através de uma sessão válida no navegador de internet.
...
Nota | ||
---|---|---|
| ||
O fluig não é compatível com o protocolo OAuth 2.0. |
Processo de autenticação
Para que um aplicativo consiga atuar no fluig em nome de um usuário ou em nome próprio é necessário que ele esteja previamente cadastrado na plataforma fluig com suas chaves pública e privada. Quando o aplicativo estiver cadastrado no fluig, é possível iniciar o processo de autenticação conforme etapas abaixo:
...
- Etapa 3: Aplicativo solicita ao fluig tokens para atuar em nome do usuário (http://[servidor_fluig]/portal/api/rest/oauth/access_token).
Exemplo OAuth
Painel | ||
---|---|---|
| ||
Utilizando um objeto consumer Para obter uma instância de consumer é necessário solicitar ao objeto de ambiente oauthUtil executando o método getNewAPIConsumer ou getNewAPIConsumerAsCurrentUser.
IMPORTANTE: Para poder utilizar esse método você deve marcar na página do usuário aplicativo a opção "Pode agir como usuário logado em eventos customizados" O usuário da aplicação utiliza o modo Impersonate como forma de identificação na autenticação do acesso. Esse modo Impersonate só é permitido através dos eventos customizados e não fora dele. Para ambos os métodos descritos acima, utilizar os seguintes parâmetros:
Para mais informações acesse o passo Cadastrar aplicativo no fluig. Método GET Esse método realiza uma chamada GET na API Publica, passando como argumento uma URI válida da API . Ex: consumer.get("/public/social/community/comunidade1"); Método POST Esse método realiza uma chamada POST na API Publica, passando como argumento uma URI válida da API e os dados enviados em formato JSON. Ex: consumer.post("/public/social/post/create/with/upload", "{\"text\":\"Post criado via evento\",\"visibility\":\"PUBLIC\"}"); |
Cadastrar aplicativo no fluig
Âncora | ||||
---|---|---|---|---|
|
...
Para cadastrar um aplicativo no fluig, autentique-se como um administrador e na plataforma, acompanhe os passos a seguir:
Deck of Cards | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
...
View file | ||||
---|---|---|---|---|
|
- Baixe o arquivo e descompacte-o em um diretório de sua preferência.
O projeto basicamente consiste em um pom.xml xml (Project Object Model, arquivo padrão do Maven) e e uma classe Java chamada FluigClientExample. Abra a classe e verifique a documentação gerada a partir de comentários.
Você verá que é necessário construir um objeto FluigClient objeto FluigClient e este objeto recebe alguns parâmetros como host, consumer key e consumer secret. Você deve alterar os valores passados na construção para um host conhecido e informar o consumer key e secret da aplicação de sua responsabilidade, conforme o código adianteabaixo:
Bloco de código | ||
---|---|---|
| ||
FluigClient fluig = new FluigClient() .setHost("http://127.0.0.1:8080") .setConsumerKey("informe aqui o seu consumer key") .setConsumerSecret("informe aqui o seu consumer secret") .connect(); |
No caso da autenticação no Identity, também será necessário informar o Access Token e Token Secret apresentados na criação do usuário aplicativo.
Bloco de código | ||
---|---|---|
| ||
FluigClient fluig = new FluigClient()
.setHost("http://127.0.0.1:8080")
.setConsumerKey("informe aqui o seu consumer key")
.setConsumerSecret("informe aqui o seu consumer secret")
.setTokenAccess("informe aqui o seu Token Access")
.setTokenSecret("informe aqui o seu Token Secret")
.connect(); |
Mais abaixo no código, podemos reparar que a aplicação cria e lê posts de comunidades. Você deve informar uma comunidade válida do seu ambiente para executar a aplicação demonstração;
...
Depois de realizar as alterações, entre no diretório gerado e você notará que o arquivo pom.xml localiza-se na raiz do projeto.
...
Durante o processo de build, o Maven irá exibir vários logs , como dependências sendo baixadas dentre outros.
Depois do build finalizado com sucesso, repare que o arquivo target/api-client-demo-jar-with-dependencies.jar foi gerado. Este arquivo é um executável Java.
...
Bloco de código | ||
---|---|---|
| ||
$ java -jar target/api-client-demo-jar-with-dependencies.jar |
Se você reparar na classe FluigClientExampleclasse FluigClientExample, a execução irá: listar os usuários, criar uma publicação na página pessoal do usuário, criar uma publicação em uma comunidade e listar as publicações de uma comunidade. Durante a execução os logs dos resultados das chamadas serão exibidos no console.
...
Para ter acesso à documentação JAVA DOC do componente SDK, clique aqui.
Informações |
---|
Veja o exemplo (upload-file-ecm-rest) em nosso repositório aqui. |