Olvasás angol nyelven

Megosztás a következőn keresztül:


Nem számlázott kereskedelmi használatalapú sortételek lekérése

Megjegyzés

Főbb áttelepítési dátumok és forgatókönyvek

Az API verzióátmeneti stratégiája úgy lett kialakítva, hogy zökkenőmentes migrálást biztosítson az API v1-ről az API 2-es verziójára, a funkcionalitás és az adatintegritás fenntartására összpontosítva. Az alábbi útmutató segítséget nyújt az igényeinek megfelelő API-verzió kiválasztásában:

A forgatókönyv: Aktuális vagy korábbi számlázási időszakok (2025. április 21. előtt):

  • 2025. április 21-ig továbbra is használhatja ezt az API-, kivéve, ha már áttért az API v2 GA-ra.

B. forgatókönyv: Aktuális vagy korábbi számlázási időszakok (2025. április 21. után):

  • Váltás API v2 GA-re az összes jövőbeli számlázási időszak adatlekéréséhez.

Az API v1-ről az API v2-re való áttérés részletes tervezést és pontos végrehajtást igényel. Az új API-ra való zökkenőmentes áttérés érdekében látogasson el a következő webhelyre: Számlázott és nem számlázott napi arányszámított használati egyeztetési API v2 (GA).

Nagyra értékeljük a figyelmét, és elkötelezettek vagyunk a folyamatos sikerek támogatása mellett a számlázási API-k segítségével.

Hogyan kérhet le egy gyűjteményt a nembilled kereskedelmi fogyasztási sor elemeinek részleteiből.

Az alábbi módszerekkel programozott módon lekérheti a korlátlan kereskedelmi felhasználású sorelemek (más néven nyílt használati sorelemek) részleteit.

Fontos

A napi névleges használati adatok nem tartalmazzák az alábbi termékek díjait:

  • Azure-foglalás
  • Azure megtakarítási terv
  • Office
  • Dynamics
  • Microsoft Power Apps
  • Állandó szoftver
  • Szoftver-előfizetés
  • Nem Microsoft- vagy Marketplace SaaS-termék

Megjegyzés

A nem minősített napi besorolású használati sorok elemeit az API-n vagy a Partnerközpont portálján érheti el. Az adatok pontosságának biztosítása érdekében akár 24 órát is igénybe lehet adni a rendelkezésre álláshoz. A helyétől és a fogyasztásmérők használati adataitól függően további késések is előfordulhatnak.

Először a számlázott napi névleges használati adatok időkézbesítését rangsoroljuk. Előfordulhat, hogy a legutóbbi számlázatlan napi elszámolt használati adatok nem jelennek meg, amíg az előző havi számlázott adatok nem érhetők el. Miután megkapta a számlázott adatokat, a hónap elejétől hozzáférhet az összes frissített, nem korlátlan használati adathoz.

főbb pontok:

  • Akár 24 órát is igénybe lehet adni az adatok rendelkezésre állásához.
  • A tartózkodási helytől és a fogyasztásmérő jelentési idejétől függően további késések is előfordulhatnak.
  • A számlázott napi névleges használati adatok rangsorolása a nem minősített adatokkal szemben történik.

Megértését és türelmét nagyra értékeljük, mivel arra törekszünk, hogy a lehető legpontosabb és időzhetőbb információt nyújtsuk.

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#

A megadott számla sortételeinek lekérése:

  1. Hívja meg a ById metódust, hogy lekérje a megadott számla számlaműveleteinek felületét.
  2. A számlaobjektum lekéréséhez hívja meg a Get vagy a GetAsync metódust.

A számlaobjektum a megadott számla összes információját tartalmazza. A szolgáltató azonosítja a nem egységes részletes információk forrását (például OneTime). A InvoiceLineItemType megadja a típust (például UsageLineItem).

Az alábbi példakód egy foreach hurkot használ a InvoiceLineItems gyűjtemény feldolgozásához. Minden InvoiceLineItemType esetében külön sorelemek gyűjteménye lesz lekérve.

A InvoiceDetail-példánynak megfelelő sorelemek gyűjteményének lekérése:

  1. Adja át a példány BillingProvider és InvoiceLineItemType tulajdonságát a By metódusnak.
  2. Hívja meg a Get vagy a GetAsync metódust a kapcsolódó sorelemek lekéréséhez.
  3. Hozzon létre egy enumerátort a gyűjtemény bejárásához az alábbi példában látható módon.
C#
// 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);
        }
    }
}

Hasonló példa:

REST-kérés

Kérés szintaxisa

