Dapatkan item baris konsumsi komersial yang tidak ditagih faktur
Catatan
Setelah 30 September 2024, API ini tidak akan lagi berfungsi. Gunakan informasi untuk memilih versi dan paket Anda ke depan.
- Untuk mengakses detail penggunaan harian yang tidak ditagih untuk periode penagihan saat ini dan sebelumnya, gunakan API ini. Anda dapat menggunakannya hingga 30 September 2024, kecuali Anda beralih ke v2 GA sebelum tanggal tersebut.
- Untuk mendapatkan penggunaan peringkat harian yang tidak ditagih untuk periode saat ini dan sebelumnya, beralihlah ke API v2 GA paling lambat 30 September 2024.
Untuk langkah-langkah migrasi API v2, buka:
Api rekonsiliasi penggunaan harian yang ditagih dan tidak ditagih
Cara mendapatkan kumpulan detail item baris konsumsi komersial yang tidak tertagih.
Anda dapat menggunakan metode berikut untuk mendapatkan kumpulan detail item baris konsumsi komersial yang tidak ditagih (juga dikenal sebagai item baris penggunaan terbuka) secara terprogram.
Penting
Data penggunaan berperingkat harian tidak menyertakan biaya untuk produk-produk ini:
- Reservasi Azure
- Paket penghematan Azure
- Office
- Dynamics
- Microsoft Power Apps
- Perangkat lunak abadi
- Langganan perangkat lunak
- Produk SaaS Marketplace
Catatan
Anda dapat mengambil data penggunaan harian yang tidak ditagih melalui API atau portal Pusat Mitra. Dibutuhkan waktu hingga 24 jam agar data tersedia. Namun, mungkin ada keterlambatan lebih lanjut tergantung pada lokasi Anda dan kapan meter melaporkan penggunaan.
Terkadang, Anda mungkin tidak melihat data penggunaan terbaru yang tidak ditagih hingga data penggunaan yang ditagih untuk bulan sebelumnya dikirimkan. Ini dilakukan untuk memastikan bahwa data penggunaan yang ditagih dikirimkan dalam waktu yang disepakati. Setelah menerima data penggunaan yang ditagih, Anda harus dapat mengambil semua data penggunaan yang belum diperbarui dari awal bulan.
Prasyarat
- Kredensial seperti yang dijelaskan dalam autentikasi Pusat Mitra. Skenario ini mendukung autentikasi dengan kredensial Aplikasi mandiri dan Aplikasi+Pengguna.
C#
Untuk mendapatkan item baris untuk faktur yang ditentukan:
- Panggil metode ById untuk mendapatkan antarmuka ke operasi faktur untuk faktur yang ditentukan.
- Panggil metode Dapatkan atau GetAsync untuk mengambil objek faktur.
Objek faktur berisi semua informasi untuk faktur yang ditentukan. Penyedia mengidentifikasi sumber informasi detail yang tidak tertagih (misalnya, OneTime). InvoiceLineItemType menentukan jenis (misalnya, UsageLineItem).
Contoh kode berikut menggunakan perulangan foreach untuk memproses koleksi InvoiceLineItems . Kumpulan item baris terpisah diambil untuk setiap InvoiceLineItemType.
Untuk mendapatkan kumpulan item baris yang sesuai dengan instans InvoiceDetail :
- Teruskan BillingProvider dan InvoiceLineItemType instans ke metode Menurut.
- Panggil metode Dapatkan atau GetAsync untuk mengambil item baris terkait.
- Buat enumerator untuk melintasi koleksi seperti yang ditunjukkan dalam contoh berikut.
// 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);
}
}
}
Untuk contoh serupa, lihat:
- Sampel: Aplikasi pengujian konsol
- Proyek: Sampel SDK Pusat Mitra
- Kelas: GetUnBilledConsumptionReconLineItemsPaging.cs
Permintaan REST
Minta sintaks
Anda dapat menggunakan sintaks berikut untuk permintaan REST Anda, tergantung pada kasus penggunaan Anda. Untuk informasi selengkapnya, lihat deskripsi untuk setiap sintaks.
Metode | URI Permintaan | Deskripsi kasus penggunaan sintaks |
---|---|---|
DAPATKAN | {baseURL}/v1/invoices/unbilled/lineitems?provider=onetime&invoicelineitemtype=usagelineitems¤cycode={currencycode}&period={period} HTTP/1.1 | Gunakan sintaks ini untuk mengembalikan daftar lengkap setiap item baris untuk faktur yang diberikan. |
DAPATKAN | {baseURL}/v1/invoices/unbilled/lineitems?provider=onetime&invoicelineitemtype=usagelineitems¤cycode={currencycode}&period={period}&size={size} HTTP/1.1 | Gunakan sintaks ini untuk faktur besar. Gunakan sintaks ini dengan ukuran tertentu dan offset berbasis 0 untuk mengembalikan daftar halaman item baris. |
DAPATKAN | {baseURL}/v1/invoices/unbilled/lineitems?provider=onetime&invoicelineitemtype=usagelineitems¤cycode={currencycode}&period={period}&size={size}&seekOperation=Next | Gunakan sintaks ini untuk mendapatkan halaman berikutnya dari item baris rekonsiliasi menggunakan seekOperation = "Next" . |
Parameter URI
Gunakan parameter URI dan kueri berikut saat membuat permintaan.
Nama | Tipe | Wajib | Deskripsi |
---|---|---|---|
penyedia | string | Ya | Penyedia: "OneTime". |
jenis item baris faktur | string | Ya | Jenis detail faktur: "UsageLineItems", "UsageLineItems". |
currencyCode | string | Ya | Kode mata uang untuk item baris yang tidak ditagih. |
periode | string | Ya | Periode untuk pengintaian yang tidak ditagih (misalnya: saat ini, sebelumnya). Misalkan Anda perlu mengkueri data penggunaan yang tidak tertagih dari siklus penagihan (01/01/2020 – 31/01/2020) pada bulan Januari, pilih periode sebagai "Saat Ini" , atau "Sebelumnya." |
size | number | No | Jumlah maksimum item yang akan dikembalikan. Ukuran defaultnya adalah 2000. |
seekOperation | string | No | Atur seekOperation=Next untuk mendapatkan halaman berikutnya dari item baris rekonsiliasi. |
Header permintaan
Untuk informasi selengkapnya, lihat Header REST Pusat Mitra.
Isi permintaan
Tidak ada.
Respons REST
Jika berhasil, respons berisi kumpulan detail item baris.
Untuk item baris ChargeType, nilai Pembelian dipetakan ke Baru dan nilai Pengembalian Dana dipetakan ke Batal.
Kode kesalahan dan keberhasilan respons
Setiap respons dilengkapi dengan kode status HTTP yang menunjukkan keberhasilan atau kegagalan dan informasi penelusuran kesalahan lainnya. Gunakan alat pelacakan jaringan untuk membaca kode ini, jenis kesalahan, dan lebih banyak parameter. Untuk daftar lengkapnya, lihat Kode kesalahan REST Pusat Mitra.
Contoh respons permintaan
Contoh respons permintaan 1
Detail berikut berlaku untuk contoh ini:
- Penyedia: OneTime
- InvoiceLineItemType: UsageLineItems
- Periode: Sebelumnya
Contoh permintaan 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: 5e612512-4345-4bb0-866e-47aeda031234
X-Locale: en-US
MS-PartnerCenter-Application: Partner Center .NET SDK Samples
Host: api.partnercenter.microsoft.com
Penting
Pada Juni 2023, Pusat Mitra terbaru .NET SDK rilis 3.4.0 sekarang diarsipkan. Anda dapat mengunduh rilis SDK dari GitHub, bersama dengan file readme yang berisi informasi yang berguna.
Mitra didorong untuk terus menggunakan REST API Pusat Mitra.
Contoh respons 1
HTTP/1.1 200 OK
Content-Length: 2484
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 5e612512-4345-4bb0-866e-47aeda031234
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": "12345678-04d9-421c-baf8-e3b8dd62ddba",
"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/12345678-04d9-421c-baf8-e3b8dd62ddba/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": "12345678-04d9-421c-baf8-e3b8dd62ddba",
"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/12345678-04d9-421c-baf8-e3b8dd62ddba/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"
}
}
Contoh respons permintaan 2
Detail berikut berlaku untuk contoh ini:
- Penyedia: OneTime
- InvoiceLineItemType: UsageLineItems
- Periode: Sebelumnya
- SeekOperation: Berikutnya
Contoh permintaan 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: 5e612512-4345-4bb0-866e-47aeda031234
X-Locale: en-US
MS-PartnerCenter-Application: Partner Center .NET SDK Samples
Host: api.partnercenter.microsoft.com
Contoh respons 2
HTTP/1.1 200 OK
Content-Length: 2484
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 5e612512-4345-4bb0-866e-47aeda031234
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": "12345678-04d9-421c-baf8-e3b8dd62ddba",
"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/12345678-04d9-421c-baf8-e3b8dd62ddba/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"
}
}
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk