Partager via


Paradigme d’accès par programmation pour la Place de marché Microsoft

Ce diagramme illustre le modèle d’appel d’API utilisé pour créer un modèle de rapport, planifier le rapport personnalisé et récupérer les données d’échec.

Illustre le modèle d’appel d’API utilisé pour créer un modèle de rapport, planifier le rapport personnalisé et récupérer les données d’échec. Figure 1 : Flux de haut niveau du modèle d’appel d’API

Cette liste fournit plus de détails sur la figure 1.

  1. L’application cliente peut définir le schéma/modèle de rapport personnalisé en appelant l’API Créer une requête de rapport. Vous pouvez également utiliser un modèle de rapport (QueryId) à partir de la liste des requêtes système.
  2. En cas de réussite, l’API Créer un modèle de rapport renvoie le QueryIdfichier .
  3. L’application cliente appelle ensuite l’API Créer un rapport à l’aide de la date de début du rapport, de l’intervalle de répétition, de QueryID la récurrence et d’un URI de rappel facultatif.
  4. En cas de réussite, l’API de création de rapport renvoie le ReportIDfichier .
  5. L’application cliente est avertie au niveau de l’URI de rappel dès que les données du rapport sont prêtes à être téléchargées.
  6. L’application cliente utilise ensuite l’API Obtenir les exécutions de rapport pour interroger l’état du rapport avec la Report ID plage de dates et .
  7. En cas de succès, le lien de téléchargement du rapport est renvoyé et l’application peut lancer le téléchargement des données.

Spécification du langage de requête de rapport

Bien que nous fournissions des requêtes système que vous pouvez utiliser pour créer des rapports, vous pouvez également créer vos propres requêtes en fonction des besoins de votre entreprise. Pour en savoir plus sur les requêtes personnalisées, consultez Spécification des requêtes personnalisées.

Créer une API de requête de rapport

Cette API permet de créer des requêtes personnalisées qui définissent l’ensemble de données à partir duquel les colonnes et les métriques doivent être exportées. L’API offre la possibilité de créer un nouveau modèle de rapport en fonction des besoins de votre entreprise.

Vous pouvez également utiliser les requêtes système que nous fournissons. Lorsque les modèles de rapport personnalisés ne sont pas nécessaires, vous pouvez appeler l’API Créer un rapport directement à l’aide des QueryIds des requêtes système que nous fournissons.

L’exemple suivant montre comment créer une requête personnalisée pour obtenir l’utilisation normalisée et les frais financiers estimés pour les références SKU PAID à partir de l’ensemble de données ISVUsage pour le dernier mois.

Syntaxe de la requête

Méthode URI de la requête
PUBLIER https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledQueries

En-tête de requête

En-tête de page Catégorie Descriptif
Autorisation ficelle Obligatoire. Le jeton d’accès Microsoft Entra. Le format est Bearer <token>.
Type de contenu string application/JSON

Paramètre de chemin

Aucun

Paramètre de requête

Aucun

Exemple de charge utile de demande

{
    "Name": "ISVUsageQuery",
    "Description": "Normalized Usage and Estimated Financial Charges for PAID SKUs",
    "Query": "SELECT UsageDate, NormalizedUsage, EstimatedExtendedChargePC FROM ISVUsage WHERE SKUBillingType = 'Paid' ORDER BY UsageDate DESC TIMESPAN LAST_MONTH"
}

Glossaire

Ce tableau fournit les principales définitions des éléments de la charge utile de la demande.

Paramètre Obligatoire Descriptif Valeurs autorisées
Name Oui Nom convivial de la requête ficelle
Description Non Description de la requête créée ficelle
Query Oui Chaîne de requête basée sur les besoins de l’entreprise ficelle

Remarque

Pour obtenir des exemples de requêtes personnalisées, consultez Exemples de requêtes.

Exemple de réponse

La charge utile de réponse est structurée comme suit :

Codes de réponse : 200, 400, 401, 403, 500

Exemple de charge utile de réponse :

{
  "value": [
        {
            "queryId": "78be43f2-e35f-491a-8cd5-78fe14194f9c",
            "name": " ISVUsageQuery",
            "description": "Normalized Usage and Estimated Financial Charges for PAID SKUs",
            "query": " SELECT UsageDate, NormalizedUsage, EstimatedExtendedChargePC FROM ISVUsage WHERE SKUBillingType = 'Paid' ORDER BY UsageDate DESC TIMESPAN LAST_MONTH",
            "type": "userDefined",
            "user": "142344300",
            "createdTime": "2024-01-06T05:38:34Z"
        }
    ],
    "totalCount": 1,
    "message": "Query created successfully",
    "statusCode": 200
}

