USSD → HTTP/HTTPS エントリポイント
USSD で受信したデータを、JSON 形式に変換して 1 つのリクエストとして HTTP または HTTPS に POST します。
{
"imsi": "29505xxxxxxxxxx",
"ussdDataCodingScheme": 15,
"ussdString": "*901011*123#",
"value": "123"
}
設定項目
SORACOM ユーザーコンソールの場合
- 設定名: 本設定の名前
- 転送先
- プロトコル: 転送先への送信プロトコル。HTTP もしくは HTTPS から選択。
- ホスト名: 転送先の FQDN。
- ポート番号: 転送先のポート番号。
- パス: 転送先へのリクエストパス。
- ヘッダ操作
- IMSI ヘッダ: 転送先へのリクエストに
x-soracom-imsi: ${IMSI}
を追加します。 - SIM ID ヘッダ: 転送先へのリクエストに
x-soracom-sim-id: ${SIM_ID}
を追加します。 - MSISDN ヘッダ: 転送先へのリクエストに
x-soracom-msisdn: ${MSISDN}
を追加します。 - 署名ヘッダ付与: 転送先へのリクエストに
x-soracom-signature: ${signature}
を追加します。 - 事前共有鍵: 署名に利用する共通鍵を設定します。詳細は、署名ヘッダと事前共有鍵を使って送信元を検証する を参照してください。
- IMSI ヘッダ: 転送先へのリクエストに
- カスタムヘッダ: 転送先へのリクエストに任意の HTTP ヘッダを付与できます。
SORACOM CLI / SORACOM API の場合
soracom groups put-config
(Group:putConfigurationParameters API
) を使用します。
{namespace}
は、SoracomBeam
です。
ボディで指定するプロパティについては、以下の key
と value
のペアを配列で指定します。
"ussd:901011": { // 固定
"name": "string", // 任意
"destination": "https://secure.example.com:1234", // 通信先のホスト名&ポートを指定
"enabled": true | false, // USSD → HTTP/HTTPS エントリポイントの有効・無効
"addSubscriberHeader": true | false, // IMSI ヘッダを付与するか否か
"addSimIdHeader": true | false, // SIM ID ヘッダを付与するか否か
"addMsisdnHeader": true | false, // MSISDN ヘッダを付与するか否か
"addSignature": true | false, // 署名ヘッダ (検証用のシグネチャ) を付与するか否か
"psk": "string", // 検証用シグネチャを計算する際の事前共有パスフレーズ
"customHeaders": { // 独自HTTPヘッダ
"X-HEADER-NAME": { // 独自ヘッダの名前
"action": "append" // 追記のみ可能
"headerKey": "X-HEADER-NAME",
"headerValue": "VALUE" // ヘッダに設定する内容
}
}
}
設定例
[
{
"key": "ussd:901011",
"value": {
"name": "USSDToHTTP",
"destination": "https://beamtest.soracom.io/",
"enabled": true,
"addSubscriberHeader": true,
"addSignature": true,
"psk": "topsecret",
"customHeaders": {
"X-GROUP-NAME": {
"action": "append",
"headerKey": "X-GROUP-NAME",
"headerValue": "TEST"
}
}
}
}
]
MMI 文字列
*901011*{テキストデータ}#
リクエスト
Beam は送信されたメッセージを以下のような JSON にし、HTTP POST リクエストのボディに設定します。
{"payload":"テキストメッセージ"}
レスポンス
サーバー側から、以下の条件を満たすレスポンスを返却すると、デバイス側でレスポンスを受け取ることができます。
Content-Type: text/plain
を設定する- GSM 7 ビット標準アルファベットの範囲の文字のみを用いる
- 182 文字以内
実際の利用例
実際の利用例については、デバイスから USSD でデータを送信する を参照してください。