

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Como fazer solicitações de API
<a name="making-api-requests"></a>

As solicitações de consulta para as Permissões Verificadas da Amazon são solicitações HTTP ou HTTPS que usam o `POST` método.

## Endpoints de permissões verificadas
<a name="avp-endpoints"></a>

Um *endpoint* é uma URL que serve como ponto de entrada para um serviço web. Você pode selecionar um Região da AWS endpoint apropriado ao fazer suas solicitações para reduzir a latência. Para obter informações sobre os endpoints usados pelas Permissões verificadas, consulte [Permissões verificadas da Amazon](https://docs.aws.amazon.com/general/latest/gr/verified-permissions.html) no *Referência geral da Amazon Web Services*.

## Parâmetros de solicitação
<a name="request-parameters"></a>

O Amazon Verified Permissions usa um JSON-based protocolo. Você passa os parâmetros da solicitação como JSON no corpo da sua solicitação HTTP. As listas são representadas como matrizes JSON. Para obter mais informações, consulte [Parâmetros comuns](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/CommonParameters.html) na *referência da API de permissões verificadas da Amazon*.

## Identificadores de solicitação
<a name="request-identifiers"></a>

Em cada resposta, AWS retorna um ID de solicitação por meio do cabeçalho de resposta `x-amzn-RequestId` HTTP. Essa string é um identificador exclusivo que é AWS atribuído para fornecer informações de rastreamento. Embora o ID da solicitação esteja incluído em todas as respostas, ele não está listado nas páginas individuais de documentação da API para melhorar a legibilidade e reduzir a redundância.

## Autenticação da API de
<a name="query-authentication"></a>

Você envia solicitações de consulta por HTTPS. Você deve incluir uma assinatura em cada solicitação de consulta. Para obter mais informações sobre como criar e incluir uma assinatura, consulte [Assinatura de solicitações de AWS API](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) no *Referência geral da Amazon Web Services*.

## Bibliotecas disponíveis
<a name="using-libraries"></a>

AWS fornece bibliotecas, exemplos de código, tutoriais e outros recursos para desenvolvedores de software que preferem criar aplicativos usando APIs específicas da linguagem em vez das ferramentas de linha de comando e da API de consulta. Essas bibliotecas fornecem funções básicas (não incluídas nas APIs), como autenticação de solicitações, novas tentativas de solicitação e tratamento de erros, para facilitar o início. As bibliotecas e os recursos de permissões verificadas estão disponíveis para os seguintes idiomas e 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 obter mais informações sobre bibliotecas e exemplos de código em todas as linguagens, consulte [Código de amostra e bibliotecas](https://docs.aws.amazon.com/code-library).

## Fazendo solicitações de API usando o método `POST`
<a name="avp-API-requests-using-post-method"></a>

Se você não usa um dos AWS SDKs, pode fazer solicitações de Permissões Verificadas por HTTPS usando o método de `POST` solicitação. O `POST` método exige que você especifique a operação no cabeçalho da solicitação e forneça os dados da operação no formato JSON no corpo da solicitação.


| Nome do cabeçalho | Valor de cabeçalho | 
| --- | --- | 
| Host | O endpoint de permissões verificadas da Amazon. Por exemplo: `verifiedpermissions.us-east-1.amazonaws.com`  | 
| X-Amz-Date | Você deve fornecer o timestamp no cabeçalho HTTP Date ou no cabeçalho AWS *x-amz-date*. Algumas bibliotecas de cliente HTTP não permitem que você defina o cabeçalho de data. Quando um cabeçalho *x-amz-date* está presente, o sistema ignora qualquer cabeçalho de data durante a autenticação da solicitação.<br />O cabeçalho *x-amz-date* deve ser especificado no formato básico ISO 8601. Por exemplo: `20130315T092054Z`  | 
| Authorization | O conjunto de parâmetros de autorização AWS usado para garantir a validade e a autenticidade da solicitação. Para obter mais informações sobre a construção desse cabeçalho, consulte [Processo de assinatura do Signature versão 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) no *Referência geral da Amazon Web Services*. | 
| X-Amz-Target | Especifica a operação de Permissões Verificadas que você deseja realizar. <br />`VerifiedPermissions.{{API_Name}}`<br />Por exemplo, para chamar a `CreatePolicy` operação, use o valor alvo a seguir.<br />`VerifiedPermissions.CreatePolicy` | 
| Content-Type | Especifica o formato de entrada. Use o valor a seguir.<br />`application/x-amz-json-1.0` | 
| Accept | Especifica o formato da resposta. Use o valor a seguir.<br />`application/x-amz-json-1.0` | 
| Content-Length | Tamanho da carga em bytes. | 
| Content-Encoding | Especifica o formato de codificação da entrada e da saída. Use o valor a seguir.<br />`amz-1.0` | 

Veja a seguir um exemplo de cabeçalho de uma solicitação HTTP para retornar uma lista de todas as políticas no repositório de políticas especificado no Conta da AWS qual as `Principal` referências são `User` nomeadas`alice`. Neste exemplo, a `Authorization` linha é dividida aqui para facilitar a leitura. Não inclua isso em sua solicitação 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"
            }
        }
    }
}
```