前回はインストールまでやったので今回は実際のメール送信の部分をやっていきます。メール送信方法には、Contact・Leadに対して一件ずつメールを送信する方法、レポートやキャンペーンを使って一括でメール送信をする方法、ContactやLeadに紐づくオブジェクトが作成、更新された際にリアルタイムにメールを送信する方法の3パターンあります。
事前準備
どのパターンでもあらかじめメールを作成しておく必要があります。 [Email]>[Content]>[My Emails]でメールテンプレートを作成しておいてください。個別送信
個々のContact、Leadレコードに対してメールを送信することができます。まず、Contact、Leadのレイアウトにカスタムリンク[Send Marketing Cloud Email]を追加して、リンクをクリックします。
そうすると、個別送信用のメール送信画面に遷移するので、情報を入力して[I certify this person has opt in]にチェックをつけて[Send]ボタンで送信します。
一括送信
レポートやキャンペーンを指定して一括でメールを送信する方法になります。[Marketing Cloud]タブあるいは[Email Sends]の新規レコードを作成しようとすると、Email Sendの画面に遷移します。
配信対象、配信除外対象にはレポート、キャンペーンを指定できます。
レポートではContactID, LeadIDが含まれているものを選択します(参照関係のID項目が含まれていればどのオブジェクトでも利用できるっぽいです)
キャンペーンを指定すると紐づくキャンペーンメンバに配信することになります。
Remember recipients and exclusions for this emailにチェックをつけると、次回以降、同一のEmailを選択した時に自動的に配信対象、配信除外対象のレポート、キャンペーンがセットされた状態になります。
FromではRecord Ownerを選択することができますが、こちらはContact、LeadのOwnerになるので、他オブジェクトのレポートを使った送信の場合は、そのオブジェクトのOwnerではないことに注意してください。
個別送信のときと同様に[I certify all of these people have opted in]にチェックをつけて[Send]ボタンで送信できます。
送信すると以下の様なEmail Sendオブジェクトが作成されます。
ExactTargetにリクエストが送信されると”Scheduled”、完了すると”Completed”というようにステータスが随時変更されます。送信されると、Email Sendに紐付いた形で個別の送信ログレコードが作成されます。
Triggered Send
レコードが作成されたとき、更新されたときを契機としてExactTarget経由でメールを送信できる機能になります。対象のオブジェクトはMarketing Cloud Connector設定画面の[Enabled Objects]に追加する必要があります。
また、事前に以下のようなトリガを実装する必要があります。
trigger Trig_Hoge Name on Hoge__c (after insert, after update) {
et4ae5.triggerUtility.automate('Hoge__c');
}
automateの引数にオブジェクトAPI参照名を適切に入れてあげればOKです。(トリガ名などは関係ない模様)
Email Sendの画面から[Triggered Sends]のリンクをクリックします。
Triggered Sendの設定画面が表示されるので[New]をクリックします。
Triggered Sendの新規作成画面で値を入力します。
TriggeredSendに関してもContactとLeadに紐付いているオブジェクトが対象になるので、対象の参照関係項目をContact/Lead Fieldで設定することになります。
あとはワークフローの要領で起動条件を設定し、送信するメールの内容等入力してから[I certify all of these people will have opted in]にチェックを入れて[Save]をクリックします。
その後、作成された設定レコードの画面に遷移しますが、この時点ではまだ無効な状態になっているので、[Activate]ボタンをクリックして有効化します。[Activate]時にトリガが適切に実装されているかどうかのチェックをしているので、実装したApexトリガに不備があると、ここでエラーになります。
ActiveなTriggered Sendに対しては編集が出来ないので、編集する場合は[Deactivate]ボタンをクリックしてから編集するようにします。
あとはレコードを作成したり更新したりすると、Apexトリガが起動してfuture経由でExactTargetに対してAPIを叩くという仕組みでメールが送信されます。
Triggered Send利用時の注意ですが、futureで1レコード分ずつリクエストを投げているので、一回のApex内の処理で呼び出せるfutureの回数の最大値は現時点(Spring16)で50までという制約から、最大50レコードまでのバルク処理しかできません。それ以上になるとガバナのエラーになるので、データローダなどを使ってデータインポートをする際は一回あたりの処理数を調整する必要があります。
参考URL→Triggered Sends