課金対象および未請求の日単位の使用状況調整 API v2 (GA)

適用対象: パートナー センター (Azure Government または Azure China 21Vianet では使用できません)。

非同期 API は、Azure BLOB を介して課金および調整データにアクセスするための、より迅速かつ管理しやすい方法を提供します。 これらの API を使用すると、接続を何時間も開いたままにしておく必要も、2,000 行の項目のバッチをループ処理する必要もなくなります。

valet キーasynchronous request-reply パターンを使用して、新しいコマースの日単位の使用状況調整 API を最適化しました。 これらの API を使用すると、すべての属性または日単位の使用状況調整データのサブセットにアクセスするために使用できるトークンを受け取ります。

Note

新しい API は、パートナー センター API ホストでホストされていません。 代わりに、MS Graph で見つけることができます Microsoft Graph API を使用してパートナーの課金データをエクスポートする - Microsoft Graph v1.0 |Microsoft Learn。 これらの API にアクセスするには、次の詳細を参照してください。

現在、これらの API を使用できるのは、MS Graph のパブリックとグローバル クラウドのみです。 Azure Government または Azure China 21Vianet ではまだ使用できません。

重要

パートナーの課金データにアクセスするために必要なアクセス許可をアプリに付与するには、このリンクに従い、Microsoft Graph の 認証と承認の基本について学習する必要があります

通常、Azure portal または Entra 管理センターを使用して、必要なアクセス許可 "PartnerBilling.Read.All" を割り当てることができます。これを行う手順を次に示します。

  • [アプリの登録] セクションの Microsoft Entra ホーム ページでアプリを登録します。
  • [API のアクセス許可] セクションの [Microsoft Entra App] ページで、アプリにアクセス許可を割り当てます。 [アクセス許可の追加] を選択し、"PartnerBilling.Read.All" スコープを選択します。

Note

ベータ版を使用している場合は、一般公開 (GA) バージョンの大幅な変更に気付かない場合があります。 相違点と更新プログラムを理解するには、2 つのバージョン比較することをお勧めします。

重要

新しいコマース毎日の評価使用量には、次の製品の料金は含まれません。

  • Azure 予約
  • Azure 節約プラン
  • Office
  • Dynamics
  • Microsoft Power Apps
  • 永続的ソフトウェア
  • ソフトウェア サブスクリプション
  • Microsoft 以外の SaaS 製品

API の概要

新しいコマース 取得するには 毎日評価される使用状況の行項目を非同期的に取得するには、2 つの API エンドポイントを使用します。 そのプロセスを次に示します。

使用状況の行項目エンドポイント

この API を使用して、請求済みまたは未請求の日単位の使用状況の明細項目を取得します。 202の HTTP 状態と場所ヘッダーの URL が表示されます。 マニフェスト URL で成功状態が得られるまで、この URL を定期的にポーリングします。

操作状態エンドポイント

成功状態を取得するには、この API を一定の間隔で呼び出し続けます。 データの準備ができていない場合、API 応答には Retry-After ヘッダーが含まれており、再試行するまでの待機時間を示します。 操作が完了すると、使用状況データをダウンロードできるストレージ フォルダーを含むマニフェスト リソースが取得されます。 応答により、スループットと I/O 並列処理を最適化するために、ファイルがより小さな部分に分割されます。

シーケンス図

調整データをダウンロードする手順を示すシーケンス図を次に示します。

調整をダウンロードする手順を示す図。

ユーザー アクション シーケンス

新しいコマース 取得するには 毎日評価される使用状況調整の明細項目を次の手順に従います。

手順 1: 要求を送信する

API エンドポイントに POST 要求を送信します。

1 日ごとの課金対象の使用状況の明細項目を取得する

現在 または最後のカレンダー月または請求期間 新しいコマース未請求の日単位の使用状況の明細項目を取得します。

API 要求
POST https://graph.microsoft.com/v1.0/reports/partners/billing/usage/unbilled/export

Accept: application/json

Content-Type: application/json

{

"currencyCode": "USD",

"billingPeriod": "current",

"attributeSet": "basic"

}
要求本文
Attribute 必須 タイプ 説明
attributeSet False String すべての属性に対して "full" を選択し、限定セットの場合は "basic" を選択します。 既定値は "full" です。( attributes の一覧を参照してください)。 省略可能。
billingPeriod True String 現在または最後のカレンダー月または請求期間の毎日の評価使用量を取得するには、"current" または "last" (V1 API の "previous" と同じ) を使用します。 必須。
currencyCode True String パートナーの請求通貨コード。 必須。
要求ヘッダー

