

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Cómo realizar solicitudes a la API
<a name="making-api-requests"></a>

Las solicitudes de consulta para los permisos verificados de Amazon son solicitudes HTTP o HTTPS que utilizan el `POST` método.

## Puntos finales de permisos verificados
<a name="avp-endpoints"></a>

Un *punto final* es una URL que sirve como punto de entrada para un servicio web. Puede seleccionar un Región de AWS punto final adecuado al realizar sus solicitudes para reducir la latencia. Para obtener información sobre los puntos de enlace que utilizan los permisos verificados, consulte [Amazon Verified Permissions](https://docs.aws.amazon.com/general/latest/gr/verified-permissions.html) en. *Referencia general de Amazon Web Services*

## Parámetros de solicitud
<a name="request-parameters"></a>

Amazon Verified Permissions utiliza un JSON-based protocolo. Los parámetros de la solicitud se transmiten como JSON en el cuerpo de la solicitud HTTP. Las listas se representan como matrices JSON. Para obtener más información, consulta [Parámetros comunes](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/CommonParameters.html) en la *referencia de la API de permisos verificados de Amazon*.

## Identificadores de solicitud
<a name="request-identifiers"></a>

En cada respuesta, AWS devuelve un ID de solicitud a través del encabezado de respuesta `x-amzn-RequestId` HTTP. Esta cadena es un identificador único que se AWS asigna para proporcionar información de seguimiento. Si bien el identificador de solicitud se incluye en todas las respuestas, no aparece en las páginas individuales de documentación de la API para mejorar la legibilidad y reducir la redundancia.

## Consulta la autenticación de la API
<a name="query-authentication"></a>

Las solicitudes de consulta se envían a través de HTTPS. Debes incluir una firma en todas las solicitudes de consulta. Para obtener más información sobre cómo crear e incluir una firma, consulte [Firmar solicitudes de AWS API](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) en *Referencia general de Amazon Web Services*.

## Bibliotecas disponibles
<a name="using-libraries"></a>

AWS proporciona bibliotecas, códigos de muestra, tutoriales y otros recursos para los desarrolladores de software que prefieren crear aplicaciones mediante API específicas del idioma en lugar de las herramientas de línea de comandos y la API de consulta. Estas bibliotecas proporcionan funciones básicas (no incluidas en las API), como la autenticación de solicitudes, los reintentos de solicitudes y la gestión de errores, para que sea más fácil empezar. Las bibliotecas y los recursos de permisos verificados están disponibles para los siguientes lenguajes y plataformas:
+  [AWS SDK para Go](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/verifiedpermissions) 
+  [AWS SDK para Java 2.x](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/verifiedpermissions/package-summary.html) 
+  [AWS SDK para Java 1.x](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/verifiedpermissions/package-summary.html) 
+  [AWS SDK para JavaScript](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/VerifiedPermissions.html) 
+  [AWS SDK para .NET](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/VerifiedPermissions/NVerifiedPermissions.html) 
+  [AWS SDK para PHP](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-verifiedpermissions-2022-07-28.html) 
+  [AWS SDK para Python (Boto)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/verifiedpermissions.html) 
+  [AWS SDK para Ruby](https://github.com/aws/aws-sdk-ruby/tree/version-3/apis/verifiedpermissions/2021-12-01) 

Para obtener más información sobre las bibliotecas y los códigos de muestra en todos los idiomas, consulte [Ejemplos de códigos y bibliotecas](https://docs.aws.amazon.com/code-library).

## Realizar solicitudes a la API mediante el método `POST`
<a name="avp-API-requests-using-post-method"></a>

Si no utilizas uno de los AWS SDK, puedes realizar solicitudes de permisos verificados a través de HTTPS mediante el método de `POST` solicitud. El `POST` método requiere que especifiques la operación en el encabezado de la solicitud y proporciones los datos de la operación en formato JSON en el cuerpo de la solicitud.


| Nombre del encabezado | Valor del encabezado | 
| --- | --- | 
| Host | El punto final de permisos verificados de Amazon. Por ejemplo: `verifiedpermissions.us-east-1.amazonaws.com`  | 
| X-Amz-Date | Debe proporcionar la marca de tiempo en el encabezado HTTP Date o en el encabezado AWS *x-amz-date*. Algunas bibliotecas cliente HTTP no permiten configurar el encabezado Date. Cuando hay un encabezado *x-amz-date*, el sistema ignora cualquier encabezado de fecha durante la autenticación de la solicitud.<br />El encabezado *x-amz-date* debe especificarse en el formato básico ISO 8601. Por ejemplo: `20130315T092054Z`  | 
| Authorization | El conjunto de parámetros de autorización que se AWS utiliza para garantizar la validez y autenticidad de la solicitud. Para obtener más información sobre la creación de este encabezado, consulte el [proceso de firma de la versión 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) en el *Referencia general de Amazon Web Services*. | 
| X-Amz-Target | Especifica la operación de permisos verificados que desea realizar. <br />`VerifiedPermissions.{{API_Name}}`<br />Por ejemplo, para llamar a la `CreatePolicy` operación, utilice el siguiente valor objetivo.<br />`VerifiedPermissions.CreatePolicy` | 
| Content-Type | Especifica el formato de entrada. Utilice el siguiente valor.<br />`application/x-amz-json-1.0` | 
| Accept | Especifica el formato de respuesta. Utilice el siguiente valor.<br />`application/x-amz-json-1.0` | 
| Content-Length | Tamaño de la carga útil en bytes. | 
| Content-Encoding | Especifica el formato de codificación de la entrada y la salida. Utilice el siguiente valor.<br />`amz-1.0` | 

A continuación se muestra un ejemplo de encabezado para que una solicitud HTTP devuelva una lista de todas las políticas del almacén de políticas especificado en el Cuenta de AWS que `Principal` hacen referencia a un `User` nombre`alice`. En este ejemplo, la `Authorization` línea está redactada aquí para facilitar la lectura. No lo pongas en palabras en tu solicitud real.

```
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"
            }
        }
    }
}
```