Olvasás angol nyelven

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


Számlázott számlaegyeztetési API v2 (GA)

A következőkre vonatkozik: Partnerközpont (az Azure Governmentben vagy az Azure China 21Vianetben nem érhető el)

Az architektúra ismertetése

Az új aszinkron API jelentős előrelépéseket kínál a számlázási és egyeztetési adathozzáférés kezelésében. Ez a megközelítés megoldja a hagyományos szinkron metódusokkal kapcsolatos kihívásokat, például a hosszú élettartamú kapcsolatok fenntartását és a nagy adatkötegek feldolgozását. Az API főbb előnyei és mechanizmusai:

Főbb összetevők

Biztonságos hozzáférés korlátozott kulcs mintával

A valet kulcs minta biztonságos és korlátozott hozzáférést biztosít a számlázási adatokhoz. Hasonlóan ahhoz, ahogyan a valet kulcs lehetővé teszi, hogy valaki anélkül vezesse az autóját, hogy nem fér hozzá a csomagtartóhoz, ez a minta biztosítja a részletes hozzáférés-vezérlést. A hitelesítő adatok megosztása helyett a közös hozzáférésű jogosultságkód (SAS) jogkivonat korlátozott, időhöz kötött hozzáférést biztosít adott erőforrásokhoz. Ez a minta a pontos lejárati idő és a hozzáférési engedélyek konfigurálásával csökkenti a jogosulatlan hozzáférés kockázatát.

Nagyobb hatékonyság az aszinkron kérés-válasz mintával

Gondolj rá úgy, mint egy forgalmas étteremben való megrendelésre. Ahelyett, hogy a pultnál várakozik, egy csengőt kap, és más műveleteket is elvégezhet, amíg a rendelése elkészült. Ha az adatok készen állnak, a rendszer értesíti Önt.

Az API aszinkron jellege azt jelenti, hogy kérést küld, és a rendszer a háttérben dolgozza fel. Ez aszinkron kérés-válasz hatékonyan használja az erőforrásokat, csökkenti a kiszolgáló terhelését, és minimalizálja a szinkron adatlekéréssel gyakran előforduló időtúllépéseket és hibákat.

Rugalmasság az adathozzáférési engedélyekben

Az SAS-jogkivonatok rugalmasan kezelhetik az adathozzáférési engedélyeket. Létrehozhat olyan jogkivonatokat, amelyek hozzáférést biztosítanak a számlázott számlaegyeztetési adatok összes attribútumához, vagy korlátozhatja az adott részhalmazokhoz való hozzáférést. Ez a részletesség lehetővé teszi a szervezetek számára az adathozzáférés belső szabályzatok és szabályozási követelmények szerinti testreszabását, ami növeli a biztonságot és a megfelelőséget.

Egyszerűsített munkafolyamat és továbbfejlesztett adatfeldolgozási idő

Az aszinkron kérés-válasz minta leegyszerűsíti az adatfeldolgozást azáltal, hogy lehetővé teszi a dinamikus hozzáférést a rögzített, 2000 sorelemből álló kötegek helyett. Ez a megközelítés gyorsabb eredményeket és jobb feldolgozási időt eredményez, ami leegyszerűsíti a számlázási és egyeztetési adatok integrálását a meglévő rendszerekbe és munkafolyamatokba.

Előnyök

  1. teljesítménybeli előnyök

    A hosszú élettartamú kapcsolatok fenntartása és a rögzített kötegek feldolgozása helyett az új rendszer lehetővé teszi a következők használatát:

    • Gyors kezdeti kérés készítése.

    • Biztonságos hozzáférési jogkivonat fogadása.

    • Saját ütemben dolgozza fel az adatokat.

    • Pontosan azt érheti el, amire szüksége van, amikor szüksége van rá.

  2. biztonsági fejlesztések

    Az SAS-jogkivonatokkal implementált parkolóinas kulcs minta a következőt biztosítja:

    • Korlátozott hozzáférés.

    • Korlátozott engedélyek.

    • Az állandó hitelesítő adatok megosztásának vagy tárolásának megszüntetése.

    • Részletes hozzáférés-vezérlés.

  3. építészeti előnyök

    Az aszinkron kérés-válasz minta úgy működik, mint egy személyi asszisztens, aki:

    • Felveszi a kérését.

    • Kezeli a feladatot a háttérben.

    • Értesítést küld, ha minden készen áll.

