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)
.
Parâmetro | Descrição | Valor padrão | Tipo de dado |
---|---|---|---|
URL | 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 | 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 | 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 | 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