Sdílet prostřednictvím


Rozhraní API pro vyúčtování faktury v2 (GA)

Platí pro: Partnerské centrum (nedostupné v suverénním cloudu)

Naše nové asynchronní rozhraní API nabízí rychlejší a efektivnější způsob přístupu k datům fakturace a odsouhlasení prostřednictvím objektů blob Azure. Místo toho, aby bylo připojení otevřené po dobu hodin nebo zpracování dávek s 2 000 řádkovými položkami, můžete teď zjednodušit pracovní postup, snížit zatížení serveru a zlepšit dobu zpracování dat.

Nové rozhraní API pro odsouhlasení faktur faktur účtované obchodem používá pokročilé techniky, jako jsou klíče valet a asynchronní vzory odpovědí na žádosti. Vzor klíče valet umožňuje zabezpečený přístup k prostředkům bez sdílení přihlašovacích údajů, zatímco vzor asynchronní odpovědi na požadavek umožňuje efektivní komunikaci mezi systémy.

Toto rozhraní API poskytuje token sdíleného přístupového podpisu (SAS), který můžete použít pro přístup ke všem atributům nebo podmnožině fakturovaných dat odsouhlasení faktury. Tento token vylepšuje zabezpečení tím, že uděluje omezený přístup a nabízí flexibilitu při správě přístupových oprávnění k datům.

Přijetím našich optimalizovaných rozhraní API můžete dosáhnout rychlejších výsledků s menším úsilím, zjednodušením přístupu k datům a zlepšením celkové efektivity. Využijte tyto nástroje ke zjednodušení pracovního postupu a efektivnější správě oprávnění.

Poznámka:

Nové rozhraní API není hostované na hostiteli rozhraní API Partnerského centra. Místo toho ji najdete v MS Graphu pomocí rozhraní Microsoft Graph API k exportu fakturačních dat partnerů – Microsoft Graph v1.0. Pokud chcete získat přístup k tomuto rozhraní API, projděte si následující podrobnosti.

Důležité

Pokud chcete aplikaci povolit přístup k fakturačním datům partnerů, postupujte podle tohoto odkazu a seznamte se se základy ověřování a autorizace pro Microsoft Graph. Tento krok je zásadní, protože zajišťuje, že vaše aplikace bude mít zabezpečený přístup k potřebným datům.

Oprávnění PartnerBilling.Read.All můžete přiřadit pomocí webu Azure Portal nebo Centra pro správu Entra. Postupujte následovně:

  • Zaregistrujte aplikaci na domovské stránce Microsoft Entra v části Registrace aplikací.
  • Pokud chcete udělit potřebná oprávnění, přejděte na stránku aplikace Microsoft Entra. V části Oprávnění rozhraní API vyberte Přidat oprávnění a zvolte obor PartnerBilling.Read.All.

Provedením těchto kroků zajistíte, že vaše aplikace bude mít požadovaný přístup k fakturačním datům partnera.

Přehled rozhraní API

Abychom vám pomohli načíst fakturované nové řádkové položky vyrovnání faktury pro obchodování asynchronně, nabízíme dva klíčové koncové body rozhraní API. Pokud chcete rychle a efektivně začít, postupujte podle tohoto zjednodušeného průvodce.

Koncový bod vyúčtování faktury

Nejprve pomocí tohoto rozhraní API načtěte nové položky faktury fakturované fakturou. Při vytváření požadavku obdržíte stav HTTP 202 a hlavičku umístění s adresou URL. Tuto adresu URL pravidelně dotazujte, dokud nedostanete stav úspěchu a adresu URL manifestu.

Koncový bod stavu operace

V dalším kroku pokračujte kontrolou stavu operace voláním tohoto rozhraní API v pravidelných intervalech. Pokud data nejsou připravená, odpověď obsahuje hlavičku Opakování po označující, jak dlouho se má čekat, než se pokusíte znovu. Po dokončení operace obdržíte prostředek manifestu s odkazem na složku úložiště pro stažení dat o využití. Odezva segmentuje soubory za účelem zvýšení propustnosti a umožnění paralelismu vstupně-výstupních operací.

Pomocí těchto kroků můžete efektivně spravovat proces odsouhlasení faktur.

Sekvenční diagram

Tady je sekvenční diagram, který znázorňuje kroky pro stažení dat odsouhlasení nových obchodních faktur.

Diagram znázorňující kroky pro stažení dat odsouhlasení

Pořadí akcí uživatele

Pokud chcete načíst fakturovaná data odsouhlasení faktur, postupujte takto:

Krok 1: Odeslání žádosti

Odešlete požadavek POST do koncového bodu rozhraní API.

Získání fakturovaných položek řádku s vyrovnáním faktury

Požadavek rozhraní API

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

Accept: application/json

Content-Type: application/json

{

"invoiceId": "G016907411",

"attributeSet": "basic"

}

Parametry dotazů

Text požadavku

Atribut Požaduje se Type Popis
attributeSet False String Pro všechny atributy nebo "základní" pro omezenou sadu zvolte "full". Pokud není zadána, je výchozí hodnotou "full". Zkontrolujte seznam atributů v této části. Volitelné.
invoiceId True String Jedinečný identifikátor každé faktury. Povinný:

Záhlaví žádosti

Hlavičky požadavků pro rozhraní API s využitím kroků uvedených v části Osvědčené postupy pro používání Microsoft Graphu Podle těchto pokynů zajistíte spolehlivost a podporu vaší aplikace. Vaše pozornost k podrobnostem v tomto kroku je zásadní pro bezproblémovou integraci a optimální výkon.

Odpověď rozhraní API

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

Rozhraní API obvykle reaguje se stavem HTTP 202. V závislosti na vašich požadavcích můžete také narazit na jiné stavy. Tyto stavy jsou uvedeny v části Stavy odpovědí standardního rozhraní API.

Kód Popis
202 – přijato Vaše žádost byla přijata. Pokud chcete zkontrolovat stav požadavku, zadejte dotaz na adresu URL uvedenou v hlavičce umístění.

Krok 2: Kontrola stavu žádosti

Pokud chcete sledovat stav požadavku, ujistěte se, že obdržíte odpověď HTTP 200, což je standardní stavový kód označující "úspěch" nebo "selhání". V případě úspěchu najdete adresu URL manifestu v atributu resourceLocation. Tento atribut poskytuje koncový bod pro přístup k požadovaným informacím.

Získání stavu operace

Načte stav požadavku.

Požadavek rozhraní API

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

Parametry požadavku

Název Zahrnout do Požaduje se Type Popis
operationId Identifikátor URI žádosti True String Jedinečný identifikátor pro kontrolu stavu požadavku. Povinný:

Hlavička požadavku

Hlavičky požadavků pro rozhraní API s využitím kroků uvedených v části Osvědčené postupy pro používání Microsoft Graphu Podle těchto pokynů zajistíte spolehlivost a podporu vaší aplikace. Vaše pozornost k podrobnostem v tomto kroku je zásadní pro bezproblémovou integraci a optimální výkon.

Text požadavku

Není k dispozici.

Stav odpovědi

Kromě standardních stavů HTTP uvedených ve stavech odpovědí standardového rozhraní API může rozhraní API vrátit také následující stav HTTP:

Kód Popis
410 – Pryč Odkaz manifestu vyprší po nastaveném čase. Pokud chcete znovu získat odkaz na manifest, odešlete nový požadavek.

Datová část odpovědi

Datová část odpovědi rozhraní API obsahuje následující atributy:

Atribut Požaduje se Popis
ID True Jedinečný identifikátor pro každou odpověď
Povinný:
stav True Hodnoty a akce: Povinné.
nezahájené: Počkejte po dobu uvedenou v hlavičce Retry-After a poté proveďte další pokus o kontrolu stavu.
spuštění: Počkejte po dobu uvedenou v hlavičce "Retry-After", poté proveďte další volání ke kontrole stavu.
úspěch: Data jsou připravená. Načtěte datovou část manifestu pomocí identifikátoru URI zadaného v resourceLocation.
Selhalo: Operace se trvale nezdařila. Restartujte ho.
createdDateTime True Čas provedení požadavku.
Povinný:
lastActionDateTime True Čas poslední změny stavu.
Povinný:
resourceLocation False Identifikátor URI datové části manifestu.
Volitelné.
chyba False Podrobnosti o všech chybách ve formátu JSON
Volitelné.
Zahrnuté atributy:
zpráva: Popis chyby.
kód: Typ chyby.

Objekt umístění prostředku

Atribut Popis
ID Jedinečný identifikátor manifestu.
schemaVersion Verze schématu manifestu
dataFormat Formát souboru fakturačních dat
compressedJSON: Formát dat, kde každý objekt blob je komprimovaný soubor, který obsahuje data ve formátu řádků JSON . Pokud chcete načíst data z každého objektu blob, dekomprimujte je.
createdDateTime Datum a čas vytvoření souboru manifestu
eTag Verze dat manifestu Nová hodnota se vygeneruje vždy, když dojde ke změně fakturačních údajů.
partnerTenantId ID Microsoft Entra tenanta partnera
rootDirectory Kořenový adresář souboru.
sasToken Token SAS (sdílený přístupový podpis), který umožňuje číst všechny soubory v adresáři.
partitionType Rozdělí data do více objektů blob na základě atributu partitionValue . Systém rozdělí oddíly, které překračují podporované číslo. Ve výchozím nastavení jsou data rozdělena na oddíly podle počtu řádků v souboru. Vyhněte se pevně zakódování počtu položek řádků nebo velikostí souborů, protože by se mohly změnit.
blobCount Celkový počet souborů pro toto ID tenanta partnera
objekty blob Pole JSON objektů blob, které obsahují podrobnosti o souboru pro ID partnerského tenanta.
Objekt blob Objekt obsahující následující podrobnosti:
name and partitionValue
name Název objektu blob.
partitionValue Oddíl obsahující soubor. Velký oddíl je rozdělen do více souborů na základě určitých kritérií, jako je velikost souboru nebo počet záznamů, přičemž každý soubor obsahuje stejný "partitionValue".

