Skip to content

APIの概要

このリファレンス記事では、一般的な用語、REST APIキーや権限の概要、それらを安全に保つ方法など、APIの基本について説明します。

Braze REST APIコレクション

コレクション 目的
カタログ BrazeのCampaignsで参照するカタログやカタログアイテムを作成、管理します。
クラウドデータ取り込み データウェアハウスの統合と同期を管理します。
メールリストとアドレス Brazeとお使いのメールシステム間の双方向同期を設定・管理します。
エクスポート Campaigns、Canvases、KPIなどのさまざまな詳細にアクセスし、エクスポートします。
メディアライブラリ Braze内でアセットを管理します。
メッセージ CampaignsとCanvasesのスケジュールの設定、送信、管理を行います。
ユーザー設定センター ユーザー設定センターを構築し、そのスタイルを更新します。
SCIM クラウドベースのアプリケーションやサービスにおけるユーザーIDを管理します。
SMS サブスクリプショングループでユーザーの電話番号を管理します。
サブスクリプショングループ Brazeダッシュボードに保存されているSMSとメールのサブスクリプショングループをリストアップし、更新します。
テンプレート メールメッセージやContent Blocksのテンプレートを作成し、更新します。
ユーザーデータ ユーザーを特定し、追跡し、管理します。

API定義

Braze REST APIのドキュメントで使用される用語の概要を次に示します。

エンドポイント

Brazeは、ダッシュボードとRESTエンドポイント用のさまざまなインスタンスを管理しています。アカウントがプロビジョニングされたら、以下のいずれかのURLにログインします。どのインスタンスにプロビジョニングされるかに基づいて、正しいRESTエンドポイントを使用してください。不明な場合は、サポートチケットを開くか、以下の表を使用して、使用するダッシュボードのURLと正しいRESTエンドポイントを照合してください。

BrazeでRESTエンドポイントを見つけるには:

  1. Brazeにログインし、Settings > APIs and Identifiers > API Keysに移動します。
  2. 既存のAPIキーを選択するか、Create API Keyを選択して新しいキーを作成します。
  3. このタブに表示されているRESTエンドポイントをコピーし、APIリクエストにそのエンドポイントを使用します。
インスタンス URL RESTエンドポイント SDKエンドポイント
US-01 https://dashboard-01.braze.com https://rest.iad-01.braze.com sdk.iad-01.braze.com
US-02 https://dashboard-02.braze.com https://rest.iad-02.braze.com sdk.iad-02.braze.com
US-03 https://dashboard-03.braze.com https://rest.iad-03.braze.com sdk.iad-03.braze.com
US-04 https://dashboard-04.braze.com https://rest.iad-04.braze.com sdk.iad-04.braze.com
US-05 https://dashboard-05.braze.com https://rest.iad-05.braze.com sdk.iad-05.braze.com
US-06 https://dashboard-06.braze.com https://rest.iad-06.braze.com sdk.iad-06.braze.com
US-07 https://dashboard-07.braze.com https://rest.iad-07.braze.com sdk.iad-07.braze.com
US-08 https://dashboard-08.braze.com https://rest.iad-08.braze.com sdk.iad-08.braze.com
US-10 https://dashboard.us-10.braze.com https://rest.us-10.braze.com sdk.us-10.braze.com
EU-01 https://dashboard-01.braze.eu https://rest.fra-01.braze.eu sdk.fra-01.braze.eu
EU-02 https://dashboard-02.braze.eu https://rest.fra-02.braze.eu sdk.fra-02.braze.eu
AU-01 https://dashboard.au-01.braze.com https://rest.au-01.braze.com sdk.au-01.braze.com
ID-01 https://dashboard.id-01.braze.com https://rest.id-01.braze.com sdk.id-01.braze.com
JP-01 https://dashboard.jp-01.braze.com https://rest.jp-01.braze.com sdk.jp-01.braze.com
KR-01 https://dashboard.kr-01.braze.com https://rest.kr-01.braze.com sdk.kr-01.braze.com

API制限

ほとんどのAPIについて、Brazeはデフォルトで1時間あたり250,000リクエストというレート制限を設けています。ただし、特定のリクエストタイプには独自のレート制限が適用されます。これにより、顧客ベース全体での大量データ処理を適切に管理できます。詳細はAPIレート制限を参照してください。

ユーザーID

  • External user IDexternal_idは、データの送信対象となる一意のユーザー識別子として機能します。この識別子は、同じユーザーに複数のプロファイルが作成されるのを避けるため、Braze SDKで設定したものと同じでなければなりません。
  • BrazeユーザーIDbraze_idはBrazeが設定する一意のユーザー識別子として機能します。この識別子を使って、external_idに加えてREST APIを通じてユーザーを削除できます。

詳細については、iOSAndroidWebの各プラットフォームに応じた以下の記事を参照してください。

REST APIキーについて

RESTアプリケーションAPIキー(REST APIキー)とは、API呼び出しを認証し、呼び出し元となるアプリケーションやユーザーを識別するためにAPIに渡す一意のコードです。貴社のREST APIエンドポイントに対してHTTPSウェブリクエストを送信することで、APIにアクセスします。REST APIキーは、App Identifierキーと連携してデータのトラッキング、アクセス、送信、エクスポート、分析を行い、すべてが円滑に動作していることを保証するのに役立ちます。

ワークスペースとAPIキーはBrazeでは密接な関係にあります。ワークスペースは、複数のプラットフォームにまたがる同じアプリケーションのバージョンを収容するように設計されています。また、多くの顧客はワークスペースを使用して、無料版とプレミアム版のアプリケーションを同じプラットフォーム上に格納しています。お気づきかもしれませんが、これらのワークスペースもREST APIを利用しており、独自のREST APIキーが存在します。これらのキーは、API上の特定のエンドポイントへのアクセスを含むように、個別にスコープすることができます。APIの各呼び出しには、対象エンドポイントへのアクセス権を持つキーを含める必要があります。

REST APIキーとワークスペースAPIキーの両方をapi_keyと呼びます。api_keyはリクエストヘッダーとして各リクエストに含まれ、REST APIを使用するための認証キーとして機能します。これらのREST APIは、ユーザーの追跡、メッセージの送信、ユーザーデータのエクスポートなどに使用されます。新しいREST APIキーを作成する際には、特定のエンドポイントへのアクセス権を付与する必要があります。APIキーに特定の権限を割り当てることで、APIキーが認証できる呼び出しを厳密に制限できます。

APIキータブにあるREST APIキーのパネル。

REST APIキーを作成する

新しいREST APIキーを作成するには:

  1. Settings > APIs and Identifiersに移動します。
  2. Create API Keyを選択します。
  3. 一目で識別できるように、新しいキーに名前をつけます。
  4. 新しいキーに対して許可リストに登録するIPアドレスとサブネットを指定します。
  5. 新しいキーに関連付ける権限を選択します。

REST APIキーの権限

APIキーの権限は、特定のAPI呼び出しへのアクセスを制限するために、ユーザーまたはグループに割り当てることができる権限です。APIキーの権限のリストを表示するには、Settings > APIs and Identifiersと進み、APIキーを選択します。

権限 エンドポイント 説明
users.track /users/track ユーザー属性、カスタムイベント、購入を記録します。
users.delete /users/delete 任意のユーザーを削除します。
users.alias.new /users/alias/new 既存のユーザーのエイリアスを新規作成します。
users.identify /users/identify external IDを使用してエイリアスのみのユーザーを特定します。
users.export.ids /users/export/ids ユーザーIDでユーザープロファイル情報を照会します。
users.export.segment /users/export/segment Segment別のユーザープロファイル情報を照会します。
users.merge /users/merge 既存の2人のユーザーを互いにマージします。
users.external_ids.rename /users/external_ids/rename 既存のユーザーのexternal IDを変更します。
users.external_ids.remove /users/external_ids/remove 既存のユーザーのexternal IDを削除します。
users.alias.update /users/alias/update 既存のユーザーのエイリアスを更新します。
users.export.global_control_group /users/export/global_control_group グローバルコントロールグループのユーザープロファイル情報を照会します。
権限 エンドポイント 説明
messages.send /messages/send 特定のユーザーに即座にメッセージを送信します。
messages.schedule.create /messages/schedule/create 特定の時間にメッセージを送信するようスケジュールします。
messages.schedule.update /messages/schedule/update スケジュールされたメッセージを更新します。
messages.schedule.delete /messages/schedule/delete スケジュールされたメッセージを削除します。
messages.schedule_broadcasts /messages/scheduled_broadcasts スケジュールされたすべてのブロードキャストメッセージを照会します。
messages.live_activity.update /messages/live_activity/update iOSのライブアクティビティを更新します。
権限 エンドポイント 説明
campaigns.trigger.send /campaigns/trigger/send 既存のCampaignの送信をトリガーします。
campaigns.trigger.schedule.create /campaigns/trigger/schedule/create APIトリガーによる配信でCampaignの送信をスケジュールします。
campaigns.trigger.schedule.update /campaigns/trigger/schedule/update APIトリガー配信でスケジュールされたCampaignを更新します。
campaigns.trigger.schedule.delete /campaigns/trigger/schedule/delete APIトリガー配信でスケジュールされたCampaignを削除します。
campaigns.list /campaigns/list Campaignsの一覧を照会します。
campaigns.data_series /campaigns/data_series 時間範囲のCampaign分析を照会します。
campaigns.details /campaigns/details 特定のCampaignの詳細を照会します。
sends.data_series /sends/data_series 特定の期間のメッセージ送信分析を照会します。
sends.id.create /sends/id/create メッセージブラストトラッキング用の送信IDを作成します。
campaigns.url_info.details /campaigns/url_info/details Campaign内の特定のメッセージバリエーションのURL詳細を照会します。
transactional.send /transactional/v1/campaigns/{campaign_id}/send トランザクションメッセージングエンドポイントを使用してトランザクションメッセージを送信できるようにします。
権限 エンドポイント 説明
canvas.trigger.send /canvas/trigger/send 既存のCanvasの送信をトリガーします。
canvas.trigger.schedule.create /canvas/trigger/schedule/create APIトリガーによる配信でCanvasの送信をスケジュールします。
canvas.trigger.schedule.update /canvas/trigger/schedule/update APIトリガー配信でスケジュールされたCanvasを更新します。
canvas.trigger.schedule.delete /canvas/trigger/schedule/delete APIトリガー配信でスケジュールされたCanvasを削除します。
canvas.list /canvas/list Canvasesのリストを照会します。
canvas.data_series /canvas/data_series 特定の期間のCanvas分析を照会します。
canvas.details /canvas/details 特定のCanvasの詳細を照会します。
canvas.data_summary /canvas/data_summary 特定の期間のCanvas分析のロールアップを照会します。
canvas.url_info.details /canvas/url_info/details キャンバスステップ内の特定のメッセージバリエーションのURL詳細を照会します。
権限 エンドポイント 説明
segments.list /segments/list Segmentsのリストを照会します。
segments.data_series /segments/data_series 時間範囲のSegment分析を照会します。
segments.details /segments/details 特定のSegmentの詳細を照会します。
権限 エンドポイント 説明
purchases.product_list /purchases/product_list アプリで購入された製品のリストを照会します。
purchases.revenue_series /purchases/revenue_series 時間範囲にわたって、アプリで1日あたりに使われた金額の合計を照会します。
purchases.quantity_series /purchases/quantity_series 特定の期間内の、1日あたりのアプリ内購入数の合計を照会します。
権限 エンドポイント 説明
events.list /events/list カスタムイベントのリストを照会します。
events.data_series /events/data_series 時間範囲にわたるカスタムイベントの発生を照会します。
権限 エンドポイント 説明
sessions.data_series /sessions/data_series 時間範囲内の1日あたりのセッション数を照会します。
権限 エンドポイント 説明
kpi.dau.data_series /kpi/dau/data_series 特定の期間内の、1日あたりのユニークアクティブユーザー数を照会します。
kpi.mau.data_series /kpi/mau/data_series 特定の期間内の、30日間ローリングウィンドウでのユニークアクティブユーザー数の合計を照会します。
kpi.new_users.data_series /kpi/new_users/data_series 特定の期間内の、1日あたりの新規ユーザー数を照会します。
kpi.uninstalls.data_series /kpi/uninstalls/data_series 時間範囲における1日あたりのアプリのアンインストール数を照会します。
権限 エンドポイント 説明
templates.email.create /templates/email/create ダッシュボードで新しいメールテンプレートを作成します。
templates.email.info /templates/email/info 特定のテンプレートの情報を照会します。
templates.email.list /templates/email/list メールテンプレートのリストを照会します。
templates.email.update /templates/email/update ダッシュボードに保存されているメールテンプレートを更新します。
権限 説明
sso.saml.login IDプロバイダーが開始するログインをセットアップします。詳細については、サービスプロバイダー(SP)が開始するログインを参照してください。
権限 エンドポイント 説明
content_blocks.info /content_blocks/info 特定のテンプレートの情報を照会します。
content_blocks.list /content_blocks/list Content Blocksのリストを照会します。
content_blocks.create /content_blocks/create ダッシュボードに新しいContent Blockを作成します。
content_blocks.update /content_blocks_update ダッシュボード上の既存のContent Blockを更新します。
権限 エンドポイント 説明
preference_center.get /preference_center/v1/{preferenceCenterExternalId} ユーザー設定センターを取得します。
preference_center.list /preference_center/v1/list ユーザー設定センターをリストアップします。
preference_center.update /preference_center/v1