API のヘッダーを要求するには、「 責任とサポートを参照してください。

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

API を使用すると、通常は HTTP 202 状態が返されます。 要求に基づいて他の可能な状態を確認するには、 Standard API 応答の状態を参照してください。

コード 説明
202 – 承諾済み 要求が受け入れられました。 要求の状態を確認するには、location ヘッダーに指定された URL を照会します。

請求日単位の使用状況の明細項目を取得する

新しいコマースを取得支払い済みの請求期間の請求書に対して毎日評価される使用状況の明細項目が課金されます。

API 要求
POST https://graph.microsoft.com/v1.0/reports/partners/billing/usage/billed/export

{  
"invoiceId": "G00012345",  
"attributeSet": "full"  
}

クエリ パラメーター

該当なし

要求本文
Attribute 必須 タイプ 説明
invoiceld True String 各請求書の一意の識別子。 必須。
attributeSet False String すべての属性に対して "full" を選択し、限定セットの場合は "basic" を選択します。 既定値は "full" です。( attributes の一覧を参照してください)。 省略可能。
要求ヘッダー

API の要求ヘッダー。 詳細については、 責任とサポートを参照してください。

API 応答

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

API を使用すると、通常は HTTP 202 状態が返されます。 要求に基づくその他の状態については、「 Statuses」を参照してください。

コード 説明
202 – 承諾済み 要求が受け入れられました。 要求の状態を確認するには、location ヘッダーに指定された URL を照会します。

手順 2: 要求の状態を確認する

要求の状態を確認するには、"成功" または "失敗" のいずれかの状態の HTTP 200 応答を待ちます。要求が成功した場合、マニフェスト URL は "resourceLocation" 属性に指定されます。

操作の状態を取得する

要求の状態を取得します。

API 要求

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

要求パラメーター
Name に含める 必須 タイプ 説明
operationId 要求 URI True String 要求の状態を確認する一意の ID。 必須。
要求ヘッダー

API のヘッダーを要求するには、「 責任とサポートを参照してください。

要求本文

該当なし。

応答の状態

標準の HTTP 状態に加えて API は次の HTTP 状態を返すことができます。

コード 説明
410 – ゴーン マニフェスト リンクは、サーバーによって設定された特定の期間のみアクティブです。 この時間が経過したら、マニフェストにアクセスするための新しい要求を送信する必要があります。
応答ペイロード

API 応答ペイロードには、次の属性が含まれています。

Attribute 必須 内容
id True 各応答の一意の ID。 必須。
status True 値とアクション (必須):

notstarted: "Retry-After" ヘッダーで指定された時刻を待ってから、別の呼び出しを行って状態を確認します。

running: "Retry-After" ヘッダーで指定された時刻を待ってから、別の呼び出しを行って状態を確認します。

succeeded: データの準備ができました。 resourceLocation で指定された URI を使用してマニフェスト ペイロードを取得します。

failed: 操作は永続的に失敗しました。 再起動します。
createdDateTime True 要求が行われた時刻。 必須。
lastActionDateTime True 状態が最後に変更された時刻。 必須。
resourceLocation False マニフェスト ペイロードの URI。 省略可能。
エラー False 操作が失敗した場合、エラーの詳細は JSON 形式で提供されます。 省略可能。

次の属性が含まれる場合があります。

message (必須): エラーの詳細な説明。

code (必須): 発生したエラーの種類。
リソースの場所オブジェクト
属性 内容
id マニフェストの一意識別子。
schemaVersion マニフェスト スキーマのバージョン。
dataFormat 課金データ ファイルの形式。

compressedJSON: 各 BLOB が、 JSON 行形式のデータを含む圧縮ファイルであるデータ形式。 各 BLOB からデータを取得するには、データを展開します。
createdDateTime マニフェスト ファイルが作成された日時。
eTag マニフェスト データのバージョン。 課金情報を変更すると、新しい値が生成されます。
partnerTenantId パートナーのテナントの ID。
rootDirectory ファイルのルート ディレクトリ。
sasToken ディレクトリのすべてのファイルを読み取る SAS (Shared Access Signature) トークン。
partitionType "partitionValue"属性に基づいて、データを複数の BLOB に分割します。 システムは、サポートされている数を超えるパーティションを分割します。 既定では、データはファイル内の行項目の数に基づいてパーティション分割されます。 これらの値は変更される可能性があるため、コードで固定数の行項目またはファイル サイズを設定しないでください。
blobCount このパートナー テナント ID のファイルの合計数。
blobs パートナー テナント ID のファイルの詳細を含む "BLOB" オブジェクトの JSON 配列。
BLOB オブジェクト 次の詳細を含むオブジェクト。
name BLOB の名前です。
partitionValue ファイルを含むパーティション。 大きなパーティションは複数のファイルに分割され、各ファイルには同じ "partitionValue"が含まれています。
API 要求
GET <https://graph.microsoft.com/v1.0/reports/partners/billing/operations/9ab9cb54-d07f-4f52-9ea6-a09d7de52c14>
API 応答