Požadavek rozhraní API

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

Odpověď rozhraní API

Odpověď doporučuje počkat na 10 sekund, než se pokusíte znovu, když se vaše data stále zpracovávají.

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

Požadavek rozhraní API

(10 sekund po předchozím požadavku...)

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

Odpověď rozhraní API

Rozhraní API vrátí stav "úspěch" a identifikátor URI pro "resourceLocation".

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"

            }

        \]

    }

}

Krok 3: Stažení fakturovaných řádkových položek vyrovnání faktur z Úložiště objektů blob v Azure

Nejprve musíte získat token sdíleného přístupového podpisu (SAS) a umístění úložiště objektů blob. Tyto podrobnosti najdete ve vlastnostech sasToken a rootDirectory odpovědi rozhraní API datové části manifestu. Pak stáhněte a rozbalte soubor objektu blob pomocí sady AZURE Storage SDK nebo nástroje. Je ve formátu JSONLines .

Tip

Nezapomeňte se podívat na náš ukázkový kód. Ukazuje, jak stáhnout a rozbalit soubor objektů blob Azure do místní databáze.

Stavy odpovědí standardního rozhraní API

Z odpovědi rozhraní API se můžou zobrazit tyto stavy HTTP:

Kód Popis
400 – Chybný požadavek Požadavek chybí nebo obsahuje nesprávná data. Podrobnosti o chybě najdete v textu odpovědi.
401 – Neautorizováno Před prvním voláním se vyžaduje ověřování. Ověřte se pomocí partnerské služby API.
403 – Zakázáno K provedení požadavku nemáte potřebnou autorizaci.
404 – Nenalezena Požadované prostředky nejsou dostupné se zadanými vstupními parametry.
410 – Pryč Odkaz manifestu už není platný nebo aktivní. Odešlete novou žádost.
500 – Vnitřní chyba serveru Rozhraní API nebo její závislosti teď nemůžou požadavek splnit. Zkuste to později.
5000 – nejsou k dispozici žádná data Systém nemá žádná data pro zadané vstupní parametry.

Atributy řádkové položky vyúčtování faktury

Pokud chcete porovnat atributy vrácené rozhraním API pro odsouhlasení faktur za "úplné" nebo "základní" sady atributů, projděte si tuto tabulku. Pro více informací o těchto atributech a jejich významech si přečtěte tuto příručku.

Atribut Úplný Basic
Id partnera ano ano
CustomerId ano ano
CustomerName ano ano
CustomerDomainName ano ne
CustomerCountry ano ne
InvoiceNumber ano ano
MpnId ano ne
Tier2MpnId ano ano
OrderId ano ano
OrderDate ano ano
ID produktu ano ano
SkuId ano ano
AvailabilityId ano ano
SkuName ano ne
ProductName ano ano
ChargeType ano ano
UnitPrice ano ano
Množství ano ne
Dílčí součet ano ano
TaxTotal ano ano
Celkem ano ano
Měna ano ano
PriceAdjustmentDescription ano ano
Název vydavatele ano ano
PublisherId ano ne
Popis předplatného ano ne
SubscriptionId ano ano
ChargeStartDate ano ano
ChargeEndDate ano ano
TermAndBillingCycle ano ano
EffectiveUnitPrice ano ano
UnitType ano ne
AlternateId ano ne
BillableQuantity ano ano
BillingFrequency ano ne
PricingCurrency ano ano
PCToBCExchangeRate ano ano
PCToBCExchangeRateDate ano ne
MeterDescription ano ne
ReservationOrderId ano ano
CreditReasonCode ano ano
SubscriptionStartDate ano ano
SubscriptionEndDate ano ano
ReferenceId ano ano
ProductQualifiers ano ne
PromotionId ano ano
ProductCategory ano ano

Důležité

Tyto změny si poznamenejte při přechodu z rozhraní API v1 na v2.

  • Každý název atributu teď začíná velkými písmeny písmenem, aby se zachovala konzistence se souborem a zlepšila čitelnost.

Ukázkový kód

Pokud chcete toto rozhraní API použít, podívejte se na následující odkaz, který obsahuje ukázkový kód jazyka C#.

Ukázky pro fakturaci v Partnerském centru: Ukázky pro rozhraní API pro získání dat o rekonci fakturace z Partnerského centra (github.com)