双方向SMSを利用するAPI

双方向SMSは送信だけでなく、SMSで受信することができ、ユーザーとやり取りできる機能です。ここではSMSの送信方法と処理結果の確認方法、SMSの受信方法をご紹介します。

プロセスワークフロー

サービス
NTT CPaaS NTT CPaaS

▶ アカウントをお持ちでない方へ|60日間無料トライアルを開始

チュートリアルの内容は、トライアル環境ですぐにお試しいただけます。クレジットカード情報の登録は不要、自動で課金されることもありません。送信テストや動作確認に、ぜひ無料トライアルをご活用ください。

事前準備・前提条件

このチュートリアルを始めるには、NTT CPaaSアカウントが必要です。 こちらからログインをお願いします。
API キーとベース URL も必要になります。詳細についてはAPIリファレンスを参照してください。
SMS APIの利用には発信元番号の登録が必要です。本申し込みから電話番号をご登録ください。また、無料トライアルの利用では、送信先の電話番号の認証が必要です。

実装手順

ステップ1 - Webhookの設定

Webhookの利用にはエンドポイントURLの登録が必要です。
マイページにログインし、「サブスクリプション管理の配信登録ページ」からエンドポイントURLをご登録ください。

ステップ2 - 双方向SMSの設定

双方向SMSの利用にはエンドポイントURLの登録が必要です。
マイページにログインし、「番号詳細画面のSMSのインバウンド構成ページ」からエンドポイントURLをご登録ください。

ステップ3 - SMSの送信

『メッセージSMS送信』を利用して、SMSを送信します。予約送信などカスタマイズもできますが、ここではシンプルな1件の即時送信を説明します。

  • Method: POST
  • End Point : {baseUrl}/sms/3/messages
  • Content-Type: application/json

リクエスト例:

{
    "messages": [
        {
            "sender": "0005XXXXXX",
            "destinations": [
                {
                    "to": "+818888888888"
                }
            ],
            "content": {
                "text": "test message"
            }
        }
    ]
}

レスポンス例:

{
  "bulkId": "17352607000314335290944",
  "messages": [
    {
      "messageId": "17352607000314335290945",
      "status": {
        "groupId": 1,
        "groupName": "PENDING",
        "id": 26,
        "name": "PENDING_ACCEPTED",
        "description": "Message sent to next instance"
      },
      "destination": "+818888888888"
    }
  ]
}

ステップ4 - SMSの送信・着信結果の確認(Webhookによるリアルタイム取得)

『送信SMSメッセージレポートの受信』を利用して、SMSの処理結果を確認します。
これは、エンドユーザーに送信される メッセージ本文です。1 つのアプリケーションごとに多数のメッセージ テンプレートを作成できるため、同じアプリケーションをさまざまなユース ケースやさまざまな言語でご利用頂けます。
メッセージ テンプレートを作成すると、後で PIN を送信するときに使用するメッセージ テンプレート ID が提供されます。メッセージ テンプレート ID を参照することで、システムは PIN を生成し、その PIN をメッセージ テンプレートに配置し、最後に PIN を含むメッセージをエンド ユーザーに送信します。

ここでは以下の条件でAPIを利用します。

  • Method: POST(Webhook)
  • End Point : https://{yourDomain}/{yourWebhookPath}
  • Content-Type: application/json

ペイロード:

{
  "results": [
    {
      "bulkId": "17352607000314335290944",
      "price": {
        "pricePerMessage": 0,
        "currency": "JPY"
      },
      "status": {
        "id": 5,
        "groupId": 3,
        "groupName": "DELIVERED",
        "name": "DELIVERED_TO_HANDSET",
        "description": "Message delivered to handset",
        "action": null
      },
      "error": {
        "id": 0,
        "name": "NO_ERROR",
        "description": "No Error",
        "groupId": 0,
        "groupName": "OK",
        "permanent": false
      },
      "messageId": "17352607000314335290945",
      "doneAt": "2024-12-27T10:41:49.015+0900",
      "messageCount": 1,
      "sentAt": "2024-12-27T10:41:42.314+0900",
      "to": "818888888888",
      "sender": "0005XXXXXX",
      "platform": {
        "entityId": null,
        "applicationId": null
      }
    }
  ]
}

ステップ5 - SMSの受信(Webhookによるリアルタイム取得)

『受信SMSメッセージの受信』を利用して、SMSの処理結果を確認します。

ここでは以下の条件でAPIを利用します。

  • Method: POST(Webhook)
  • End Point :https://{yourDomain}/your/webhook/path
  • Content-Type: application/json

ペイロード:

{
  "results": [
    {
      "from": "818888888888",
      "to": "0005XXXXXX",
      "integrationType": "SMS",
      "receivedAt": "2024-12-27T01:35:06.606+0000",
      "messageId": "6342727828674961826",
      "pairedMessageId": "17352607000314335290945",
      "callbackData": null,
      "message": "reply test message",
      "price": {
        "pricePerMessage": 0,
        "currency": "JPY"
      }
    }
  ],
  "messageCount": 1,
  "pendingMessageCount": 0
}

NTT CPaaSを、
60日間無料でお試しください

・SMS・Voice・メールを本番同様に無料で検証
・全API機能に即日アクセス / 有料プランと同一環境
・国内開発者向けに最適化された日本語ガイド

無料トライアル

目次
  1. プロセスワークフロー
  2. 事前準備・前提条件
  3. 実装手順
    1. ステップ1 - Webhookの設定
    2. ステップ2 - 双方向SMSの設定
    3. ステップ3 - SMSの送信
    4. ステップ4 - SMSの送信・着信結果の確認(Webhookによるリアルタイム取得)
    5. ステップ5 - SMSの受信(Webhookによるリアルタイム取得)

2025.01.21