Faturalandırılmamış ticari tüketim satırı öğelerini alma
Not
21 Ocak 2025 tarihinden itibaren bu API kullanım dışı bırakılacaktır. Sürekliliği sağlamak için geçişinizi planlayın.
Hedef: 21 Ocak 2025 tarihinden önceki geçerli ve önceki faturalama dönemleri için faturalanmamış günlük kullanım satırı öğelerini alma.
Eylem: Bu API'yi 21 Ocak 2025'e kadar kullanın veya API v2 GA'ya daha erken geçin.
Hedef: 21 Ocak 2025'ten itibaren geçerli ve önceki faturalama dönemleri için faturalanmamış günlük kullanım satırı öğelerini alma.
Eylem: Yalnızca API v2 GA kullanın.
Yeni API'lere sorunsuz bir geçiş için şu bağlantıyı izleyin: Faturalandırılmış ve faturalanmamış günlük derecelendirilmiş kullanım mutabakat API'si v2 (GA).
İlginiz için teşekkür ederiz ve faturalama API'lerimizle başarınızın devamını bekliyoruz.
Faturalanmamış ticari tüketim satırı öğesi ayrıntılarının koleksiyonunu alma.
Program aracılığıyla, faturalanmamış ticari tüketim satırı öğelerinin (açık kullanım satırı öğeleri olarak da bilinir) ayrıntılarının bir koleksiyonunu almak için aşağıdaki yöntemleri kullanabilirsiniz.
Önemli
Günlük derecelendirilmiş kullanım verileri, bu ürünlerin ücretlerini içermez:
- Azure rezervasyonu
- Azure tasarruf planı
- Office
- Dynamics
- Microsoft Power Apps
- Kalıcı yazılım
- Yazılım aboneliği
- Microsoft dışı veya market SaaS ürünü
Not
Faturalanmamış günlük derecelendirilmiş kullanım satırı öğelerinize API veya İş Ortağı Merkezi portalı üzerinden erişebilirsiniz. Verilerin doğru olmasını sağlamak için kullanılabilirlik için 24 saate kadar izin verin. Konumunuza bağlı olarak ve ölçümler kullanımı bildirdiğinde daha fazla gecikme olabilir.
Önce faturalanan günlük derecelendirmeli kullanım verilerinin zamanında teslim edilmesine öncelik ve ederiz. Bazen, önceki ayın faturalanan kullanım verileri kullanılabilir olana kadar en son faturalanmamış günlük kullanım verilerini göremeyebilirsiniz. Faturalanan kullanım verilerini aldıktan sonra, ayın başından itibaren güncelleştirilmiş tüm faturalanmamış kullanım verilerini alabilirsiniz.
Mümkün olan en doğru ve zamanında bilgileri sağlamaya çabaladığımız için anlayışınız ve sabrınız takdir edilir.
Önkoşullar
- İş Ortağı Merkezi kimlik doğrulamasında açıklandığı gibi kimlik bilgileri. Bu senaryo hem tek başına Uygulama hem de Uygulama+Kullanıcı kimlik bilgileriyle kimlik doğrulamayı destekler.
C#
Belirtilen faturanın satır öğelerini almak için:
- Belirtilen faturanın fatura işlemlerine yönelik bir arabirim almak için ById yöntemini çağırın.
- Fatura nesnesini almak için Get veya GetAsync yöntemini çağırın.
Fatura nesnesi , belirtilen faturayla ilgili tüm bilgileri içerir. Sağlayıcı, faturalanmamış ayrıntı bilgilerinin kaynağını (örneğin, OneTime) tanımlar. InvoiceLineItemType türü belirtir (örneğin, UsageLineItem).
Aşağıdaki örnek kod, InvoiceLineItems koleksiyonunu işlemek için bir foreach döngüsü kullanır. Her InvoiceLineItemType için ayrı bir satır öğeleri koleksiyonu alınır.
InvoiceDetail örneğine karşılık gelen satır öğeleri koleksiyonunu almak için:
- Örneğin BillingProvider ve InvoiceLineItemType bilgilerini By yöntemine geçirin.
- İlişkili satır öğelerini almak için Get veya GetAsync yöntemini çağırın.
- Aşağıdaki örnekte gösterildiği gibi koleksiyonda geçiş yapmak için bir numaralandırıcı oluşturun.
// IAggregatePartner partnerOperations;
// string curencyCode;
// string period;
// int pageMaxSizeReconLineItems = 2000;
// all the operations executed on this partner operation instance will share the same correlation Id but will differ in request Id
IPartner scopedPartnerOperations = partnerOperations.With(RequestContextFactory.Instance.Create(Guid.NewGuid()));
var seekBasedResourceCollection = scopedPartnerOperations.Invoices.ById("unbilled").By("onetime", "usagelineitems", curencyCode, period, pageMaxSizeReconLineItems).Get();
var fetchNext = true;
ConsoleKeyInfo keyInfo;
var itemNumber = 1;
while (fetchNext)
{
Console.Out.WriteLine("\tLine items count: " + seekBasedResourceCollection.Items.Count());
seekBasedResourceCollection.Items.ToList().ForEach(item =>
{
// Instance of type DailyRatedUsageLineItem
if (item is DailyRatedUsageLineItem)
{
Type t = typeof(DailyRatedUsageLineItem);
PropertyInfo[] properties = t.GetProperties();
foreach (PropertyInfo property in properties)
{
// Insert code here to work with the line item properties
}
}
itemNumber++;
});
Console.Out.WriteLine("\tPress any key to fetch next data. Press the Escape (Esc) key to quit: \n");
keyInfo = Console.ReadKey();
if (keyInfo.Key == ConsoleKey.Escape)
{
break;
}
fetchNext = !string.IsNullOrWhiteSpace(seekBasedResourceCollection.ContinuationToken);
if (fetchNext)
{
if (seekBasedResourceCollection.Links.Next.Headers != null && seekBasedResourceCollection.Links.Next.Headers.Any())
{
seekBasedResourceCollection = scopedPartnerOperations.Invoices.ById("unbilled").By("onetime", "usagelineitems", curencyCode, period, pageMaxSizeReconLineItems).Seek(seekBasedResourceCollection.ContinuationToken, SeekOperation.Next);
}
}
}
Benzer bir örnek için bkz:
- Örnek: Konsol test uygulaması
- Proje: İş Ortağı Merkezi SDK Örnekleri
- Sınıf: GetUnBilledConsumptionReconLineItemsPaging.cs
REST isteği
İstek söz dizimi
Kullanım örneğine bağlı olarak REST isteğiniz için aşağıdaki söz dizimlerini kullanabilirsiniz. Daha fazla bilgi için her söz diziminin açıklamalarına bakın.
Metot | İstek URI'si | Söz dizimi kullanım örneğinin açıklaması |
---|---|---|
GET | {baseURL}/v1/invoices/unbilled/lineitems?provider=onetime&invoicelineitemtype=usagelineitems¤cycode={currencycode}&period={period} HTTP/1.1 | Verilen fatura için her satır öğesinin tam listesini döndürmek için bu söz dizimini kullanın. |
GET | {baseURL}/v1/invoices/unbilled/lineitems?provider=onetime&invoicelineitemtype=usagelineitems¤cycode={currencycode}&period={period}&size={size} HTTP/1.1 | Büyük faturalar için bu söz dizimlerini kullanın. Satır öğelerinin sayfalanmış listesini döndürmek için bu söz dizimini belirtilen boyut ve 0 tabanlı uzaklık ile kullanın. |
GET | {baseURL}/v1/invoices/unbilled/lineitems?provider=onetime&invoicelineitemtype=usagelineitems¤cycode={currencycode}&period={period}&size={size}&seekOperation=Next | kullanarak seekOperation = "Next" mutabakat satırı öğelerinin sonraki sayfasını almak için bu söz dizimini kullanın. |
URI parametreleri
İsteği oluştururken aşağıdaki URI'yi ve sorgu parametrelerini kullanın.
Adı | Tür | Zorunlu | Açıklama |
---|---|---|---|
sağlayıcı | string | Yes | Sağlayıcı: "OneTime". |
invoice-line-item-type | string | Yes | Fatura ayrıntılarının türü: "UsageLineItems", "UsageLineItems". |
currencyCode | string | Yes | Faturalanmamış satır öğelerinin para birimi kodu. |
dönem | string | Yes | Faturalanmamış mutabakat dönemi (örneğin: geçerli, önceki). Ocak ayında fatura dönemine (01/01/2020 – 01/31/2020) ait faturalanmamış kullanım verilerinizi sorgulamanız gerektiğini varsayalım, dönemi "Geçerli" olarak, diğer adıyla "Önceki" olarak seçin. |
size | numara | Hayır | Döndürülecek en fazla öğe sayısı. Varsayılan boyut 2000'dir. |
seekOperation | Dize | Hayır | Mutabakat satırı öğelerinin sonraki sayfasını alacak şekilde ayarlayın seekOperation=Next . |
İstek üst bilgileri
Daha fazla bilgi için bkz . İş Ortağı Merkezi REST üst bilgileri.
Request body
Yok.
REST yanıtı
Başarılı olursa, yanıt satır öğesi ayrıntıları koleksiyonunu içerir.
ChargeType satır öğesi için Purchase değeri Yeni ve Para İadesi değeri İptal'e eşlenir.
Yanıt başarısı ve hata kodları
Her yanıt, başarılı veya başarısız olduğunu ve diğer hata ayıklama bilgilerini gösteren bir HTTP durum koduyla birlikte gelir. Bu kodu, hata türünü ve diğer parametreleri okumak için bir ağ izleme aracı kullanın. Tam liste için bkz . İş Ortağı Merkezi REST hata kodları.
İstek yanıtı örnekleri
İstek yanıtı örneği 1
Aşağıdaki ayrıntılar bu örnek için geçerlidir:
- Sağlayıcı: OneTime
- InvoiceLineItemType: UsageLineItems
- Dönem: Önceki
İstek örneği 1
GET https://api.partnercenter.microsoft.com/v1//invoices/unbilled/lineitems?provider=onetime&invoicelineitemtype=usagelineitems¤cycode=usd&period=previous&size=2000 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 1234ecb8-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
Önemli
Haziran 2023 itibarıyla en son İş Ortağı Merkezi .NET SDK sürümü 3.4.0 arşivlenmiştir. SDK sürümünü, yararlı bilgiler içeren bir benioku dosyasıyla birlikte GitHub'dan indirebilirsiniz.
İş ortaklarının İş Ortağı Merkezi REST API'lerini kullanmaya devam etmesi teşvik edilir.
Yanıt örneği 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: 1234ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CV: bpqyomePDUqrSSYC.0
MS-ServerId: 202010406
Date: Wed, 20 Feb 2019 19:59:27 GMT
{
"totalCount": 2,
"items": [
{
"partnerId": "00083575-bbd0-54de-b2ad-0f5b0e927d71",
"partnerName": "MTBC",
"customerId": "",
"customerName": "",
"customerDomainName": "",
"invoiceNumber": "",
"productId": "",
"skuId": "",
"availabilityId": "",
"skuName": "VM-Series Next-Generation Firewall (Bundle 2 PAYG)",
"productName": "VM-Series Next Generation Firewall",
"publisherName": "Test Alto Networks, Inc.",
"publisherId": "",
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"subscriptionDescription": "Pay-As-You-Go",
"chargeStartDate": "2019-01-01T00:00:00Z",
"chargeEndDate": "2019-02-01T00:00:00Z",
"usageDate": "2019-01-01T00:00:00Z",
"meterType": "1 Compute Hour - 4core",
"meterCategory": "Virtual Machine Licenses",
"meterId": "4core",
"meterSubCategory": "VM-Series Next Generation Firewall",
"meterName": "VM-Series Next Generation Firewall - VM-Series Next-Generation Firewall (Bundle 2 PAYG) - 4 Core Hours",
"meterRegion": "",
"unitOfMeasure": "1 Hour",
"resourceLocation": "EASTUS",
"consumedService": "Microsoft.Compute",
"resourceGroup": "ECH-PAN-RG",
"resourceUri": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ECH-PAN-RG/providers/Microsoft.Compute/virtualMachines/echpanfw",
"tags": "",
"additionalInfo": "{ \"ImageType\": null, \"ServiceType\": \"Standard_D3_v2\", \"VMName\": null, \"VMProperties\": null, \"UsageType\": \"ComputeHR_SW\"}",
"serviceInfo1": "",
"serviceInfo2": "",
"customerCountry": "",
"mpnId": "1234567",
"resellerMpnId": "",
"chargeType": "",
"unitPrice": 1.2799888920023,
"quantity": 24.0,
"unitType": "",
"billingPreTaxTotal": 30.7197334080551,
"billingCurrency": "USD",
"pricingPreTaxTotal": 30.7197334080551,
"pricingCurrency": "USD",
"entitlementId": "3f47bcf1-965d-40a1-a2bc-3d5db3653250",
"entitlementDescription": "Partner Subscription",
"pcToBCExchangeRate": 1,
"pcToBCExchangeRateDate": "2019-08-01T00:00:00Z",
"effectiveUnitPrice": 0,
"rateOfPartnerEarnedCredit": 0,
"rateOfCredit": 0,
"creditType": "Credit Not Applied",
"invoiceLineItemType": "usage_line_items",
"billingProvider": "marketplace",
"benefitOrderId": "5ea053d6-4a0d-46ef-bc82-15065b475d01",
"benefitId": "28ddab06-2c5b-479e-88bb-7b7bfda4e7fd",
"benefitType": "SavingsPlan",
"attributes": {
"objectType": "DailyRatedUsageLineItem"
}
},
{
"partnerId": "00083575-bbd0-54de-b2ad-0f5b0e927d71",
"partnerName": "MTBC",
"customerId": "",
"customerName": "",
"customerDomainName": "",
"invoiceNumber": "",
"productId": "",
"skuId": "",
"availabilityId": "",
"skuName": "VM-Series Next-Generation Firewall (Bundle 2 PAYG)",
"productName": "VM-Series Next Generation Firewall",
"publisherName": "Test Alto Networks, Inc.",
"publisherId": "",
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"subscriptionDescription": "Pay-As-You-Go",
"chargeStartDate": "2019-01-01T00:00:00Z",
"chargeEndDate": "2019-02-01T00:00:00Z",
"usageDate": "2019-01-02T00:00:00Z",
"meterType": "1 Compute Hour - 4core",
"meterCategory": "Virtual Machine Licenses",
"meterId": "4core",
"meterSubCategory": "VM-Series Next Generation Firewall",
"meterName": "VM-Series Next Generation Firewall - VM-Series Next-Generation Firewall (Bundle 2 PAYG) - 4 Core Hours",
"meterRegion": "",
"unitOfMeasure": "1 Hour",
"resourceLocation": "EASTUS",
"consumedService": "Microsoft.Compute",
"resourceGroup": "ECH-PAN-RG",
"resourceUri": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ECH-PAN-RG/providers/Microsoft.Compute/virtualMachines/echpanfw",
"tags": "",
"additionalInfo": "{ \"ImageType\": null, \"ServiceType\": \"Standard_D3_v2\", \"VMName\": null, \"VMProperties\": null, \"UsageType\": \"ComputeHR_SW\"}",
"serviceInfo1": "",
"serviceInfo2": "",
"customerCountry": "",
"mpnId": "1234567",
"resellerMpnId": "",
"chargeType": "",
"unitPrice": 1.2799888920023,
"quantity": 24.0,
"unitType": "",
"billingPreTaxTotal": 30.7197334080551,
"billingCurrency": "USD",
"pricingPreTaxTotal": 30.7197334080551,
"pricingCurrency": "USD",
"entitlementId": "31cdf47f-b249-4edd-9319-637862d12345",
"entitlementDescription": "Partner Subscription",
"pcToBCExchangeRate": 1,
"pcToBCExchangeRateDate": "2019-08-01T00:00:00Z",
"effectiveUnitPrice": 0,
"rateOfPartnerEarnedCredit": 0,
"rateOfCredit": 1,
"creditType": "Azure Credit Applied",
"invoiceLineItemTypce": "usage_line_items",
"billingProvider": "marketplace",
"benefitOrderId": "",
"benefitId": "",
"benefitType": "Charge",
"attributes": {
"objectType": "DailyRatedUsageLineItem"
}
}
],
"links": {
"self": {
"uri": "/invoices/unbilled/lineitems?provider=onetime&invoicelineitemtype=usagelineitems¤cycode=usd&period=previous&size=2000",
"method": "GET",
"headers": []
},
"next": {
"uri": "/invoices/unbilled/lineitems?provider=onetime&invoicelineitemtype=usagelineitems¤cycode=usd&period=previous&size=2000&seekOperation=Next",
"method": "GET",
"headers": [
{
"key": "MS-ContinuationToken",
"value": "AQAAAA=="
}
]
}
},
"attributes": {
"objectType": "Collection"
}
}
İstek yanıtı örneği 2
Aşağıdaki ayrıntılar bu örnek için geçerlidir:
- Sağlayıcı: OneTime
- InvoiceLineItemType: UsageLineItems
- Dönem: Önceki
- SeekOperation: İleri
İstek örneği 2
GET https://api.partnercenter.microsoft.com/v1/invoices/unbilled/lineitems?provider=onetime&invoiceLineItemType=usagelineitems¤cyCode=usd&period=previous&size=2000&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: 1234ecb8-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
Yanıt örneği 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: 1234ecb8-37af-45f4-a1a1-358de3ca2b9e
MS-CV: bpqyomePDUqrSSYC.0
MS-ServerId: 202010406
Date: Wed, 20 Feb 2019 19:59:27 GMT
{
"totalCount": 1,
"items": [
{
"partnerId": "00083575-bbd0-54de-b2ad-0f5b0e927d71",
"partnerName": "MTBC",
"customerId": "",
"customerName": "",
"customerDomainName": "",
"invoiceNumber": "",
"productId": "",
"skuId": "",
"availabilityId": "",
"skuName": "VM-Series Next-Generation Firewall (Bundle 2 PAYG)",
"productName": "VM-Series Next Generation Firewall",
"publisherName": "Test Alto Networks, Inc.",
"publisherId": "",
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"subscriptionDescription": "Pay-As-You-Go",
"chargeStartDate": "2019-01-01T00:00:00Z",
"chargeEndDate": "2019-02-01T00:00:00Z",
"usageDate": "2019-01-02T00:00:00Z",
"meterType": "1 Compute Hour - 4core",
"meterCategory": "Virtual Machine Licenses",
"meterId": "4core",
"meterSubCategory": "VM-Series Next Generation Firewall",
"meterName": "VM-Series Next Generation Firewall - VM-Series Next-Generation Firewall (Bundle 2 PAYG) - 4 Core Hours",
"meterRegion": "",
"unitOfMeasure": "1 Hour",
"resourceLocation": "EASTUS",
"consumedService": "Microsoft.Compute",
"resourceGroup": "ECH-PAN-RG",
"resourceUri": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ECH-PAN-RG/providers/Microsoft.Compute/virtualMachines/echpanfw",
"tags": "",
"additionalInfo": "{ \"ImageType\": null, \"ServiceType\": \"Standard_D3_v2\", \"VMName\": null, \"VMProperties\": null, \"UsageType\": \"ComputeHR_SW\"}",
"serviceInfo1": "",
"serviceInfo2": "",
"customerCountry": "",
"mpnId": "1234567",
"resellerMpnId": "",
"chargeType": "",
"unitPrice": 1.2799888920023,
"quantity": 24.0,
"unitType": "",
"billingPreTaxTotal": 30.7197334080551,
"billingCurrency": "USD",
"pricingPreTaxTotal": 30.7197334080551,
"pricingCurrency": "USD",
"entitlementId": "31cdf47f-b249-4edd-9319-637862d8c0b4",
"entitlementDescription": "Partner Subscription",
"pcToBCExchangeRate": 1,
"pcToBCExchangeRateDate": "2019-08-01T00:00:00Z",
"effectiveUnitPrice": 0,
"rateOfPartnerEarnedCredit": 0.15,
"rateOfCredit": 0.15,
"creditType": "Partner Earned Credit Applied",
"invoiceLineItemType": "usage_line_items",
"billingProvider": "marketplace",
"benefitOrderId": "",
"benefitId": "",
"benefitType": "Charge",
"attributes": {
"objectType": "DailyRatedUsageLineItem"
}
}
],
"links": {
"self": {
"uri": "/invoices/unbilled/lineitems?provider=onetime&invoicelineitemtype=usagelineitems¤cycode=usd&period=previous&size=2000",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}