Számlák gyűjteményének lekérése
A következőre vonatkozik: Partnerközpont | A 21Vianet által üzemeltetett Partnerközpont | Partnerközpont a Microsoft Cloud for US Government számára
A partner számláinak gyűjteményének lekérése.
Előfeltételek
- Hitelesítő adatok a Partnerközpont hitelesítésében leírtak szerint. Ez a forgatókönyv támogatja az önálló alkalmazással és az App+Felhasználói hitelesítő adatokkal való hitelesítést is.
C#
Az összes rendelkezésre álló számla gyűjteményének lekéréséhez használja a Számlák tulajdonságot a számlaműveletek felületének lekéréséhez, majd hívja meg a Get vagy a GetAsync metódust a gyűjtemény lekéréséhez.
A számlák lapszámozott gyűjteményének lekéréséhez először hívja meg a BuildIndexedQuery metódust, és adja meg az oldalméretet egy IQuery-objektum létrehozásához. Ezután a Számlák tulajdonság használatával szerezze be a számlaműveletek felületét, majd adja át az IQuery objektumot a Query vagy QueryAsync metódusnak a kérés elküldéséhez és az első oldal lekéréséhez.
Ezután az Enumerators tulajdonság használatával szerezze be a támogatott erőforrásgyűjtemény-enumerátorok gyűjteményének felületét, majd hívja meg a Invoices.Create függvényt, hogy létrehozhasson egy enumerátort a számlák gyűjteményének bejárásához. Végül használja az enumerátort a számlák minden oldalának lekéréséhez és használatához az alábbi kód példában látható módon. A Next metódus minden hívása a következő számlaoldalra vonatkozó kérést küld az oldalméret alapján.
// 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();
}
Egy kissé eltérő példát a Minta: Konzoltesztelő alkalmazás című témakörben talál. Projekt: Partnerközpont SDK-minták osztálya: GetPagedInvoices.cs
Megjegyzés:
Ugyanez az API minden modern kereskedelmi vásárláshoz, valamint 145p- és Office-licenchez is használható. A méret és az eltolás csak az örökölt számlák esetében számít. Minden modern kereskedelmi vásárlás esetén a pagesize & offset figyelmen kívül lesz hagyva.
REST-kérés
Kérés szintaxisa
Metódus | Kérés URI-ja |
---|---|
GET | {baseURL}/v1/számlák?size={size}&offset={offset} HTTP/1.1 |
URI-paraméterek
A kérés létrehozásakor használja az alábbi lekérdezési paramétereket.
Name | Type | Kötelező | Leírás |
---|---|---|---|
Méret | egész | Nem | A válaszban visszaadandó számlaerőforrások száma. Ez a paraméter nem kötelező. |
Eltolás | egész | Nem | Az első visszaadni kívánt számla nulla alapú indexe. |
Kérésfejlécek
További információ: Partnerközpont – REST fejlécek.
Kérés törzse
None
Példa kérése
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
Fontos
2023 júniusától a partnerközpont .NET SDK legújabb, 3.4.0-s kiadását archiváljuk. Az SDK-kiadást letöltheti a GitHubról, valamint egy hasznos információkat tartalmazó olvasófájlt.
A partnereket arra ösztönzik, hogy továbbra is használják a Partnerközpont REST API-jait.
REST-válasz
Ha sikeres, a válasz törzse tartalmazza a számlaerőforrások gyűjteményét.
Válasz sikeresség és hibakódok
Minden válaszhoz tartozik egy HTTP-állapotkód, amely jelzi a sikert vagy a hibát, valamint további hibakeresési információkat. A kód, a hibatípus és a további paraméterek olvasásához használjon hálózati nyomkövetési eszközt. A teljes listát a Partnerközpont REST-hibakódjaiban találja.
Példa válaszra
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"
}
}
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: