1. JavaScript SDK

通知クライアント

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

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

このSDKは、通知を管理および送信するためのNotifications clientを提供します。

メモ

次のコード例のclient変数は、ContentHubClientインスタンスを参照します。JavaScript SDKを使用する場合、変数名は自由に選択できますが、ドキュメントではインスタンス化時にclientとも呼ばれます。 id引数は、入力として64ビットの数値を使用します。

メールテンプレート

メール テンプレート エンティティには、メールを送信するためのテンプレートが含まれています。変数は実行時に解決できます。

IMailTemplateEntityIEntityのサブタイプです。これは、M.Mailing.Templateエンティティ定義のメンバーにJavaScriptプロパティとメソッドを提供します。

クライアントは、エンティティクライアントでは利用できないこれらのメールテンプレートを取得するための追加のゲッターを提供します。これにより、メールテンプレートを名前で取得できます。ただし、IEntityに対するすべての操作は、引き続きIMailTemplateEntityに適用されます。 IMailTemplateEntityオブジェクトの保存と削除は、引き続きエンティティクライアントを介して行われます。

メールテンプレートの取得

IDで電子メール テンプレートを取得するには、次のコードを参照してください。

import { IMailTemplateEntity } from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/notifications/mail-template";

var template = await client.entities.getAsync(id) as IMailTemplateEntity;

メールテンプレートの作成

単純なHello worldテンプレートは次のようになります。

import CultureInfo from "@sitecore/sc-contenthub-webclient-sdk/dist/culture-info";
import { IMailTemplateEntity } from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/notifications/mail-template";

var enUS: CultureInfo = "en-US";

var template = await client.entityFactory.createAsync("M.Mailing.Template") as IMailTemplateEntity;
template.name = "Hello world template";
template.setSubject(enUS, "Hello there!");
template.setBody(enUS, "Hello {{Username}}!");

await client.entities.saveAsync(template);

メール通知の送信

メールは、ユーザー名、ユーザー ID、またはブロードキャストでユーザーに送信できます。 SendEmailNotificationAsyncにはそれぞれ3つのオーバーロードがあります。次の入力を受け入れます。

  • MailRequestById - IDによるユーザー指定のため

  • MailRequestByUsername - ユーザー名でユーザーを指定するため。

  • MailRequestBroadcast - すべてのユーザーに送信します。

作成したばかりのテンプレートを使用してメールブロードキャストを送信するとします。

import { MailRequestBroadcast } from "@sitecore/sc-contenthub-webclient-sdk/dist/models/notifications/mail-request-broadcast";

var request = new MailRequestBroadcast();
request.mailTemplateName = "Hello world template";
request.variables["Username"] = "world";

await client.notifications.sendEmailNotificationAsync(request);

これにより、Hello world!を含むメールが全員に送信されます。

リアルタイム通知の送信

リアルタイム通知は、ユーザー名、ユーザー ID、またはブロードキャストでユーザーに送信できます。 SendRealTimeNotifcationAsyncにはそれぞれ3つのオーバーロードがあります。次の入力を受け入れます。

  • RealtimeRequestById - IDによるユーザー指定のため

  • RealtimeRequestByUsername - ユーザー名でユーザーを指定するため。

  • RealtimeRequestBroadcast - すべてのユーザーに送信します。

DemoUserにリアルタイムの通知を送信するとします。

import { RealtimeRequestByUsername } from "@sitecore/sc-contenthub-webclient-sdk/dist/models/notifications/realtime-request-by-username";

var request = new RealtimeRequestByUsername();
request.recipients.push("DemoUser");
request.setBody("Your description");
request.setIcon("https://example.com/image.png");

await client.notifications.sendRealTimeNotificationAsync(request);

ユーザーが通知をクリックすると、リンクが開きます。

このリアルタイム要求インターフェイスは、標準の 通知APIに基づいて構築されています。このAPIでは、すべての通知情報を含むoptionsオブジェクトを使用します。このオブジェクトは、IRealtimeRequest.Optionsプロパティから直接渡されます。このオプション オブジェクトを構成するのに役立ついくつかのヘルパー メソッド (通知の本文やアイコンなど) が提供されています。

アカウント確認メールの送信

大事な

SendConfirmationEmailAsyncを機能させるには、設定でEnableConfirmationMailtrueに設定する必要があります。

ユーザーへの確認メールの送信は、IDまたはユーザー名を使用して行うことができます。

await client.notifications.sendConfirmationEmailAsync(["DemoUser"]);

これにより、指定したユーザーに、アカウントをアクティブ化するための安全なリンクが記載された電子メールが送信されます。

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