Glossaire

Ce tableau fournit les principales définitions des éléments de la réponse.

Paramètre Descriptif
QueryId Identificateur unique universel (UUID) de la requête créée
Name Nom fourni dans la charge utile de la requête lors de la création de la requête
Description Description fournie dans la charge utile de la requête lors de la création de la requête
Query Requête de rapport personnalisé fournie dans la charge utile de la demande lors de la création de la requête
Type Définir sur userDefined pour les requêtes créées manuellement
User ID utilisateur utilisé pour créer la requête
CreatedTime UTC Heure de création de la requête. Format : aaaa-MM-jjTHH :mm :ssZ
TotalCount Nombre d’enregistrements dans le tableau Value
StatusCode Code de résultat
Les valeurs possibles sont 200, 400, 401, 403, 500
message Message d’état de l’exécution de l’API

Créer une API de rapport

Une fois que vous avez réussi à créer un modèle de rapport personnalisé et que vous avez reçu la réponse dans le cadre de la QueryID création d’une requête de rapport , cette API peut être appelée pour planifier l’exécution d’une requête à intervalles réguliers. Vous pouvez définir une fréquence et un calendrier pour la remise du rapport. Pour les requêtes système que nous fournissons, l’API Create Report peut également être appelée avec QueryId.

Syntaxe de la requête

Méthode URI de la requête
PUBLIER https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledReport

En-tête de requête

En-tête de page Catégorie Descriptif
Autorisation ficelle Obligatoire. Le jeton d’accès Microsoft Entra. Le format est Bearer <token>.
Type de contenu ficelle application/JSON

Paramètre de chemin

Aucun

Paramètre de requête

Aucun

Exemple de charge utile de demande

{
  "ReportName": "ISVUsageReport",
  "Description": "Normalized Usage and Estimated Financial Charges for PAID SKUs",
  "QueryId": "78be43f2-e35f-491a-8cd5-78fe14194f9c ",
  "StartTime": "2021-01-06T19:00:00Z ",
  "executeNow": false,
  "RecurrenceInterval": 48,
  "RecurrenceCount": 20,
  "Format": "csv",
  "CallbackUrl": "https://<SampleCallbackUrl>"
  "callbackMethod": "GET",
}

Glossaire

Ce tableau fournit les principales définitions des éléments de la charge utile de la demande.

Paramètre Obligatoire Descriptif Valeurs autorisées
ReportName Oui Nom convivial attribué au rapport Chaîne
Description Non Description du rapport créé Chaîne
QueryId Oui ID de requête à utiliser pour la génération de rapports Chaîne
StartTime Oui UTC Horodatage à partir duquel la génération du rapport commencera. Le format doit être aaaa-MM-jjTHH :mm :ssZ Chaîne
ExecuteNow Non Ce paramètre doit être utilisé pour créer un rapport qui n’est exécuté qu’une seule fois. StartTime, RecurrenceInterval, RecurrenceCountet EndTime sont ignorés si cette valeur est définie sur true Booléen
QueryStartTime Non Spécifie éventuellement l’heure de début de la requête d’extraction des données. Ce paramètre ne s’applique qu’à un seul rapport d’exécution de temps qui a ExecuteNow la valeur .true Le format doit être aaaa-MM-jjTHH :mm :ssZ Horodatage sous forme de chaîne
QueryEndTime Non Spécifie éventuellement l’heure de fin de la requête d’extraction des données. Ce paramètre ne s’applique qu’à un seul rapport d’exécution de temps qui a ExecuteNow la valeur .true Le format doit être aaaa-MM-jjTHH :mm :ssZ Horodatage sous forme de chaîne
RecurrenceInterval Oui Fréquence en heures à laquelle le rapport doit être généré. La valeur minimale est 1 et la valeur maximale est 17520 Nombre entier
RecurrenceCount Oui Nombre de rapports à générer. La limite dépend de l’intervalle de récurrence Nombre entier
Format Non Format de fichier du fichier exporté. Le format par défaut est CSV CSV/TSV
CallbackUrl Non URL accessible au public qui peut être configurée en tant que destination de rappel Chaîne
CallbackMethod Non Méthode Get/Post qui peut être configurée avec l’URL de rappel OBTENIR/PUBLIER
EndTime Oui Horodatage UTC à partir duquel la génération du rapport se terminera. Le format doit être aaaa-MM-jjTHH :mm :ssZ Chaîne