/preference_center/v1/{preferenceCenterExternalID}
ユーザー設定センターを作成または更新します。
preference_center.user.get /preference_center/v1/{preferenceCenterExternalId}/url/{userId} ユーザー用のユーザー設定センターリンクを取得します。
権限 エンドポイント 説明
subscription.status.set /subscription/status/set サブスクリプショングループのステータスを設定します。
subscription.status.get /subscription/status/get サブスクリプショングループのステータスを取得します。
subscription.groups.get /subscription/user/status 特定のユーザーが明示的に購読中および配信停止しているサブスクリプショングループのステータスを取得します。
権限 エンドポイント 説明
sms.invalid_phone_numbers /sms/invalid_phone_numbers 無効な電話番号を照会します。
sms.invalid_phone_numbers.remove /sms/invalid_phone_numbers/remove ユーザーから無効な電話番号フラグを削除します。
権限 エンドポイント 説明
catalogs.add_items /catalogs/{catalog_name}/items 既存のカタログに複数のアイテムを追加します。
catalogs.update_items /catalogs/{catalog_name}/items 既存のカタログの複数のアイテムを更新します。
catalogs.delete_items /catalogs/{catalog_name}/items 既存のカタログから複数のアイテムを削除します。
catalogs.get_item /catalogs/{catalog_name}/items/{item_id} 既存のカタログから単一のアイテムを取得します。
catalogs.update_item /catalogs/{catalog_name}/items/{item_id} 既存のカタログの単一アイテムを更新します。
catalogs.create_item /catalogs/{catalog_name}/items/{item_id} 既存のカタログに単一のアイテムを作成します。
catalogs.delete_item /catalogs/{catalog_name}/items/{item_id} 既存のカタログから単一のアイテムを削除します。
catalogs.replace_item /catalogs/{catalog_name}/items/{item_id} 既存のカタログの単一のアイテムを置き換えます。
catalogs.create /catalogs カタログを作成します。
catalogs.get /catalogs カタログのリストを取得します。
catalogs.delete /catalogs/{catalog_name} カタログを削除します。
catalogs.get_items /catalogs/{catalog_name}/items 既存のカタログからアイテムのプレビューを取得します。
catalogs.replace_items /catalogs/{catalog_name}/items 既存のカタログのアイテムを置き換えます。
権限 エンドポイント 説明
sdk_authentication.create /app_group/sdk_authentication/create アプリ用に新しいSDK認証キーを作成します。
sdk_authentication.primary /app_group/sdk_authentication/primary SDK認証キーをアプリのプライマリキーとしてマークします。
sdk_authentication.delete /app_group/sdk_authentication/delete アプリのSDK認証キーを削除します。
sdk_authentication.keys /app_group/sdk_authentication/keys アプリのすべてのSDK認証キーを取得します。

