Histórico da Página
...
Classe criada para realização da comunicação com o Smart Link.
TotvsLink Smart Link é um mecanismo de troca de mensagens entre aplicações que utiliza um serviço de fila (rabbit) recebendo requisições através do protocolo HTTP. Mais informações na documentação: Smart Link
Métodos
New
Construtor que realiza o setup da fila
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
lRefreshToken | Logical | Indica se o setup no smartlink vai realizar o refresh do token | .F. |
Sintaxe: FwTotvsLinkClient():New()→ Nil ou FwTotvsLinkClient():New(.T.)→ Nil
Informações | ||
---|---|---|
| ||
Parâmetro disponível a partir do pacote SmartLink 2.4.4. |
Receive
Verifica se existem mensagens na fila do Smart Link
...
Notifica que a última mensagem recebida não foi processada com sucesso e envia a mensagem posicionada para a fila DLQ
Sintaxe: FwTotvsLinkClient():Fail()-> lSuccess
...
Informações | ||
---|---|---|
| ||
O formato da mensagem será definido a ser enviada é livre, porém geralmente é definida pelo Produto que receberá a mensagem. |
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
cType | Caractere | Tipo da mensagem | X | ||
cMessage | Caractere | Corpo da requisição | X |
...
Informações | ||
---|---|---|
| ||
O formato da mensagem será definido a ser enviada é livre, porém geralmente é definida pelo Produto que receberá a mensagem. |
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
cType | Caractere | Tipo da mensagem | X | ||
cAudience | Caractere | Audiência da mensagem | X | ||
cMessage | Caractere | Corpo da requisição | X |
Sintaxe: FwTotvsLinkClient():SendAudience(< cType >,< cAudience >, < cMessage >)-> lSuccess
GetError
Retorna a mensagem de erro em uma falha de comunicação com o SmartLink.
Informações | ||
---|---|---|
| ||
Disponível a partir do pacote SmartLink 2.3.0 ou da lib label 20220321. |
Sintaxe: FwTotvsLinkClient():GetError()-> cErro
SetRefreshToken
Realiza a indicação que as operações realizadas no smartlink irão realizar um refresh do token utilizado.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
lRefreshToken | Logical | Indica se as operações vão realizar o refresh do token | X |
Sintaxe: FwTotvsLinkClient():SetRefreshToken(.T.)
Informações | ||
---|---|---|
| ||
Disponível a partir do pacote SmartLink 2.4.4. |
GetRefreshToken
Retorna se as operações realizadas no smartlink estão realizando um refresh do token.
Sintaxe: FwTotvsLinkClient():GetRefreshToken()-> .T. ou .F.
Informações | ||
---|---|---|
| ||
Disponível a partir do pacote SmartLink 2.4.4. |
Bloco de código | ||||
---|---|---|---|---|
| ||||
#include 'protheus.ch' User Function SendMsgClient() Local oClient as object Local cMessage as character Local lSuccess as logical /*RpcSetEnv("99", "01") Necessário abrir o ambiente caso o mesmo não esteja aberto*/ oClient := FwTotvsLinkClient():New() //O formato da mensagem será definido a ser enviada é livre, porém geralmente é definida pelo Produto que receberá a mensagem. BeginContent Var cMessage { "header": { "type": "Framework", "tenantId": "e21c8e75-9dfc-4169-a599-e233538d72a4", "erpTenant": { "protheus":"99" }, "generatedOn": "2021-06-08T15:18:08.367574Z", "locale": "pt_BR" }, "content": { "requestID": "1bc180de-ef14-4b75-83ac-b73ed1fa7518", "identifiers": { "CPF": "98954898765" }, "roles": [] } } EndContent lSuccess := oClient:Send("Teste Frame", cMessage) Return lSuccess |
Bloco de código | ||||
---|---|---|---|---|
| ||||
User Function SendMsgSecond() Local oClient as object Local cMessage as character Local lSuccess as logical RpcSetEnv("99", "01") oClient := FwTotvsLinkClient():New() //O formato da mensagem será definido a ser enviada é livre, porém geralmente é definida pelo Produto que receberá a mensagem. BeginContent Var cMessage { "header": { "type": "Framework", "tenantId": "e21c8e75-9dfc-4169-a599-e233538d72a4", "erpTenant": { "protheus":"99" }, "generatedOn": "2021-06-08T15:18:08.367574Z", "locale": "pt_BR" }, "content": { "requestID": "1bc180de-ef14-4b75-83ac-b73ed1fa7518", "identifiers": { "CPF": "98954898765" }, "roles": [] } } EndContent lSuccess := oClient:SendAudience("Teste Frame", "FrameWork", cMessage) Return lSuccess |
Ambiente de teste
Para utilizar o ambiente de teste as credenciais devem ser de dev e é necessário ajustar o link do Registry.
Mais informações sobre o Registry na documentação: