Obtenir des éléments de ligne de facture
S’applique à : Espace partenaires | Espace partenaires géré par 21Vianet | Espace partenaires de Microsoft Cloud for US Government
Vous pouvez utiliser les méthodes suivantes pour obtenir les détails de collecte des éléments de ligne de facture (également appelés éléments de ligne de facturation fermés) pour une facture spécifiée.
À l’exception des correctifs de bogues, cette API n’est plus mise à jour. Nous vous recommandons de mettre à jour vos applications pour appeler l’API onetime au lieu de la Place de marché. L’API onetime offre plus de fonctionnalités et est mise à jour en continu.
Pour interroger tous les éléments de ligne de consommation commerciale, il est préférable d’utiliser l’API onetime au lieu de la Place de marché.
Cette API prend également en charge les types de fournisseurs d’abonnements Azure et Office pour Microsoft Azure (MS-AZR-0145P) et les offres Office, ce qui garantit la compatibilité descendante.
Merci pour votre attention, et nous espérons que ces informations s’avèrent utiles pour vous.
Remarque
Après le 21 janvier 2025, vous pouvez continuer à utiliser cette API, mais pas pour chaque période de facturation. Voici comment choisir la version appropriée en fonction de vos besoins :
Objectif : Récupérer les éléments de ligne de facture pour les périodes de facturation de février 2024 à décembre 2024.
Action : Utilisez cette API jusqu’au 21 janvier 2025, sauf si vous avez déjà basculé vers l’API v2 GA.
Objectif : Récupérer les éléments de ligne de facture pour les périodes de facturation antérieures à février 2024.
Action : utilisez cette API exclusivement.
Objectif : Récupérer les éléments de ligne de facture pour les périodes de facturation à partir de février 2024, mais seulement après le 21 janvier 2025.
Action : Utilisez uniquement l’API v2 GA.
Pour une transition transparente vers la nouvelle API, suivez ce lien : API de rapprochement de facture facturée v2 (GA).
Merci pour votre attention, et nous nous réjouissons de votre réussite continue avec nos API de facturation.
Prérequis
Informations d’identification, comme décrit dans Authentification auprès de l’Espace partenaires. Ce scénario prend en charge l’authentification avec les informations d’identification d’application et d’application+utilisateur autonomes.
ID de la facture pour laquelle obtenir les éléments de ligne.
C#
Pour obtenir les éléments de ligne de la facture spécifiée :
Appelez la méthode ById pour obtenir une interface vers les opérations de facture pour la facture spécifiée.
Appelez la méthode Get ou GetAsync pour récupérer l’objet de facture. L’objet de facture contient toutes les informations de la facture spécifiée.
Utilisez la propriété InvoiceDetails de l’objet invoice pour accéder à une collection d’objets InvoiceDetail, chacun contenant un BillingProvider et un InvoiceLineItemType. BillingProvider identifie la source des informations détaillées sur la facture (par exemple, Office, Azure, OneTime) et InvoiceLineItemType spécifie le type (par exemple, BillingLineItem).
L’exemple de code suivant utilise une boucle foreach pour traiter la collection InvoiceDetails . Une collection distincte d’éléments de ligne est récupérée pour chaque instance InvoiceDetail .
Pour obtenir une collection d’éléments de ligne qui correspondent à une instance InvoiceDetail :
Transmettez billingProvider et InvoiceLineItemType de l’instance à la méthode By.
Appelez la méthode Get ou GetAsync pour récupérer les éléments de ligne associés.
Créez un énumérateur pour parcourir la collection, comme illustré dans l’exemple suivant.
// IAggregatePartner partnerOperations;
// int invoicePageSize;
// string invoiceId;
// Retrieve the invoice.
var invoiceOperations = partnerOperations.Invoices.ById(invoiceId);
var invoice = invoiceOperations.Get();
foreach (var invoiceDetail in invoice.InvoiceDetails)
{
Console.WriteLine(string.Format("Getting invoice line item for product {0} and line item type {1}",
invoiceDetail.BillingProvider,
invoiceDetail.InvoiceLineItemType));
// Is this an unpaged or paged request?
bool isUnPaged = (this.invoicePageSize <= 0);
// If the scenario is unpaged, get all the invoice line items, otherwise get the first page.
var invoiceLineItemsCollection =
(isUnPaged)
? invoiceOperations.By(invoiceDetail.BillingProvider, invoiceDetail.InvoiceLineItemType).Get()
: invoiceOperations.By(invoiceDetail.BillingProvider, invoiceDetail.InvoiceLineItemType).Get(this.invoicePageSize, 0);
// Create an enumerator for traversing the line items collection.
var invoiceLineItemEnumerator =
partnerOperations.Enumerators.InvoiceLineItems.Create(invoiceLineItemsCollection);
while (invoiceLineItemEnumerator.HasValue)
{
// invoiceLineItemEnumerator.Current contains a collection
// of line items.
Console.WriteLine(String.Format("invoiceLineItemEnumerator.Current has {0} line items.",
invoiceLineItemEnumerator.Current.TotalCount));
//
// Insert code here to work with the line items.
//
Console.WriteLine();
Console.Write("Press any key to retrieve the next invoice line items page");
Console.ReadKey();
// Get the next list of invoice line items.
invoiceLineItemEnumerator.Next();
}
}
Consultez un autre exemple :
- Exemple : Application de test console
- Projet : Exemples du Kit de développement logiciel (SDK) de l’Espace partenaires
- Classe : GetInvoiceLineItems.cs
Demande REST
Syntaxe de la requête
Effectuez votre demande à l’aide de la syntaxe appropriée pour le fournisseur de facturation dans votre scénario.
Office
La syntaxe suivante s’applique lorsque le fournisseur de facturation est Office.
Method | URI de demande |
---|---|
GET | {baseURL}/v1/invoices/{invoice-id}/lineitems ?provider=office&invoicelineitemtype=billinglineitems&size={size}&offset={offset} HTTP/1.1 |
Abonnement Microsoft Azure (MS-AZR-0145P)
Les syntaxes suivantes s’appliquent lorsque le fournisseur de facturation dispose d’un abonnement Microsoft Azure (MS-AZR-0145P).
Method | URI de demande |
---|---|
GET | {baseURL}/v1/invoices/{invoice-id}/lineitems ?provider=azure&invoicelineitemtype=billinglineitems&size={size}&offset={offset} HTTP/1.1 |
GET | {baseURL}/v1/invoices/{invoice-id}/lineitems ?provider=azure&invoicelineitemtype=usagelineitems&size={size}&offset={offset} HTTP/1.1 |
OneTime
Utilisez ces syntaxes pour les fournisseurs de facturation OneTime . Ils couvrent les frais tels que les réservations Azure, les plans d’épargne Azure, les logiciels, les plans Azure, la Place de marché commerciale et les produits Microsoft/Dynamics 365.
Method | URI de demande |
---|---|
GET | {baseURL}/v1/invoices/{invoice-id}/lineitems ?provider=onetime&invoicelineitemtype=billinglineitems&size={size} HTTP/1.1 |
GET | {baseURL}/v1/invoices/{invoice-id}/lineitems/onetime/billinglineitems&size={size} ?seekOperation=Next |
Syntaxes précédentes
Nous vous recommandons vivement de mettre à jour vos applications pour utiliser l’API onetime au lieu de l’API de la Place de marché . L’API onetime offre des fonctionnalités améliorées et reçoit des mises à jour en cours, ce qui garantit que vos applications restent actuelles.
Pour tous les éléments de ligne de consommation commerciale, utilisez l’API onetime pour vos requêtes. Cette transition simplifie non seulement vos processus, mais vous offre également des fonctionnalités plus robustes.
N’oubliez pas que, à l’exception des correctifs de bogues essentiels, l’API de la Place de marché ne reçoit plus de mises à jour. Cette modification vous aide maintenant à rester à l’avance et à tirer parti des dernières fonctionnalités et améliorations.
Method | URI de demande | Description du cas d’usage de la syntaxe |
---|---|---|
GET | {baseURL}/v1/invoices/{invoice-id}/lineitems/{billing-provider}/{invoice-line-item-type} HTTP/1.1 | Vous pouvez utiliser cette syntaxe pour renvoyer une liste complète de chaque élément de ligne pour la facture donnée. |
GET | {baseURL}/v1/invoices/{invoice-id}/lineitems/{billing-provider}/{invoice-line-item-type} ?size={size}&offset={offset} HTTP/1.1 | Pour gérer efficacement les grandes factures, spécifiez la taille et le décalage de base zéro pour renvoyer une liste paginée d’éléments de ligne. |
GET | {baseURL}/v1/invoices/{invoice-id}/lineitems/OneTime/{invoice-line-item-type} ?seekOperation=Next | Vous pouvez utiliser cette syntaxe pour une facture avec une valeur de fournisseur de facturation de OneTime et définir seekOperation sur Next pour obtenir la page suivante des éléments de ligne de facture. |
Paramètres d’URI
Utilisez l’URI et les paramètres de requête suivants lors de la création de la requête.
Nom | Type | Requise | Description |
---|---|---|---|
invoice-id | string | Oui | Chaîne qui identifie la facture. |
billing-provider | string | Oui | Le fournisseur de facturation : « Office », « Azure », « OneTime » Dans l’héritage, nous avons des modèles de données distincts pour les transactions Office et Azure. Toutefois, dans la version moderne, nous avons un modèle de données unique sur tous les produits filtrés par la valeur « OneTime ». |
invoice-line-item-type | string | Oui | Type de détail de facture : « BillingLineItems », « UsageLineItems » |
size | nombre | Non | Nombre maximal d’éléments à retourner. Taille maximale par défaut = 2000 |
offset | nombre | Non | Index de base zéro de l’élément de ligne initial à retourner. |
seekOperation | string | Non | Si le fournisseur de facturation est égal à OneTime, définissez seekOperation sur Suivant pour obtenir la page suivante des éléments de ligne de facture. |
hasPartnerEarnedCredit | bool | Non | Ce paramètre retourne les éléments de ligne avec un crédit partenaire appliqué. Il fonctionne uniquement pour le type de fournisseur de facturation OneTime et InvoiceLineItemType = UsageLineItems. |
En-têtes de requête
Pour plus d’informations, consultez En-têtes REST de l’Espace Partenaires.
Corps de la demande
Aucune.
Réponse REST
Si elle réussit, la réponse contient la collection de détails de l’élément de ligne.
Pour l’élément de ligne ChargeType, la valeur d’achat est mappée à Nouveau. La valeur Remboursement est mappée à Annuler.
Codes d’erreur et de réussite de la réponse
Chaque réponse est fournie avec un code d’état HTTP qui indique la réussite ou l’échec et d’autres informations de débogage. Utilisez un outil de suivi réseau pour lire ce code, le type d’erreur et les paramètres supplémentaires. Pour obtenir la liste complète, consultez Codes d’erreur REST de l’Espace partenaires.
Exemples de demande-réponse REST
Exemple de demande-réponse 1
Dans cet exemple, les détails sont les suivants :
- BillingProvider : Office
- InvoiceLineItemType : BillingLineItems
Exemple de requête 1
GET https://api.partnercenter.microsoft.com/v1/invoices/1234000000/lineitems?provider=Office&nvoicelineitemtype=BillingLineItems&size=2&offset=0 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 1eb2ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Application: Partner Center .NET SDK Samples
Host: api.partnercenter.microsoft.com
Important
Depuis juin 2023, la dernière version du Kit de développement logiciel (SDK) .NET de l’Espace partenaires version 3.4.0 est désormais archivée. Vous pouvez télécharger la version du SDK à partir de GitHub, ainsi qu’un fichier lisezmoi contenant des informations utiles.
Les partenaires sont encouragés à continuer à utiliser les API REST de l’Espace partenaires.
Exemple de réponse 1
HTTP/1.1 200 OK
Content-Length: 2484
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 1eb2ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CV: bpqyomePDUqrSSYC.0
MS-ServerId: 202010406
Date: Thu, 07 Sep 2017 23:31:09 GMT
{
"totalCount": 2,
"items": [{
"partnerId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"customerId": "74221236-D09C-4870-AC1D-33E155E9AEBE",
"customerName": "TSTAGIN1CUST190",
"mpnId": 4391507,
"tier2MpnId": -1,
"orderId": "567735045559164136",
"subscriptionId": "4KIKawEAAAAAAAEA",
"syndicationPartnerSubscriptionNumber": "1F58ACD7-FE51-4705-9567-D009C9ADA150",
"offerId": "AAA5B3F0-0EE2-431B-A42F-3F18F3C6D540",
"durableOfferId": "2F707C7C-2433-49A5-A437-9CA7CF40D3EB",
"offerName": "EXCHANGE ONLINE (PLAN 2)",
"domainName": "TStagin1Cust190.onmicrosoft.com",
"billingCycleType": "MONTHLY",
"subscriptionName": "EXCHANGE ONLINE (PLAN 2)",
"subscriptionDescription": "EXCHANGE ONLINE (PLAN 2)",
"subscriptionStartDate": "2017-05-12T00:00:00",
"subscriptionEndDate": "2018-06-10T00:00:00",
"chargeStartDate": "2017-05-12T00:00:00",
"chargeEndDate": "2017-06-09T00:00:00",
"chargeType": "New",
"unitPrice": 0.0,
"quantity": 3,
"amount": 0.0,
"totalOtherDiscount": 0.0,
"subtotal": 0.0,
"tax": 0.0,
"totalForCustomer": 0.0,
"currency": "USD",
"invoiceLineItemType": "billing_line_items",
"billingProvider": "office",
"attributes": {
"objectType": "LicenseBasedLineItem"
}
}, {
"partnerId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"customerId": "74221236-D09C-4870-AC1D-33E155E9AEBE",
"customerName": "TSTAGIN1CUST190",
"mpnId": 4391507,
"tier2MpnId": -1,
"orderId": "567735045564795186",
"subscriptionId": "Ik4YawEAAAAAAAEA",
"syndicationPartnerSubscriptionNumber": "D8A8F773-9D3E-4244-8797-3182075F09FA",
"offerId": "618B53FE-9B99-428B-9745-F706AEAF3979",
"durableOfferId": "69C67983-CF78-4102-83F6-3E5FD246864F",
"offerName": "SHAREPOINT ONLINE (PLAN 2)",
"domainName": "TStagin1Cust190.onmicrosoft.com",
"billingCycleType": "MONTHLY",
"subscriptionName": "SHAREPOINT ONLINE (PLAN 2)",
"subscriptionDescription": "SHAREPOINT ONLINE (PLAN 2)",
"subscriptionStartDate": "2017-05-13T00:00:00",
"subscriptionEndDate": "2018-06-10T00:00:00",
"chargeStartDate": "2017-05-13T00:00:00",
"chargeEndDate": "2017-06-09T00:00:00",
"chargeType": "New",
"unitPrice": 0.0,
"quantity": 1,
"amount": 0.0,
"totalOtherDiscount": 0.0,
"subtotal": 0.0,
"tax": 0.0,
"totalForCustomer": 0.0,
"currency": "USD",
"invoiceLineItemType": "billing_line_items",
"billingProvider": "office",
"attributes": {
"objectType": "LicenseBasedLineItem"
}
}
],
"links": {
"self": {
"uri": "/invoices/1234000000/lineitems?provider=Office&nvoicelineitemtype=BillingLineItems&size=2&offset=0",
"method": "GET",
"headers": []
},
"next": {
"uri": "/invoices/1234000000/lineitems?provider=Office&nvoicelineitemtype=BillingLineItems&size=2&offset=",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}
Exemple de demande-réponse 2
Dans l’exemple suivant, les détails sont les suivants :
- BillingProvider : Azure
- InvoiceLineItemType : BillingLineItems
Exemple de requête 2
GET https://api.partnercenter.microsoft.com/v1/invoices/1234000000/lineitems?provider=Azure&invoicelineitemtype=BillingLineItems&size=2&offset=0 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 1eb2ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Application: Partner Center .NET SDK Samples
Host: api.partnercenter.microsoft.com
Exemple de réponse 2
HTTP/1.1 200 OK
Content-Length: 2484
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 1eb2ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CV: bpqyomePDUqrSSYC.0
MS-ServerId: 202010406
Date: Thu, 07 Sep 2017 23:31:09 GMT
{
"totalCount": 2,
"items": [
{
"detailLineItemId": 1,
"sku": "7UD-00001",
"includedQuantity": 0,
"overageQuantity": 745,
"listPrice": 0.085,
"currency": "USD",
"pretaxCharges": 63.33,
"taxAmount": 6.34,
"postTaxTotal": 69.67,
"pretaxEffectiveRate": 0.08500671,
"postTaxEffectiveRate": 0.09351677,
"chargeType": "Assess usage fee for current cycle",
"invoiceLineItemType": "billing_line_items",
"partnerId": "1F5CCB06-8E36-4A74-A74C-FCAA9E000000",
"partnerName": "TEST_TEST_Big foot consulting",
"partnerBillableAccountId": "1010578050",
"customerId": "65726577-c208-40fd-9735-8c85ac000000",
"domainName": "600test.onmicrosoft.com",
"customerCompanyName": "601 tests",
"mpnId": 4390934,
"tier2MpnId": -1,
"invoiceNumber": "1234000000",
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"subscriptionName": "Microsoft Azure",
"subscriptionDescription": "Microsoft Azure",
"billingCycleType": "Monthly",
"orderId": "568297985427000000",
"serviceName": "Azure App Service",
"serviceType": "Standard Plan",
"resourceGuid": "505db374-df8a-44df-9d8c-13c14b61dee1",
"resourceName": "S1",
"region": "",
"consumedQuantity": 745,
"chargeStartDate": "2019-08-02T00:00:00",
"chargeEndDate": "2019-09-01T00:00:00",
"unit": "1 Hour",
"billingProvider": "azure",
"attributes": {
"objectType": "UsageBasedLineItem"
}
},
{
"detailLineItemId": 1,
"sku": "7UD-00001",
"includedQuantity": 0,
"overageQuantity": 0.000882,
"listPrice": 0.0383,
"currency": "USD",
"pretaxCharges": 0,
"taxAmount": 0,
"postTaxTotal": 0,
"pretaxEffectiveRate": 0,
"postTaxEffectiveRate": 0,
"chargeType": "Assess usage fee for current cycle",
"invoiceLineItemType": "billing_line_items",
"partnerId": "1F5CCB06-8E36-4A74-A74C-FCAA9E87E26A",
"partnerName": "TEST_TEST_Big foot consulting",
"partnerBillableAccountId": "1010578050",
"customerId": "65726577-c208-40fd-9735-8c85ac9cac68",
"domainName": "600test.onmicrosoft.com",
"customerCompanyName": "601 tests",
"mpnId": 4390934,
"tier2MpnId": -1,
"invoiceNumber": "1234000000",
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"subscriptionName": "Microsoft Azure",
"subscriptionDescription": "Microsoft Azure",
"billingCycleType": "Monthly",
"orderId": "568297985427000000",
"serviceName": "Storage",
"serviceType": "Standard Page Blob",
"resourceGuid": "d23a5753-ff85-4ddf-af28-8cc5cf2d3882",
"resourceName": "LRS Data Stored",
"region": "",
"consumedQuantity": 0.000882,
"chargeStartDate": "2019-08-02T00:00:00",
"chargeEndDate": "2019-09-01T00:00:00",
"unit": "1 GB/Month",
"billingProvider": "azure",
"attributes": {
"objectType": "UsageBasedLineItem"
}
}
],
"links": {
"self": {
"uri": "/invoices/1234000000/lineitems?provider=Azure&invoicelineitemtype=BillingLineItems&size=2&offset=0",
"method": "GET",
"headers": []
},
"next": {
"uri": "/invoices/1234000000/lineitems?provider=Azure&invoicelineitemtype=BillingLineItems&size=2&offset=2",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}
Exemple de demande-réponse 3
Dans l’exemple suivant, les détails sont les suivants :
- BillingProvider : Azure
- InvoiceLineItemType : UsageLineItems
Exemple de requête 3
GET https://api.partnercenter.microsoft.com/v1/invoices/1234000000/lineitems?provider=Azure&invoicelineitemtype=UsageLineItems&size=2&offset=0 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 1eb2ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Application: Partner Center .NET SDK Samples
Host: api.partnercenter.microsoft.com
Exemple de réponse 3
HTTP/1.1 200 OK
Content-Length: 2484
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 1eb2ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CV: bpqyomePDUqrSSYC.0
MS-ServerId: 202010406
Date: Thu, 07 Sep 2017 23:31:09 GMT
{
"totalCount": 2,
"items": [
{
"customerBillableAccount": "1439508127",
"usageDate": "2019-08-05T00:00:00",
"invoiceLineItemType": "usage_line_items",
"partnerId": "1F5CCB06-8E36-4A74-A74C-FCAA9E000000",
"partnerName": "TEST_TEST_BIG FOOT CONSULTING",
"partnerBillableAccountId": "1010578050",
"customerId": "9E9B71BA-3442-458B-B519-E1CCF72FBB54",
"domainName": "test600.onmicrosoft.com",
"customerCompanyName": "600 TEST",
"mpnId": 4390934,
"tier2MpnId": -1,
"invoiceNumber": "1234000000",
"subscriptionId": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
"subscriptionName": "MICROSOFT AZURE",
"subscriptionDescription": "MICROSOFT AZURE",
"billingCycleType": "MONTHLY",
"orderId": "568297985577171353",
"serviceName": "STORAGE",
"serviceType": "STANDARD PAGE BLOB",
"resourceGuid": "9CC63CF8-6593-410A-B0E7-26A4EF71E8B3",
"resourceName": "DISK DELETE OPERATIONS",
"region": "",
"consumedQuantity": 2.9616,
"chargeStartDate": "2019-08-05T00:00:00",
"chargeEndDate": "2019-09-04T00:00:00",
"unit": "10K",
"billingProvider": "azure",
"attributes": {
"objectType": "DailyUsageLineItem"
}
},
{
"customerBillableAccount": "1307536861",
"usageDate": "2019-08-10T00:00:00",
"invoiceLineItemType": "usage_line_items",
"partnerId": "1F5CCB06-8E36-4A74-A74C-FCAA9E000000",
"partnerName": "TEST_TEST_BIG FOOT CONSULTING",
"partnerBillableAccountId": "1010578050",
"customerId": "EB53B7BD-267E-440E-B3C0-8F0B40000000",
"domainName": "brandontest.onmicrosoft.com",
"customerCompanyName": "BRANDON'S TEST",
"mpnId": 4390934,
"tier2MpnId": -1,
"invoiceNumber": "1234000000",
"subscriptionId": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"subscriptionName": "MICROSOFT AZURE",
"subscriptionDescription": "MICROSOFT AZURE",
"billingCycleType": "MONTHLY",
"orderId": "568297985605838583",
"serviceName": "VIRTUAL MACHINES",
"serviceType": "D/DS SERIES WINDOWS",
"resourceGuid": "62C64B6C-4033-4E20-AB33-9E81271AC12A",
"resourceName": "D1/DS1",
"region": "US WEST",
"consumedQuantity": 24,
"chargeStartDate": "2019-08-05T00:00:00",
"chargeEndDate": "2019-09-04T00:00:00",
"unit": "1 HOUR",
"billingProvider": "azure",
"attributes": {
"objectType": "DailyUsageLineItem"
}
}
],
"links": {
"self": {
"uri": "/invoices/1234000000/lineitems?provider=Azure&invoicelineitemtype=UsageLineItems&size=2&offset=0",
"method": "GET",
"headers": []
},
"next": {
"uri": "/invoices/1234000000/lineitems?provider=Azure&invoicelineitemtype=UsageLineItems&size=2&offset=2",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}
Exemple de demande-réponse 4
Dans l’exemple suivant, les détails sont les suivants :
- BillingProvider : OneTime
- InvoiceLineItemType : BillingLineItems
Exemple de requête 4
GET https://api.partnercenter.microsoft.com/v1/invoices/G000024135/lineitems/OneTime/BillingLineItems?size=2&offset=0 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 1eb2ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Application: Partner Center .NET SDK Samples
Host: api.partnercenter.microsoft.com
Exemple de réponse 4
HTTP/1.1 200 OK
Content-Length: 2484
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 1eb2ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CV: bpqyomePDUqrSSYC.0
MS-ServerId: 202010406
Date: Thu, 07 Sep 2017 23:31:09 GMT
{
"continuationToken": "d19617b8-fbe5-4684-a5d8-0230972fb0cf,0705c4a9-39f7-4261-ba6d-53e24a9ce47d_a4ayc/80/OGda4BO/1o/V0etpOqiLx1JwB5S3beHW0s=,0d81c700-98b4-4b13-9129-ffd5620f72e7",
{
"totalCount": 3,
"items": [
{
"partnerId": "934f3416-bc2f-47f3-b492-77e517d4e572",
"customerId": "c139c4bf-2e8b-4ab5-8bed-d9f50dcca7a2",
"customerName": "Test_Test_Office R2 Reduce Seats Validation",
"customerDomainName": "testcustomerr2t2reduce.onmicrosoft.com",
"customerCountry": "US",
"invoiceNumber": "G000773581",
"mpnId": "5357564",
"resellerMpnId": "4649221",
"orderId": "94e858b6d855",
"orderDate": "2021-05-20T18:30:06.6045692Z",
"productId": "CFQ7TTC0LH0R",
"skuId": "0002",
"availabilityId": "CFQ7TTC0K5RQ",
"productName": "Microsoft 365 Phone System - Virtual User",
"skuName": "Microsoft 365 Phone System - Virtual User",
"productQualifiers": [
"AddOn",
"Trial"
],
"chargeType": "new",
"unitPrice": "0",
"effectiveUnitPrice": "0",
"unitType": "",
"quantity": "25",
"subtotal": "0",
"taxTotal": "0",
"totalForCustomer": "0",
"currency": "USD",
"publisherName": "Microsoft Corporation",
"publisherId": "",
"subscriptionDescription": "",
"subscriptionId": "dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b",
"subscriptionStartDate": "2021-05-20T00:00:00Z",
"subscriptionEndDate": "2021-06-19T00:00:00Z",
"chargeStartDate": "2021-05-20T00:00:00Z",
"chargeEndDate": "2021-06-19T00:00:00Z",
"termAndBillingCycle": "One-Month commitment for trial",
"alternateId": "94e858b6d855",
"referenceId": "0cf1202a-5b7d-4219-966e-93c637113708",
"priceAdjustmentDescription": "",
"discountDetails": "",
"pricingCurrency": "USD",
"pcToBCExchangeRate": "1",
"pcToBCExchangeRateDate": "2021-05-01T00:00:00",
"billableQuantity": "25",
"meterDescription": "",
"billingFrequency": "",
"reservationOrderId": "99f246cf-ed96-41b4-b0cd-0aa43eb1fe91",
"invoiceLineItemType": "billing_line_items",
"billingProvider": "one_time",
"promotionId": "",
"attributes": {
"objectType": "OneTimeInvoiceLineItem"
}
},
{
"partnerId": "934f3416-bc2f-47f3-b492-77e517d4e572",
"customerId": "835a59a7-3172-47b5-bdef-d9cc65f4d0e4",
"customerName": "TEST_TEST Test Promotions 01",
"customerDomainName": "kyletestpromos01.onmicrosoft.com",
"customerCountry": "US",
"invoiceNumber": "G000773581",
"mpnId": "5357564",
"resellerMpnId": "0",
"orderId": "5f9d52bb1408",
"orderDate": "2021-05-20T18:48:30.6168285Z",
"productId": "CFQ7TTC0HL8W",
"skuId": "0001",
"availabilityId": "CFQ7TTC0K59S",
"productName": "Power BI Premium Per User",
"skuName": "Power BI Premium Per User",
"productQualifiers": [],
"chargeType": "new",
"unitPrice": "16",
"effectiveUnitPrice": "14.4",
"unitType": "",
"quantity": "50",
"subtotal": "720",
"taxTotal": "73",
"totalForCustomer": "793",
"currency": "USD",
"publisherName": "Microsoft Corporation",
"publisherId": "",
"subscriptionDescription": "",
"subscriptionId": "eeee4efe-ff5f-aa6a-bb7b-cccccc8c8c8c",
"subscriptionStartDate": "2021-05-20T00:00:00Z",
"subscriptionEndDate": "2022-05-19T00:00:00Z",
"chargeStartDate": "2021-05-20T00:00:00Z",
"chargeEndDate": "2021-06-19T00:00:00Z",
"termAndBillingCycle": "One-Year commitment for monthly/yearly billing",
"alternateId": "5f9d52bb1408",
"referenceId": "28b535e0-68f4-40b5-84f7-8ed9241eb149",
"priceAdjustmentDescription": "[\"Price for given billing period\",\"You are getting a discount due to a pre-determined override.\",\"You are getting a discount for being a partner.\",\"You are getting a price guarantee for your price.\",\"Price for given term\"]",
"discountDetails": "",
"pricingCurrency": "USD",
"pcToBCExchangeRate": "1",
"pcToBCExchangeRateDate": "2021-05-01T00:00:00",
"billableQuantity": "50",
"meterDescription": "",
"billingFrequency": "Monthly",
"reservationOrderId": "8fdebb4a-7110-496e-9570-623e4c992797",
"invoiceLineItemType": "billing_line_items",
"billingProvider": "one_time",
"promotionId": "39NFJQT1X27N:0002:39NFJQT1Q5KL",
"attributes/objectType": "OneTimeInvoiceLineItem",
"attributes": {
"objectType": "OneTimeInvoiceLineItem"
}
},
{
"partnerId": "934f3416-bc2f-47f3-b492-77e517d4e572",
"customerId": "c139c4bf-2e8b-4ab5-8bed-d9f50dcca7a2",
"customerName": "Test_Test_Office R2 Reduce Seats Validation",
"customerDomainName": "testcustomerr2t2reduce.onmicrosoft.com",
"customerCountry": "US",
"invoiceNumber": "T000773581",
"mpnId": "1234567",
"resellerMpnId": 0,
"orderId": "HJVtMZMkgQ2miuCiNv0RSr51zQDans0m1",
"orderDate": "2019-02-04T17:59:52.9460102Z",
"productId": "DZH318Z0BXWC",
"skuId": "0002",
"availabilityId": "DZH318Z0BP8B",
"productName": "Test WAF-as-a-Service",
"skuName": "Test WaaS - Medium Plan",
"chargeType": "New",
"unitPrice": 820,
"effectiveUnitPrice": 820,
"unitType": "",
"quantity": 1,
"subtotal": 820,
"taxTotal": 0,
"totalForCustomer": 0,
"currency": "USD",
"publisherName": "Test Networks, Inc.",
"publisherId": "21223810",
"subscriptionDescription": "",
"subscriptionId": "ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d",
"subscriptionStartDate": "2019-02-01T00:00:00Z",
"subscriptionEndDate": "2020-01-31T00:00:00Z",
"chargeStartDate": "2019-02-04T09:22:40.1767993-08:00",
"chargeEndDate": "2019-03-03T09:22:40.1767993-08:00",
"termAndBillingCycle": "1 Year Subscription",
"alternateId": "123456ad566",
"priceAdjustmentDescription": "[\"15.0% Partner earned credit for services managed\"]",
"discountDetails": "",
"pricingCurrency": "USD",
"pcToBCExchangeRate": 1,
"pcToBCExchangeRateDate": "2019-08-01T00:00:00Z",
"billableQuantity": 3.1618,
"meterDescription": "Bandwidth - Data Transfer In (GB) - Zone 2",
"reservationOrderId": "883d475b-0000-1234-0000-8818752f1234",
"attributes": {
"objectType": "OneTimeInvoiceLineItem"
}
},
{
"partnerId": "6480d686-cfb4-424d-a945-6b9b9f4badc2",
"customerId": "org:9060d13d-c5ed-482e-b059-a15a38cbb28e",
"customerName": "recipientCustomerName",
"customerDomainName": "recipientCustomerDomain",
"customerCountry": "US",
"invoiceNumber": "1234000000",
"mpnId": "4870137",
"resellerMpnId": 0,
"orderId": "VdqkP11Bu4DlcjP5rLeQabcdefg-1234",
"orderDate": "2021-01-29T19:50:13.9869095Z",
"productId": "CFQ7TTC01234",
"skuId": "0001",
"availabilityId": "CFQ7TTC0ABCD",
"productName": "Office 365 E3",
"skuName": "Office 365 E3",
"chargeType": "new",
"unitPrice": 16,
"effectiveUnitPrice": 16,
"unitType": "",
"quantity": 1,
"subtotal": 16,
"taxTotal": 1.61,
"totalForCustomer": 17.61,
"currency": "USD",
"publisherName": "Microsoft Corporation",
"publisherId": "",
"subscriptionDescription": "",
"subscriptionId": "aaaa6a6a-bb7b-cc8c-dd9d-eeeeee0e0e0e",
"chargeStartDate": "2021-01-29T00:00:00Z",
"chargeEndDate": "2021-02-27T00:00:00Z",
"termAndBillingCycle": "One-Year commitment for monthly/yearly billing",
"priceAdjustmentDescription": "[\"1 month billing/",\"You are getting a discount for being a partner.\",\"You are getting a price guarantee for your price.\",\"Yearly Duration\"]",
"discountDetails": "",
"pricingCurrency": "USD",
"pcToBCExchangeRate": 1,
"pcToBCExchangeRateDate": "0001-01-01T00:00:00",
"billableQuantity": 1,
"meterDescription": "",
"billingFrequency": "Monthly",
"reservationOrderId": "e770c049-89c7-4ec1-b366-123456789000",
"invoiceLineItemType": "billing_line_items",
"billingProvider": "one_time" ,
"attributes": {
"objectType": "OneTimeInvoiceLineItem"
}
}
],
"links": {
"self": {
"uri": "/invoices/G000773581/lineitems?provider=OneTime&nvoicelineitemtype=BillingLineItems&size=2",
"method": "GET",
"headers": []
},
"next": {
"uri": "/invoices/G000773581/lineitems?provider=OneTime&nvoicelineitemtype=BillingLineItems&size=2?seekOperation=Next",
"method": "GET",
"headers": [
{
"key": "MS-ContinuationToken",
"value": "d19617b8-fbe5-4684-a5d8-0230972fb0cf,0705c4a9-39f7-4261-ba6d-53e24a9ce47d_a4ayc/80/OGda4BO/1o/V0etpOqiLx1JwB5S3beHW0s=,0d81c700-98b4-4b13-9129-ffd5620f72e7"
}
]
}
},
"attributes": {
"objectType": "Collection"
}
}
Exemple de demande-réponse 5
Dans l’exemple suivant, il existe une pagination à l’aide d’un jeton de continuation. Les détails sont les suivants :
- BillingProvider : OneTime
- InvoiceLineItemType : BillingLineItems
- SeekOperation : Suivant
Exemple de requête 5
GET https://api.partnercenter.microsoft.com/v1/invoices/G000024135/lineitems/OneTime/BillingLineItems?seekOperation=Next HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-ContinuationToken: d19617b8-fbe5-4684-a5d8-0230972fb0cf,0705c4a9-39f7-4261-ba6d-53e24a9ce47d_a4ayc/80/OGda4BO/1o/V0etpOqiLx1JwB5S3beHW0s=,0d81c700-98b4-4b13-9129-ffd5620f72e7
MS-RequestId: 1eb2ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Application: Partner Center .NET SDK Samples
Host: api.partnercenter.microsoft.com
Exemple de réponse 5
HTTP/1.1 200 OK
Content-Length: 2484
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 1eb2ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CV: bpqyomePDUqrSSYC.0
MS-ServerId: 202010406
Date: Thu, 07 Sep 2017 23:31:09 GMT
{
"totalCount": 2,
"items": [
{
"partnerId": "934f3416-bc2f-47f3-b492-77e517d4e572",
"customerId": "c139c4bf-2e8b-4ab5-8bed-d9f50dcca7a2",
"customerName": "Test_Test_Office R2 Reduce Seats Validation",
"customerDomainName": "testcustomerr2t2reduce.onmicrosoft.com",
"customerCountry": "US",
"invoiceNumber": "G000773581",
"mpnId": "5357564",
"resellerMpnId": "4649221",
"orderId": "94e858b6d855",
"orderDate": "2021-05-20T18:30:06.6045692Z",
"productId": "CFQ7TTC0LH0R",
"skuId": "0002",
"availabilityId": "CFQ7TTC0K5RQ",
"productName": "Microsoft 365 Phone System - Virtual User",
"skuName": "Microsoft 365 Phone System - Virtual User",
"productQualifiers": [
"AddOn",
"Trial"
],
"chargeType": "new",
"unitPrice": "0",
"effectiveUnitPrice": "0",
"unitType": "",
"quantity": "25",
"subtotal": "0",
"taxTotal": "0",
"totalForCustomer": "0",
"currency": "USD",
"publisherName": "Microsoft Corporation",
"publisherId": "",
"subscriptionDescription": "",
"subscriptionId": "dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b",
"subscriptionStartDate": "2021-05-20T00:00:00Z",
"subscriptionEndDate": "2021-06-19T00:00:00Z",
"chargeStartDate": "2021-05-20T00:00:00Z",
"chargeEndDate": "2021-06-19T00:00:00Z",
"termAndBillingCycle": "One-Month commitment for trial",
"alternateId": "94e858b6d855",
"referenceId": "0cf1202a-5b7d-4219-966e-93c637113708",
"priceAdjustmentDescription": "",
"discountDetails": "",
"pricingCurrency": "USD",
"pcToBCExchangeRate": "1",
"pcToBCExchangeRateDate": "2021-05-01T00:00:00",
"billableQuantity": "25",
"meterDescription": "",
"billingFrequency": "",
"reservationOrderId": "99f246cf-ed96-41b4-b0cd-0aa43eb1fe91",
"invoiceLineItemType": "billing_line_items",
"billingProvider": "one_time",
"promotionId": "",
"attributes": {
"objectType": "OneTimeInvoiceLineItem"
}
},
{
"partnerId": "934f3416-bc2f-47f3-b492-77e517d4e572",
"customerId": "835a59a7-3172-47b5-bdef-d9cc65f4d0e4",
"customerName": "TEST_TEST Test Promotions 01",
"customerDomainName": "kyletestpromos01.onmicrosoft.com",
"customerCountry": "US",
"invoiceNumber": "G000773581",
"mpnId": "5357564",
"resellerMpnId": "0",
"orderId": "5f9d52bb1408",
"orderDate": "2021-05-20T18:48:30.6168285Z",
"productId": "CFQ7TTC0HL8W",
"skuId": "0001",
"availabilityId": "CFQ7TTC0K59S",
"productName": "Power BI Premium Per User",
"skuName": "Power BI Premium Per User",
"productQualifiers": [],
"chargeType": "new",
"unitPrice": "16",
"effectiveUnitPrice": "14.4",
"unitType": "",
"quantity": "50",
"subtotal": "720",
"taxTotal": "73",
"totalForCustomer": "793",
"currency": "USD",
"publisherName": "Microsoft Corporation",
"publisherId": "",
"subscriptionDescription": "",
"subscriptionId": "eeee4efe-ff5f-aa6a-bb7b-cccccc8c8c8c",
"subscriptionStartDate": "2021-05-20T00:00:00Z",
"subscriptionEndDate": "2022-05-19T00:00:00Z",
"chargeStartDate": "2021-05-20T00:00:00Z",
"chargeEndDate": "2021-06-19T00:00:00Z",
"termAndBillingCycle": "One-Year commitment for monthly/yearly billing",
"alternateId": "5f9d52bb1408",
"referenceId": "28b535e0-68f4-40b5-84f7-8ed9241eb149",
"priceAdjustmentDescription": "[\"Price for given billing period\",\"You are getting a discount due to a pre-determined override.\",\"You are getting a discount for being a partner.\",\"You are getting a price guarantee for your price.\",\"Price for given term\"]",
"discountDetails": "",
"pricingCurrency": "USD",
"pcToBCExchangeRate": "1",
"pcToBCExchangeRateDate": "2021-05-01T00:00:00",
"billableQuantity": "50",
"meterDescription": "",
"billingFrequency": "Monthly",
"reservationOrderId": "8fdebb4a-7110-496e-9570-623e4c992797",
"invoiceLineItemType": "billing_line_items",
"billingProvider": "one_time",
"promotionId": "39NFJQT1X27N:0002:39NFJQT1Q5KL",
"attributes/objectType": "OneTimeInvoiceLineItem",
"attributes": {
"objectType": "OneTimeInvoiceLineItem"
}
},
{
"partnerId": "934f3416-bc2f-47f3-b492-77e517d4e572",
"customerId": "c139c4bf-2e8b-4ab5-8bed-d9f50dcca7a2",
"customerName": "Test_Test_Office R2 Reduce Seats Validation",
"customerDomainName": "testcustomerr2t2reduce.onmicrosoft.com",
"customerCountry": "US",
"invoiceNumber": "T000773581",
"mpnId": "1234567",
"resellerMpnId": 0,
"orderId": "HJVtMZMkgQ2miuCiNv0RSr51zQDans0m1",
"orderDate": "2019-02-04T17:59:52.9460102Z",
"productId": "DZH318Z0BXWC",
"skuId": "0002",
"availabilityId": "DZH318Z0BP8B",
"productName": "Test WAF-as-a-Service",
"skuName": "Test WaaS - Medium Plan",
"chargeType": "New",
"unitPrice": 820,
"effectiveUnitPrice": 820,
"unitType": "",
"quantity": 1,
"subtotal": 820,
"taxTotal": 0,
"totalForCustomer": 0,
"currency": "USD",
"publisherName": "Test Networks, Inc.",
"publisherId": "21223810",
"subscriptionDescription": "",
"subscriptionId": "ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d",
"subscriptionStartDate": "2019-02-01T00:00:00Z",
"subscriptionEndDate": "2020-01-31T00:00:00Z",
"chargeStartDate": "2019-02-04T09:22:40.1767993-08:00",
"chargeEndDate": "2019-03-03T09:22:40.1767993-08:00",
"termAndBillingCycle": "1 Year Subscription",
"alternateId": "123456ad566",
"priceAdjustmentDescription": "[\"15.0% Partner earned credit for services managed\"]",
"discountDetails": "",
"pricingCurrency": "USD",
"pcToBCExchangeRate": 1,
"pcToBCExchangeRateDate": "2019-08-01T00:00:00Z",
"billableQuantity": 3.1618,
"meterDescription": "Bandwidth - Data Transfer In (GB) - Zone 2",
"reservationOrderId": "883d475b-0000-1234-0000-8818752f1234",
"attributes": {
"objectType": "OneTimeInvoiceLineItem"
}
},
{
"partnerId": "6480d686-cfb4-424d-a945-6b9b9f4badc2",
"customerId": "org:9060d13d-c5ed-482e-b059-a15a38cbb28e",
"customerName": "recipientCustomerName",
"customerDomainName": "recipientCustomerDomain",
"customerCountry": "US",
"invoiceNumber": "1234000000",
"mpnId": "4870137",
"resellerMpnId": 0,
"orderId": "VdqkP11Bu4DlcjP5rLeQabcdefg-1234",
"orderDate": "2021-01-29T19:50:13.9869095Z",
"productId": "CFQ7TTC01234",
"skuId": "0001",
"availabilityId": "CFQ7TTC0ABCD",
"productName": "Office 365 E3",
"skuName": "Office 365 E3",
"chargeType": "new",
"unitPrice": 16,
"effectiveUnitPrice": 16,
"unitType": "",
"quantity": 1,
"subtotal": 16,
"taxTotal": 1.61,
"totalForCustomer": 17.61,
"currency": "USD",
"publisherName": "Microsoft Corporation",
"publisherId": "",
"subscriptionDescription": "",
"subscriptionId": "aaaa6a6a-bb7b-cc8c-dd9d-eeeeee0e0e0e",
"chargeStartDate": "2021-01-29T00:00:00Z",
"chargeEndDate": "2021-02-27T00:00:00Z",
"termAndBillingCycle": "One-Year commitment for monthly/yearly billing",
"priceAdjustmentDescription": "[\"1 month billing/",\"You are getting a discount for being a partner.\",\"You are getting a price guarantee for your price.\",\"Yearly Duration\"]",
"discountDetails": "",
"pricingCurrency": "USD",
"pcToBCExchangeRate": 1,
"pcToBCExchangeRateDate": "0001-01-01T00:00:00",
"billableQuantity": 1,
"meterDescription": "",
"billingFrequency": "Monthly",
"reservationOrderId": "e770c049-89c7-4ec1-b366-123456789000",
"invoiceLineItemType": "billing_line_items",
"billingProvider": "one_time" ,
"attributes": {
"objectType": "OneTimeInvoiceLineItem"
}
}
],
"links": {
"self": {
"uri": "/invoices/G000773581/lineitems?provider=OneTime&nvoicelineitemtype=BillingLineItems&size=2",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}