応答では、データの処理時に再試行する前に 10 秒間待機することをお勧めします。

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 要求

(前の要求の 10 秒後。..)

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

API は、"成功" 状態と "resourceLocation" の URI を返します。

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: Azure BLOB ストレージから毎日評価される使用状況調整の行項目をダウンロードする

マニフェスト ペイロード API 応答の "sasToken" プロパティと "rootDirectory" プロパティから、Shared Access Signature (SAS) トークンと BLOB ストレージの場所を取得します。 Azure Storage SDK/ツールを使用して、BLOB ファイルをダウンロードして解凍します。 JSONLines 形式です。

ヒント

サンプル コードを確認して、Azure BLOB ファイルをローカル データベースにダウンロードして解凍します。

標準 API 応答の状態

API 応答から次の HTTP 状態を受け取る場合があります。

コード 説明
400 – 不正な要求 要求が見つからないか、正しくないデータが含まれています。 エラーの詳細については、応答本文を確認してください。
401 – 未承認 呼び出し元は認証されないため、最初の呼び出しを行う前にパートナー API サービスで認証する必要があります。
403 – 使用不可能 要求を行うために必要な承認がありません。
404お探しのページが見つかりませんでした 要求されたリソースは、指定された入力パラメーターでは使用できません。
410 – ゴーン マニフェスト リンクがタイムアウトまたは期限切れになりました。 新しい要求を送信します。
500 - 内部サーバー エラー API またはその依存関係の 1 つは、現時点では要求を満たすことはできません。 後でもう一度試してみてください。
5000 – 使用できるデータがありません システムには、指定された入力パラメーターのデータがありません。

ベータ版と GA バージョンを比較する

ベータ版と一般公開 (GA) バージョンの違いについては、比較表を参照してください。 ベータ版を使用している場合は、GA バージョンに簡単に切り替える必要があります。

重要情報 ベータ 一般公開
API ホスト エンドポイント https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/ https://graph.microsoft.com/v1.0/reports/partners/billing/usage/
HTTP メソッド 投稿 投稿
毎日評価されない使用状況 API エンドポイント https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/unbilledusage https://graph.microsoft.com/v1.0/reports/partners/billing/usage/unbilled/export
毎日評価されていない使用状況 API の入力パラメーター API 要求でパラメーターを指定するには、要求 URL のクエリ文字列にパラメーターを含めます。
たとえば、period パラメーターと currencyCode パラメーターを指定するには、要求 URL に ?period=current&currencyCode=usd を追加します。
入力を提供するには、要求本文に JSON オブジェクトを含めます。 JSON オブジェクトには、次のプロパティが含まれている必要があります。
* currencyCode: 請求書の通貨コード。 たとえば、USD です。
* billingPeriod: 請求書の請求期間。 たとえば、現在の値です。
currencyCode プロパティと billingPeriod プロパティを含む JSON オブジェクトの例を次に示します。<br>{<br> "currencyCode": "USD",<br> "billingPeriod": "current"<br>}
請求日単位の使用状況 API エンドポイント https://ep-billingreconservice-prod-d5bfczcnfvbqbdhx.z01.azurefd.net/v1/billedusage/invoices/{InvoiceId} https://graph.microsoft.com/v1.0/reports/partners/billing/usage/billed/export
課金日単位の使用状況 API の入力パラメーター API 要求でパラメーターを指定するには、要求 URL に invoiceId を含めます。 さらに、クエリ文字列に省略可能なフラグメント パラメーターを含め、属性の完全なセットを取得できます。
たとえば、属性の完全なセットを取得するには、要求 URL に ?fragment=full を追加します。
入力を提供するには、要求本文に JSON オブジェクトを含めます。 JSON オブジェクトには、次のプロパティが含まれている必要があります。
* invoiceId: 請求書の ID。 たとえば、G00012345。
* attributeSet: 応答に含める属性のセット。 たとえば、full です。
invoiceId プロパティと attributeSet プロパティを含む JSON オブジェクトの例を次に示します。
{<br> "invoiceId": "G00012345",<br> "attributeSet": "full"<br>}
マニフェスト リソース マニフェスト リソースを取得するには、別の GET /manifests/{id} メソッドを使用します。 GET /operations/{Id} メソッドを使用すると、resourceLocation の関連するマニフェスト リソースが返されるため、GET /manifests/{id} メソッドを個別に呼び出す必要がなくなります。
マニフェスト スキーマの変更
"id": 使用できません "id": マニフェスト リソースの一意の識別子。
"version": Available "version": 名前が "schemaversion" に変更されています。
"dataFormat": 使用可能 "dataFormat": 使用できます。
"utcCretedDateTime": 使用可能 "utcCretedDateTime": 名前が "createdDateTime" に変更されました。
"eTag": 使用可能 "eTag": 使用できます。
"partnerTenantId": 使用可能 "partnerTenantId": 使用可能
"rootFolder": 使用可能 "rootFolder": "rootDirectory" に名前が変更されました。
"rootFolderSAS": 使用可能 "rootFolderSAS": 名前が "sasToken" に変更されました。これでトークンが提供され、ルート ディレクトリ パスが含まれるようになりました。 ディレクトリにアクセスするには、代わりに "rootDirectory" プロパティを使用します。
"partitionType": 使用可能 "partitionType": 使用できます。
"blobCount": 使用可能 "blobCount": 使用できます。
"sizeInBytes": 使用可能 "sizeInBytes": 使用できません。
"BLOB": 使用可能 "BLOB": 使用できます。
"BLOB オブジェクト": 使用可能 "BLOB オブジェクト": 使用できます。
"name": 使用可能 "name": 使用できます。
"partitionValue": 使用可能 "partitionValue": 使用できます。

日単位の使用状況調整明細属性

"full" または "basic" 属性セットについて、日単位の使用状況調整 API によって返される属性を比較するには、次の情報を参照してください。

Attribute 完全 基本
PartnerId はい はい
PartnerName はい はい
CustomerId はい はい
CustomerName はい はい
CustomerDomainName はい いいえ
CustomerCountry はい いいえ
MpnId はい いいえ
Tier2MpnId はい いいえ
InvoiceNumber はい はい
製品 ID はい はい
SkuId はい はい
AvailabilityId はい いいえ
SkuName はい はい
ProductName はい いいえ
発行元 はい はい
PublisherId はい いいえ
SubscriptionDescription はい いいえ
SubscriptionId はい はい
ChargeStartDate はい はい
ChargeEndDate はい はい
UsageDate はい はい
MeterType はい いいえ
測定カテゴリ (MeterCategory) はい いいえ
MeterId はい いいえ
測定サブカテゴリ (MeterSubCategory) はい いいえ
MeterName はい いいえ
MeterRegion はい いいえ
出荷単位 はい はい
ResourceLocation はい いいえ
ConsumedService はい いいえ
ResourceGroup はい いいえ
ResourceURI はい はい
料金の種類 (ChargeType) はい はい
UnitPrice はい はい
数量 (Quantity) はい はい
UnitType はい いいえ
BillingPreTaxTotal はい はい
請求通貨 (BillingCurrency) はい はい
PricingPreTaxTotal はい はい
PricingCurrency はい はい
ServiceInfo1 はい いいえ
ServiceInfo2 はい いいえ
Tags はい いいえ
AdditionalInfo はい いいえ
EffectiveUnitPrice はい はい
PCToBCExchangeRate はい はい
EntitlementID はい はい
EntitlementDescription はい いいえ
PartnerEarnedCreditPercentage はい いいえ
CreditPercentage はい はい
CreditType はい はい
BenefitOrderID はい はい
BenefitID はい いいえ
BenefitType はい はい

重要

v1 から API v2 に移行するときに、これらの変更をメモしておきます。

  • 各属性の名前は、 uppercase で始まります。

  • unitOfMeasure がunitになりました。 属性の意味と値は同じです。

  • resellerMpnId がTier2MpnIdになりました。 属性の意味と値は同じです。

  • rateOfPartnerEarnedCredit の名前と値が PartnerEarnedCreditPercentage に変更されました。 属性の新しい名前と値には、分数ではなくパーセンテージが反映されます。 たとえば、0.15 は 15 になりました。

  • rateOfCredit がCreditPercentage になりました。 属性の意味と値が変更されました。 たとえば、1.00 は 100 になりました。

サンプル コード

詳細については、「 Partner Center API サンプル: 課金の調整データを取得するを参照してください。