Optimalizált API-k bevezetése a jobb teljesítmény érdekében

Az optimalizált API-k használata leegyszerűsíti a munkafolyamatot, és javítja az adatkezelés általános teljesítményét. A biztonságos hozzáférés-vezérlés és a hatékony lekérési mechanizmusok használatával kevesebb erőfeszítéssel jobb eredményeket érhet el, ami jobb működési hatékonyságot eredményez.

Összefoglalva, a számlázási és egyeztetési adatok Azure-blobokon keresztüli elérésére szolgáló új aszinkron API hatékony eszköz. Biztonságos, hatékony hozzáférést biztosít a pénzügyi adatokhoz, egyszerűsíti a munkafolyamatokat, csökkenti a kiszolgálói terhelést, és javítja a feldolgozási időt, mindezt magas biztonsággal és megfelelőséggel.

Megjegyzés

Az új API nem a Partnerközpont API-gazdagépén található. Ehelyett a Microsoft Graph webhelyen találhatja meg a partner számlázási adatainak exportálásához a Microsoft Graph API használatával – Microsoft Graph v1.0 . Az API eléréséhez tekintse meg az alábbi részleteket.

A partner számlázási adatainak biztonságos elérésének engedélyezése az alkalmazás számára

Ha engedélyezni szeretné, hogy az alkalmazás hozzáférjen a partner számlázási adataihoz, kövesse ezt a hivatkozást, és ismerje meg a Microsoft Graph hitelesítési és engedélyezési alapjait. Ez a lépés kulcsfontosságú, mivel biztosítja, hogy az alkalmazás biztonságosan hozzáférhessen a szükséges adatokhoz.

Az alkalmazás regisztrálása és a PartnerBilling.Read.All engedély hozzárendelése

A "PartnerBilling.Read.All" engedélyt az Azure Portalon vagy a Microsoft Entra felügyeleti központban rendelheti hozzá. Ezeknek a lépéseknek a végrehajtásával biztosíthatja, hogy az alkalmazás rendelkezzen a partner számlázási adataihoz szükséges hozzáféréssel. Ennek módja az alábbi:

  1. Regisztrálja az alkalmazást a Microsoft Entra kezdőlapján a Alkalmazásregisztrációk szakaszban.
  2. Adja meg a szükséges engedélyt a Microsoft Entra App oldalának megtekintésével. Az API-engedélyek szakaszban válassza a Engedély hozzáadása lehetőséget, és válassza a PartnerBilling.Read.All hatókört.

Tudnivalók a legfontosabb API-végpontokról

A számlázott új kereskedelmi számlák egyeztetési sorainak aszinkron lekéréséhez két fő API-végpontot kínálunk. Ezek a végpontok segítenek hatékonyan kezelni a számlaegyeztetési folyamatot. A gyors kezdéshez kövesse ezt az egyszerűsített útmutatót.

A számlázott számlaegyeztetési végpont használata

Először is ezzel az API-val kérje le az új kereskedelmi számlák egyeztetési sortételeit. Amikor kérést küld, 202 HTTP-állapotot és egy URL-címmel ellátott helyfejlécet kap. Ezt az URL-címet rendszeresen lekérdezheti, amíg meg nem kapja a sikeres állapotot és a jegyzék URL-címét.

A műveleti állapot végpontjának használata

Ezután rendszeresen hívja meg ezt az API-t, és ellenőrizze a művelet állapotát. Ha az adatok nem állnak készen, a válasz tartalmaz egy újrapróbálkozási fejlécet, amely jelzi, hogy mennyi ideig kell várni, mielőtt újra próbálkozna. A művelet befejeződése után megjelenik egy jegyzékerőforrás egy tárolómappa-hivatkozással a használati adatok letöltéséhez. A válasz szegmentálta a fájlokat az átviteli sebesség növelése és az I/O-párhuzamosság engedélyezése érdekében.

A szekvenciadiagram áttekintése

Íme egy szekvenciadiagram, amely az új kereskedelmi számlák egyeztetési adatainak letöltésének lépéseit mutatja be.

Az egyeztetési adatok letöltésének lépéseit bemutató diagram.

A számlázott számlaegyeztetési adatok lekéréséhez kövesse a felhasználói műveletsort

A számlaegyeztetési adatok lekéréséhez kövesse az alábbi felhasználói műveletütemezést:

