1. サブスクリプション管理

Email Experience ManagerクライアントAPI

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Email Experience Manager ClientAPIServiceクラスSitecore.EmailCampaign.Cd.Services.ClientAPIServiceは、EXMが購読・解約を処理するために使われています。List Manager内のリストの購読管理や自動メール送信に利用できます。

Email Experience ManagerクライアントAPI(ClientApiService)はIOCコンテナに登録されているため、クラスのコンストラクタに注入するか、例えばServiceLocatorを使うことができます。

IClientApiService _clientApiService;public MyConstructor(IClientApiService clientApiService) { _clientApiService = clientApiService; }

または

IClientApiService clientApiService = ServiceLocator.ServiceProvider.GetService< IClientApiService >()

ClientAPIService APIはCDロールにのみ登録されます。また、CDサーバーはList Managerリストから連絡先を追加・削除したり、EXMキャンペーンを送信する設定がされていません。したがって、スケールドサーバー環境で作業する場合は、ClientAPIServiceリクエストを使ってその作業をCMサーバーに委任する必要があります。

以下の図はこの過程を示しています:

Client API request process.

以下の公開方法が利用可能IClientApiService:

これらの手法は、操作を行うためにContactIdentifierを用いて、操作したい連絡先を特定します。詳細については、Contact identifiersおよびIdentifying Contactを参照してください

最初の公開手法は以下の表に説明されています。

  • 名前:: SendAutomatedMessage
  • **説明:**このメソッドは、自動メールキャンペーン(automatedMessage.MessageId)を担当者(automatedMessage.ContactIdentifier)に送信し、カスタムトークンのセットとターゲット言語、さらにディスパッチ時にメールキャンペーンのレンダリングに使用されるカスタムクエリ文字列パラメータのセットを指定するオプションを提供します。CustomQueryStringParametersプロパティを使ってAutomatedMessageクラスを拡張し、追加のクエリ文字列パラメータ(例
    <string、string> CustomQueryStringParameters)をサポートします。WebPageMailの本文リンクはGenerateBodyLinkパイプラインで生成されます。このパイプラインは、EXMがメールキャンペーンの内容をダウンロードするためのリンクを生成する際にメール発送中に実行されます。パイプラインはベースURLを生成し、デフォルトのクエリ文字列パラメータを追加し、さらにカスタムクエリ文字列パラメータを追加します。例えば
    .cshtmlに注入されたコードは以下の通りです:

http://XXXX/?sc\_itemid=XXX&sc\_lang=XXX&sc\_pd\_view=XXX&yourParam=someValue& ec_eq=XXX

@{ string customQueryString = Request.Params"yourParam"; if (!string.IsNullOrWhiteSpace(customQueryString)) {

@MvcHtmlString.Create(customQueryString)
} }

  • 使用例::

void SendAutomatedMessage(AutomatedMessage automatedMessage)

2つ目の公開手法は以下の表に説明されています。

名前:

UpdateListサブスクリプション

説明:

このメソッドにより、連絡先のリストサブスクリプションを更新できます。メッセージ上の操作プロパティ(message.ListSubscribeOperation)はどの操作を取るべきかを決定し、以下のいずれかの値に設定できます。

デフォルトでは、EXMは連絡先の解約時に自動的にイベントを登録します。しかし、これは ClientApiServiceを用いても、解約インタラクションデータ(message.UnsubscribeInteractionData)を定義することで実現できます。これを行うには、以下のパラメータを設定します。

  • メッセージ。MessageId
  • メッセージ。InstanceId
  • メッセージ。ManagerRootId
  • メッセージ。UnsubscribeInteractionData.MessageLanguage
  • メッセージ。UnsubscribeInteractionData.TestValueIndex
  • メッセージ。UnsubscribeInteractionData.EmailAddressHistoryEntryId: EmailAddressHistoryの側面にあるメールアドレスのID。

運営:

購読

この操作は、キャンペーン上で定義された最初の非セグメント化されたincludeリスト(message.MessageId)に連絡先(message.ContactIdentifier)を追加します。message.RequireSubscriptionConfirmationが設定されている場合、EXM連絡先に確認メールを送信し、リストに追加する前に購読を確認するよう促します。さらに、その連絡先はデフォルトのグローバルオプトアウトリストから除外されます。

> [!注]
> SubscribeEventパイプラインを実装することでこの機能を拡張できます。

購読解除

この操作は、メールキャンペーンに含まれるすべての連絡先リストから連絡先(message.ContactIdentifier)を削除します(message.MessageId)。連絡先がリストから正常に解除され、管理者ルートで Send解除 確認が有効EXM、 StandardMessages.UnsubscribeNotification設定で定義された通知を連絡先に送信します。連絡先が含まれる連絡先リストから削除できなかったり、どのリストにも表示されない場合、その連絡先はマネージャールート上で定義されたグローバルオプトアウトリストに追加されます。この動作はパイプライン UnsubscribeFromList上書き可能です。

> [!注]
> この機能を拡張するには、 UnsubscribeFromList パイプラインを修正できます。

すべての購読解除

この操作は、メールキャンペーンのマネージャールート(unsubscribeMessage.MessageId)に定義されたグローバルオプトアウトリストに連絡先(message.ContactIdentifier)を追加します。

> [!注]
> UnsubscribeFromAllEventパイプラインを実装すれば、この機能を拡張できます。

AddToList

この操作は接触者リスト(message.ContactIdentifier)を接点リスト(message.ListId)に追加します。

リストから削除

この操作は接点リスト(message.ListId)から接点(message.ContactIdentifier)を除去します。

この記事を改善するための提案がある場合は、 お知らせください!