CallEndpoint

A ação CallEndpoint chama um terminal HTTP.

A tabela a seguir mostra os parâmetros para a ação CallEndpoint.

Tabela 1. Parâmetros da ação CallEndpoint
Nome Tipo de dados Relação Necessário Notas
method Enumeração Atributo Sim Possíveis valores:
  • GET
  • POST
  • PUT
  • EXCLUIR
  • PATCH
url Sequência Atributo Sim A URL base do terminal (excluindo os parâmetros de consulta).
savePath Sequência Atributo Não A resposta é armazenada como um objeto JSON com o formato a seguir:
/response
{
status_code: 200,
status_message: "OK",
headers: {
"Date": "Tue, 16 Jun 2020 17:31:29 GMT",
"Content-Type": "application/json",
},
body: ...
}

Se você não fornecer um valor savePath, a resposta do terminal não será salva em um local padrão. Um valor savePath deverá ser fornecido se você desejar armazenar a resposta.

sslConfiguration SSLConfiguration Subelemento Não Para obter mais informações, consulte SSLConfiguration.
Autenticação Autenticação Subelemento Não Um objeto de Autenticação deve ser um dos tipos a seguir:
queryParameters QueryParameter Subelemento Não É possível ter mais de um parâmetro de consulta. Para obter mais informações, consulte QueryParameter..
requestHeaders RequestHeaders Subelemento Não É possível ter mais de um cabeçalho de solicitação. Para obter mais informações, consulte RequestHeader..
requestCookie RequestCookie Subelemento Não Novo em V2_1 Você pode ter mais de um cookie de solicitação. Para obter mais informações, consulte RequestCookie
corpo

RequestBody

UrlEncodedFormRequestBody

XmlRequestBody

Subelemento Não O corpo deve ser um dos tipos a seguir:

A tabela a seguir mostra os parâmetros para SSLConfiguration.

Tabela 2. Estrutura do SSLConfiguration
Nome Tipo de dados Necessário Notas
protocolo Sequência Não O protocolo SSL a ser utilizado. O padrão é TLSv1.2.
allowUntrustedServerCertificate Booleano Não Indica se certificados de servidor não confiáveis são permitidos. O padrão é Falso.

Exemplo de XML:

Este exemplo permite um certificado de servidor não confiável.

<SSLConfiguration allowUntrustedServerCertificate="true" />

A tabela a seguir mostra os parâmetros para BasicAuthentication.

Tabela 3. Estrutura do BasicAuthentication
Nome Tipo de dados Necessário
nome do usuário Sequência Sim
Senha Sequência Não

Exemplo de XML:

Este exemplo configura um nome do usuário e uma senha de autenticação.

<BasicAuthentication username="${/username}" password="${/password}" />

A tabela a seguir mostra os parâmetros para BearerAuthentication.

Tabela 4. Estrutura do BearerAuthentication
Nome Tipo de dados Necessário Notas
token Sequência Sim O token de acesso.

Exemplo de XML:

Este exemplo configura um token de acesso para autenticação.

<BearerAuthentication token="${/access_token}" />

A tabela a seguir mostra os parâmetros para DigestAuthentication.

Tabela 5. Estrutura do DigestAuthentication
Nome Tipo de dados Necessário
nome do usuário Sequência Sim
Senha Sequência Sim
Região Sequência Não
nonce Sequência Não
algoritmo Sequência Não
qop Sequência Não
cnonce Sequência Não
nonceCount Sequência Não

Exemplo de XML:

Este exemplo configura um nome do usuário e uma senha para autenticação.

<DigestAuthentication username="${/public_key}" password="${/private_key}" />

Novo em V2

A tabela a seguir mostra os parâmetros para a autenticação Akamai EdgeGrid.

Tabela 6. Estrutura de autenticação do Akamai EdgeGrid
Nome Tipo de dados Necessário
accessToken Sequência Sim
clientToken Sequência Sim
clientSecret Sequência Sim

Novo em V2

A tabela a seguir mostra os parâmetros para a autenticação Hawk.

Tabela 7. Estrutura de autenticação do Hawk
Nome Tipo de dados Necessário
keyID Sequência Sim
Chave Sequência Sim
algoritmo Sequência Sim
hash Sequência Não
ext Sequência Não
Aplicativo Sequência Não
dlg Sequência Não

A tabela a seguir mostra os parâmetros para QueryParameter.

Tabela 8. Estrutura do QueryParameter
Nome Tipo de dados Necessário Notas
nome Sequência Sim
Valor Sequência Sim  
omitIfEmpty Booleano Não Omite o parâmetro quando o valor está vazio.

Exemplo de XML:

Este exemplo configura um nome e um valor para uma consulta e omite o parâmetro quando o valor está vazio.

<QueryParameter name="stream_position" value="${/bookmark}" omitIfEmpty="true" />

A tabela a seguir mostra os parâmetros para RequestHeader.

Tabela 9. Estrutura do RequestHeader
Nome Tipo de dados Necessário Notas
nome Sequência Sim
Valor Sequência Não  
omitIfEmpty Booleano Não Omita o cabeçalho se o valor estiver vazio.