POST-kérelem küldése

POST-kérés elküldése az API-végpontnak.

Számlázott számlaegyeztetési sorelemek lekérése

A számlázott számlaegyeztetési sor elemeinek lekérése.

API-kérés

HTTP
POST https://graph.microsoft.com/v1.0/reports/partners/billing/reconciliation/billed/export

Accept: application/json

Content-Type: application/json

{

"invoiceId": "G016907411",

"attributeSet": "basic"

}

Paraméterek lekérdezése

n/a

Kérés törzse

Attribútum Kötelező Típus Leírás
attributeSet Hamis Sztring Az összes attribútumnál válassza a "full" vagy a "basic" (alapszintű) lehetőséget egy korlátozott készlethez. Ha nincs megadva, a "full" az alapértelmezett érték. Ellenőrizze a attribútumok listáját ebben a szakaszban. Választható.
invoiceId Igaz Sztring Egyedi azonosító minden számlához. Kötelező.

Kérésfejlécek

Fejlécek kérése az API-hoz a Microsoft Graph használatának ajánlott eljárásait követve. Az irányelveket követve biztosíthatja az alkalmazás megbízhatóságát és támogatását. Az ebben a lépésben ismertetett részletekre való figyelés elengedhetetlen a zökkenőmentes integráció és az optimális teljesítmény szempontjából.

API-válasz

HTTP
HTTP/1.1 202 Accepted  
Location: <https://graph.microsoft.com/v1.0/reports/partners/billing/operations/9ab9cb54-d07f-4f52-9ea6-a09d7de52c14>

Az API általában HTTP 202-es állapottal válaszol. A kérések függvényében más állapotok is előfordulhatnak. Ezek az állapotok a Standard API válaszállapotok szakaszában jelennek meg .

Kód Leírás
202 – Elfogadva A kérést elfogadták. A kérés állapotának ellenőrzéséhez kérje le a hely fejlécében megadott URL-címet.

A kérés állapotának ellenőrzése

A kérések állapotának nyomon követéséhez győződjön meg arról, hogy HTTP 200-választ kap, amely egy szabványos állapotkód, amely "sikeres" vagy "sikertelen". Ha sikeres, a jegyzék URL-címét a "resourceLocation" attribútumban találja. Ez az attribútum végpontot biztosít a szükséges információk eléréséhez.

Művelet állapotának lekérése

Lekéri egy kérés állapotát.

API-kérés

HTTP
GET <https://graph.microsoft.com/v1.0/reports/partners/billing/operations/9ab9cb54-d07f-4f52-9ea6-a09d7de52c14>

Kérelemparaméterek

Név Belefoglalás a következőbe: Kötelező Típus Leírás
operationId Kérés URI-ja Igaz Sztring Egyedi azonosító a kérés állapotának ellenőrzéséhez. Kötelező.

Kérelem fejléce

Fejlécek kérése az API-hoz a Microsoft Graph használatának ajánlott eljárásait követve. Az irányelveket követve biztosíthatja az alkalmazás megbízhatóságát és támogatását. Az ebben a lépésben ismertetett részletekre való figyelés elengedhetetlen a zökkenőmentes integráció és az optimális teljesítmény szempontjából.

Kérés törzse

N/A.

Reagálási állapot

A Standard API válaszállapotaiban felsorolt szabványos HTTP-állapotokon kívül az API a következő HTTP-állapotot is visszaadhatja:

Kód Leírás
410 – Eltűnt A jegyzékhivatkozás egy megadott időpont után lejár. A jegyzékhivatkozás ismételt lekéréséhez küldjön egy új kérést.

Válasz hasznos adatai

Az API-válasz hasznos adatai a következő attribútumokat tartalmazzák:

Attribútum Kötelező Leírás
id Igaz Egyedi azonosító minden válaszhoz
Kötelező.
status Igaz Értékek és műveletek: Kötelező.
elindítatlan: Várjon a megadott időtartamra a "Retry-After" fejlécre, majd indítson egy újabb hívást az állapot ellenőrzéséhez.
futó: Várjon a megadott időtartamra az "Újrapróbálkozás után" fejlécében, majd kezdeményezzen újabb hívást az állapot ellenőrzésére.
sikeres: Az adatok készen állnak. Kérje le a jegyzékbeli hasznos adatokat a resourceLocationban megadott URI használatával.
sikertelen: A művelet véglegesen meghiúsult. Indítsa újra.
createdDateTime Igaz A kérés teljesítésének időpontja.
Kötelező.
lastActionDateTime Igaz Az állapot legutóbbi módosításának időpontja.
Kötelező.
resourceLocation Hamis A jegyzékbeli hasznos adatok URI-ja.
Választható.
hiba Hamis A JSON formátumban megadott hibák részletei.
Választható.
A következő attribútumok tartoznak ide:
üzenet: A hiba leírása.
kód: A hiba típusa.

Erőforrás-hely objektum

Attribútum Leírás
id A jegyzék egyedi azonosítója.
schemaVersion A jegyzékséma verziója.
dataFormat A számlázási adatfájl formátuma.
tömörítettJSON: Olyan adatformátum, amelyben minden blob egy tömörített fájl, amely JSON-sorformátumú adatokat tartalmaz. Ha le szeretné kérni az adatokat az egyes blobokból, bontsa ki azokat.
createdDateTime A jegyzékfájl létrehozásának dátuma és időpontja.
e-címke A jegyzékadatok verziója. A rendszer új értéket hoz létre, amikor változás történik a számlázási adatokban.
partnerTenantId A partner bérlőjének Microsoft Entra-azonosítója.
rootDirectory A fájl gyökérkönyvtára.
sasToken SAS (közös hozzáférésű jogosultságkód) jogkivonat, amely lehetővé teszi az összes fájl olvasását a könyvtár alatt.
partitionType Több blobra osztja az adatokat a partitionValue attribútum alapján. A rendszer felosztja a támogatott számot meghaladó partíciókat. Alapértelmezés szerint az adatok particionálása a fájl sorelemeinek száma alapján történik. Kerülje a sorelemek számának vagy fájlméretének kódban való rögzítését, mivel ezek változhatnak.
blobCount A partner bérlőazonosítójának fájljainak teljes száma.
blobok Egy "blob" objektumokat tartalmazó JSON-tömb, amely a partnerbérlelő-azonosító fájladatait tartalmazza.
blobobjektum Egy objektum, amely a következő részleteket tartalmazza:
name and partitionValue
név A blob neve.
partitionValue A fájlt tartalmazó partíció. A nagy partíció több fájlra van felosztva bizonyos feltételek, például a fájlméret vagy a rekordok száma alapján, és mindegyik fájl ugyanazt a "partitionValue"tartalmazza.

API-kérés

HTTP
GET <https://graph.microsoft.com/v1.0/reports/partners/billing/operations/9ab9cb54-d07f-4f52-9ea6-a09d7de52c14>

API-válasz

A válasz azt javasolja, hogy várjon 10 másodpercig, mielőtt újrapróbálkozna, amikor az adatok feldolgozása még folyamatban van.

HTTP
HTTP/1.1 200 OK  
Retry-After: 10  
{  
"id": "9ab9cb54-d07f-4f52-9ea6-a09d7de52c14",  
"createdDateTime": "2022-06-1T10-01-03.4Z",  
"lastActionDateTime": "2022-06-1T10-01-05Z",  
"status": "running"  
}

API-kérés

(10 másodperccel az előző kérés után...)

HTTP
GET <https://graph.microsoft.com/v1.0/reports/partners/billing/operations/9ab9cb54-d07f-4f52-9ea6-a09d7de52c14>

API-válasz

Az API a "sikeres" állapotot és a resourceLocation URI-t adja vissza.

HTTP
HTTP/1.1 200 OK  
Content-Type: application/json  
{

    "@odata.context": "https://graph.microsoft.com/v1.0/\$metadata#reports/partners/billing/operations/\$entity",

    "@odata.type": "#microsoft.graph.partners.billing.exportSuccessOperation",

    "id": "f2170b13-6a8e-47d6-b481-6988490dc0cb",

    "createdDateTime": "2023-12-05T21:17:29Z",

    "lastActionDateTime": "2023-12-05T21:18:00.8897902Z",

    "status": "succeeded",

    "resourceLocation": {

        "id": "44e8500b-ab92-490e-8ac3-90500a1d3427",

        "createdDateTime": "2023-11-06T19:58:47.513Z",

        "schemaVersion": "2",

        "dataFormat": "compressedJSON",

        "partitionType": "default",

        "eTag": "RwDrn7fbiTXy6UULE",

        "partnerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",

        "rootDirectory": "https://adlsreconbuprodeastus201.blob.core.windows.net/path_id",

        "sasToken": "{token}",

        "blobCount": 1,

        "blobs": \[

            {

                "name": "part-00123-5a93fa5d-749f-48bc-a372-9b021d93c3fa.c000.json.gz",

                "partitionValue": "default"

            }

        \]

    }

}

