Service Callout

Assim como o Internal API Call, o Service Callout permite invocar uma nova chamada como parte do fluxo original com base nas configurações estabelecidas. A diferença é que, enquanto o Internal API Call se destina a redirecionamentos para APIs que estejam na Plataforma da Sensedia, o Service Callout permite invocar uma chamada externa.

Configurando o interceptor

As imagens e texto abaixo apresentam as informações a serem preenchidas para configurar o interceptor.

service callout screen
service callout body
service callout header
  • Variable name: define o nome do Service Callout, sendo único por fluxo. É através dessa nomenclatura que o interceptor é recuperado dentro da mapa $call.contextVariables, sendo necessário o interceptor Service Mashup para capturar a resposta do serviço.

  • URL: define a URL que será invocada na requisição externa.

  • Method: define o método HTTP a ser usado na invocação.

  • Expected status: define o status code esperado.

  • Preserve query string: se a opção for marcada, a query string presente na requisição será repassada para a chamada externa.

  • Preserve body: se o campo for marcado, o body contido na requisição será repassado para a chamada externa. O campo será habilitado quando o method for diferente de GET.

  • Body: permite a inserção de um body. O campo será habilitado quando o método for diferente de GET e a opção Preserve body estiver desmarcada;

  • Preserve headers: se marcado, os headers presentes na requisição serão repassados para a chamada externa.

  • Headers: permite a inserção de headers.

service callout asynchronous

O Service Callout tem a capacidade de realizar chamadas síncronas ou assíncronas. Neste último caso, uma chamada síncrona será enviada para a nova URL e o interceptor ficará aguardando o resultado dessa chamada para continuar a execução do fluxo. Para chamadas assíncronas, selecione o campo Asynchronous.

Para capturar a resposta de chamadas assíncronas, é necessário utilizar o interceptor Service Mashup no fluxo.

As chamadas assíncronas podem ser do tipo Fire and Forget ou não, bastando apenas selecionar o campo ou deixá-lo em branco. Com o campo selecionado, o interceptor vai enviar a chamada e esquecê-la. Nesse caso, não haverá nenhum retorno da nova chamada.

Quando não for marcada a opção Fire and Forget, poderá ser configurado um tempo limite (timeout) para a chamada a ser realizada. Essa chamada será realizada de forma paralela e será encerrada caso o tempo limite seja atingido ou algum resultado seja retornado.

service callout abort
  • Abort request if fail: aborta o processo caso a requisição falhe. Caracteriza-se uma falha quando o status code da requisição é diferente do esperado. O campo será habilitado quando a requisição for síncrona.

How it works

Para recuperar o resultado da execução do Service Callout, é necessário ter um interceptor Service Mashup também adicionado ao fluxo da API.

Deve-se utilizar o mapa $call.contextVariables, e um objeto do tipo RestResponse será retornado.

Thanks for your feedback!
EDIT
How useful was this article to you?