Partager via


Informations de référence sur l’API REST pour la mise à jour des modules complémentaires Microsoft Edge

Cet article est la référence du point de terminaison REST pour l’API des modules complémentaires Microsoft Edge. Cette API automatise la publication des mises à jour des modules complémentaires qui ont été soumis au magasin de modules complémentaires Microsoft Edge.

Pour obtenir une vue d’ensemble, consultez Utilisation de l’API REST pour la mise à jour des modules complémentaires Microsoft Edge.

Versions de l’API REST de mise à jour

Depuis le 6 septembre 2024, les versions 1.1 et v1 de cette API REST de mise à jour sont prises en charge. La prise en charge de v1 prendra fin le 31 décembre 2024.

Charger un package pour mettre à jour une soumission existante

Charge un package pour mettre à jour un brouillon de soumission existant d’un produit complémentaire.

Consultez également Chargement d’un package pour mettre à jour une soumission existante dans Utilisation de l’API REST pour la mise à jour des modules complémentaires Microsoft Edge.

Demande

Méthode URI de requête
POST /products/$productID/submissions/draft/package
Paramètres d’URI
Paramètre d’URI Description
$productID Obligatoire. ID de produit du produit sur lequel le package doit être chargé.
En-têtes de demande

Les en-têtes de requête suivants sont requis :

  • Authorization: ApiKey $ApiKey
  • X-ClientID: $ClientID
  • Content-Type: application/zip
Corps de la demande
  • <Zip package>

Réponse

En-têtes de réponse
  • Emplacement: {operationID}

La réponse inclut un ID d’opération, à envoyer à d’autres points de terminaison.

Codes d’état

Cette API a les codes status attendus suivants.

Code d’état HTTP Description
202 La demande est acceptée pour traitement, mais le traitement n’est pas terminé.
4XX Consultez Codes d’erreur ci-dessous.
5XX Consultez Codes d’erreur ci-dessous.

Voir aussi :

Vérifier la status d’un chargement de package

Obtient le status du chargement du package.

Consultez également Vérification de la status d’un chargement de package dans Utilisation de l’API REST pour la mise à jour des modules complémentaires Microsoft Edge.

Demande

Méthode URI de requête
GET /products/$productID/submissions/draft/package/operations/$operationID
Paramètres d’URI
Paramètre d’URI Description
$operationID Obligatoire. ID d’opération de la demande de chargement envoyée à l’étape précédente. Ces informations sont disponibles dans l’en-tête de réponse.
En-têtes de demande

Les en-têtes de requête suivants sont requis :

  • Authorization: ApiKey $ApiKey
  • X-ClientID: $ClientID
Corps de la demande

Aucun.

Réponse

Il existe plusieurs réponses, pour différents scénarios.

Réponse lorsque l’opération est toujours en cours
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": "Date Time",
    "status": "InProgress",
    "message": null,
    "errorCode": null,
    "errors": null
}
Réponse quand l’opération réussit
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": "Date Time",
    "status": "Succeeded",
    "message": "Successfully updated package to {fileName}.zip",
    "errorCode": "",
    "errors": null
}
Réponse en cas d’échec de l’opération avec des erreurs
 {
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": "Date Time",
    "status": "Failed",
    "message": "Error Message.",
    "errorCode": "Error Code",
    "errors": ["list of errors"]
}
En-têtes de réponse

Aucun.

Codes d’état

Cette API a les codes status attendus suivants.

Code d’état HTTP Description
200 La requête est OK.
4XX Consultez Codes d’erreur ci-dessous.
5XX Consultez Codes d’erreur ci-dessous.

Voir aussi :

Publier l’ébauche de la soumission du produit

Publie le brouillon actuel du produit dans les modules complémentaires Microsoft Edge.

Consultez également Publication de la soumission dans Utilisation de l’API REST pour la mise à jour des modules complémentaires Microsoft Edge.

Demande

Méthode URI de requête
POST /products/$productID/submissions
Paramètres d’URI
Paramètre d’URI Description
$productID Obligatoire. ID de produit du produit dont le brouillon doit être publié.
En-têtes de demande

Les en-têtes de requête suivants sont requis :

  • Authorization: ApiKey $ApiKey
  • X-ClientID: $ClientID
Corps de la demande

<Notes for certification>, au format texte brut.

Réponse

En-têtes de réponse
  • Emplacement: {operationID}

La réponse inclut un ID d’opération, à envoyer à d’autres points de terminaison.

Codes d’état

Cette API a les codes status attendus suivants.

Code d’état HTTP Description
202 La demande est acceptée pour traitement, mais le traitement n’est pas terminé.
4XX Consultez Codes d’erreur ci-dessous.
5XX Consultez Codes d’erreur ci-dessous.

Voir aussi :

