Histórico da Página
...
Aviso | ||
---|---|---|
| ||
É necessário ter as credenciais (ClientId e Secret) do TotvsApps já cadastradas para utilizar a classe, certifique. Certifique-se de ter feito o processamento do CarolWizardconfigurado algum produto do TotvsApps. Mais informações do Wizard sobre a implementação de Wizard de produtos TotvsApps pode ser encontrado na documentação: FWCarolWizard. |
Objetivos
Classe criada para realização da comunicação com o TotvsLink para subida de dadosSmart 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 no Totvs na fila do Smart Link
Sintaxe: FwTotvsLinkClient():Receive()-> lSuccess
GetMessage
Recupera a última mensagem carregada no objeto
Sintaxe: FwTotvsLinkClient():GetMessage()-> self:oMessage
Success
Notifica que a última mensagem recebida foi processada com sucesso
Sintaxe: FwTotvsLinkClient():Success()-> lSuccess
Fail
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
Send
Envia uma mensagem para a fila do Totvs Smart Link
Informações | ||
---|---|---|
| ||
O formato da mensagem 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 |
Sintaxe: FwTotvsLinkClient():Send(< cType >, < cMessage >)-> lSuccess
SendAudience
Envia uma mensagem para a fila do Totvs Smart Link usando audience
Informações | ||
---|---|---|
| ||
O formato da mensagem 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 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":"T199" }, "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 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":"T199" }, "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: