CallEndpoint

L'action CallEndpoint appelle un point de terminaison HTTP.

Le tableau ci-dessous présente les paramètres de l'action CallEndpoint.

Tableau 1. Paramètres de l'action CallEndpoint
Nom Type de données Relation Obligatoire Remarques
méthode Enumération Attribut Oui Les valeurs possibles sont :
  • GET
  • POST
  • bande de mise à jour de logiciel
  • SUPPRIMER
  • PATCH
url Chaîne Attribut Oui URL de base du noeud final (à l'exception des paramètres de requête).
savePath Chaîne Attribut Non La réponse est stockée sous forme d'objet JSON au format suivant :
/response
{
status_code: 200,
status_message: "OK",
headers: {
"Date": "Tue, 16 Jun 2020 17:31:29 GMT",
"Content-Type": "application/json",
},
body: ...
}

Si vous ne fournissez pas de valeur savePath, la réponse du noeud final n'est pas enregistrée dans un emplacement par défaut. Vous devez fournir une valeur savePath si vous souhaitez stocker la réponse.

sslConfiguration SSLConfiguration Sous-élément Non Pour plus d'informations, voir SSLConfiguration.
basée sur les risques Authentification Sous-élément Non Un objet d'authentification doit correspondre à l'un des types suivants :
queryParameters QueryParameter Sous-élément Non Vous pouvez avoir plusieurs paramètres de requête. Pour plus d'informations, voir QueryParameter.
requestHeaders RequestHeaders Sous-élément Non Vous pouvez avoir plusieurs en-têtes de demande. Pour plus d'informations, voir RequestHeader.
requestCookie RequestCookie Sous-élément Non Nouveauté dans V2_1 Vous pouvez avoir plus d'un cookie de demande. Pour plus d'informations, voir RequestCookie
corps

RequestBody

UrlEncodedFormRequestBody

XmlRequestBody

Sous-élément Non Le corps doit correspondre à l'un des types suivants :

Le tableau ci-dessous présente les paramètres de SSLConfiguration.

Tableau 2. Structure de SSLConfiguration
Nom Type de données Obligatoire Remarques
protocol Chaîne Non Protocole SSL à utiliser. La valeur par défaut est TLSv1.2.
allowUntrustedServerCertificate Booléen Non Indique si les certificats serveur non sécurisés sont autorisés. La valeur par défaut est False.

Exemple XML :

Cet exemple autorise un certificat serveur non sécurisé.

<SSLConfiguration allowUntrustedServerCertificate="true" />

Le tableau ci-dessous présente les paramètres de BasicAuthentication.

Tableau 3. Structure de BasicAuthentication
Nom Type de données Obligatoire
username (nom d'utilisateur) Chaîne Oui
Mot de passe Chaîne Non

Exemple XML :

Cet exemple définit un nom d'utilisateur et un mot de passe d'authentification.

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

Le tableau ci-dessous présente les paramètres de BearerAuthentication.

Tableau 4. Structure de BearerAuthentication
Nom Type de données Obligatoire Remarques
jeton Chaîne Oui Le jeton d'accès.

Exemple XML :

Cet exemple définit un jeton d'accès pour l'authentification.

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

Le tableau ci-dessous présente les paramètres de DigestAuthentication.

Tableau 5. Structure de DigestAuthentication
Nom Type de données Obligatoire
username (nom d'utilisateur) Chaîne Oui
Mot de passe Chaîne Oui
segment Chaîne Non
nonce Chaîne Non
algorithme Chaîne Non
qop Chaîne Non
cnonce Chaîne Non
nonceCount Chaîne Non

Exemple XML :

Cet exemple définit un nom d'utilisateur et un mot de passe pour l'authentification.

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

Nouveautés de la version 2

Le tableau ci-dessous présente les paramètres de l'authentification Akamai EdgeGrid.

Tableau 6. Structure de l'authentification Akamai EdgeGrid
Nom Type de données Obligatoire
accessToken Chaîne Oui
clientToken Chaîne Oui
clientSecret Chaîne Oui

Nouveautés de la version 2

Le tableau ci-dessous présente les paramètres de l'authentification Hawk.

Tableau 7. Structure d'authentification Hawk
Nom Type de données Obligatoire
keyID Chaîne Oui
clé Chaîne Oui
algorithme Chaîne Oui
hachage Chaîne Non
poste Chaîne Non
Application Chaîne Non
dlg Chaîne Non

Le tableau ci-dessous présente les paramètres de QueryParameter.

Tableau 8. Structure de QueryParameter
Nom Type de données Obligatoire Remarques
nom Chaîne Oui
valeur Chaîne Oui  
omitIfEmpty Booléen Non Omet le paramètre si la valeur est vide.

Exemple XML :

Cet exemple définit un nom et une valeur pour une requête et omet le paramètre si la valeur est vide.

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

Le tableau ci-dessous présente les paramètres de RequestHeader.

Tableau 9. Structure de RequestHeader
Nom Type de données Obligatoire Remarques
nom Chaîne Oui
valeur Chaîne Non  
omitIfEmpty Booléen Non Omet l'en-tête si la valeur est vide.

Exemple XML :

Cet exemple définit un nom et une valeur pour un en-tête de demande.

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

Nouveauté dans V2_1

Le tableau suivant présente les paramètres de Request Cookie.

Tableau 10. RequestCookie structure
Nom Type de données Obligatoire Remarques
nom Chaîne Oui
valeur Chaîne Oui  
domaine Chaîne Non Définit le domaine du cookie. La valeur par défaut du domaine sera le nom d'hôte capturé à partir de la base de donnéescallendpoint urlAttribut. La valeur par défaut est le domaine duurlAttribut. Si le domaine renvoyé par le cookie n'est pas le même que le domaine de l' URL, vous devez spécifier le domaine.
chemin d"accès Chaîne Non Définit le chemin d'accès au cookie. La valeur par défaut est le chemin du fichierurlAttribut. Si le chemin renvoyé par le cookie ne correspond pas au chemin de l' URL, vous devez spécifier le chemin.
valeur confidentielle Booléen Non Chiffre le champ de la valeur. La valeur par défaut est fixée à false.

Exemple XML :

Cet exemple définit le champ requis (nom et valeur) pour un cookie de requête.
<RequestCookie name=” ${/<savePath>/cookies/<cookie_name>/name}” value=”${/< savePath>/cookies/ <cookie_name> /value}”>
Cet exemple définit tous les champs obligatoires et facultatifs du 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”>

Le tableau ci-dessous présente les paramètres de RequestBody.

Tableau 11. Structure de RequestBody
Nom Type de données Obligatoire Remarques
l'année en cours Chaîne Oui Doit correspondre à un type de contenu de demande HTTP valide. Par exemple, application/json.
codage Chaîne Oui Doit correspondre à un type de codage de corps HTTP valide. Par exemple, UTF-8.
content Chaîne Oui Incluez le contenu du corps entre les balises d'ouverture et de fermeture de l'élément <RequestBody>.

Exemple XML :

Cet exemple définit un type de contenu, un codage de corps et un contenu pour un corps de requête.

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

Le tableau ci-dessous présente les paramètres de UrlEncodedFormRequestBody.

Tableau 12. Structure de UrlEncodedFormRequestBody
Nom Type de données Obligatoire Remarques
paramètres Mappe <String, String> Oui Collection de paires nom-valeur.

Exemple XML :

Cet exemple définit les paires nom-valeur d'un corps de demande au format codé 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>

Le tableau ci-dessous présente les paramètres de XmlRequestBody.

Tableau 13. Structure de XmlRequestBody
Nom Type de données Obligatoire Remarques
l'année en cours Chaîne Non Doit correspondre à un type de contenu de demande HTTP valide. Par exemple, application/json.
codage Chaîne Non Doit correspondre à un type de codage de corps HTTP valide. Par exemple, UTF-8.
content XML Oui Le contenu XML réel du corps doit être imbriqué dans l'élément <XmlRequestBody> en tant que sous-éléments.

Exemple XML :

Cet exemple définit le contenu d'un corps de demande 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>

Exemple XML :

Cette action soumet une demande POST à https://${/host}/auth/oauth2/token avec un en-tête de demande et un corps de demande, et enregistre la réponse dans l'état à l'adresse /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>