開発者ツールの説明
学習の目的
この単元を完了すると、次のことができるようになります。
- Marketing Cloud Engagement の REST API と SOAP API の違いを説明する。
- Marketing Cloud Engagement SDK の使用方法を説明する。
- Marketing Cloud Engagement のプログラム言語を挙げる。
はじめに
Marketing Cloud Engagement 開発者の皆さん、経験が豊富な場合でも、初めて学習する場合でも、Marketing Cloud Engagement の機能を拡張するために使用できる豊富なツールをここで紹介します。皆さんのような Trailblazer は、複数のお客様のためにカスタム開発を行うコンサルタントであっても、自社のためのカスタムソリューションを作成する社内開発者であっても、世界中で Salesforce のお客様に大きな影響を及ぼしています。このモジュールでは、SDK から API まで、Marketing Cloud Engagement 開発を開始するために十分な情報が提供されるため、次回のプロジェクトで必要なツールを使用できるようになります。
Marketing Cloud Engagement API
Marketing Cloud Engagement API の使用を開始する準備はできていますか? このモジュールでは、受講者が、API (アプリケーションプログラミングインターフェース) の基礎と 2 つのアプリケーション間での通信に API がどのように使用されるかを理解していることを想定しています。これまで API を使用したことがなくても大丈夫です。このバッジでは、Marketing Cloud Engagement API を概要レベルで説明するため、各 API の違いと使用方法を理解できます。
ではさっそく、Marketing Cloud Engagement API を見ていきましょう。まず知っておくべきなのは、Marketing Cloud Engagement には REST (Representational State Transfer) と SOAP (Simple Object Access Protocol) の 2 種類の API があることです。これらの API はそれぞれ異なる目的で使用されます。REST API では、Marketing Cloud Engagement 機能への幅広いアクセスが公開されます。SOAP API では、ほとんどのメール機能への包括的なアクセスが提供されます。これらの 2 つの API の認証メカニズムは共通で、OAuth 2 に基づいています。それぞれを詳しく見ていきましょう。
REST API
Marketing Cloud Engagement の REST API は、内部のデータベースやアプリケーションからのアセットを Marketing Cloud アカウントと共有するのに適した方法です。
次のようなことができます。
Marketing Cloud Engagement REST API |
用途 |
---|---|
Content Builder |
メール、画像、テキスト、その他のドキュメントなどのマーケティングコンテンツを共有する。 |
イベント通知サービス |
Marketing Cloud Engagement で特定のイベントが発生したときに通知を受信する。顧客からのパスワードのリセットの依頼、注文確認の受領、2 要素認証を使用したログインなどのイベントの発生時に通知を受信することができます。 |
Journey Builder |
イベント駆動型の反応型キャンペーンを作成し、任意のタイミングと頻度で任意のチャネル (オンライン及びオフライン) に配布する。 |
GroupConnect チャットメッセージング |
Facebook Messenger や LINE で、ユーザーにイベントベースのメッセージをリアルタイムで送信する。 |
MobileConnect API |
3 つの SMS オプトインバリエーションのいずれかを使用して、モバイル番号をショートコードに登録する。 |
Personalization Builder |
Einstein レコメンデーションの提供に使用されるデータを更新し、コンシューマーのプライバシー要求を管理し、大きなレポートを簡単にダウンロードする。 |
Transactional メッセージング |
パーソナライズされた Transactional メールメッセージを顧客に送信する。 |
Marketing Cloud Engagement のすべての新しいテクノロジーでは REST API が実装されているため、REST API を理解しておくことは重要です。Marketing Cloud Engagement REST API について、次の重要事項に注意してください。
- REST API は、JSON (JavaScript Object Notation) のリクエストボディとレスポンスボディおよびリソースエンドポイントを使用してマルチチャネル使用をサポートしています。
- ほとんどの REST コールは同期的です。
- タイムアウト値は、非トラッキング操作の場合は 120 秒、トラッキング操作とデータ取得操作の場合は 300 秒です。
- すべてのコールの最大ペイロードは 4 メガバイトです。
SOAP API
ご存知のとおり、SOAP API は、異なるオペレーティングシステム、テクノロジー、言語上にあるアプリケーションが XML のみを使用して通信する手段を提供します。Marketing Cloud Engagement SOAP API を使用すると、トラッキングデータ、購読者とリスト、オートメーション、コンテンツ、その他のほとんどのメールアクティビティなどを管理できます。
次のようなことができます。
Web サービス SOAP API |
用途 |
---|---|
メール送信 |
リスト、イベント、プロファイルの動的なルールベースのセグメンテーションを使用してメッセージ受信者を特定し、メールのスケジュールと送信を行う。 |
トラッキング |
トラッキングデータを取得し、それを使用してレポートやダッシュボードを作成して顧客がデータをどのように表示して反応しているかを確認する。 |
購読者とリスト |
リストの購読者または購読者のリストを取得する。 |
オートメーション |
Automation Studio でオートメーションを使用してアクティビティを定義する。 |
トリガーによる送信 |
トリガーによるメール送信を作成する。 |
Marketing Cloud Engagement SOAP API を使用するときには、次の点に注意してください。
- SOAP API は SOAP エンベロープを使用してユーザーと Marketing Cloud Engagement との間で情報を渡します。
- SOAP コールは 1 分あたり 2000 を超えないように制限することをお勧めします。
- サポートは、問題のトラブルシューティングを行うために SOAP エンベロープの提供を依頼することがあります。
Marketing Cloud Engagement SDK
Marketing Cloud Engagement で使用するカスタムアプリケーションを開発するために SDK (ソフトウェア開発キット) をお探しですか? 幸運なことに、Marketing Cloud Engagement SDK は、SOAP API と REST API を含む機能横断型のフレームワークを提供するため、ネイティブ言語のコードライブラリを使用して API を統合できます。Marketing Cloud Engagement プラットフォーム SDK は、SOAP API と REST API の両方を使用して、プロトコル非依存のインターフェースと自動トークン管理を提供します。Marketing Cloud Engagement プラットフォーム用の SDK に加えて、MobilePush 用と Content Builder 用の SDK も提供されます。
現在は、C#、Java、Node、PHP、および Ruby 用のプラットフォーム SDK が提供されています。コード例を見てみましょう。
プラットフォーム |
アカウントのすべてのリストを取得するために使用される SDK のコードサンプル |
---|---|
C# SDK |
using FuelSDK; |
PHP SDK |
require('sdk/ET_Client.php'); |
Ruby SDK |
require 'fuelsdk' |
MobilePush で使用する iOS および Android 用の SDK も提供されます。MobilePush は、アプリケーションの使用を促進するためのプッシュメッセージをクロスチャネルのコンシューマーデータに基づいて対象を絞って作成、送信できる Marketing Cloud Engagement 製品です。
MobilePush SDK と Content Builder SDK 以外の Salesforce Marketing Cloud Engagement SDK は、コミュニティでサポートされるプロジェクトです。SDK ソースコード、サンプル、ドキュメントは、Github で公開されており、そのままで使用するか、ニーズに合わせてフォークして変更することができます。コミュニティの誰もが、Github でコラボレーションを行い、プルリクエストを送信することで、ソースコードやサンプルを改善できます。ぜひご参加ください。
Marketing Cloud Engagement のプログラミング言語
Marketing Cloud Engagement には、Marketing Cloud Engagement プラットフォーム上でランディングページのパーソナライズ、アプリケーションの作成、クロスチャネルテンプレートまたはレイアウトの作成、メッセージ機能の操作を行うためのカスタムスクリプト言語があります。
AMPscript
AMPscript は、HTML メール、テキストメール、ランディングページ、SMS メッセージ、MobilePush からのプッシュ通知に埋め込めるスクリプト言語です。受信者向けにカスタマイズしたテキストをメッセージに表示したいと思いませんか? たとえば、「Ted 様、ご購入ありがとうございます。ゴールド購読者として 1,000 ポイントを獲得しました。」などです。パーソナライズには、AMPscript を使用できます。Marketing Cloud Engagement では、AMPscript コールは送信時に処理されます。
サーバーサイド JavaScript (SSJS)
Marketing Cloud Engagement では Marketing Cloud Engagement サーバーで処理される JavaScript コードが使用されます。ブラウザーを使用してクライアント側のコンピューターで JavaScript を表示する代わりに、Marketing Cloud Engagement は表示時にサーバーで JavaScript を実行します。SSJS を使用して AMPscript の機能と同じことを実行できますが、SSJS では ドキュメントオブジェクトモデル (DOM) や外部ライブラリを使用できません。つまり、これらの機能を使用して Marketing Cloud Engagement コンテンツを変更することはできますが、JavaScript などのブラウザーベースのものは実行できません。その代わりに、Marketing Cloud Engagement によって提供されるライブラリを使用して、機能する SSJS を作成します。これらのライブラリを使用すれば、以前のバージョンを保持したままで SSJS を更新できるため、既存のコードが破損するのを避けられます。
AMPscript と SSJS のどちらを使用するかに迷う場合は、次のことを考慮します。
- メッセージコンテンツのパーソナライズに適している言語は AMPscript です。インラインのパーソナライズや単純な IF ELSE ステートメントが簡単で効率的に処理されます。
- 各購読者に固有のコンテンツを表示する必要がある場合は、SSJS よりも AMPscript が適しています。
- スクリプト言語全般が初めてのユーザーにとって、AMPscript は SSJS よりも学習が容易です。
- 多くの人は、すでに JavaScript を知っていて、その知識をすぐに Marketing Cloud Engagement に適用できます。
- ほとんどのユーザーは、実行する必要がある作業を AMPscript を使用して処理できます。
メールメッセージでは AMPscript またはプラットフォームオブジェクトのサーバーサイド JavaScript 機能のみを使用し、コアライブラリのサーバーサイド JavaScript の使用は、AMPscript では適切な機能が提供されないランディングページやアプリケーションに限定することをお勧めします。
ガイドテンプレート言語 (GTL)
GTL の構文は宣言型で、パーソナライズされた動的なデータ駆動型メッセージの作成やクロスチャネルのテンプレートとレイアウトの作成に使用できます。GTL には、広く採用されている Handlebars および Mustache テンプレート言語が使用されていて、機能が追加され、ユーザーがコンテンツやデータとやり取りする方法が簡易化されているため、パーソナライズされたジャーニーメッセージをすばやく作成できます。GTL では、スクリプトまたは REST API サービスが提供する JSON データソースを使用します。ガイドは、Marketing Cloud Engagement アカウント内の指定されたリストとデータエクステンションにもアクセスできます。
リソース
- Salesforce 開発者: AMPscript 構文ガイド
- Salesforce ヘルプ: Salesforce での OAuth 2.0 の詳細
- 外部リンク: GitHub リポジトリ - Salesforce Marketing Cloud Engagement プラットフォーム
- Salesforce 開発者: ガイドテンプレート言語
- Salesforce 開発者: Marketing Cloud Engagement API の概要
- Salesforce 開発者: プログラムによるマーケティングコンテンツの概要
- Salesforce 開発者: Introduction to Marketing Cloud Platform SDKs (Marketing Cloud プラットフォーム SDK の概要)
- Salesforce 開発者: サーバーサイド JavaScript
- Salesforce 開発者: Your Subdomain and Your Tenant's Endpoints (サブドメインとテナントのエンドポイント)