Workflow d'autorisation de l'Appstore pour les partenaires de vente

Autorisez une application à l'aide de l'Appstore Selling Partner.

Les partenaires de vente peuvent utiliser l'Appstore pour les partenaires de vente pour découvrir des applications tierces qui s'intègrent à SP-API et s'y connecter. Les partenaires de vente peuvent utiliser ces applications pour gérer plus efficacement leurs activités commerciales sur Amazon. Pour utiliser une application de l'Appstore pour les partenaires de vente, le partenaire de vente doit autoriser cette application à accéder aux informations de son compte Amazon. L'accès aux applications est accordé via un workflow OAuth qui implique les étapes suivantes :

Étape 1 : Initier l'autorisation depuis l'Appstore pour les partenaires de vente.

  1. Connectez-vous à Seller Central et accédez à l'Appstore pour les partenaires de vente.
  2. Ouvrez le Detail page pour votre candidature.
  3. Choisissez Authorize Now.

Étape 2 : Consentir à autoriser votre application

  1. Examinez et autorisez l'accès aux données demandé par votre application.

  2. Choisissez Login to < your application name > now.

    Amazon charge votre URI de connexion (que vous avez fourni lors de l'enregistrement de l'application) dans le navigateur, en ajoutant les paramètres de requête suivants :

    ParamètreDescription
    amazon_callback_uriUn URI conçu pour rediriger le navigateur vers Amazon.
    amazon_stateValeur d'état générée par Amazon pour se prémunir contre les attaques de type “cross-site request forgery” (falsification des requêtes intersites).
    selling_partner_idIdentifiant du partenaire de vente autorisant votre application.

    📘

    Remarque

    Remarque : s'il s'agit d'un workflow de test (démarré en accédant à votre URI d'autorisation OAuth), Amazon inclut le paramètreversion=beta. S'il s'agit d'un workflow de production (démarré depuis l'Appstore pour les partenaires de vente), Amazon n'inclut pas ce paramètre.

    Par exemple :

    https://d2yzyfnnpjylxu.cloudfront.net/index.html?amazon_callback_uri=https://amazon.com/apps/authorize/confirm/amzn1.sellerapps.app.2eca283f-9f5a-4d13-b16c-474EXAMPLE57&amazon_state=amazonstateexample&selling_partner_id=A3FHEXAMPLEYWS

Étape 3 : Se connecter à votre site Web

  1. Connectez-vous à votre site Web. Si vous n'avez pas de compte, vous devez d'abord terminer le processus d'inscription.

  2. Votre application charge l'URI de rappel Amazon (transmis par Amazon à l'étape précédente) dans le navigateur, en ajoutant les paramètres suivants :

ParamètreDescription
redirect_uriCe paramètre fait référence à un URI redirigeant le navigateur vers votre application. Il s'agit de l'URI de redirection OAuth que vous avez spécifié lorsque vous avez enregistré votre application. Lorsque vous n'incluez pas le paramètre redirect_uri, la valeur par défaut est le premier URI de redirection OAuth que vous avez spécifié lors de l'enregistrement de votre application.

Facultatif

amazon_stateLa valeur amazon_state transmise par Amazon à l'étape précédente.
state

Une valeur d'état générée par votre application. Votre application utilise cette valeur pour maintenir l'état entre cette demande et la réponse, afin de se prémunir contre les attaques de type “cross-site request forgery” (falsification des requêtes intersites).

Important : les informations OAuth étant transmises via les paramètres de requête URI, nous vous recommandons vivement de procéder comme suit : (1) assurez-vous que le jeton d'état est éphémère et unique de manière vérifiable pour votre utilisateur, et (2) définissez l'en-tête Referrer-Policy: no-referrer HTTP afin d'empêcher la fuite d'informations sensibles vers les sites Web auxquels votre site Web renvoie. Pour plus d'informations sur la falsification des requêtes intersites et le calcul de paramètres d'état, reportez-vous à la section Falsification de requêtes intersites.

📘

Remarque

Si vous testez votre flux de travail, vous devez également inclure le version=beta paramètre, qui garantit que le flux de travail autorise une application dans Draft état. Si vous n'incluez pas le paramètre, le flux de travail autorise la publication d'une application sur l'Appstore des partenaires de vente.

