Logo
Logo
CTRLK

共有コンポーネント

テンプレートの作成と送信


ViberビジネスメッセージのトランザクションおよびOTP(ワンタイムパスワード)テンプレートを使用すると、Viberを介して事前に承認された通知と確認コードをエンドユーザーに送信できます。NTT CPaaS APIまたはWebインターフェースを使用して、テンプレートの作成、承認状況の確認、テンプレートメッセージの送信、不要になったテンプレートの削除を行います。

トランザクション テンプレート は、注文確認、配送の更新、予約のリマインダーなどの通知用です。OTP(ワンタイムパスワード) テンプレート は、認証フロー、確認コード、およびエンド ユーザーに 1 回限りの PIN を配信する必要があるあらゆるシナリオ用です。

開始する前に、次の点を確認してください。

  • アカウントでviber-bm:manageスコープが有効になっています。NTT CPaaS アカウント マネージャーに連絡して、スコープを有効にしてください。
  • 承認されたViber送信者がいる。送信者登録は、Viber Business Messages入門を参照してください。

テンプレート本文の制約、サポートされている言語、および承認ステータスについては、Viberメッセージテンプレートを参照してください。



テンプレートを作成する

トランザクションテンプレートまたは OTP(ワンタイムパスワード) テンプレートを作成するには、 テンプレート登録エンドポイントPOSTリクエストを送信します。

POST /viber/1/senders/{sender}/templates

{sender}を承認済みのViber送信者名に置き換えます。

レート制限: 25 リクエスト/秒。


トランザクション テンプレートを作成する

json
1curl -X POST "https://{baseUrl}/viber/1/senders/{sender}/templates" \
2 -H "Authorization: App {api-key}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "category": "TRANSACTIONAL",
6 "body": [
7 {
8 "language": "en",
9 "template": "Hello {{firstname}}, your order {{orderno}} has been confirmed."
10 }
11 ],
12 "params": [
13 { "type": "TEXT", "name": "firstname", "example": "John" },
14 { "type": "TEXT", "name": "orderno", "example": "ORD-12345" }
15 ]
16 }'

OTP(ワンタイムパスワード)テンプレートを作成する

IMPORTANT

OTP(ワンタイムパスワード)テンプレートには、テンプレート本文に{{pin}}という名前のパラメータを含める必要があります。このパラメータのないテンプレートは、作成時に拒否されます。

json
1curl -X POST "https://{baseUrl}/viber/1/senders/{sender}/templates" \
2 -H "Authorization: App {api-key}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "category": "OTP",
6 "body": [
7 {
8 "language": "en",
9 "template": "Your verification code is {{pin}}. Valid for 5 minutes."
10 }
11 ],
12 "params": [
13 { "type": "TEXT", "name": "pin", "example": "123456" }
14 ]
15 }'

要求が成功すると、テンプレートの詳細を含む201 Createdが返されます。

json
1{
2 "templateId": "a1b2c3d4-0000-0000-0000-000000000000",
3 "version": "1",
4 "sender": "YourSender",
5 "createdAt": 1677628800000,
6 "creator": "jane.doe@example.com",
7 "category": "TRANSACTIONAL",
8 "status": "PENDING",
9 "params": [
10 { "type": "TEXT", "name": "firstname", "example": "John" },
11 { "type": "TEXT", "name": "orderno", "example": "ORD-12345" }
12 ],
13 "body": [
14 { "language": "en", "template": "Hello {{firstname}}, your order {{orderno}} has been confirmed." }
15 ]
16}
IMPORTANT

応答から templateId を保存します。承認ステータスの確認テンプレートの送信、およびテンプレートの削除に必要です。


Web インターフェイスを使用してテンプレートを作成する

また、NTT CPaaSのWebインターフェースを使用してテンプレートを作成することもできます。このメソッドは言語選択をサポートしていません。デフォルト以外の言語を指定するには、APIを使用します。

  1. Web インターフェイスで、チャネルと番号 > チャネル > Viber for Business > 送信者 に移動します。

  2. テンプレートを作成する送信者を選択し、[テンプレートの作成] を選択します。

    NTT CPaaS web interface Viber Business Messages Senders page with the Create a Template button next to an approved sender.
  3. テンプレートタイプ (トランザクションテンプレート または OTP(ワンタイムパスワード) テンプレート) を選択します。

    Viber Template Registration screen with OTP template and Transactional template category options.
  4. [デザイン] タブに、メッセージの内容 (最大 875 文字) を入力します。

    Viber transactional template Design tab with message content editor and mobile preview.
  5. [パラメーター] タブで、パラメーター (最大 5 つ) を作成します。連続するパラメータは、少なくとも 3 つの非空白文字、非句読点文字で区切ります。

    Viber transactional template Parameters tab with parameter name and example value fields.
  6. 中括弧 アイコンを使用して、メッセージ本文にパラメーターを挿入します。

    Viber template Design tab showing the curly brace icon for inserting dynamic parameters into the message body.
  7. リストから必要なパラメータを選択します。

    Viber template parameter selection dropdown showing available parameters to insert into the message.
  8. テンプレートの登録を選択します。確認画面にテンプレート ID が表示されます。

    Viber template registration confirmation showing the generated Template ID, category, and status.