REST APIキーを管理する

Settings > APIs and Identifiers > API Keysタブから、既存のREST APIキーの詳細を表示したり、削除したりできます。REST APIキーは作成後に編集できないことに注意してください。

API Keysタブには、各キーについて以下の情報が含まれています:

フィールド 説明
APIキー名 作成時にキーにつけられた名前。
識別子 APIキー。
作成者 キーを作成したユーザーのメールアドレス。このフィールドは、2023年6月以前に作成されたキーに対して「N/A」と表示されます。
作成日 このキーが作成された日付。
最終使用日 このキーが最後に使用された日付。このフィールドは、一度も使用されたことのないキーに対して「N/A」と表示されます。

APIキーの詳細を表示するには、キーにカーソルを合わせて Viewを選択します。これには、このキーが持つすべての権限、ホワイトリストに登録されているIP(もしあれば)、このキーがBraze IPホワイトリストにオプトインしているかどうかが含まれます。

BrazeダッシュボードのAPIキー権限のリスト。

ユーザーを削除する際、Brazeはそのユーザーが作成した関連するAPIキーを削除しないことに注意してください。キーを削除するには、キーにカーソルを合わせて Deleteを選択します。

ゴミ箱のアイコンが強調表示され、「Delete」を示す「Last Seen」というAPIキー。

REST APIキーのセキュリティ

APIキーは、API呼び出しを認証するために使用されます。新しいREST APIキーを作成するときには、特定のエンドポイントへのアクセス権をキーに付与する必要があります。APIキーに特定の権限を割り当てることで、APIキーが認証できる呼び出しを厳密に制限できます。

REST APIキーによって潜在的に機密性の高いREST APIエンドポイントへのアクセスが許可されるため、これらのキーを安全に保管し、信頼できるパートナーとのみ共有してください。これらのキーは一般公開しないでください。例えば、このキーを使ってWebサイトからAJAX呼び出しを行ったり、その他の公開的な方法で公開してはいけません。

適切なセキュリティプラクティスは、業務を完了するために必要なアクセス権のみをユーザーに割り当てることです。この原則は、各キーに権限を割り当てることによってAPIキーにも適用できます。これらの権限により、セキュリティが向上し、アカウントのさまざまな領域をコントロールできます。

キーを誤って公開してしまった場合、開発者コンソールから削除できます。このプロセスに関するヘルプについては、サポートチケットを開いてください。

REST APIキーとSDK APIキーのセキュリティ

REST APIキーとSDK APIキーは、セキュリティプロファイルが異なります。

  REST APIキー SDK APIキー