Par exemple :

https://amazon.com/apps/authorize/confirm/amzn1.sellerapps.app.2eca283f-9f5a-4d13-b16c-474EXAMPLE57?redirect_uri=https://d2yzyfnnpjylxu.cloudfront.net/landing.html&amazon_state=amazonstateexample&state=-37131022&version=beta

Ou

https://amazon.com/apps/authorize/confirm/amzn1.sellerapps.app.2eca283f-9f5a-4d13-b16c-474EXAMPLE57?redirect_uri=https://d2yzyfnnpjylxu.cloudfront.net/landing.html&amazon_state=amazonstateexample&state=-37131022

Étape 4 : Amazon vous envoie les informations d'autorisation

Seller Central affiche une notification indiquant qu'Amazon vous autorise à accéder aux données. Dans le même temps, les actions suivantes se produisent :

  1. Amazon charge votre URI de redirection OAuth dans le navigateur, en ajoutant les paramètres de requête suivants :

    ParamètreDescription
    stateLa valeur d'état que vous avez transmise à l'étape précédente.
    selling_partner_idIdentifiant du partenaire de vente autorisant votre application.
    spapi_oauth_codeLe code d'autorisation Se connecter avec votre compte Amazon (LWA) que vous échangez contre un jeton d'actualisation LWA. Pour plus d'informations, reportez-vous à l'Étape 5 : Votre application échange le code d'autorisation LWA contre un jeton d'actualisation LWA.
    Remarque : un code d'autorisation LWA expire au bout de cinq minutes, par conséquent, vous devez l'échanger contre un jeton d'actualisation LWA avant son expiration.

    Par exemple :

    https://client-example.com?state=state-example&selling_partner_id=sellingpartneridexample&spapi_oauth_code=spapioauthcodeexample
  2. Votre application valide la valeur d'état.

  3. Votre application enregistre le selling_partner_id et spapi_oauth_code valeurs.

  4. La page de destination de votre site Web est lancée.

🚧

Important

Les développeurs doivent garder à l'esprit que si le processus d'inscription prend plus de 10 minutes, l'état et l'URI de rappel Amazon expireront, interrompant ainsi le workflow. Si aucune redirection vers l'URI de rappel Amazon n'est détectée après l'inscription, les développeurs doivent demander au partenaire de vente d'initier la création du flux OAuth à l'aide du workflow de site Web. Le partenaire de vente peut également revenir à la page détaillée de l'application sur l'Appstore pour les partenaires de vente et redémarrer le workflow.

Étape 5 : Échanger le code d'autorisation LWA contre un jeton d'actualisation LWA

Astuce

