Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerJava 8、11、または 17
Anypoint Studio 7.5 以降
Mule Runtime Engine (Mule) 4.3.0 以降
DataWeave
Salesforce Marketing Cloud の OAuth ログイン情報
接続を保護するには、接続項目の値を指定する必要があります。次の手順を実行します。
接続のプロパティが含まれる設定ファイルを作成します。
/src/main/resources/
フォルダー内に mule-app.properties
という名前のファイルを作成します。
mule-app.properties
ファイルに、次のような接続の一連のプロパティを作成します。括弧で囲まれたテキスト (括弧を含む) を各自の設定の適切な値に置き換えます。
config-with-oauth.clientId=<clientId used to initialize the connection> config-with-oauth.clientSecret=<clientSecret used to authenticate the user> config-with-oauth.soapEndpoint=<SOAP endpoint address> config-with-oauth.authEndpoint=<Authentication endpoint>
これは、選択した接続設定によって異なる場合があります。
プロパティファイルの作成についての詳細は、「プロパティプレースホルダーの設定」を参照してください。
接続のグローバル要素を設定します。
新しい Mule プロジェクトを作成します。
[Mule Palette (Mule パレット)] ビューで、[Search in Exchange (Exchange 内を検索)] をクリックして「Salesforce Marketing Cloud」
と入力します。
[Selected modules (選択したモジュール)] セクションに [Salesforce Marketing Cloud Connector] を追加し、[Finish (完了)] をクリックします。
[Global Elements (グローバル要素)] タブをクリックし、[Create (作成)] をクリックします。
[Connector Configuration (コネクタ設定)] > [Salesforce Marketing Cloud] を選択し、[OK] をクリックします。
値を入力して、[Basic Authentication (基本認証)] または [OAuth Client Credentials (OAuth クライアントログイン情報)] のいずれかを設定します。
[Test Connection (接続をテスト)] ボタンをクリックして、Salesforce Marketing Cloud API と接続されていることを確認します。ポップアップに成功メッセージが表示されます。
[OK] をクリックします。
[Global Element Configuration (グローバル要素設定)] で HTTPS リスナー設定を開きます。
[TLS] タブをクリックし、[TLS Configuration (TLS 設定)] > [Edit inline (インライン編集)] を選択します。
生成されたキーストアの詳細を使用して [Key Store Configuration (キーストア設定)] を指定し、この設定で HTTPS を有効にします。
[OK] をクリックします。
mule-app.properties
ファイルのグローバル要素を設定して、Mule がその場所を認識できるようにします。
[Global Elements (グローバル要素)] タブをクリックし、[Create (作成)] をクリックします。
[Choose Global Type (グローバル種別の選択)] ダイアログで、[Configuration properties (設定プロパティ)] を選択し、[OK] をクリックします。
[File (ファイル)] 項目に「mule.app.properties
」と入力します。
[OK] をクリックします。
この Mule フローでは、サブスクライバーを保存するためのリストを作成します。
[List type (リスト種別)] のデフォルト値は [Public (公開)] で、すべてのサブスクライバーにリストが表示されるようになります。リストの作成後、他の操作で使用するリスト ID をメモします。
|
この例では、次の操作を使用します。
HTTP Listener
HTTP 要求からデータを受け入れる
Logger
HTTP Listener からの HTTP 応答を表示します。
Transform Message
データを Java で出力します。
%dw 2.0 output application/java --- [{ ListClassification: payload.listClassification, ListName: payload.listName, "Type": payload.listType }]
Create entities
Marketing Cloud API Web サーバーに新しいオブジェクトを作成します。
次の値を入力します。
項目 | Value (値) |
---|---|
Object type (オブジェクト種別) |
|
Connector Configuration (コネクタ設定) |
|
Api objects (API オブジェクト) |
|
Transform Message
データを JSON で出力します。
output application/json --- payload
この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:sfdc-marketing-cloud="http://www.mulesoft.org/schema/mule/sfdc-marketing-cloud"
xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/sfdc-marketing-cloud http://www.mulesoft.org/schema/mule/sfdc-marketing-cloud/current/mule-sfdc-marketing-cloud.xsd">
<configuration-properties file="mule-app.properties" />
<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" doc:id="2d500821-46be-4da2-a983-832ca1d829de" >
<http:listener-connection host="localhost" port="8081" />
</http:listener-config>
<sfdc-marketing-cloud:config name="Salesforce_Marketing_Cloud_Sfdc_marketing_cloud_config" doc:name="Salesforce Marketing Cloud Sfdc marketing cloud config" doc:id="8c951adc-306a-4212-a33f-4be4b19a0076" >
<sfdc-marketing-cloud:oauth-client-credentials-connection serviceUrl="${config-with-oauth-v2.serviceUrl}">
<sfdc-marketing-cloud:oauth-client-credentials clientId="${config-with-oauth-v2.clientId}"
clientSecret="${config-with-oauth-v2.clientSecret}"
tokenUrl="${config-with-oauth-v2.tokenUrl}" />
</sfdc-marketing-cloud:oauth-client-credentials-connection>
</sfdc-marketing-cloud:config>
<flow name="salesforce-marketing-cloud-oauth-demo-create-list-flow">
<http:listener path="/create-list" doc:name="HTTP" config-ref="HTTP_Listener_config"/>
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
<ee:transform doc:name="Transform Message" doc:id="fab54a8d-4f2d-45cf-9496-9d407bf5837f" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
[{
ListClassification: payload.listClassification,
ListName: payload.listName,
"Type": payload.listType
}]]]></ee:set-payload>
</ee:message>
</ee:transform>
<sfdc-marketing-cloud:create config-ref="Salesforce_Marketing_Cloud_Sfdc_marketing_cloud_config" objectType="List" doc:name="Salesforce Marketing Cloud"/>
<ee:transform doc:name="Transform Message" doc:id="a61ae2f3-0821-4884-9a4c-2306071c7ec8" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
</ee:message>
</ee:transform>
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
</flow>
</mule>
xml
この Mule フローでは、他の操作で使用するリストの ID を取得します。
この例では、次の操作を使用します。
HTTP Listener
HTTP 要求からデータを受け入れる
Logger
HTTP Listener からの HTTP 応答を表示します。
Transform Message
データを Java で出力します。
%dw 2.0 output application/java --- { query: "SELECT ID FROM List WHERE ListName ='" ++ payload.listName ++ "'" }
Retrieve entities
SQL クエリを使用して Salesforce Marketing Cloud API Web サーバーからオブジェクトを取得します。
次の値を入力します。
項目 | Value (値) |
---|---|
Connector Configuration (コネクタ設定) |
|
Query (クエリ) |
|
Transform Message
データを JSON 形式で出力します。
%dw 2.0 output application/json --- payload
この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:sfdc-marketing-cloud="http://www.mulesoft.org/schema/mule/sfdc-marketing-cloud"
xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/sfdc-marketing-cloud http://www.mulesoft.org/schema/mule/sfdc-marketing-cloud/current/mule-sfdc-marketing-cloud.xsd">
<configuration-properties file="mule-app.properties" />
<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" doc:id="651f3647-d4c9-4536-8d6b-bee43c422625" >
<http:listener-connection host="localhost" port="8081" />
</http:listener-config>
<sfdc-marketing-cloud:config name="Salesforce_Marketing_Cloud_Sfdc_marketing_cloud_config" doc:name="Salesforce Marketing Cloud Sfdc marketing cloud config" doc:id="7ef81352-ca1d-4134-bccb-b211a1951a60" >
<sfdc-marketing-cloud:oauth-client-credentials-connection serviceUrl="${config-with-oauth-v2.serviceUrl}">
<sfdc-marketing-cloud:oauth-client-credentials clientId="${config-with-oauth-v2.clientId}"
clientSecret="${config-with-oauth-v2.clientSecret}"
tokenUrl="${config-with-oauth-v2.tokenUrl}" />
</sfdc-marketing-cloud:oauth-client-credentials-connection>
</sfdc-marketing-cloud:config>
<flow name="salesforce-marketing-cloud-oauth-demo-retrieve-list-flow">
<http:listener path="/retrieve-list" doc:name="HTTP" config-ref="HTTP_Listener_config"/>
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
<ee:transform doc:name="Transform Message" doc:id="fe31d1a8-d189-4fbd-b96f-99c2eac092e1" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
{
query: "SELECT ID FROM List WHERE ListName ='" ++ payload.listName ++ "'"
}]]></ee:set-payload>
</ee:message>
</ee:transform>
<sfdc-marketing-cloud:retrieve doc:name="Salesforce Marketing Cloud" config-ref="Salesforce_Marketing_Cloud_Sfdc_marketing_cloud_config">
<sfdc-marketing-cloud:query>#[payload.query]</sfdc-marketing-cloud:query>
</sfdc-marketing-cloud:retrieve>
<ee:transform doc:name="Transform Message" doc:id="d05834f2-3d96-4e95-bd3b-48057d4ca34e" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
</ee:message>
</ee:transform>
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
</flow>
</mule>
xml