

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Effectuer des demandes d'API
<a name="making-api-requests"></a>

Les demandes de requête pour les autorisations Amazon Verified sont des requêtes HTTP ou HTTPS qui utilisent cette `POST` méthode.

## Points de terminaison d'autorisations vérifiés
<a name="avp-endpoints"></a>

Un *point de terminaison* est une URL qui sert de point d'entrée à un service Web. Vous pouvez sélectionner un point de Région AWS terminaison approprié lorsque vous faites vos demandes afin de réduire le temps de latence. Pour plus d'informations sur les points de terminaison utilisés par Verified Permissions, consultez [Amazon Verified Permissions](https://docs.aws.amazon.com/general/latest/gr/verified-permissions.html) dans le *Référence générale d'Amazon Web Services*.

## Paramètres de demande
<a name="request-parameters"></a>

Amazon Verified Permissions utilise un JSON-based protocole. Vous transmettez les paramètres de requête au format JSON dans le corps de votre requête HTTP. Les listes sont représentées sous forme de tableaux JSON. Pour plus d'informations, consultez la section [Paramètres communs](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/CommonParameters.html) dans le manuel *Amazon Verified Permissions API Reference*.

## Identifiants de demande
<a name="request-identifiers"></a>

Dans chaque réponse, AWS renvoie un ID de demande via l'en-tête de réponse `x-amzn-RequestId` HTTP. Cette chaîne est un identifiant unique attribué pour fournir AWS des informations de suivi. Bien que l'ID de demande soit inclus dans chaque réponse, il n'est pas répertorié sur les pages de documentation de l'API individuelles afin d'améliorer la lisibilité et de réduire la redondance.

## Authentification par API de requête
<a name="query-authentication"></a>

Vous envoyez des requêtes via HTTPS. Vous devez inclure une signature dans chaque demande de requête. Pour plus d'informations sur la création et l'inclusion d'une signature, consultez [la section Signature des demandes d' AWS API](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) dans le *Référence générale d'Amazon Web Services*.

## Bibliothèques disponibles
<a name="using-libraries"></a>

AWS fournit des bibliothèques, des exemples de code, des didacticiels et d'autres ressources aux développeurs de logiciels qui préfèrent créer des applications à l'aide d'API spécifiques au langage plutôt que des outils de ligne de commande et de l'API de requête. Ces bibliothèques fournissent des fonctions de base (non incluses dans les API), telles que l'authentification des demandes, les nouvelles tentatives et la gestion des erreurs, afin de faciliter le démarrage. Les bibliothèques et ressources d'autorisations vérifiées sont disponibles pour les langues et plateformes suivantes :
+  [AWS SDK pour Go](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/verifiedpermissions) 
+  [AWS SDK pour Java 2.x](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/verifiedpermissions/package-summary.html) 
+  [AWS SDK pour Java 1. x](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/verifiedpermissions/package-summary.html) 
+  [AWS SDK pour JavaScript](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/VerifiedPermissions.html) 
+  [AWS SDK pour .NET](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/VerifiedPermissions/NVerifiedPermissions.html) 
+  [AWS SDK pour PHP](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-verifiedpermissions-2022-07-28.html) 
+  [AWS SDK pour Python (Boto)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/verifiedpermissions.html) 
+  [AWS SDK pour Ruby](https://github.com/aws/aws-sdk-ruby/tree/version-3/apis/verifiedpermissions/2021-12-01) 

Pour plus d'informations sur les bibliothèques et les exemples de code dans tous les langages, voir [Exemples de code et bibliothèques](https://docs.aws.amazon.com/code-library).

## Effectuer des demandes d'API à l'aide de la méthode `POST`
<a name="avp-API-requests-using-post-method"></a>

Si vous n'utilisez aucun des AWS SDK, vous pouvez effectuer des demandes d'autorisations vérifiées via HTTPS à l'aide de la méthode de `POST` demande. La `POST` méthode nécessite que vous spécifiiez l'opération dans l'en-tête de la demande et que vous fournissiez les données de l'opération au format JSON dans le corps de la demande.


| Nom de l’en-tête | Valeur d’en-tête | 
| --- | --- | 
| Host | Le point de terminaison Amazon Verified Permissions. Par exemple : `verifiedpermissions.us-east-1.amazonaws.com`  | 
| X-Amz-Date | Vous devez fournir l'horodatage dans l'en-tête HTTP Date ou dans l'en-tête AWS *x-amz-date*. Certaines bibliothèques clientes HTTP ne vous permettent pas de définir l'en-tête Date. Lorsqu'un en-tête *x-amz-date* est présent, le système ignore tout en-tête Date lors de l'authentification de la demande.<br />L'en-tête *x-amz-date* doit être spécifié au format de base ISO 8601. Par exemple : `20130315T092054Z`  | 
| Authorization | Ensemble de paramètres d'autorisation AWS utilisé pour garantir la validité et l'authenticité de la demande. Pour plus d'informations sur la création de cet en-tête, voir [Processus de signature de la version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) de Signature dans le *Référence générale d'Amazon Web Services*. | 
| X-Amz-Target | Spécifie l'opération d'autorisations vérifiées que vous souhaitez effectuer. <br />`VerifiedPermissions.{{API_Name}}`<br />Par exemple, pour appeler l'`CreatePolicy`opération, utilisez la valeur cible suivante.<br />`VerifiedPermissions.CreatePolicy` | 
| Content-Type | Spécifie le format d'entrée. Utilisez la valeur suivante.<br />`application/x-amz-json-1.0` | 
| Accept | Spécifie le format de réponse. Utilisez la valeur suivante.<br />`application/x-amz-json-1.0` | 
| Content-Length | Taille de la charge utile en octets. | 
| Content-Encoding | Spécifie le format de codage de l'entrée et de la sortie. Utilisez la valeur suivante.<br />`amz-1.0` | 

Voici un exemple d'en-tête pour une requête HTTP renvoyant une liste de toutes les politiques du magasin de politiques spécifié, Compte AWS où elles font `Principal` référence à un `User` nom`alice`. Dans cet exemple, la `Authorization` ligne est encapsulée ici pour en faciliter la lecture. Ne l'inscrivez pas dans votre demande réelle.

```
POST / HTTP/1.1
Host: verifiedpermissions.us-east-1.amazonaws.com
X-Amz-Date: 20230101T200059Z
Accept-Encoding: identity
Content-Type: application/x-amz-json-1.0
X-Amz-Target: VerifiedPermissions.ListPolicies
User-Agent: <UserAgentString>
Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature>
Content-Length: <PayloadSizeBytes>

{
    "PolicyStoreId": "PSExAmPLE222222222",
    "Filter": {
        "Principal": {
            "Id": {
                "EntityType": "User",
                "EntityId": "alice"
            }
        }
    }
}
```