Remarque : vous pouvez utiliser le SDK pour JavaScript Se connecter avec votre compte Amazon afin de faciliter l'échange d'un code d'autorisation LWA contre un jeton d'actualisation LWA. Pour plus d'informations, consultez la documentation Se connecter avec votre compte Amazon :

  1. Votre application appelle le serveur d'autorisation Se connecter avec votre compte Amazon (LWA) (https://api.amazon.com/auth/o2/token) pour échanger le code d'autorisation LWA contre un jeton d'actualisation LWA. L'appel doit inclure les paramètres de requête suivants :

    ParamètreDescription
    grant_typeType d'autorisation d'accès demandée. Doit être authorization_code.
    codeLe code d'autorisation LWA que vous avez reçu à l'Étape 4 : Amazon vous envoie les informations d'autorisation.
    redirect_uriL'URI de redirection pour votre application.
    client_idCe paramètre fait partie de vos informations d'identification LWA. Pour obtenir cette valeur, reportez-vous à la section Affichage des informations et des informations d'identification relatives à votre application.
    client_secretCe paramètre fait partie de vos informations d'identification LWA. Pour obtenir cette valeur, reportez-vous à la section Affichage des informations et des informations d'identification relatives à votre application.

    Par exemple :

    POST /auth/o2/token HTTP/l.l Host: api.amazon.com Content-Type: application/x-www-form-urlencoded;charset=UTF-8 grant_type=authorization_code&code=SplxlOexamplebYS6WxSbIA&client_id=foodev&client_secret=Y76SDl2F
  2. Le serveur d'autorisation LWA renvoie le jeton d'actualisation LWA. La réponse est au format JSON et inclut les éléments suivants :

    ParamètreDescription
    access_tokenUn jeton autorisant votre application à effectuer certaines actions pour le compte d'un partenaire de vente. Pour plus d'informations, reportez-vous à la section Se connecter à l'API partenaire de vente.
    token_typeLe type de jeton renvoyé (doit être bearer).
    expires_inLe nombre de secondes avant que le jeton d'accès ne devienne invalide.
    refresh_tokenUn jeton avec une longue durée de vie qui peut être échangé contre un nouveau jeton d'accès. Pour plus d'informations, reportez-vous à la section Se connecter à l'API partenaire de vente.
    HTTP/l.l 200 OK Content-Type: application/json; charset UTF-8 Cache - Control: no-store Pragma: no-cache { "access_token": "Atza|IQEBLjAsAexampleHpi0U-Dme37rR6CuUpSR", "token_type": "bearer", "expires_in": 3600, "refresh_token": "Atzr|IQEBLzAtAhexamplewVz2Nn6f2y-tpJX2DeX" }
  3. Votre application enregistre la valeur refresh_token.

  4. Le navigateur ouvre une page qui indique les prochaines étapes à suivre pour utiliser votre application.

    📘

    Remarque

    Un jeton d'actualisation LWA est un jeton avec une longue durée de vie que vous échangez contre un jeton d'accès LWA. Un jeton d'accès obtenu par le biais de cet échange doit être inclus dans les appels à toutes les opérations de l'API partenaire de vente, sauf les opérations restreintes et les opérations sans autorisation, qui utilisent des modèles d'autorisation légèrement différents. Une fois qu'un jeton d'accès est émis, il est valide pendant une heure. Enfin, le même jeton d'accès peut être utilisé pour plusieurs appels d'API, jusqu'à son expiration.

    Pour échanger un jeton d'actualisation contre un jeton d'accès à l'aide d'un SDK généré, reportez-vous à la section Se connecter à l'API partenaire de vente à l'aide d'un SDK Java généré. En revanche, pour échanger manuellement un jeton d'actualisation contre un jeton d'accès, reportez-vous à la section Se connecter à l'API partenaire de vente.

Étape 6. (Facultatif) Testez votre flux de travail d'autorisation

Nous vous recommandons de tester votre flux de travail d'autorisation pour vous assurer que votre application peut échanger des paramètres avec Amazon et recevoir des informations d'autorisation. Vous devez tester votre flux de travail d'autorisation pendant que votre application est en cours Draft statut.

  1. Assurez-vous que votre candidature est en Draft statut.

  2. Créez un ou plusieurs URI d'autorisation OAuth à des fins de test. Incluez le version=beta paramètre dans le ou les URI OAuth pour indiquer que le flux de travail sert à autoriser une application dans Draft statut. Pour plus d'informations, reportez-vous à Création d'un URI d'autorisation OAuth.

    Au lieu de commencer par l'étape 1 dans le cadre de laquelle le partenaire de vente initie l'autorisation depuis l'Appstore pour les partenaires de vente, vous pouvez démarrer le workflow de test en accédant à un URI d'autorisation OAuth existant.

    Astuce

    Si vous testez votre flux de travail auprès d'un partenaire commercial de confiance, assurez-vous qu'il dispose de l'URI d'autorisation OAuth qui correspond à sa région d'activité.

    Si votre workflow d'autorisation de test est réussi, vous pouvez le convertir en workflow de production.

Étape 7. (Facultatif) Convertissez votre flux de travail d'autorisation des tests en flux de production

  1. Répertoriez votre application dans l'Appstore Selling Partner. Cette action change automatiquement votre candidature de Draft pour Published.

  2. Mettez à jour votre flux de travail pour supprimer version=beta paramètre de l'URI de rappel Amazon. La suppression de ce paramètre garantit que tout partenaire commercial peut autoriser votre application publiée à partir de Étape 1.

Schéma de flux de

Le schéma suivant donne une vue d'ensemble des flux de travail OAuth de l'Appstore des partenaires de vente et du site Web.

The Selling Partner OAuth 2.0 workflows diagram for seller, vendor, and developer integration.


Cette page vous a-t-elle été utile ?