
はじめに
株式会社KYOSOでは、SAP Build Work Zone 上での SAP Fiori アプリケーション開発や、クライアントへの技術支援を幅広く行っています。
今回は、SAP Build Work Zone に備わる「通知機能」 に焦点を当て、調査する機会がありました。
設定方法・注意点・実装の流れ を、画面イメージを交えながら解説します。
SAP BTP、 Cloud Foundry environment にデプロイされるカスタムアプリは、通知を登録できる仕組みを持っています。ユーザーはサイトのシェルヘッダーから通知を確認し、クリックすることで 任意のアプリ画面に遷移 できます。
「通知をクリックして指定画面に遷移させたい」という要件は多いのではないでしょうか。
しかし、この便利な機能は意外と活用されていないのが現状です。
これから通知機能の導入・運用を検討されている方や、技術調査を進めている方の参考になれば幸いです。本記事では、その第一歩として、「通知テンプレートの登録方法」をわかりやすく解説します。
前提条件
通知機能を利用するには以下の環境が整っている必要があります。
- SAP BTP (Cloud Foundry 環境) が利用可能であること
- Work Zone Standard Edition がサブスクライブ済み
- Cloud Foundryアプリケーションがデプロイ済み
通知の基本的な仕組み
Work Zone の通知は提供されているAPIを使用し通知テンプレートを作成し、それを指定し通知を送信する構成になっています。
①通知のテンプレート登録
本記事では、①通知のテンプレート登録を行う方法について説明致します。
通知テンプレートの登録手順
SAP Build Work Zoneでの通知有効化設定
Business_Notifications_Adminをロール追加した後、サイトディレクトリの「設定」から「通知」タブを選択し「生成」ボタンで認証情報を生成します。

通知関連機能に必要な情報を生成

サイト設定
通知機能を有効にしたいサイトの「設定」ボタンを押下

通知表示をオンにし保存

上記で通知機能の有効化設定の完了です。
適応後、サイト右上部分にベルのアイコンが表示され、こちらから通知を確認できるようになります。

通知テンプレート登録
提供されているAPIを使用しpostmanで動作確認していきます。
以下のトークン情報を取得します
- access_token
- csrfトークン
- Cookies情報
上記必要情報を取得します。
1. access_tokenの取得
以下情報を設定し、access_tokenを取得します。
| 項目 | 内容 | 
|---|---|
| Address | https://生成した認証情報のトークンエンドポイント?grant_type=client_credentials | 
| Authorization | Basic Auth | 
| ユーザ名 | 生成した認証情報のクライアントID | 
| パスワード | 生成した認証情報のクライアントシークレット | 

レスポンスのaccess_tokenを取得
*”expires_in”: 43199と記載が返却されているので約12時間(11時間59分59秒)の有効期限です。
2. csrfトークン取得
以下情報を設定し、csrfトークンを取得します。
| 項目 | 内容 | 
|---|---|
| Address | https://生成した認証情報のホスト/v2/NotificationType.svc/NotificationTypes | 
| Authorization | Bearer アクセストークン | 
| Token | 取得したaccess_token | 
上記レスポンスのx-csrf-tokenを取得


3. Cookies情報を取得
上記レスポンスのx-csrf-tokenを取得

通知テンプレートの作成
NotificationTypesと呼ばれる通知テンプレートを作成します。
通知タイプのプロパティは以下です。
| フィールド | 必須 | 詳細 | 最大長 (文字数) | 
|---|---|---|---|
| NotificationTypeKey | 〇 | 通知のキー – 通知の登録時に使用 Type設定に紐づくID通知作成時にNotificationTypeVersionと共に参照します。 | 128 | 
| NotificationTypeVersion | 〇 | 通知のバージョン管理 NotificationTypeKey、NotificationTypeVersion の特定の組み合わせの通知タイプは、アプリケーションごとに 1 つだけです。 | 20 | 
| TEMPLATES (必須) | |||
| Language | 〇 | 通知の言語を指定します。 | |
| TemplateSensitive | 〇 | 通知の本文 ① *下記画像参照 | 250 | 
| TemplatePublic | 〇 | プッシュ通知に使用されるテキストです。 | 250 | 
| TemplateGrouped | 〇 | グループ名 ② *下記画像参照 | 500 | 
| Subtitle | 〇 | サブタイトル ③ *下記画像参照 | 5000 | 
| Description | 設定の説明を記載、個人設定での通知タイプの文言に当たる値です。 ④ *下記画像参照 | 250 | |
| TemplateLanguage | 通知テンプレートの本文では、動的に値を差し込むことができます。 この差し込みには プレースホルダーを使い デフォルトの形式 プロパティ名を {property}(一重の中かっこ) で囲んで記述します。 Mustache形式の場合 プロパティ名を {{property}}(二重の中かっこ) で囲んで記述します。 テンプレートを設定するときに「どちらの形式を使うか」を選べる仕組みです。 | ||
| EmailSubject | メール件名 | 255 | |
| EmailHtml | 電子メール通知のペイロードの HTML 書式 | 20000 | |
| EmailText | 電子メール通知のペイロードのプレーンテキスト書式 | 20000 | |
| ACTIONS (オプション) | |||
| ActionId | 〇 | 実行されるアクションの特定に使用される値 | 32 | 
| ActionText | 〇 | クリック時ユーザに示されるテキスト | 40 | 
| GroupActionText | 〇 | 同じタイプの通知がグループ化される場合に、ユーザに示されるテキスト | 40 | 
| DELIVERY CHANNELS (オプション) | |||
| Type | 〇 | 配信チャネルのタイプです。 現在、MAIL タイプのみがサポートされています。 | |
| Enabled | この通知チャネルを実際に使うかどうかを指定します。 true にすると有効になり、通知がそのチャネルを通じて配信されます。 | 

