Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Para realizar a configuração das credenciais do google sheets via TOTVS iPaaS, você deve seguir alguns passos para gerar os tokens necessários e criar o fluxo de autorização abaixo:

...

Para a utilização do aplicativo, é necessário ter:


  • Conta google

  • Projeto na GCP (Google Cloud Platform)

...

02. Através do menu, acessar a página de aplicativos e buscar por Google Workspaces;


03. Na tela do aplicaitivo aplicativo, acessar a aba "Contas" e em seguida clicar em "Cadastrar Conta";

...

Informações
titleInformação

Auth URL: Url URL de autenticação necessária para o fluxo do OauthOAuth

Acess Token URL: Url URL para gerar o Token de acesso ao serviço

Code: Código do aplicativo

Redirect URI: Indica para onde o servidor de autorização deve redirecionar o usuário após a autorização bem-sucedida. Esta URI deve ser previamente registrada com o provedor de serviços OAuth

Refresh Token URL: Url URL para realizar o fluxo de refresh token mantendo válido a autorização do aplicativo

Client Id: Token id do cliente

Client Secret: Hash password do cliente

Scope: Especifica o escopo das permissões solicitadas pelo cliente. Por exemplo, acesso somente leitura ou acesso de gravação

Acess Type:  Define como o token de acesso deve ser tratado pelo provedor de serviços OAuth

Client Authentication: Escolher entre basic ou in body para envio das credenciais.

...

07. Na tela do aplicativo na GCP, clique em CRIAR CREDENCIAIS ou em Credenciais no menu esquerdo




08. 

Configuração

Na tela de credenciais, clicar em "+ CRIAR CREDENCIAIS" selecionando a opção "ID do cliente OAuth"


Image Added



09. Clicar em "CONFIGURAR TELA DE CONSENTIMENTO"


Image Added



10. Selecione Todos os campos para a configuração do componente SmartLink Hook são opcionais, porém torna-se recomendável a informação de pelo menos um deles. Sendo uma das opções abaixo:

...

Image Removed

Simular recebimento no serviço On-Premises

Para simular o envio de uma aplicação On-Premises para o SmartLink é possível utilizar os endpoints indicados no Apêndice D e Apêndice E.

Utilização dos dados de entrada

Ao receber uma mensagem de gatilho para o diagrama, é possível resgatar o conteúdo tanto do corpo da mensagem quanto do cabeçalho. Ambos, são equivalentes respectivamente ao payload e headers/properties do message broker.

Image Removed

SmartLink Sender

O SmartLink Sender é um componente do TOTVS iPaaS onde é possível utilizá-lo como um dos processos do seu diagrama. Este componente serve para enviar mensagens ao message broker da plataforma TOTVS Apps, consequentemente, ao elemento Behavior Sharing do SmartLink, que possibilitará o

recebimento nos serviços On-Premises.

Este componente é assíncrono, portanto, depois de enviada a mensagem para a plataforma, não há nenhuma saída para o mesmo.

Configuração

...


Image Added


11. Preencha os campos conforme dados da sua organização:


Image Added



12. No passo de escopos, adicione todos os disponíveis do google sheets através do botão "ADICIONAR OU REMOVER ESCOPOS"


Image Added



13. Navegue até a última tela e clique em "VOLTAR PARA O PAINEL"

Image Added



14. Liberar o consentimento para o status em produção ou deixar em teste (Caso deixe em teste, adicione o seu e-mail como um usuário válido abaixo):


Image Added



15. Agora com o consentimento criado, repetir o passo 08


Image Added



16. Configurar o cliente conforme dados abaixo e clicar em "CRIAR":


Image Added



17. Uma tela com os dados para autenticação será apresentada. Salve o arquivo e os dados em tela pois serão necessários para configuração no TOTVS iPaaS:


Image Added



18. Com os dados do ID do cliente e Chave secreta em mãos, será necessário montar a url abaixo:


Image Added


O resultado deverá ser semelhante a URL abaixo:


https://accounts.google.com/o/oauth2/v2/auth?scope=https%3A//www.googleapis.com/auth/drive.metadata.readonly&access_type=offline&include_granted_scopes=true&response_type=code&state=state_parameter_passthrough_value&

 redirect_uri=https%3A//ipaas.totvs.app&

            client_id=7137-08ulb4r515dsdkjcd05jnfi6sq3dpn93.apps.googleusercontent.com


Informações
titleInformação

redirect_uri: URL cadastrada no aplicativo no passo 16

client_id: Código gerado no passo 17



19. Cole a URL gerada no navegador e escolha a sua conta para autorizar e geração do token (Esteja logado no iPaaS no navegador em que você vai acessar o link):


Image Added