Remarque

Lors de la création du rapport, l’une ou l’autre EndTime ou une combinaison de RecurrenceInterval et RecurrenceCount est obligatoire.

Exemple de réponse

La charge utile de réponse est structurée comme suit :

Code de réponse : 200, 400, 401, 403, 404, 500

Charge utile de réponse :

{
  "Value": [
    {
            "reportId": "72fa95ab-35f5-4d44-a1ee-503abbc88003",
            "reportName": "ISVUsageReport",
            "description": "Normalized Usage and Estimated Financial Charges for PAID SKUs",
            "queryId": "78be43f2-e35f-491a-8cd5-78fe14194f9c",
            "query": "SELECT UsageDate, NormalizedUsage, EstimatedExtendedChargePC FROM ISVUsage WHERE SKUBillingType = 'Paid' ORDER BY UsageDate DESC TIMESPAN LAST_MONTH",
            "user": "142344300",
            "createdTime": "2024-01-06T05:46:00Z",
            "modifiedTime": null,
            "startTime": "2024-01-06T19:00:00Z",
            "reportStatus": "Active",
            "recurrenceInterval": 48,
            "recurrenceCount": 20,
            "callbackUrl": "https://<SampleCallbackUrl>",
            "callbackMethod": "GET",
            "format": "csv"
    }
  ],
  "TotalCount": 1,
  "Message": "Report created successfully",
  "StatusCode": 200
}

Glossaire

Ce tableau fournit les principales définitions des éléments de la réponse.

Paramètre Descriptif
ReportId Identificateur unique universel (UUID) du rapport que vous avez créé
ReportName Nom fourni dans la charge utile de la demande lors de la création du rapport
Description Description fournie dans la charge utile de la demande lors de la création du rapport
QueryId ID de requête fourni dans la charge utile de la demande lors de la création du rapport
Query Texte de requête qui sera exécuté pour ce rapport
User ID utilisateur utilisé pour créer le rapport
CreatedTime Heure UTC à laquelle le rapport a été créé au format suivant : aaaa-MM-jjTHH :mm :ssZ
ModifiedTime UTC Heure à laquelle le rapport a été modifié pour la dernière fois au format suivant : aaaa-MM-jjTHH :mm :ssZ
ExecuteNow Paramètre ExecuteNow fourni dans la charge utile de la demande lors de la création du rapport
queryStartTime Heure de début de la requête fournie dans la charge utile de la demande lors de la création du rapport. Cela ne s’applique que si ExecuteNow est défini sur « True »
queryEndTime Heure de fin de la requête fournie dans la charge utile de la demande lors de la création du rapport. Cela ne s’applique que si ExecuteNow est défini sur « True »
StartTime Heure de début fournie dans la charge utile de la demande lors de la création du rapport
ReportStatus État de l’exécution du rapport. Les valeurs possibles sont Pause, Actif et Inactif.
RecurrenceInterval Intervalle de récurrence fourni dans la charge utile de la demande lors de la création du rapport
RecurrenceCount Nombre de récurrences restantes pour le rapport
CallbackUrl URL de rappel fournie dans la charge utile de la demande lors de la création du rapport
CallbackMethod Méthode de rappel fournie dans la charge utile de la demande lors de la création du rapport
Format Format des fichiers de rapport fournis dans la charge utile de la demande lors de la création du rapport
EndTime Heure de fin fournie dans la charge utile de la demande lors de la création du rapport. Cela ne s’applique que si ExecuteNow est défini sur « True »
TotalRecurrenceCount RecurrenceCount fourni dans la charge utile de la demande lors de la création du rapport
nextExecutionStartTime Horodatage UTC du début de l’exécution du prochain rapport
TotalCount Nombre d’enregistrements dans le tableau Value
StatusCode Code de résultat. Les valeurs possibles sont 200, 400, 401, 403, 500
message Message d’état de l’exécution de l’API

Obtenir l’API d’exécution de rapports

Vous pouvez utiliser cette méthode pour interroger l’état de l’exécution d’un rapport à l’aide de l’API ReportIdde création de rapport. La méthode renvoie le lien de téléchargement du rapport si celui-ci est prêt à être téléchargé. Sinon, la méthode renvoie l’état. Vous pouvez également utiliser cette API pour obtenir toutes les exécutions qui ont eu lieu pour un rapport donné.

Important

