Salesforce API によるイベントメッセージの公開
イベントを公開するには、sObject を挿入する方法と同じ方法でイベントを公開します。SOAP API、REST API、Bulk API 2.0 など、任意の Salesforce API を使用してプラットフォームイベントを作成できます。
イベントメッセージを公開すると、API から返された結果に、操作が成功したかどうかと、発生したエラーに関する情報が含まれます。Success 項目が true の場合、公開要求は Salesforce のキューに入れられ、イベントメッセージが非同期で公開されます。詳細は、「大規模プラットフォームイベントの保持」を参照してください。success が false の場合、イベント公開操作でエラーが発生しており、エラーは errors 項目で返されています。
返される結果には Id システム項目も含まれます。Id 項目値は、サブスクライバーに配信されるイベントメッセージには含まれません。これは、イベントメッセージの識別に使用されず、必ずしも一意ではありません。サブスクライバーは、配信されたメッセージに含まれる ReplayId システム項目を使用して、ストリーム内のイベントの位置を特定できます。
非同期公開で返される状況コード
公開操作が非同期であることを示すため、応答のエラー項目のコールが成功した場合は、OPERATION_ENQUEUED 状況コードがイベント UUID とともに返されます。次の応答の例には、OPERATION_ENQUEUED を含む statusCode 項目と、イベント UUID を含む message 項目が示されています。
次のセクションの例は、大量のプラットフォームイベントに基づいています。
REST API
REST API を使用してプラットフォームイベントメッセージを公開するには、POST 要求を次のエンドポイントに送信します。
例
Low Ink という名前のプラットフォームイベントを定義している場合、Low_Ink__e データを追加して、イベント通知を公開します。この例では、種別 Low_Ink__e の 1 つのイベントを REST API で作成します。
REST エンドポイント:
リクエストボディ:
プラットフォームイベントメッセージが公開されると、REST 応答が次の出力のように表示されます。簡潔にするため、ヘッダーは削除しています。
REST API 複合リソース
1 つの REST API 要求で複数のプラットフォームイベントメッセージを公開するには、composite リソースを使用します。次のエンドポイント宛に POST 要求を送信します。
各プラットフォームイベントを Composite 要求ボディのサブ要求として追加します。
例
この Composite 要求には、リクエストボディに 2 つのプラットフォームイベントが含まれています。
プラットフォームイベントメッセージが公開されると、REST 応答が次の出力のように表示されます。このサンプル応答からヘッダーが削除されます。
SOAP API
SOAP API を使用してプラットフォームイベントメッセージを公開するには、create() コールを使用します。
例
この例は、1 回のコールで 3 つのプラットフォームイベントメッセージを作成する要求の SOAP メッセージ (Partner API を使用) を示しています。各イベントに Printer_Model__c という名前の 1 つのカスタム項目が含まれます。
Partner SOAP API 要求の応答は、次のようになります。簡潔にするため、ヘッダーは削除しています。