NOTE

Web インターフェイスは言語選択をサポートしていません。言語を指定するには、API を使用します。確認画面からテンプレートIDを保存します。



テンプレートの承認を確認する

テンプレートを作成すると、コンプライアンスの審査が行われている間、テンプレートは「保留中」ステータスになります。承認は数秒以内に完了しますが、最大 24 時間かかる場合があります。テンプレートは、ステータスが「承認済み」になった後にのみ送信してください。

テンプレートが拒否される原因については、コンプライアンスガイドラインを参照してください。

GETリクエストを送信してステータスを確認します。

bash
1curl -X GET "https://{baseUrl}/viber/1/senders/{sender}/templates/{templateId}" \
2 -H "Authorization: App {api-key}"

承認済みのテンプレートは、以下を返します。

json
1{
2 "templateId": "a1b2c3d4-0000-0000-0000-000000000000",
3 "category": "TRANSACTIONAL",
4 "status": "APPROVED",
5 "body": [
6 { "language": "en", "template": "Hello {{firstname}}, your order {{orderno}} has been confirmed." }
7 ],
8 "params": [
9 { "type": "TEXT", "name": "firstname", "example": "John" },
10 { "type": "TEXT", "name": "orderno", "example": "ORD-12345" }
11 ]
12}

次の表は、考えられるテンプレートの状態を示しています。

地位意味送信できますか?
保留 中審査待ちいいえ
承認すぐに使えるはい
減少審査に合格しませんでした。新しいテンプレートを作成します。いいえ
NOTE

ステータスがDECLINEDの場合は、テンプレートのテキストをコンプライアンスガイドライン(/viber/business-messages/compliance-guidelines)に照らして確認し、修正したテンプレートを作成します。一般的な原因: 最後の単語がプレースホルダーであるか、コンテンツに販促資料が含まれています。


Web インターフェイスでの承認の確認

  1. Web インターフェイスで、チャネルと番号 > チャネル > Viber for Business > 送信者 に移動します。

  2. 確認する送信者に対して [テンプレートの表示] を選択します。

    NTT CPaaS Viber Business Messages Senders page with the View Templates button highlighted next to a sender.
  3. 送信された各テンプレートのテンプレート ID、ステータス、および作成日を表示します。

    Viber transactional templates list showing Template ID, approval status, and creation date for each submitted template.
  4. テンプレートのテキストを表示するには、テンプレートの横にある展開アイコンを選択します。

    Expanded Viber template rows showing the submitted template text with highlighted placeholder parameters.


テンプレート メッセージを送信する

テンプレートが「承認済み」ステータスになったら、テンプレートを使用して 1 人以上の受信者にメッセージを送信します。POST /viber/2/messagesエンドポイントを使用し、content.type"TEMPLATE"に設定します。

エンドポイントの完全な仕様については、 Viber Business Messages APIリファレンスを参照してください。

parameters オブジェクトを構築するときは、プレースホルダー名から二重中括弧を取り除いてキーを形成します: {{firstname}}"firstname" になり、{{orderno}}"orderno" になります。

次の表に、content オブジェクト フィールドを示します。

種類必須形容
type文字列はい"TEMPLATE" である必要があります。
templateId文字列はいテンプレートの作成時に返される ID
language文字列はいサポートされている言語リストの ISO 言語コード
parametersオブジェクトはい各キーが中括弧なしでプレースホルダー名であるキーと値のペア (たとえば、{{firstname}}"firstname" になります)

トランザクションテンプレートメッセージの送信

json
1curl -X POST "https://{baseUrl}/viber/2/messages" \
2 -H "Authorization: App {api-key}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "messages": [
6 {
7 "sender": "{sender}",
8 "destinations": [ { "to": "385981234568" } ],
9 "content": {
10 "type": "TEMPLATE",
11 "templateId": "a1b2c3d4-0000-0000-0000-000000000000",
12 "language": "en",
13 "parameters": {
14 "firstname": "John",
15 "orderno": "ORD-12345"
16 }
17 }
18 }
19 ]
20 }'

OTP(ワンタイムパスワード) テンプレート メッセージを送信する

OTP(ワンタイムパスワード)テンプレートの場合、parametersオブジェクトには、実際のワンタイムパスワード値にマッピングされたキー「pin」(中括弧なし)が含まれている必要があります。

json
1curl -X POST "https://{baseUrl}/viber/2/messages" \
2 -H "Authorization: App {api-key}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "messages": [
6 {
7 "sender": "{sender}",
8 "destinations": [ { "to": "385981234568" } ],
9 "content": {
10 "type": "TEMPLATE",
11 "templateId": "b2c3d4e5-0000-0000-0000-000000000001",
12 "language": "en",
13 "parameters": { "pin": "847291" }
14 }
15 }
16 ]
17 }'
NOTE

ブロードキャストは、OTP(ワンタイムパスワード)テンプレートをテストすることを目的としています。本番環境では、ユーザーが開始する認証イベントに応答して、API を介してプログラムで OTP(ワンタイムパスワード) メッセージを送信します。