Image Added



20. Ao clicar em continuar, você será redirecionado para o TOTVS iPaaS. Salve a URL que foi gerada e busque o valor do campo "code" (Lembrando que o valor vai até o próximo caracter '&')


Image Added


Tomar cuidado com o 4%2F no começo do código, pois o navegador pode mudar, então o correto é 4/, ou seja, deve-se substituir o 4%2F por 4/:


code=4/0AeaYSHCWg9SZvgBJC5VYsxvFMO75X8BOaARWHQ-YhAPwbMnbYRF6qMX0HLA0ZJKxjcUjUQ



21. No TOTVS iPaaS, na tela do passo 4, informe todos os campos e clique em "Concluir":



Image Added



22. Para validar se tudo está funcionando conforme o previsto, você pode testar a conta:


Image Added

Image Removed

  • Formato do evento: formato conforme a RFC da documentação acima mencionada, podendo ser CloudEvents ou TOTVS Message por convenção;
  • Corpo: texto livre que irá trafegar no corpo da mensagem. Deve-se atentar ao formato de evento escolhido para que o corpo da mensagem trafegue conforme a documentação orienta (JSON, XML, plain text, etc).

Image Removed

As configurações são diferentes dependendo da escolha do formato do evento, porém, todas são opcionais e estão documentadas na RFC000011 (Opens in new window or tab).

Image RemovedImage Removed

Simular envio ao serviço On-Premises

...

sequência, utilizar o endpoint correspondente no Apêndice G para removê-la da fila (ack).

É possível também através do monitor SmartLink verificar quantas mensagens chegaram para a fila do seu Tenant.

Image Removed

Apêndices

Apêndice A - Validar RAC no Tenant:

Utilize o token de usuário do Accounts onde lê-se {USER_TOKEN}.

Bloco de código
titleDev
curl --location 'https://rac.dev.totvs.app/totvs.rac/api/v1/fluigIdentity/authorization/roles' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {USER_TOKEN}' \
--data '[]

Bloco de código
titleStaging
curl --location 'https://rac.staging.totvs.app/totvs.rac/api/v1/fluigIdentity/authorization/roles' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {USER_TOKEN}' \
--data '[]
Bloco de código
titleProdução
curl --location 'https://rac.totvs.app/totvs.rac/api/v1/fluigIdentity/authorization/roles' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {USER_TOKEN}' \
--data '[]

Apêndice B - Gerar Token RAC

As variáveis CLIENT_ID e CLIENT_SECRET são enviadas ao email administrador do Tenant no momento de sua criação.

Bloco de código
titleDev
curl --location 'https://totvs.rac.dev.totvs.app/totvs.rac/connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id={CLIENT_ID}' \
--data-urlencode 'client_secret={CLIENT_SECRET}' \
--data-urlencode 'scope=authorization_api'
Bloco de código
titleStaging
curl --location 'https://totvs.rac.staging.totvs.app/totvs.rac/connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id={CLIENT_ID}' \
--data-urlencode 'client_secret={CLIENT_SECRET}' \
--data-urlencode 'scope=authorization_api'
Bloco de código
titleProdução
curl --location 'https://totvs.rac.totvs.app/totvs.rac/connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id={CLIENT_ID}' \
--data-urlencode 'client_secret={CLIENT_SECRET}' \
--data-urlencode 'scope=authorization_api'

...

As variáveis a serem substituídas são:

  • TOKEN_RAC = Token RAC obtido conforme Apêndice B;
  • SUBSCRIPTION_TYPE = Texto de tamanho livre sem caracteres especiais representando o tipo de subscrição, utilizado muitas vezes para filtros;
  • RAC_TENANT_ID = Tenant do RAC obtido no Apêndice A;
  • PRODUCT_NAME = Texto de tamanho livre contendo o nome do produto responsável pela mensagem (pode ser tanto iPaaS quanto o produto on-premises);
  • REQUEUE_COUNT = Quantidade máxima de reinfileiramento da mensagem antes de ir para a deadletter.
Bloco de código
titleDev
curl --location 'https://api-smartlink.dev.totvs.app/api/v1/link/setup' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {TOKEN_RAC}' \
--header 'Content-Type: application/json' \
--data '{
  "subscriptions": ["{SUBSCRIPTION_TYPE}"],
  "tenants": ["{RAC_TENANT_ID}"],
  "productName": "{PRODUCT_NAME}",
  "requeueCountMax": {REQUEUE_COUNT}
}'
Bloco de código
titleStaging
curl --location 'https://api-smartlink.staging.totvs.app/api/v1/link/setup' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {TOKEN_RAC}' \
--header 'Content-Type: application/json' \
--data '{
  "subscriptions": ["{SUBSCRIPTION_TYPE}"],
  "tenants": ["{RAC_TENANT_ID}"],
  "productName": "{PRODUCT_NAME}",
  "requeueCountMax": {REQUEUE_COUNT}
}'
Bloco de código
titleProdução
curl --location 'https://api-smartlink.totvs.app/api/v1/link/setup' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {TOKEN_RAC}' \
--header 'Content-Type: application/json' \
--data '{
  "subscriptions": ["{SUBSCRIPTION_TYPE}"],
  "tenants": ["{RAC_TENANT_ID}"],
  "productName": "{PRODUCT_NAME}",
  "requeueCountMax": {REQUEUE_COUNT}
}'

...

As variáveis a serem substituídas são:

  • TOKEN_RAC: Token RAC obtido conforme Apêndice B;
  • TYPE: Tipo da mensagem, equivalente a subscrição (algo que identifique a natureza da mensagem), este campo deve equivaler ao informado no campo "Tipo" filtrado pelo iPaaS caso seja informado;
  • É também possível informar o conteúdo da mensagem dentro do json do campo "data".
Bloco de código
titleDev
curl --location 'https://api-smartlink.dev.totvs.app/api/v1/link/send/{TYPE}' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {TOKEN_RAC}' \
--data '{}'
Bloco de código
titleStaging
curl --location 'https://api-smartlink.staging.totvs.app/api/v1/link/send/{TYPE}' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {TOKEN_RAC}' \
--data '{}'
Bloco de código
titleProdução
curl --location 'https://api-smartlink.totvs.app/api/v1/link/send/{TYPE}' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {TOKEN_RAC}' \
--data '{}'

Apêndice E - Enviando para o iPaaS com Audiência

As variáveis a serem substituídas são:

  • TOKEN_RAC: Token RAC obtido conforme Apêndice B;
  • TYPE: Tipo da mensagem, equivalente a subscrição (algo que identifique a natureza da mensagem), este campo deve equivaler ao informado no campo "Tipo" filtrado pelo iPaaS caso seja informado;
  • AUDIENCE: Audiência da mensagem, este campo deve equivaler ao informado no campo "Audiência" filtrado pelo iPaaS caso seja informado;
  • É também possível informar o conteúdo da mensagem dentro do json do campo "data".
Bloco de código
titleDev
curl --location 'https://api-smartlink.dev.totvs.app/api/v1/link/send/{TYPE}/{AUDIENCE}' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {TOKEN_RAC}' \
--data '{}'
Bloco de código
titleStaging
curl --location 'https://api-smartlink.staging.totvs.app/api/v1/link/send/{TYPE}/{AUDIENCE}' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {TOKEN_RAC}' \
--data '{}'
Bloco de código
titleProdução
curl --location 'https://api-smartlink.totvs.app/api/v1/link/send/{TYPE}/{AUDIENCE}' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {TOKEN_RAC}' \
--data '{}'

...

As variáveis a serem substituídas são:

  • TOKEN_RAC: Token RAC obtido conforme Apêndice B;
Bloco de código
titleDev
curl --location 'https://api-smartlink.dev.totvs.app/api/v1/link/get' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {TOKEN_RAC}'
Bloco de código
titleStaging
curl --location 'https://api-smartlink.staging.totvs.app/api/v1/link/get' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {TOKEN_RAC}'
Bloco de código
titleProdução
curl --location 'https://api-smartlink.totvs.app/api/v1/link/get' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {TOKEN_RAC}'

...

As variáveis a serem substituídas são:

  • TOKEN_RAC: Token RAC obtido conforme Apêndice B;
Bloco de código
titleDev
curl --location --request POST 'https://api-smartlink.dev.totvs.app/api/v1/link/ack' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {TOKEN_RAC}'
Bloco de código
titleStaging
curl --location --request POST 'https://api-smartlink.staging.totvs.app/api/v1/link/ack' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {TOKEN_RAC}'
Bloco de código
titleProdução
curl --location --request POST 'https://api-smartlink.totvs.app/api/v1/link/ack' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {TOKEN_RAC}'

Editando o componente

Para diagramas extensos ou que possuem muitas ligações entre componente e aplicativos, existe a possibilidade de editar o componente em casos onde é necessário alterar o componente de início escolhido sem precisar romper as ligações já estabelecidas.

01. Passe o mouse sobre o componente de início SamrtLink Hook;

02. Clique no ícone Image Removed para alterar o componente;

03. A lista com os componentes de início será apresentada, escolha o componente que deseja e clique em Salvar;

04. Uma mensagem de confirmação será apresentada, clique em Prosseguir para salvar as alterações.

...

titleInformação

...