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


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

A következőkre vonatkozik: Partnerközpont (független felhőben nem érhető el)

Az aszinkron API gyorsabb és kezelhetőbb módot kínál a számlázási és egyeztetési adatok Azure-blobokon keresztüli elérésére. Ezzel az API-val nem kell órákig nyitva tartania a kapcsolatot, és nem kell egyszerre 2000 sortétel kötegeit végighaladnia.

Az új kereskedelmi számlázott számlaegyeztetési API-t valet kulcs és aszinkron kérés-válasz minták használatával optimalizáltuk. Ez az API egy közös hozzáférésű jogosultságkód (SAS) jogkivonatot biztosít, amellyel hozzáférhet az összes attribútumhoz vagy a számlázott számlaegyeztetési adatok egy részhalmazához.

Feljegyzés

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

Ezt az API-t most csak az MS Graph nyilvános/globális felhőhöz használhatja. Az Azure Government, az Azure Germany vagy az Azure China 21Vianet esetében még nem érhető el.

API – Áttekintés

A számlázott új kereskedelmi számlák egyeztetési adatainak aszinkron lekéréséhez használjon két API-végpontot. Ennek folyamata a következő:

Számlázott számlaegyeztetési végpont

Ezzel az API-val lekérheti az új kereskedelmi számlázású számlaegyeztetési sorelemeket. Az API egy 202-es HTTP-állapotot és egy URL-t tartalmazó helyfejlécet ad vissza. Ezt az URL-címet rendszeres időközönként lekérdezheti, amíg meg nem kapja a sikeres állapotot egy jegyzék URL-címmel.

Műveleti állapot végpontja

A sikeres állapot eléréséhez rendszeresen hívja meg ezt az API-t. Ha az adatok nem állnak készen, az API-válasz tartalmaz egy Újrapróbálkozási fejlécet, amelyből megtudhatja, hogy mennyi ideig kell várnia, mielőtt újra próbálkozna. Ha a művelet befejeződött, egy jegyzékerőforrást kap egy tármappával, ahol letöltheti a használati adatokat. A válasz kisebb részekre bontja a fájlokat az optimalizált átviteli sebesség és az I/O-párhuzamosság érdekében.

Szekvenciadiagram

Í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ó ábra.

Felhasználói műveletütemezés

A számlázott számlaegyeztetési adatok lekéréséhez kövesse az alábbi lépéseket:

1. lépés: Kérelem elküldése

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

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

API-kérés

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. Az alapértelmezett érték a "teljes". (Lásd a cikkben szereplő attribútumok listáját). Opcionális.
invoiceId Igaz Sztring Egyedi azonosító minden számlához. Szükséges.

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.

API-válasz

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éseken alapuló egyéb lehetséges állapotok a jelen cikkben szereplő Standard API-válaszállapotok között szerepelnek.

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.

2. lépés: A kérelem állapotának ellenőrzése

A kérés állapotának ellenőrzéséhez várjon egy HTTP 200-válaszra, amely "sikeres" vagy "sikertelen" állapotú. A jegyzék URL-címét a "resourceLocation" attribútumban kapja meg, ha a kérés sikeres.

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

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

API-kérés

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. Szükséges.

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.

Kérés törzse

N/A.

Reagálási állapot

A cikkben a Standard API válaszállapotaiban felsorolt szabványos HTTP-állapotok mellett 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
Szükséges.
status Igaz Értékek és műveletek: Kötelező.
notstarted: Várja meg az "Újrapróbálkozott" fejlécben megadott időt, majd hozzon létre egy újabb hívást az állapot ellenőrzéséhez.
futtatás: Várja meg az "Újrapróbálkozás után" fejlécben megadott időt, majd hozzon létre egy újabb hívást az állapot ellenőrzéséhez.
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.
Szükséges.
lastActionDateTime Igaz Az állapot legutóbbi módosításának időpontja.
Szükséges.
resourceLocation Hamis A jegyzékbeli hasznos adatok URI-ja.
Opcionális.
error Hamis Ha a művelet sikertelen, a hiba részletei JSON formátumban jelennek meg.
Opcionális.
A rendszer a következő attribútumokat tartalmazza:
üzenet: A hiba részletes 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.
Etag A jegyzékadatok verziója. A számlázási adatok módosítása új értéket hoz létre.
partnerTenantId A partner bérlőjének 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. Ne adjon meg rögzített számú sorelemet vagy fájlméretet a kódban, mert ezek az értékek 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 Az alábbi adatokat tartalmazó objektum:
név: A blob neve.
partitionValue: A fájlt tartalmazó partíció. A nagy partíció több fájlra van felosztva, és mindegyik fájl ugyanazt a "partitionValue"-t tartalmazza.
név A blob neve.
partitionValue A fájlt tartalmazó partíció. A nagy partíció több fájlra van felosztva, és mindegyik fájl ugyanazt a "partitionValue"-t tartalmazza.

API-kérés

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/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...)

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/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": "0e195b37-4574-4539-bc42-0e539b9684c0",

        "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"

            }

        \]

    }

}

3. lépés: Számlázott számlaegyeztetési adatok letöltése az Azure Blob Storage-ból

Kérje le a közös hozzáférésű jogosultságkód (SAS) jogkivonatot és a blobtároló helyét a "sasToken" és a "rootDirectory" tulajdonságból, amely a jegyzék hasznos api-válaszát tartalmazza. Azure Storage SDK/eszköz a blobfájl letöltéséhez és kibontásához. JSONLines formátumban van.

Tipp.

Tekintse meg a mintakódot , amely letölti és kibontja az Azure-blobfájlt a helyi adatbázisba.

Standard API-válaszállapotok

Ezeket a HTTP-állapotokat az API válaszából kaphatja meg:

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 A hívó nincs hitelesítve, és az első hívás megkezdése előtt hitelesítenie kell magát 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 annak egyik függősége jelenleg nem tudja teljesíteni a kérést. Próbálkozzon újra később.

Számlázott számlaegyeztetési adatattribútumok

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 az alábbi táblázatot.

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

Mintakód

Az API használatával kapcsolatos útmutatásért tekintse meg a C#-ban található mintakódot tartalmazó alábbi hivatkozást.

Partner-Center-Billing-Recon-Samples: Minták az API-hoz a számlázási adatok partnerközpontból való lekéréséhez (github.com).