Árvore de páginas

Versões comparadas

Chave

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

...

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):




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

...

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:




18. 

Configuração

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

...

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

...