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. |
...
Classe criada para realização da comunicação com o Totvs Smart Link para subida de dados.
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
...
Envia uma mensagem para a fila do Totvs LinkSmart 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 |
...
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":"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 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: