応答マッピング
Marketoは、JSONまたはXMLからWebhook データを変換し、リードフィールドに値を書き込むことができます。 Marketo Field パラメーターは、常にフィールドのSOAP API名を使用します。
各Webhookには、無制限の数の応答マッピングを設定できます。 マッピングを追加または編集するには、Webhookの応答マッピングペインで編集を選択します。
応答マッピングは、次の値をペアにします。
- 「応答属性」: XMLまたはJSON ドキュメント内の目的のプロパティへのパス。
- 「Marketo フィールド」: Marketoが応答属性値を書き込むリードフィールド。
Marketo レスポンスマッピングを使用してプロパティにアクセスするには、キーに英数字、ダッシュ( – )、アンダースコア(_)、コロン(:)、および空白のみを含める必要があります。
JSON マッピング
ドット表記法と配列表記法でJSON プロパティにアクセスできます。 Marketo配列表記法では、文字列ではなく整数のみを使用できます。
JSON ドキュメントからデータを取得するには、応答タイプをJSONに設定します。
{ "foo":"bar"}
foo プロパティは、JSON オブジェクトの最初のレベルにあります。 応答マッピングでプロパティ name、fooを使用します。
次の例には、配列が含まれています。
{
"profileId" : 1234,
"firstName" : "Jane",
"lastName" : "Doe",
"orders" : [
{
"orderId" : 5678,
"orderDate" : "2015-01-01",
"orderProductId" : "4982"
},
{
"orderId" : 5678,
"orderDate" : "2014-05-07",
"orderProductId" : "4982"
}
]
}
orders配列の最初の要素からorderDateにアクセスするには、orders[0].orderDateを使用します。
XML マッピング
JSON マッピングと同様に、ドット表記法を使用して、個々のXML要素から値にアクセスします。 次の例を考えてみましょう。
<?xml version="1.0" encoding="UTF-8"?>
<example>
<foo>bar</foo>
</example>
foo プロパティにアクセスするには、example.fooを使用します。
fooにアクセスする前に、サンプル要素を参照してください。 マッピングは、プロパティ階層内のすべての要素を参照する必要があります。
配列を含むXML ドキュメントの場合、次の例を考えてみましょう。
<?xml version="1.0" encoding="UTF-8"?>
<elementList>
<element>
<foo>baz</foo>
</element>
<element>
<foo>bar</foo>
</element>
<element>
<foo>bar</foo>
</element>
</elementList>
親配列はelementListです。 各子要素には、foo プロパティが含まれています。 Marketo応答マッピングは、配列をelementList.elementとして参照し、elementList.element[i]を通じてその子にアクセスします。
elementListの最初の子からfooの値を取得するには、応答属性elementList.element[0].fooを使用します。 このマッピングは、指定されたフィールドに「baz」という値を返します。
一意の要素名と一意でない要素名の両方を含む要素内のプロパティにアクセスすると、未定義の動作が発生します。 各要素は、単一のプロパティまたは配列のいずれかである必要があります。 種類を混ぜないでください。
タイプ
属性をフィールドにマッピングする場合は、Webhook応答タイプがターゲットフィールドと互換性があることを確認します。 例えば、Marketoは、文字列応答値をinteger型のフィールドに書き込みません。 詳しくは、 フィールドタイプ を参照してください。