この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Salesforce API によるイベントメッセージの公開

外部アプリケーションは API を使用してプラットフォームイベントメッセージを公開します。

イベントを公開するには、sObject を挿入する方法と同じ方法でイベントのレコードを作成します。SOAP API、REST API、Bulk API など、任意の Salesforce API を使用してプラットフォームイベントを作成できます。

イベントメッセージを公開すると、API から返された結果に、操作が成功したかどうかと、発生したエラーに関する情報が含まれます。success 項目が true の場合、イベントは公開されました。それ以外の場合、イベント公開操作はエラーであり、エラーは errors 項目に返されています。

返される結果には Id システム項目も含まれます。Id 項目値は、登録者に配信されるイベントメッセージには含まれません。これは、イベントメッセージの識別に使用されず、必ずしも一意ではありません。登録者は、配信されたメッセージに含まれる ReplayId システム項目を使用して、ストリーム内のイベントの位置を特定できます。

REST API

REST API を使用してプラットフォームイベントメッセージを公開するには、POST 要求を次のエンドポイントに送信します。

1/services/data/v43.0/sobjects/Event_Name__e/

「Low Ink (低インクレベル)」という名前のプラットフォームイベントを定義している場合、Low_Ink__e レコードを追加して、イベント通知を公開します。この例では、種別 Low_Ink__e の 1 つのイベントを REST API で作成します。

REST エンドポイント:

1/services/data/v43.0/sobjects/Low_Ink__e/

リクエストボディ:

1{
2   "Printer_Model__c" : "XZO-5"
3}

プラットフォームイベントレコードが作成されると、REST 応答が次の出力のように表示されます。簡潔にするため、ヘッダーは削除しています。

1HTTP/1.1 201 Created 
2
3{   
4   "id" : "e00xx000000000B",
5   "success" : true,
6   "errors" : [ ] 
7}

SOAP API

SOAP API を使用してプラットフォームイベントメッセージを公開するには、create() コールを使用します。

この例は、1 回のコールで 3 つのプラットフォームイベントを作成する要求の SOAP メッセージ (Partner API を使用) を示しています。各イベントに Printer_Model__c という名前の 1 つのカスタム項目が含まれます。

1<?xml version="1.0" encoding="UTF-8"?>
2<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:sobject.partner.soap.sforce.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="urn:partner.soap.sforce.com">
3<SOAP-ENV:Header>
4    <ns2:SessionHeader>
5        <ns2:sessionId>00DR00000001fWV!AQMAQOshATCQ4fBaYFOTrHVixfEO6l...</ns2:sessionId>
6    </ns2:SessionHeader>
7    <ns2:CallOptions>
8        <ns2:client>Workbench/34.0.12i</ns2:client>
9        <ns2:defaultNamespace xsi:nil="true"/>
10        <ns2:returnFieldDataTypes xsi:nil="true"/>
11    </ns2:CallOptions>
12</SOAP-ENV:Header>
13<SOAP-ENV:Body>
14    <ns2:create>
15        <ns2:sObjects>
16            <ns1:type>Low_Ink__e</ns1:type>
17            <ns1:fieldsToNull xsi:nil="true"/>
18            <ns1:Id xsi:nil="true"/>
19            <Printer_Model__c>XZO-600</Printer_Model__c>
20        </ns2:sObjects>
21        <ns2:sObjects>
22            <ns1:type>Low_Ink__e</ns1:type>
23            <ns1:fieldsToNull xsi:nil="true"/>
24            <ns1:Id xsi:nil="true"/>
25            <Printer_Model__c>XYZ-100</Printer_Model__c>
26        </ns2:sObjects>
27        <ns2:sObjects>
28            <ns1:type>Low_Ink__e</ns1:type>
29            <ns1:fieldsToNull xsi:nil="true"/>
30            <ns1:Id xsi:nil="true"/>
31            <Printer_Model__c>XYZ-9000</Printer_Model__c>
32        </ns2:sObjects>
33    </ns2:create>
34</SOAP-ENV:Body>
35</SOAP-ENV:Envelope>

Partner SOAP API 要求の応答は、次のように表示されます。簡潔にするため、ヘッダーは削除しています。

1<?xml version="1.0" encoding="UTF-8"?>
2<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:partner.soap.sforce.com">
3<soapenv:Header>
4 ...
5</soapenv:Header>
6<soapenv:Body>
7    <createResponse>
8        <result>
9            <id>e00xx000000000F</id>
10            <success>true</success>
11        </result>
12        <result>
13            <id>e00xx000000000G</id>
14            <success>true</success>
15        </result>
16        <result>
17            <id>e00xx000000000H</id>
18            <success>true</success>
19        </result>
20    </createResponse>
21</soapenv:Body>
22</soapenv:Envelope>