

L' AWS Partner Central API Reference è stato ristrutturato. Per ulteriori informazioni sulle operazioni API supportate, consulta l'[AWS Partner Central API Reference.](https://docs.aws.amazon.com/partner-central/latest/APIReference/Welcome.html)

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Configurazione e autenticazione
<a name="setup-authentication"></a>

La configurazione e l'autenticazione con l'API AWS Partner Central prevedono tre passaggi. Ecco una panoramica del processo:

1. Collega il tuo account Marketplace AWS venditore a Partner Central.

1. Configura le autorizzazioni utilizzando IAM.

1. Autentica le tue chiamate API utilizzando Signature Version 4 (SigV4).

## Collegando i tuoi Account AWS a Partner Central
<a name="linking-aws-account"></a>

Il collegamento Account AWS a Partner Central è un prerequisito per l'utilizzo dell'API. Per ulteriori informazioni, consulta [Collegamento degli account AWS Partner Central agli Marketplace AWS account venditore](https://docs.aws.amazon.com/partner-central/latest/getting-started/account-linking.html). Devi accedere a Partner Central con un account che dispone delle autorizzazioni di Alliance Lead o Cloud Administrator, accedere alla sezione e seguire le **Account Linking** istruzioni.

## Configurazione di IAM
<a name="setting-up-iam"></a>

Per utilizzare l'API AWS Partner Central, avrai bisogno di un ruolo AWS Identity and Access Management(IAM) o di un utente IAM per iniziare a effettuare chiamate. Per ulteriori informazioni, consulta [Quando devo usare IAM?](https://docs.aws.amazon.com/IAM/latest/UserGuide/when-to-use-iam.html) . A tale [scopo, segui i passaggi per Creazione di ruoli](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html) [IAM e Creazione di un utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) nelle tue Account AWS guide. Devi creare questo IAM Role/User nel tuo account Partner Central-linked Marketplace AWS Seller. La role/user creazione di IAM non comporta alcun costo.

1. Crea un IAM Role/User

   Accedi a Console di gestione AWS, accedi al servizio IAM e segui i passaggi per creare un ruolo IAM o un utente IAM.

1. Assegna politiche:

   Allega politiche gestite o crea politiche personalizzate in base alle esigenze. Per modificare o espandere le autorizzazioni, applica policy aggiuntive al ruolo IAM invece di copiare e combinare il contenuto `AWSPartnerCentralOpportunityManagement` con altre autorizzazioni. Evita di duplicare le policy gestite, in quanto ciò impedirai di accedere automaticamente alle nuove funzionalità non appena vengono rilasciate e dovrai aggiornare manualmente le tue politiche in futuro. Per maggiori dettagli sulle politiche di accesso, consulta la [documentazione sul controllo degli accessi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html).

### Gestione Marketplace AWS offerte
<a name="managing-marketplace-offers"></a>

Per gestire le Marketplace AWS offerte e collegarle alle opportunità, i partner devono autorizzare il ruolo IAM ad accedere alle API del catalogo. Assicurati che dispongano delle role/user autorizzazioni, ad esempio e. `aws-marketplace:ListEntities` `aws-marketplace:SearchAgreements`

## Autenticazione delle chiamate API
<a name="authenticating-api-calls"></a>

AWS L'API Partner Central utilizza Signature Version 4 (SigV4) per l'autenticazione. Ecco come implementarla:

### Utilizzo di AWS SDK
<a name="using-aws-sdk"></a>

AWS Gli SDK gestiscono automaticamente la firma delle richieste. Fornisci AWS le tue credenziali e l'SDK farà il resto.

1. Per Java, consulta [Fornire credenziali temporanee all'AWS SDK](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html) for Java.

1. [Per Python (Boto3), vedi Credenziali.](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html)

1. [Per JavaScript (Node.js), vedi Impostazione delle credenziali in. Node.js](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials-node.html)

1. Per .NET, vedi Risoluzione [delle credenziali e dei profili](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/creds-assign.html).

1. Per altri linguaggi di programmazione e altri esempi, consulta [Tools to Build on AWS](https://aws.amazon.com/tools/).

### Autenticazione senza utilizzare il AWS SDK
<a name="authentication-without-sdk"></a>

Se un AWS SDK non è disponibile per il linguaggio di programmazione scelto, l'autenticazione prevede la creazione manuale di una richiesta canonica, la firma della richiesta e la gestione dei token di sessione.AWS[offre una guida completa per l'utilizzo della firma SigV4.](https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html) Tuttavia, tieni presente che si consiglia di utilizzare l'AWS SDK poiché la firma manuale delle richieste aumenta la complessità e richiede un'attenta gestione dei token di sicurezza.

Ogni richiesta per il protocollo AWSJSON1\_0 DEVE essere inviata all'URL principale (/) utilizzando il metodo HTTP «POST» utilizzando le seguenti intestazioni.

### Intestazioni richieste
<a name="required-headers"></a>

Ogni richiesta API per il protocollo AWSJson1\_0 DEVE essere inviata all'URL principale (/) utilizzando il metodo HTTP «POST» utilizzando le seguenti intestazioni.


| Header | Richiesto | Description | 
| --- | --- | --- | 
| Content-Type | true | Questa intestazione ha un valore statico di. application/x-amz-json-1.0 | 
| Content-Length | true | L' Content-Length intestazione standard definita da [RFC 9110](https://datatracker.ietf.org/doc/html/rfc9110.html#section-8.6) \#section -8.6. | 
| X-Amz-Target | true per le richieste | Ad esempio, il valore per il funzionamento CreatePartner del servizio PartnerCentralAccount èPartnerCentralAccount.CreatePartner. | 

## Firma delle chiamate con un agente utente personalizzato
<a name="signing-your-calls"></a>

Quando si effettuano richieste API a AWS Partner Central, consigliamo di includere l'`X-Amzn-User-Agent`intestazione per AWS identificare l'origine dell'applicazione client, monitorare l'utilizzo e controllare le prestazioni.AWS utilizza questa intestazione per distinguere il tipo di applicazione client che effettua la chiamata e per raccogliere informazioni sulla percentuale di successo delle diverse implementazioni client.

### Intestazione user-agent personalizzata
<a name="custom-user-agent-header"></a>

**Nome dell'intestazione:** `X-Amzn-User-Agent`

**Scopo:** distingue il tipo di client che effettua la richiesta API, classificando l'origine dell'interazione.

**Format**: `{Integrator}|{Product}`

**Valore di esempio:** `AWS|AWS Partner CRM Connector`

L'inclusione di questa intestazione in ogni richiesta consente di AWS analizzare i modelli di richiesta, tenere traccia delle integrazioni e migliorare l'esperienza API per diversi sistemi client.

### Utilizzo di intestazioni personalizzate negli SDK
<a name="using-custom-headers"></a>

Per includere l'`X-Amzn-User-Agent`intestazione nelle chiamate SDK, puoi modificare il comportamento della richiesta del client prima di effettuare la chiamata API. Di seguito è riportato un esempio di API di vendita che utilizza l'AWS SDK for Python (Boto3):

```
import boto3

# Define service and endpoint details
service_name = "partnercentral-selling"
endpoint_url = "https://partnercentral-selling.us-east-1.api.aws"

# Create a boto3 client for Partner Central
partner_central_client = boto3.client(
service_name=service_name,
='us-east-1',
endpoint_url=endpoint_url
)

# Function to add the custom User-Agent header

def add_version_header(params, **kwargs):
params["headers"]['X-Amzn-User-Agent'] = 'AWS|AWS Partner CRM Connector'

# Register the event to modify the request before the call is made
partner_central_client.meta.events.register(
f'before-call.{service_name}.*', add_version_header
)

# Now, whenever an API call is made using this client, the custom User-Agent header will be included
```

Questo esempio dimostra come registrare un evento nell'SDK Boto3 per aggiungere automaticamente l'intestazione a ogni richiesta API. `X-Amzn-User-Agent` Lo stesso approccio può essere applicato ad altri AWS SDK modificando i rispettivi meccanismi di intercettazione delle richieste.

**Nota**  
Il formato dell'intestazione è stato semplificato. `X-Amzn-User-Agent` Si consiglia di utilizzare il nuovo formato. Il formato precedente (`CompanyName|ProductName|CRMName|ProductVersion`) rimane supportato per motivi di compatibilità con le versioni precedenti. Le integrazioni esistenti continueranno a funzionare senza modifiche.