ブブロードキャストを使用してテンプレートメッセージを送信する

  1. Web インターフェイスで、ブロードキャスト に移動します。

    NTT CPaaS web interface side navigation with the Broadcast menu option highlighted.
  2. ブロードキャストの作成 を選択します。

    NTT CPaaS Broadcast page showing existing broadcasts and the Create Broadcast button.
  3. チャンネルとして Viber を選択します。チャンネルを切り替えるには、チャンネル名を選択します。

    Broadcast channel selector with Viber selected, showing Recipients, Sender, and Content fields.
  4. プロファイル名、電話番号、タグ、またはセグメントで受信者を追加します。送信者を選択します。

    Viber broadcast setup with recipients added by profile name and segment, and sender selected.
  5. [コンテンツ] で、コンテンツ領域を選択します。

    Viber broadcast Content section with the Select to create content placeholder.
  6. [メッセージ コンテンツ] リストから [テンプレート] を選択します。

    Viber broadcast Message Content type selector with Text, Image, Video, File, List, Carousel, and Template options.
  7. 承認済みテンプレートのリストから使用するテンプレートを選択します。

    Select a Viber template screen listing approved transactional and OTP templates by Template ID, Category, and Use button.
  8. 必要なパラメータの値を入力します。アップロードしたExcelファイルまたはNTT CPaaS Peopleモジュールから属性を挿入するには、パラメータフィールドの中括弧アイコンを選択します。

    Viber broadcast template Parameters tab with FirstName, Amount, and MerchantName fields and curly brace icon for inserting People attributes.
  9. パラメータ値に問題がなければ、設計完了を選択します。

    Viber broadcast template editor with parameter values filled in and the Done Designing button highlighted.
  10. 必要な設定の更新が完了したら、プレビューに進む を選択します。

    Viber broadcast setup showing recipients, sender, populated template content preview, and the Continue to Preview button.
  11. ブロードキャストの設定を確認し、起動 を選択します。

    Viber broadcast preview page showing broadcast summary, recipient count, deliverable destinations, and the Launch button.


テンプレートを削除する (API のみ)

不要になったテンプレートを削除します。テンプレートの削除は、API を介してのみ使用できます。Web インターフェイスはテンプレートの削除をサポートしていません。

テンプレートを削除するには、DELETEリクエストを送信します。

レート制限: 毎分 10 リクエスト。

bash
1curl -X DELETE "https://{baseUrl}/viber/1/senders/{sender}/templates/{templateId}" \
2 -H "Authorization: App {api-key}"

削除に成功すると、応答本文のない204 No Contentが返されます。

IMPORTANT

削除したテンプレートは復元できません。新しいテンプレートごとに一意のテンプレート ID を使用します。



トラブルシューティング

次の表では、一般的なエラーとその解決方法について説明します。Viberメッセージ配信に関する詳細は、 レポートとインサイトをご参照ください。

問題点原因解像 度
401 未承認APIキーが見つからないか正しくないか、viber-bm:manageスコープが有効になっていないWeb インターフェイスの Developers > API keys でAPIキーを確認します。viber-bm:manageスコープが有効になっていることをアカウントマネージャーで確認します。
403 禁断送信者が登録されていないか、APIキーにその送信者に対する権限がないチャネルと番号 > Viber for Business > 送信者 で送信者を確認します。
テンプレートのステータスは保留中のままです承認は非同期で、最大 24 時間かかる場合がありますGET エンドポイントを間隔をあけてポーリングします。24 時間経ってもテンプレートが PENDING のままの場合は、NTT CPaaS サポートにお問い合わせください。
テンプレートのステータスは DECLINED ですテンプレートテキストがViberのガイドラインを満たしていませんでした。一般的な原因: 最後の単語がプレースホルダーであるか、コンテンツに販促資料が含まれています。コンプライアンスガイドラインを確認し、改訂されたテンプレートを作成します。
送信時の 400 Bad RequesttemplateId が存在しないか、テンプレートが承認されていないか、language 値が正しくありません送信する前に、GET エンドポイントでテンプレートのステータスを確認します。
送信されたメッセージでパラメータが解決されないparameters オブジェクトのパラメーター キーがプレースホルダー名と一致しません中括弧を取り除いてキーを形成します: {{firstname}}"firstname" になり、{{orderno}}"orderno" になります。
400 OTP(ワンタイムパスワード)テンプレート作成時の不正なリクエストテンプレート本文に {{pin}} パラメータがありませんOTP(ワンタイムパスワード)テンプレートには、{{pin}}という名前のパラメーターが必要です。テンプレート本文に追加して、再試行してください。
OTP(ワンタイムパスワード)が受信者に配信されないparameters オブジェクトの "pin" キーがプレースホルダー名と一致しないか、テンプレートが APPROVED ではありませんパラメーター オブジェクトがキーとして "pin" (中括弧なし) を使用していることを確認します。送信する前に、テンプレートのステータスが APPROVED であることを確認します。

API認証の詳細については、「API認証](/essentials/api-essentials/api-authentication)を参照してください。