Histórico da Página
...
Nota | ||
---|---|---|
| ||
Grande parte dos eventos possuem WKUser para identificar o usuário. Esse ao utilizar a função de substituto, onde um usuário pode substituir outro, irá sempre retornar o usuário que está no momento utilizando o sistema. Exemplo: Ana colocou Bruno como seu substituto, Bruno acessa o sistema e faz uma ação em nome da Ana, sistema irá retornar o código do usuário Bruno nos eventos que usam WKUser. |
...
Nota | ||
---|---|---|
| ||
Em todos os eventos é possível realizar chamadas para os serviços diponíveis na API pública. Acesse aqui nosso guia de Consumo da api pública em eventos. |
Eventos do tipo "Before"
De uma forma geral, os eventos do tipo before são executados antes que a ação que disparou o evento seja efetivada, desta forma é possível filtrar os dados que são passados ou até mesmo evitar que a ação executada seja concluída.
...
SocialFollowEventVO | ||
Propriedade / Método | Descrição | Tipo / Retorno |
---|---|---|
getSocial() | Social que seguirá | SocialEventVO |
getFollowed() | Social que está sendo seguido | SocialEventVO |
Consumo da API Pública em Eventos
A partir dos eventos é possível executar ações no Fluig.
As ações disponíveis são as mesmas da API Pública (chamadas REST) e são disparadas através de um objeto consumer.
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.
- getNewAPIConsumer
Utilizada para solicitar um objeto de acesso com autenticação por usuário da aplicação.
- getNewAPIConsumerAsCurrentUser
Utilizada para solicitar um objeto de acesso com autenticação pelo usuário logado.
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:
- Consumer Key
- Consumer Secret
- Token Access
- Token Secret
Essas informações de parâmetros são fornecidas pelo Fluig em Painel de Controle, na aba WCM, item Oauth Provider.
O método get
Esse método realiza uma chamada GET na API Publica, passando como argumento uma URI válida da API (ver documentação da API).
Ex: consumer.get("/public/social/community/comunidade1");
O método post
Esse método realiza uma chamada POST na API Publica, passando como argumento uma URI válida da API (ver documentação 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\"}");
Exemplo com usuário de aplicação
Nesse exemplo, a mensagem "Post criado via evento" é postada no mural
Bloco de código | ||
---|---|---|
| ||
function beforeSocialPost(companyId, vo) {
if (vo.getSocial().getType() == "USER" && vo.getUser() != "admin") {
var consumer = oauthUtil.getNewAPIConsumer("my_app_key", "my_app_secret",
"605da7f2-d087-4f4b-903e-486df9563956",
"2b192950-fe0c-4211-a4bf-5962c18432d85c077dfb-aa51-45a0-ab43-822a680070ab");
var userData = JSON.parse(consumer.get("/public/social/user/" + vo.getUser()));
if (userData.numberFollowers == 0) {
throw "Voce deve ser seguido por alguem para poder postar em sua timeline.";
}
}
} |
Exemplo com usuário logado
Bloco de código | ||
---|---|---|
| ||
function afterDocumentPublisher(){
var doc = getValue("WKDocument");
var user = getValue("WKUser");
var msgPost = "Novo documento: "+ doc.getDocumentId() + " - Versão: "+ doc.getVersion();
log.info(msgPost);
var jsonContent = "{\"text\":\"" + msgPost + "\",\"visibility\":\"PUBLIC\"}";
log.info(jsonContent);
var consumer = oauthUtil.getNewAPIConsumerAsCurrentUser("myapp", "myappsecret", "32718929-568b-4a64-9f67-bbeadf4c1fc3",
"eff7b746-384b-43ba-be3a-aed14da822a4b8352de0-62be-456e-a0d8-ab5c00a745bc");
consumer.post("/public/social/post/create", jsonContent);
} |
...
Atualização do Analytics
Definição
...