Exemplo de XML:

Este exemplo configura um nome e um valor para um cabeçalho de solicitação.

<RequestHeader name="authorization" value="client_id:${/client_id}, client_secret:${/client_secret}" />

Novo em V2_1

A tabela a seguir mostra os parâmetros do Request Cookie.

Tabela 10. RequestCookie estrutura
Nome Tipo de dados Necessário Notas
nome Sequência Sim
Valor Sequência Sim  
domínio Sequência Não Define o domínio para o cookie. O valor padrão do domínio será o nome de host capturado docallendpoint urlatributo. O valor padrão é o domínio dourlatributo. Se o domínio retornado pelo cookie não for o mesmo que o domínio do URL, você deverá especificar o domínio.
path Sequência Não Define o caminho para o cookie. O valor padrão é o caminho do arquivourlatributo. Se o caminho retornado pelo cookie não corresponder ao caminho do URL, você deverá especificar o caminho.
secret Booleano Não Criptografa o campo de valor. O valor padrão é definido como false.

Exemplo de XML:

Este exemplo define o campo obrigatório (nome e valor) para um cookie de solicitação.
<RequestCookie name=” ${/<savePath>/cookies/<cookie_name>/name}” value=”${/< savePath>/cookies/ <cookie_name> /value}”>
Esse exemplo define todos os campos obrigatórios e opcionais do cookie.
<RequestCookie name=” ${/<savePath>/cookies/<cookie_name>/name}” value=”${/< savePath>/cookies/ <cookie_name> /value}” domain=”${/<savePath>/cookies/<cookie_name>/domain}”> path = ”  ${/<savePath>/cookies/<cookie_name>/path}” secret = “true”>

A tabela a seguir mostra os parâmetros para RequestBody.

Tabela 11. Estrutura do RequestBody
Nome Tipo de dados Necessário Notas
tipo Sequência Sim Deve ser um tipo de conteúdo de solicitação de HTTP válido. Por exemplo, application/json.
Codificação Sequência Sim Deve ser um tipo de codificação de corpo HTTP válido. Por exemplo, UTF-8.
content Sequência Sim Inclua o conteúdo do corpo entre as tags de abertura e fechamento do elemento <RequestBody>.

Exemplo de XML:

Este exemplo configura um tipo de conteúdo, uma codificação do corpo e o conteúdo para um corpo de solicitação.

<RequestBody type="application/json" encoding="UTF-8">{ "grant_type": "client_credentials" }</RequestBody>

A tabela a seguir mostra os parâmetros para UrlEncodedFormRequestBody.

Tabela 12. Estrutura do UrlEncodedFormRequestBody
Nome Tipo de dados Necessário Notas
parameters Mapa <String, String> Sim Uma coleção de pares nome/valor.

Exemplo de XML:

Este exemplo configura os pares nome/valor para um corpo de solicitação de formulário codificado por URL.

<UrlEncodedFormRequestBody>
                <Parameter name="grant_type" value="urn:ietf:params:oauth:grant-type:jwt-bearer" />
                <Parameter name="client_id" value="${/client_id}" />
                <Parameter name="client_secret" value="${/client_secret}" />
                <Parameter name="assertion" value="${/jwt_assertion}" />
            </UrlEncodedFormRequestBody>

A tabela a seguir mostra os parâmetros para XmlRequestBody.

Tabela 13. Estrutura do XmlRequestBody
Nome Tipo de dados Necessário Notas
tipo Sequência Não Deve ser um tipo de conteúdo de solicitação de HTTP válido. Por exemplo, application/json.
Codificação Sequência Não Deve ser um tipo de codificação de corpo HTTP válido. Por exemplo, UTF-8.
content XML Sim O conteúdo XML real do corpo deve estar aninhado dentro do elemento <XmlRequestBody> como subelementos.

Exemplo de XML:

Este exemplo configura o conteúdo para um corpo de solicitação XML.

<XmlRequestBody>
                <authRequest>
                    <maaS360AdminAuth>
                        <billingID>${/billing_id}</billingID>
                        <platformID>${/platform_id}</platformID>
                        <appID>${/app_id}</appID>
                        <appVersion>${/app_version}</appVersion>
                        <appAccessKey>${/app_access_key}</appAccessKey>
                        <userName>${/username}</userName>
                        <password>${/password}</password>
                    </maaS360AdminAuth>
                </authRequest>
            </XmlRequestBody>

Exemplo de XML:

Esta chamada de ação faz uma solicitação POST para https://${/host}/auth/oauth2/token com um cabeçalho de solicitação e um corpo de solicitação e salva a resposta no Estado em /get_access_token.

<CallEndpoint url="https://${/host}/auth/oauth2/token" method="POST" savePath="/get_access_token">
    <RequestHeader name="authorization" value="client_id:${/client_id}, client_secret:${/client_secret}" />
    <RequestBody type="application/json" encoding="UTF-8">{ "grant_type": "client_credentials" }</RequestBody>
</CallEndpoint>