ユーザー設定の「通知」項目

上記パラメーターを使用し、実際にNotificationType(通知テンプレート)の登録を行います。
| 項目 | 内容 | 
|---|---|
| Address | https://生成した認証情報のホスト/v2/NotificationType.svc/NotificationTypes | 
| Authorization | Bearer アクセストークン | 
| Token | 取得したaccess_token | 
| X-CSRF-Token | 取得したX-CSRF-Token | 
| Cookie | 取得したCookie | 
| Accept | application/json | 
| Body | 下記JSON | 
{
    "NotificationTypeKey": "Test",
    "NotificationTypeVersion": "0.1",
    "Templates": [
        {
            "Language": "ja",
            "TemplatePublic": "TemplatePublicです。",
            "TemplateSensitive": "TemplateSensitive表示欄です。{{requester_name}}が実行した通知テストが成功しました。",
            "TemplateGrouped": "登録実行結果",
            "TemplateLanguage": "Mustache",
            "Subtitle": "Subtitleです。",
            "Description": "Descriptionです、登録した通知タイプの説明を記載します。",
            "EmailSubject": "これは通知テストです",
            "EmailText": "This is a Leave Request. It needs your attention",
            "EmailHtml": "<html><body><p>This is a Leave Request. It needs your attention</p></body></html>"     
        }
    ],
    "DeliveryChannels": [
        {
            "Type": "MAIL",
            "Enabled": true
        }
    ]
}実際にデータを POST して動作を確認します。

同一エンドポイントのGETで現在登録中の通知テンプレートが確認可能です。
注意点として、公式記事の注意文にもある通り

通知タイプは、「NotificationTypeKey と NotificationTypeVersion の組み合わせ」で一意に識別されます。
つまり、アプリケーションごとに同じキー・同じバージョンの組み合わせは 1 つしか存在できません。
そのため、登録内容を更新したい場合には、以下のような対応が必要です。
- 内容を改訂して利用したい場合
 → NotificationTypeVersion を上げて、新しいバージョンとして登録します。
- 完全に置き換えたい場合
 → 既存の通知タイプを削除してから、同じキー・バージョンで再登録します。
削除は、通知タイプ登録時に生成された GUID を指定して、以下のように DELETE を実行することで可能です。
GUIDで生成されているキーでテンプレートが管理されるので、登録上限数を気にする必要はありません。

最後に
ここまでで、SAP Build Work Zone の通知機能 を利用するための事前準備 と、
NotificationType(通知テンプレート)の登録方法 についてご紹介しました。
通知テンプレートを登録しておくことで、実際に通知を送信する際に再利用でき、管理のしやすさにつながります。
次回(後編)記事は、今回登録したテンプレートを実際に使い、
- 通知を送信する方法
- 通知クリック時に任意のアプリケーション画面へ遷移させる方法
について具体的に解説していきます。
投稿者プロフィール

- 
2021年入社、BS事業部所属。
 
 現在はSAP BTP上でのSide-by-Side拡張開発に携わっており、SAP Fioriを活用したUI開発案件を担当しています。
 
 社内のアプリケーションの開発基盤標準化や、社外活動の参加にも積極的に関わり、ナレッジの共有を通じてチーム全体のスキル向上にも貢献したいと考えています。
 趣味はツーリング。
最新の投稿
 SAP2025.10.31[SAP BTP]SAP Build Work Zoneの通知機能でCloud Foundryアプリへ遷移させる(後編)通知の登録 SAP2025.10.31[SAP BTP]SAP Build Work Zoneの通知機能でCloud Foundryアプリへ遷移させる(後編)通知の登録
 SAP2025.10.31[SAP BTP]SAP Build Work Zoneの通知機能でCloud Foundryアプリへ遷移させる(前編)通知テンプレートの登録 SAP2025.10.31[SAP BTP]SAP Build Work Zoneの通知機能でCloud Foundryアプリへ遷移させる(前編)通知テンプレートの登録
 SAP2025.06.06【SAP BTP】SuccessFactors × OData V2接続で失敗!? Integration Suiteでハマるポイントと対策まとめ SAP2025.06.06【SAP BTP】SuccessFactors × OData V2接続で失敗!? Integration Suiteでハマるポイントと対策まとめ
 SAP2024.07.08【SAP CAP】複数データソースに切り替え可能なカスタムロジックを実装してみた SAP2024.07.08【SAP CAP】複数データソースに切り替え可能なカスタムロジックを実装してみた