REST V2
Descubra mais sobre o conector REST V2 e saiba como utilizá-lo na Digibee Integration Platform.
O REST V2 realiza chamadas a endpoints de HTTP, tornando muito simples ações como GET, POST, PUT e DELETE.
A grande diferença para a V1 é a adoção de expressões em Double Braces para compor URL, headers, query parameters e corpo da mensagem, permitindo acesso direto aos dados do pipeline.
Parâmetros
Dê uma olhada nas opções de configuração do conector. Parâmetros suportados por expressões Double Braces estão marcados com (DB)
.
URL (DB)
Endereço que receberá a chamada HTTP. Este parâmetro suporta Double Braces, mas a referência a informações de conta não é permitida.
https://viacep.com.br/ws/{{ DEFAULT(message.$.cep, "04547-130") }}/json/
String
Headers (DB)
Configura todos os tipos de headers necessários para chamada, por exemplo: Content-Type: application/json ou multipart/form-data. Esse parâmetro suporta Double Braces para os campos key e value. No entanto, a referência a informações da conta é permitida apenas para os campos de value.
Content-Type : application/json
Pares de chave-valor
Query Params (DB)
Configura os query parameters necessários para a chamada. Este parâmetro suporta Double Braces apenas para campos de value.
N/A
Pares de chave-valor
Verb
Especifica o verbo que indica o método HTTP.
GET
String
Account
Conta a ser utilizada pelo conector. Contas suportadas: ApiKey, AWS v4, Basic, Certificate Chain, Custom Auth Header, Google Key, Oauth2, Oauth Bearer Token e NTLM.
N/A
String
Custom Account #1
Conta adicional a ser utilizada pelo conector por meio de Double Braces _{{ account.custom-1.value }}.
N/A
String
Custom Account #2
Conta adicional a ser utilizada pelo conector por meio de Double Braces {{ account.custom-2.value }}.
N/A
String
Connect Timeout
Tempo de expiração da conexão (em milissegundos).
30000
Inteiro
Read Timeout
Tempo máximo para leitura (em milissegundos).
30000
Inteiro
Stop On Client Error
Se ativada, a opção interrompe a execução do pipeline quando ocorre um erro HTTP da família 4xx na chamada ao endpoint.
False
Booleano
Stop On Server Error
Se ativada, a opção interrompe a execução do pipeline quando ocorre um erro HTTP da família 5xx na chamada ao endpoint.
False
Booleano
Advanced Settings
Configurações avançadas.
False
Booleano
Raw Mode
Se ativada, a opção recebe ou passa um payload que não é JSON.
False
Booleano
Raw Mode As Base64
Quando ativada, a opção mostra o retorno como base64.
False
Booleano
Save As Local File
Quando ativada, a opção salva o retorno como um arquivo no diretório local do pipeline.
False
Booleano
Response File Name (DB)
Nome do arquivo ou caminho completo do arquivo (por exemplo, tmp/processed/file.txt). Este parâmetro suporta Double Braces, mas a referência a informações de conta não é permitida.
N/A
String
Allow Insecure Endpoints
Quando ativada, a opção permite que chamadas a endpoints HTTPS não seguros sejam realizadas.
False
Booleano
Enable Retries
Quando ativada, a opção permite que sejam feitas novas tentativas.
False
Booleano
Number Of Retries
Número máximo de tentativas antes de desistir da chamada.
0
Inteiro
Time To Wait Between Retries
Tempo máximo entre tentativas (em milissegundos).
0
Inteiro
Compress Body With GZIP
Quando ativada, a opção permite que o body seja comprimido com GZIP.
False
Booleano
Force HTTP 1.1
Quando ativada, a opção força a solicitação a ser executada utilizando HTTP 1.1.
False
Booleano
Override Response Charset
Quando ativada, a opção irá sobrescrever o charset retornado do endpoint para o charset especificado na propriedade “Response Charset”; do contrário, o retorno do charset no header “Content-Type” será respeitado. Se nenhum charset no header “Content-Type” for retornado, será utilizado o padrão UTF-8.
False
Booleano
Response Charset
Utilizado somente quando a opção “Override Response Charset” estiver ativada, forçará o uso do charset especificado na propriedade (Padrão: UTF-8).
UTF-8
String
Disable Connection Pooling
Quando ativada, a opção não mantém as conexões em um pool. O seu uso é recomendado para endpoints que apresentam problemas de compatibilidade quando conexões são reutilizadas.
False
Booleano
Invalidate SSL Sessions on Every Call
Quando ativada, a opção invalida sessões SSL em todas as chamadas.
False
Booleano
Use Dynamic Account
Quando a opção estiver ativada, o conector irá usar a conta dinamicamente. Quando estiver desativada, a conta será usada estaticamente.
False
Booleano
Account Name
Nome da conta a ser definida. O nome da conta deve ser gerado dinamicamente através do conector Store Account.
N/A
String
Scoped
Quando a opção estiver ativada, a conta armazenada é isolada para outro sub-processo. Nesse caso, os sub-processos verão sua própria versão dos dados da conta armazenada. Essa opção não é suportada para contas usadas em headers ou body. Para saber mais sobre a funcionalidade Scoped, leia a documentação de Suporte a credenciais dinâmicas.
False
Booleano
Atualmente, os parâmetros Use Dynamic Account, Account Name e Scoped podem ser usados apenas no Pipeline Engine v2 e estão disponíveis em fase Beta Restrito. Para saber mais, leia o artigo Progama Beta.
Fluxo de Mensagens
Entrada
Você pode usar a seguinte configuração no corpo da mensagem e pode fazer uso dela através de Double Braces:
Não se aplica ao verbo GET.
Saída
em caso de sucesso
em caso de sucesso (com a utilização da flag "Raw Mode As Base64")
em caso de sucesso (com a utilização da flag “Save As Local File”)
em caso de erro
REST V2 em Ação
Enviando um arquivo binário
Para enviar um arquivo binário pelo REST V2, basta informar:
o endpoint de destino
o content type (MIME Type do arquivo) no header (ex.: application/pdf)
o caminho onde o arquivo se encontra (apontar no campo File Name)
Como fazer requisições utilizando o content-type: MultiPart/form-data
A primeira coisa que você precisa fazer é especificar esse header no conector
(Content-Type: Multipart/form-data).
Em seguida, depois de selecionar qualquer verbo HTTP (com exceção do GET), um campo vai se abrir para que você especifique o corpo do payload a ser enviado. Este deve ser o padrão para:
especificar campos
especificar arquivos
Caso precise de ambas as especificações, você pode combiná-las com expressões em Double Braces:
Como fazer requisições utilizando o content-type: application/x-www-form-urlencoded
A primeira coisa que você precisa fazer é especificar esse header no conector
(Content-Type: application/x-www-form-urlencoded).
Em seguida, depois de selecionar qualquer verbo HTTP (com exceção do GET), um campo vai se abrir para que você especifique o corpo do payload a ser enviado.
Exemplo:
Usando contas
No REST V2, você pode configurar três tipos de parâmetros de conta:
Account
Custom Account #1
Custom Account #2
A diferença entre os parâmetros é que se você definir o parâmetro Account, o conector irá automaticamente preparar a requisição com as informações da conta, de acordo com a tecnologia de autenticação. No entanto, se você configurar uma ou mais Custom Accounts, elas só poderão ser usadas para referenciar suas informações em outros campos através de Double Braces.
O parâmetro Account sempre tem precedência sobre Custom Accounts.
Estes são os tipos de contas suportados no REST V2:
API Key
AWS V4
Basic
Certificate Chain
Custom Auth Header
Google Key
OAuth2
OAuth Bearer Token
NTLM
Saiba mais sobre como o REST V2 prepara a autorização dependendo do tipo de conta:
API Key
Com os valores URL-PARAM-NAME e API-KEY definidos no tipo de conta API Key, a Plataforma adiciona um novo conjunto de parâmetros de consulta e valores na requisição da seguinte forma:
AWS V4
Se você precisar acessar um serviço AWS através de uma chamada de API REST, é necessário usar este tipo de conta. Internamente, a plataforma gera os cabeçalhos de autenticação da AWS e assina a mensagem com a assinatura AWS 4.
Verifique a documentação do serviço AWS que você deseja acessar para ver quais cabeçalhos ou parâmetros adicionais precisam ser configurados para a chamada de API REST.
Basic
Se USERNAME e PASSWORD estiverem definidos no tipo de conta Basic, a Plataforma codifica os dados em formato BASE64 e adiciona um cabeçalho de autorização à requisição da seguinte forma:
Certificate Chain
Quando este tipo de conta é definido, a Plataforma usa o CHAIN para validar e estabelecer uma conexão segura com o servidor da API.
Custom Auth Header
Com HEADER-NAME e HEADER-VALUE definidos no tipo de conta Custom Auth Header, a Plataforma cria um cabeçalho personalizado e o insere na requisição da seguinte forma:
Google Key
Se você precisar acessar um serviço do Google através de uma chamada de API REST, é necessário usar este tipo de conta. Internamente, a plataforma gera o Google Authentication Token e o insere em um cabeçalho de autenticação da seguinte forma:
Verifique a documentação do serviço do Google que você deseja acessar para ver quais cabeçalhos ou parâmetros adicionais precisam ser configurados para a chamada de API REST.
OAuth 2
Este tipo de conta aciona diferentes comportamentos dependendo do que o respectivo provedor espera. Veja como a Plataforma lida com a autenticação OAuth 2 com os provedores suportados pela Digibee:
Microsoft e Google: para esses provedores, a Plataforma gera o access token e o insere em um cabeçalho de autorização da seguinte forma:
Authorization: Bearer <PROVIDER_ACCESS_TOKEN>
Mercado Livre: para este provedor, a Plataforma gera o access token e o insere como o valor de um parâmetro de consulta na requisição, da seguinte forma:
https://www.address.com?access_token=<API-KEY>
OAuth Bearer Token
Se você já tiver um token OAuth, pode armazená-lo neste tipo de conta e a Plataforma o criará da seguinte forma e o substituirá em um cabeçalho de Autorização:
Mais informações podem ser encontradas na documentação de Contas.
Atualizado