Egyeztetési sorelemek letöltése az Azure Blob Storage-ból

Először be kell szereznie a közös hozzáférésű jogosultságkód (SAS) jogkivonatot és a blobtároló helyét. Az API-manifeszt terhelési válaszának sasToken és rootDirectory tulajdonságaiban találja meg ezeket a részleteket.

A folytatáshoz kövesse az alábbi lépéseket:

  1. Töltse le a blobfájlt az Azure Storage SDK/toolhasználatával.
  2. Bontsa ki a JSONLines formátumú fájlt.

Tipp.

Mindenképpen tekintse meg a mintakódot. Bemutatja, hogyan töltheti le és bonthatja ki az Azure blobfájlt a helyi adatbázisba.

Standard API-válaszállapotok

A következő HTTP-állapotokat kaphatja meg az API-válaszból:

Kód Leírás
400 – Hibás kérés A kérelem hiányzik, vagy helytelen adatokat tartalmaz. A hiba részleteiért tekintse meg a válasz törzsét.
401 – Jogosulatlan Az első híváshoz hitelesítés szükséges. Hitelesítés a partner API szolgáltatással.
403 – Tiltott Nem rendelkezik a kérés teljesítéséhez szükséges engedéllyel.
404 – Nem található A kért erőforrások nem érhetők el a megadott bemeneti paraméterekkel.
410 – Eltűnt A jegyzékhivatkozás már nem érvényes vagy aktív. Küldjön be egy új kérést.
500 – Belső kiszolgálóhiba Az API vagy függőségei jelenleg nem tudják teljesíteni a kérést. Próbálkozzon újra később.
5000 – Nincs elérhető adat A rendszer nem rendelkezik adatokkal a megadott bemeneti paraméterekhez.

Alapszintű és teljes számlaegyeztetési attribútumok összehasonlítása

A számlázott számlaegyeztetési API által a "teljes" vagy az "alapszintű" attribútumkészletekhez visszaadott attribútumok összehasonlításához tekintse meg ezt a táblázatot. Ezekről az attribútumokról és jelentésükről további információt Az egyeztetési fájl használatacímű témakörben talál.

Attribútum Teljes Alap
Partnerazonosító igen igen
Vevőkód igen igen
CustomerName igen igen
CustomerDomainName igen nem
CustomerCountry igen nem
InvoiceNumber igen igen
MpnId igen nem
Tier2MpnId igen igen
OrderId igen igen
OrderDate igen igen
ProductId igen igen
Termékváltozat azonosítója igen igen
Rendelkezésre állási azonosító igen igen
SkuName igen nem
ProductName igen igen
ChargeType igen igen
Egységár igen igen
Mennyiség igen nem
Részösszeg igen igen
TaxTotal igen igen
Összesen igen igen
Pénznem igen igen
PriceAdjustmentDescription igen igen
Közzétevő neve igen igen
PublisherId igen nem
SubscriptionDescription igen nem
SubscriptionId igen igen
ChargeStartDate igen igen
ChargeEndDate igen igen
TermAndBillingCycle igen igen
EffectiveUnitPrice igen igen
UnitType igen nem
Alternatív azonosító igen nem
BillableQuantity igen igen
BillingFrequency igen nem
PricingCurrency igen igen
PCToBCExchangeRate igen igen
PCToBCExchangeRateDate igen nem
MeterDescription igen nem
ReservationOrderId igen igen
CreditReasonCode igen igen
SubscriptionStartDate igen igen
SubscriptionEndDate igen igen
Referenciaazonosító igen igen
ProductQualifiers igen nem
PromotionId igen igen
ProductCategory igen igen

Fontos

Minden mező vagy attribútum neve egy nagybetűs betűvel kezdődik a fájllal való konzisztencia fenntartása és az olvashatóság javítása érdekében.

Mintakód

Ha segítségre van szüksége az API-ra való migráláshoz, tekintse meg a C# mintakódot tartalmazó hivatkozást.

API-mintákat a számlázás egyeztetési adatainak lekéréséhez a Partnerközpontból.