Cette API a des paramètres de requête par défaut définis pour executionStatus=Completed et getLatestExecution=true. Par conséquent, l’appel de l’API avant la première exécution réussie du rapport renverra 404. Les exécutions en attente peuvent être obtenues en définissant executionStatus=Pending.

Syntaxe de la requête

Méthode URI de la requête
Obtenir https://api.partnercenter.microsoft.com/insights/v1.1/cmp/ScheduledReport/execution/{reportId}?executionId={executionId}&executionStatus={executionStatus}&getLatestExecution={getLatestExecution}

En-tête de requête

En-tête de page Catégorie Descriptif
Autorisation ficelle Obligatoire. Le jeton d’accès Microsoft Entra. Le format est Bearer <token>.
Type de contenu ficelle application/json

Paramètre de chemin

Aucun

Paramètre de requête

Nom du paramètre Obligatoire Catégorie Descriptif
reportId Oui ficelle Filtrez pour obtenir les détails d’exécution des rapports reportId donnés uniquement dans cet argument.
executionId Non ficelle Filtrez pour obtenir les détails des rapports executionId donnés dans cet argument. Plusieurs executionIds peuvent être spécifiés en les séparant par un point-virgule « ; ».
executionStatus Non chaîne/énumération Filtrez pour obtenir les détails des rapports executionStatus donnés dans cet argument.
Les valeurs valides sont : Pending, Running, Pausedet Completed
La valeur par défaut est Completed.
getLatestExecution Non booléen L’API renverra les détails de la dernière exécution du rapport.
Par défaut, ce paramètre a la valeur true. Si vous choisissez de transmettre la valeur de ce paramètre sous la forme false, l’API renverra les instances d’exécution des 90 derniers jours.

Charge utile de demande

Aucun

Exemple de réponse

La charge utile de réponse est structurée comme suit :

Codes de réponse : 200, 400, 401, 403, 404, 500

Exemple de charge utile de réponse :

{
    "value": [
        {
            "executionId": "a0bd78ad-1a05-40fa-8847-8968b718d00f",
            "reportId": "72fa95ab-35f5-4d44-a1ee-503abbc88003",
            "recurrenceInterval": 4,
            "recurrenceCount": 10,
            "callbackUrl": null,
            "format": "csv",
            "executionStatus": "Completed",
            "reportAccessSecureLink": "https://<path to report for download>",
            "reportExpiryTime": null,
            "reportGeneratedTime": "2021-01-13T14:40:46Z"
        }
    ],
    "totalCount": 1,
    "message": null,
    "statusCode": 200
}

Une fois l’exécution du rapport terminée, l’état Completed d’exécution s’affiche. Vous pouvez télécharger le rapport en sélectionnant l’URL dans le fichier reportAccessSecureLink.

Glossaire

Définitions clés des éléments de la réponse.

Paramètre Descriptif
ExecutionId Identificateur unique universel (UUID) de l’instance d’exécution
ReportId ID de rapport associé à l’instance d’exécution
RecurrenceInterval Intervalle de périodicité fourni lors de la création du rapport
RecurrenceCount Nombre de périodicités fournies lors de la création du rapport
CallbackUrl URL de rappel associée à l’instance d’exécution
CallbackMethod Méthode de rappel fournie dans la charge utile de la demande lors de la création du rapport
Format Format du fichier généré en fin d’exécution
ExecutionStatus Statut de l’instance d’exécution du rapport.
Les valeurs valides sont : Pending, Running, Pausedet Completed
ReportLocation Emplacement où le rapport est téléchargé.
ReportAccessSecureLink Lien permettant d’accéder au rapport en toute sécurité
ReportExpiryTime UTC Heure après laquelle le lien du rapport expirera dans ce format : aaaa-MM-jjTHH :mm :ssZ
ReportGeneratedTime UTC Heure à laquelle le rapport a été généré au format suivant : aaaa-MM-jjTHH :mm :ssZ
EndTime Heure de fin fournie dans la charge utile de la demande lors de la création du rapport. Cela ne s’applique que si ExecuteNow est défini sur « True »
TotalRecurrenceCount RecurrenceCount fourni dans la charge utile de la demande lors de la création du rapport
nextExecutionStartTime Horodatage UTC du début de l’exécution du prochain rapport
TotalCount Nombre de jeux de données dans le tableau valeur
StatusCode Code de résultat
Les valeurs possibles sont 200, 400, 401, 403, 404 et 500
message Message d’état de l’exécution de l’API

Vous pouvez essayer les API via l’URL de l’API Swagger .