Vérifier la status de publication

Vérifie la status de l’opération de publication.

Consultez également Vérification des status de publication dans Utilisation de l’API REST pour la mise à jour des modules complémentaires Microsoft Edge.

Demande

Méthode URI de requête
GET /products/$productID/submissions/operations/$operationID
Paramètres d’URI

Aucun.

En-têtes de demande

Les en-têtes de requête suivants sont requis :

  • Authorization: ApiKey $ApiKey
  • X-ClientID: $ClientID
Corps de la demande

Aucun.

Réponse

Une GET opération status API peut être appelée dans les scénarios suivants. Dans tous les scénarios valides, 200 OK est retourné, avec des messages status différents.

La réponse inclut un ID d’opération, à envoyer à d’autres points de terminaison.

Réponse lors de la publication d’un nouveau produit
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": " Date Time ",
    "status": "Failed",
    "message": "Can't create new extension.",
    "errorCode": "CreateNotAllowed",
    "errors": null
}
Réponse quand il n’y a rien de nouveau à publier
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": " Date Time ",
    "status": "Failed",
    "message": "Can't publish extension since there are no updates, please try again after updating the package.",
    "errorCode": "NoModulesUpdated",
    "errors": null
}
Réponse lorsqu’il y a une soumission en révision pour le même produit
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": " Date Time ",
    "status": "Failed",
    "message": "Can't publish extension as your extension submission is in progress. Please try again later.",
    "errorCode": "InProgressSubmission",
    "errors": null    
}
Réponse lorsqu’il y a une soumission non publiée en cours pour le même produit
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": " Date Time ",
    "status": "Failed",
    "message": "Can't publish extension as your extension is being unpublished. Please try after you've unpublished.",
    "errorCode": "UnpublishInProgress",
    "errors": null    
}
Réponse où l’un des modules n’est pas valide
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": " Date Time ",
    "status": "Failed",
    "message": "Can't publish extension as your extension has modules that are not valid. Fix the modules with errors and try to publish again.",
    "errorCode": "ModuleStateUnPublishable",
    "errors": [
        {
            "message": "Invalid module : <Modules>"
        }
    ]
}
Réponse en cas d’erreurs de validation dans la soumission
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": " Date Time ",
    "status": "Failed",
    "message": "Extension can't be published as there are submission validation failures. Fix these errors and try again later.",
    "errorCode": "SubmissionValidationError",
    "errors": ["{list of errors}"]
}
Réponse lorsque l’appel de publication réussit
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": "Date Time",
    "status": "Succeeded",
    "message": "Successfully created submission with ID {submission.Id}",
    "errorCode": "",
    "errors": null
}
Réponse en cas d’échec de l’appel de publication avec un échec irrécupérable
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": " Date Time ",
    "status": "Failed",
    "message": "An error occurred while performing the operation",
    "errorCode": null,
    "errors": null
}
Réponse en cas d’échec de l’appel de publication avec un échec inattendu
{
    "id": "{operationID}",
    "message": "An error occurred while processing the request. Please contact support Correlation ID: {operationID} Timestamp: {timeStamp}",
}
En-têtes de réponse

Aucun.

Codes d’état

Cette API a les codes status attendus suivants.

Code d’état HTTP Description
200 La requête est OK.
4XX Consultez Codes d’erreur ci-dessous.
5XX Consultez Codes d’erreur ci-dessous.

Voir aussi :

Codes d’erreur

Voici une liste des codes d’erreur courants et des raisons possibles. Pour obtenir la liste complète, consultez Codes d’erreur REST de l’Espace partenaires ou Liste des codes status HTTP.

4xx : Erreur du client

Message Description Exemple de scénario
400 Demande incorrecte Le serveur n’a pas compris la demande. Il n’y a pas de package (fichier zip) dans le corps. Ou bien, l’en-tête Content-Type est manquant ou sa valeur est incorrecte.
401 Non autorisé La page de demande a besoin d’une autorisation. Le jeton d’authentification est manquant, a expiré ou n’est pas valide.
404 Introuvable Le serveur ne trouve pas la page demandée. L’ID de produit ou l’ID d’opération spécifiés n’a pas de GUID valide, n’est pas valide ou n’appartient pas au développeur qui effectue la demande.
Délai d’expiration de la demande 408 La demande a pris plus de temps que le serveur n’était prêt à attendre. Un délai d’attente s’est produit lors du chargement d’un package.
429 Trop de demandes Trop de demandes ont été envoyées par l’utilisateur. Trop de demandes ont été envoyées et elles ont été limitées.

5xx : Erreur du serveur

Message Description Exemple de scénario
500 Erreur interne du serveur La demande n’a pas été effectuée. Le serveur a rempli une condition inattendue.

Voir aussi