Mendapatkan kumpulan faktur
Berlaku untuk: Pusat Mitra | Pusat Mitra yang dioperasikan oleh 21Vianet | Pusat Mitra untuk Microsoft Cloud untuk Pemerintah AS
Cara mengambil koleksi faktur mitra.
Prasyarat
- Kredensial seperti yang dijelaskan dalam autentikasi Pusat Mitra. Skenario ini mendukung autentikasi dengan kredensial Aplikasi mandiri dan Aplikasi+Pengguna.
C#
Untuk mendapatkan koleksi semua faktur yang tersedia, gunakan properti Faktur untuk mendapatkan antarmuka ke operasi faktur, lalu panggil metode Get atau GetAsync untuk mengambil koleksi.
Untuk mendapatkan kumpulan faktur halaman, pertama-tama panggil metode BuildIndexedQuery dan teruskan ukuran halaman untuk membuat objek IQuery. Selanjutnya, gunakan properti Faktur untuk mendapatkan antarmuka ke operasi faktur, lalu teruskan objek IQuery ke metode Query atau QueryAsync untuk mengirim permintaan dan mendapatkan halaman pertama.
Selanjutnya, gunakan properti Enumerators untuk mendapatkan antarmuka ke kumpulan enumerator koleksi sumber daya yang didukung, lalu panggil Invoices.Create untuk membuat enumerator untuk melintas kumpulan faktur. Terakhir, gunakan enumerator untuk mengambil dan bekerja dengan setiap halaman faktur seperti yang ditunjukkan dalam contoh kode berikut. Setiap panggilan ke metode Berikutnya mengirimkan permintaan untuk halaman faktur berikutnya berdasarkan ukuran halaman.
// IAggregatePartner partnerOperations;
// int invoicePageSize;
// Is this an unpaged or paged request?
bool isUnpaged = (this.invoicePageSize <= 0);
// If the scenario is unpaged, get all the invoices, otherwise get the first page.
var invoicesPage = (isUnpaged)
? partnerOperations.Invoices.Get()
: partnerOperations.Invoices.Query(QueryFactory.Instance.BuildIndexedQuery(this.invoicePageSize));
// Create an invoice enumerator for traversing the invoice pages.
var invoicesEnumerator = partnerOperations.Enumerators.Invoices.Create(invoicesPage);
int lineCounter = 1;
while (invoicesEnumerator.HasValue)
{
// Print the current invoice results page.
var invoices = invoicesEnumerator.Current.Items;
foreach (var i in invoices)
{
Console.WriteLine(String.Format("{0,3}. {1} {2} {3,16:C2}",
lineCounter++,
i.Id,
i.InvoiceDate.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"),
i.TotalCharges));
}
Console.WriteLine();
Console.Write("Press any key to retrieve the next invoices page");
Console.ReadKey();
// Get the next page of invoices.
invoicesEnumerator.Next();
}
Untuk contoh yang sedikit berbeda, lihat Sampel: Aplikasi pengujian konsol. Proyek: Kelas Sampel SDK Pusat Mitra: GetPagedInvoices.cs
Catatan
API yang sama digunakan untuk semua pembelian komersial modern serta lisensi 145p dan Office. Ukuran dan offset hanya dipertimbangkan untuk faktur warisan. Untuk semua pembelian komersial modern, pagesize &offset akan diabaikan.
Permintaan REST
Minta sintaks
Metode | URI Permintaan |
---|---|
DAPATKAN | {baseURL}/v1/invoices?size={size}&offset={offset} HTTP/1.1 |
Parameter URI
Gunakan parameter kueri berikut saat membuat permintaan.
Nama | Jenis | Wajib | Deskripsi |
---|---|---|---|
size | int | No | Jumlah sumber daya faktur yang akan dikembalikan dalam respons. Parameter ini bersifat opsional. |
offset | int | No | Indeks berbasis nol dari faktur pertama yang dikembalikan. |
Header permintaan
Untuk informasi selengkapnya, lihat Header REST Pusat Mitra.
Isi permintaan
Tidak
Contoh permintaan
GET https://api.partnercenter.microsoft.com/v1/invoices?size=200&offset=0 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: e88d014d-ab70-41de-90a0-f7fd1797267d
MS-CorrelationId: de894e18-f027-4ac0-8b5a-34f0c222af0c
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.
Respons REST
Jika berhasil, isi respons berisi kumpulan sumber daya Faktur .
Kode kesalahan dan keberhasilan respons
Setiap respons dilengkapi dengan kode status HTTP yang menunjukkan keberhasilan atau kegagalan dan informasi penelusuran kesalahan tambahan. Gunakan alat pelacakan jaringan untuk membaca kode ini, jenis kesalahan, dan parameter tambahan. Untuk daftar lengkapnya, lihat Kode kesalahan REST Pusat Mitra.
Contoh tanggapan
HTTP/1.1 200 OK
Content-Length: 256
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 57eb2ca7-755f-450f-9187-eae1e75a0114
MS-RequestId: a45e6643-1caf-4429-8f90-07c03d85bc2b
Date: Thu, 24 Mar 2016 05:21:01 GMT
{
"totalCount": 2,
"items": [
{
"id": "D02005YFHI",
"invoiceDate": "2017-01-21T00:00:00Z",
"totalCharges": 24606.35,
"paidAmount": 1000,
"currencyCode": "GBP",
"currencySymbol": "£",
"pdfDownloadLink": "/invoices/D02005YFHI/documents/statement",
"taxReceipts": [
{
"id": "123456",
"taxReceiptPdfDownloadLink": "/invoices/D02005YFHI/receipts/123456/documents/statement"
}
],
"invoiceDetails": [
{
"invoiceLineItemType": "billing_line_items",
"billingProvider": "office",
"links": {
"self": {
"uri": "/invoices/Recurring-D02005YFHI/lineitems/Office/BillingLineItems",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "InvoiceDetail"
}
}
],
"documentType": "invoice",
"invoiceType": "Recurring",
"links": {
"self": {
"uri": "/invoices/Recurring-D02005YFHI",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Invoice"
}
},
{
"id": "G000024130",
"invoiceDate": "2018-02-08T01:22:47.603895Z",
"totalCharges": 586366,
"paidAmount": 0,
"currencyCode": "CHF",
"currencySymbol": "CHF",
"pdfDownloadLink": "/invoices/G000024130/documents/statement",
"taxReceipts": [
{
"id": "234567",
"taxReceiptPdfDownloadLink": "/invoices/G000024130/receipts/234567/documents/statement"
}
],
"invoiceDetails": [
{
"invoiceLineItemType": "billing_line_items",
"billingProvider": "one_time",
"links": {
"self": {
"uri": "/invoices/OneTime-G000024130/lineitems/OneTime/BillingLineItems",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "InvoiceDetail"
}
}
],
"amendments": [
{
"id": "G000024131",
"invoiceDate": "2018-02-08T18:44:37.5381456Z",
"totalCharges": 107661.12,
"paidAmount": 0,
"currencyCode": "CHF",
"currencySymbol": "CHF",
"invoiceDetails": [
{
"invoiceLineItemType": "billing_line_items",
"billingProvider": "one_time",
"attributes": {
"objectType": "InvoiceDetail"
}
}
],
"documentType": "adjustment_note",
"amendsOf": "G000024130",
"invoiceType": "OneTime",
"attributes": {
"objectType": "Invoice"
}
}
],
"documentType": "void_note",
"invoiceType": "OneTime",
"links": {
"self": {
"uri": "/invoices/OneTime-G000024130",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Invoice"
}
}
],
"links": {
"self": {
"uri": "/invoices?size=2&offset=0",
"method": "GET",
"headers": []
},
"next": {
"uri": "/invoices?size=2&offset=2",
"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