目的 REST APIのサーバーサイド認証(メッセージの送信、データのエクスポート、ユーザーの管理) Braze SDKのクライアントサイド識別(データの取り込み、アプリ内メッセージ、Content Cards)
可視性 非公開にする必要があります。クライアントサイドのコード、公開リポジトリ、またはユーザーアプリケーションに公開してはいけません。 公開されることを前提に設計されています。アプリのバイナリにバンドルされるか、WebブラウザのJavaScriptで表示されます。Google AnalyticsのトラッキングIDと同様です。
公開された場合の対処 直ちにキーを無効化し、Settings > APIs and Identifiers > API Keysで代替キーを作成してください。公開されたREST APIキーは、メッセージの送信、ユーザーデータのエクスポート、またはアカウント設定の変更に使用される可能性があります。 対処は不要です。SDK APIキーはデータの取り込みとクライアントサイドのメッセージング(アプリ内メッセージやContent Cardsなど)の取得のみが可能です。ユーザーデータのエクスポート、代理でのメッセージ送信、Campaignsの変更はできません。

API IPの許可リスト

セキュリティをさらに強化するため、特定のREST APIキーに対してREST APIリクエストを実行できるIPアドレスやサブネットのリストを指定できます。これは、許可リストまたはホワイトリストと呼ばれます。特定のIPアドレスやサブネットを許可するには、新しいREST APIキーを作成する際に、Whitelist IPsセクションに追加します:

APIキーの作成時にIPを許可リストに登録するオプション。

何も指定しない場合、すべてのIPアドレスからリクエストを送信できます。

API認証とセキュリティ

ベアラートークン認証

Brazeは、Authorizationリクエストヘッダーにベアラートークンとして渡されたREST APIキーを使用して、REST APIリクエストを認証します。リクエストを送信する際は、APIキーを次の形式で含めてください:

1
Authorization: Bearer YOUR_REST_API_KEY

各リクエストに対して、Brazeは以下のサーバーサイド検証チェックを実行します:

  1. トークンの有効性: REST APIキーがBrazeに存在し、有効であることを確認します(例えば、失効または無効化されていない状態であること)。
  2. トークンの認可: APIキーが要求されたエンドポイントに必要な権限を持っていることを確認します。

認証が失敗した場合、APIはHTTPステータスコード付きのエラー応答を返します。例えば、401 Unauthorizedはキーが無効または欠落していることを示し、403 Forbiddenはキーが要求されたエンドポイントに対する権限を持っていないことを示します。詳細については、APIエラーを参照してください。

ネットワークレベルのセキュリティ

BrazeへのREST APIリクエストは、リクエストパス全体でトランスポート層セキュリティ(TLS)暗号化によって保護されています。以下の表は、お客様のサーバーからBrazeへのAPIリクエストのネットワークフローを説明するものです:

ステップ コンポーネント 説明
1 お客様のサーバー TLS暗号化を用いたHTTPSリクエストを開始します。
2 Cloudflare クライアントのTLS接続を終端し、ネットワークレベルの保護を適用します。
3 ネットワークロードバランサー(NLB) パケットをアプリケーションインフラに転送します。NLBはレイヤー4で動作するため、レイヤー7のプロキシングは行われません。パケットはHTTPレベルの検査や変更なしに転送されます。
4 NGINXイングレス 内部のTLS接続を終端し、リクエストをルーティングします。
5 Unicorn(アプリケーションサーバー) 認証されたリクエストを処理します。

TLS暗号化は、チェーンのすべてのリンクをカバーします。お客様のサーバーはTLS経由でCloudflareに接続し、CloudflareはNLBを介してNGINXイングレスへ別のTLS接続を確立するため、APIキーとリクエストデータは転送中に暗号化されたままとなります。

その他のリソース

Rubyクライアントライブラリー

RubyでBrazeを実装する場合、Rubyクライアントライブラリーを使用すればデータインポート時間を短縮できます。クライアントライブラリーとは、あるプログラミング言語(この場合はRuby)に特化したコードの集まりで、APIを使いやすくするものです。

Rubyクライアントライブラリーは、ユーザーエンドポイントをサポートしています。

New Stuff!