Skip to content

レート制限

BrazeのAPIインフラストラクチャは、顧客ベース全体で大量のデータを処理できるように設計されている。このため、ワークスペースごとにAPIレートの制限を設けている。

レート制限とは、APIが一定時間内に受け取れるリクエスト数のことである。大規模システムにおける負荷ベースのサービス拒否インシデントの多くは、悪意のある攻撃ではなく、ソフトウェアや設定のエラーによって引き起こされる意図的でないものである。レート制限は、このようなエラーがBraze APIのリソースをお客様から奪うことがないようにチェックする。一定時間内に多くのリクエストが送信された場合、ステータスコード429 のエラー応答が表示されることがある。これは、レート制限にヒットしたことを示す。

リクエストタイプ別のレート制限

以下の表に、リクエストタイプ別のデフォルトのAPIレート制限を示す。これらのデフォルトの制限は、リクエストに応じて増加できます。詳細については、カスタマーサクセスマネージャーにお問い合わせください。

APIリクエストをバッチ処理する

BrazeのAPIは、バッチ処理をサポートするように構築されている。バッチ処理により、Brazeは1回のAPIコールで可能な限り多くのデータを取り込むことができるため、多くのAPIコールを行う必要がなくなる。Brazeにとって、データを一度に1コールずつ処理するよりも、バッチで処理する方が効率的なのだ。例えば、1,000 件のバッチ API 呼び出しを処理する場合、75,000 回の個別の呼び出しを処理する場合よりも必要なリソースが少なくなります。1 時間あたり 75,000 回を超える呼び出しが必要なアプリケーションでは、バッチ処理は非常に重要です。

ユーザー追跡リクエストのバッチ処理

/users/track の各リクエストには、最大 75 個のイベントオブジェクト、75 個の属性オブジェクト、75 個の購買オブジェクトを含めることができます。各オブジェクト(イベント、アトリビュート、購入アレイ)は、それぞれ1人のユーザーを更新することができる。合計すると、1 回の呼び出しで最大 225 人のユーザーを更新できることになります。さらに、単一のユーザープロファイルを複数のオブジェクトによって更新することもできます。

このエンドポイントへのリクエストは通常、この順番で処理を開始する:

  1. 属性
  2. イベント
  3. 購入

メッセージングエンドポイントリクエストのバッチ処理

メッセージングエンドポイントへの単一のリクエストは、次のいずれかに到達できます。

  • それぞれに個別のメッセージパラメーターを持つ、最大 50 個の特定の external_ids
  • segment_id で指定される、Braze ダッシュボードで作成された任意のサイズのセグメント
  • リクエストの中で接続オーディエンスオブジェクトとして定義された、任意のサイズの追加オーディエンスフィルターにマッチするユーザー。

バッチリクエストの例

以下の例では、external_id を使って、EメールとSMSのAPIコールを1回行っている。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
curl --location --request POST 'https://rest.iad-01.braze.com/v2/subscription/status/set' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
  "subscription_groups":[
    {
      "subscription_group_id":"subscription_group_identifier",
      "subscription_state":"subscribed",
      "external_ids":["example-user","[email protected]"]
    },
    {
      "subscription_group_id":"subscription_group_identifier",
      "subscription_state":"subscribed",
      "external_ids":["example-user","[email protected]"]
    }
  ]
}

レート制限の監視

Brazeに送信されたすべてのAPIリクエストは、レスポンスヘッダに以下の情報を返す:

この情報は、Brazeダッシュボードではなく、APIリクエストに対するレスポンスのヘッダーに意図的に含まれている。これにより、あなたのシステムは、あなたが私たちのAPIとやりとりしているときにリアルタイムでよりよく反応することができる。例えば、X-RateLimit-Remaining の値がある閾値を下回った場合、すべてのトランザクションメールが送信されるように、送信を遅くしたいかもしれない。あるいは、ゼロになったら、X-RateLimit-Reset で指定された時間が経過するまで、すべての送信を一時停止することもできる。

API の制限についてご質問がある場合は、カスタマーサクセスマネージャーにお問い合わせいただくか、サポートチケットを開いてください。

エンドポイント間の最適遅延

Braze API を連続して呼び出す場合は、エンドポイント間の最適な遅延を理解することが重要です。エンドポイントが他のエンドポイントの正常な処理に依存している場合に問題が発生すると、呼び出しが早すぎる場合はエラーが発生する可能性があります。例えば、/user/alias/new エンドポイントを通じてユーザーにエイリアスを割り当て、そのエイリアスを使用して/users/track エンドポイントを通じてカスタム・イベントを送信する場合、どのくらい待つべきか?

通常の条件下では、データの最終的な一貫性が実現されるまでの時間は 10 ~ 100 ミリ秒 (1/10 秒) です。しかし、その整合性が取れるまでに時間がかかる場合もあるので、エラーの確率を最小限にするために、後続のコールをかける間隔を5分ほど空けることをお勧めする。

「このページはどの程度役に立ちましたか?」
New Stuff!