A REST-kéréshez a következő szintaxisokat használhatja a használati esettől függően. További információkért tekintse meg az egyes szintaxisok leírását.

Metódus Kérés URI-ja A szintaxishasználati eset leírása
GET {baseURL}/v1/invoices/unbilled/lineitems?provider=onetime&invoicelineitemtype=usagelineitems¤cycode={currencycode}&period={period} HTTP/1.1 Ezzel a szintaxissal az adott számla összes sorelemének teljes listáját adja vissza.
GET {baseURL}/v1/invoices/unbilled/lineitems?provider=onetime&invoicelineitemtype=usagelineitems¤cycode={currencycode}&period={period}&size={size} HTTP/1.1 Használja ezt a szintaxist a nagyméretű számlákhoz. Ezzel a szintaxissal megadott méretű és 0-alapú eltolással adja vissza a sorelemek lapozott listáját.
GET {baseURL}/v1/invoices/unbilled/lineitems?provider=onetime&invoicelineitemtype=usagelineitems¤cycode={currencycode}&period={period}&size={size}&seekOperation=Next Ezzel a szintaxissal lekérheti az egyeztetési sorelemek következő lapját a használatával seekOperation = "Next".

URI-paraméterek

A kérés létrehozásakor használja az alábbi URI- és lekérdezési paramétereket.

Név Típus Kötelező Leírás
szolgáltató sztring Igen A szolgáltató: "OneTime".
számlasor-tétel típusa sztring Igen A számla részleteinek típusa: "UsageLineItems", "UsageLineItems".
currencyCode sztring Igen A nembilált sorelemek pénznemkódja.
periódus sztring Igen A nem visszavont felderítés időszaka (például aktuális, előző). Tegyük fel, hogy a számlázási ciklus (2020.01.01. – 2020.01.31.) nem korlátlan használati adatait kell lekérdeznie januárban, válassza az "Aktuális" vagy "Előző" időszakot.
Méret szám Nem A visszaadni kívánt elemek maximális száma. Az alapértelmezett méret 2000.
seekOperation sztring Nem Állítsa be seekOperation=Next az egyeztetési sorelemek következő oldalának lekérésére.

Kérésfejlécek

További információ: Partnerközpont – REST fejlécek.

Kérés törzse

Nincs.

REST-válasz

Ha sikeres, a válasz tartalmazza a sorelem részleteinek gyűjteményét.

A ChargeType sortételnél a Vásárlás érték Új értékre van leképezve, a Visszatérítés érték pedig a Mégse értékre van leképezve.

Válasz sikeresség és hibakódok

Minden válaszhoz tartozik egy HTTP-állapotkód, amely jelzi a sikert vagy a hibát, valamint egyéb hibakeresési információkat. Ezt a kódot, hibatípust és további paramétereket egy hálózati nyomkövetési eszközzel olvashatja el. A teljes listát a Partnerközpont REST-hibakódjaiban találja.

Példák a kérés-válaszra

1. példa a kérelem-válaszra

A példára a következő részletek vonatkoznak:

  • Szolgáltató: OneTime
  • InvoiceLineItemType: UsageLineItems
  • Időszak: Előző

1. példa kérése

HTTP
GET https://api.partnercenter.microsoft.com/v1//invoices/unbilled/lineitems?provider=onetime&invoicelineitemtype=usagelineitems&currencycode=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

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.

Példa válasz 1

HTTP
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&currencycode=usd&period=previous&size=2000",
            "method": "GET",
            "headers": []
        },
        "next": {
            "uri": "/invoices/unbilled/lineitems?provider=onetime&invoicelineitemtype=usagelineitems&currencycode=usd&period=previous&size=2000&seekOperation=Next",
            "method": "GET",
            "headers": [
                {
                    "key": "MS-ContinuationToken",
                    "value": "AQAAAA=="
                }
            ]
        }
    },
    "attributes": {
        "objectType": "Collection"
    }
}

2. példa a kérelem-válaszra

A példára a következő részletek vonatkoznak:

  • Szolgáltató: OneTime
  • InvoiceLineItemType: UsageLineItems
  • Időszak: Előző
  • SeekOperation: Tovább

2. példa kérése

HTTP
GET https://api.partnercenter.microsoft.com/v1/invoices/unbilled/lineitems?provider=onetime&invoiceLineItemType=usagelineitems&currencyCode=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

Példa 2. válaszra

HTTP
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&currencycode=usd&period=previous&size=2000",
            "method": "GET",
            "headers": []
        }
    },
    "attributes": {
        "objectType": "Collection"
    }
}