MENU
はじめに
Getting Started
ユーザーコンソールの操作
さまざまな機能の使い方
トラブルシューティングとサポート
リファレンス

Soracom

Users

SMS を送信する

はじめに

IoT SIM(plan01s, plan01s - Low Data Volume)では、API を使用して SMS を送ることができます。これにより、携帯電話通信網外のサーバーからも IoT SIM を使用している IoT 機器に対して SMS を送信したり、プログラムに組み込んで送信を自動化したりすることが可能になります。

また、IoT デバイスから外部サーバーへの SMS 送信も可能です。送信されたデータはデータ転送支援サービス SORACOM Beam やクラウドリソースアダプタ SORACOM Funnel 、クラウドファンクションアダプタ SORACOM Funk 、データ収集・蓄積サービス SORACOM Harvest などのサービスと組み合わせてご利用いただくことで、簡単にお客様のサーバーへ送信、蓄積できます。

  • 当機能は plan01s, plan01s - LDV でのみ利用できます。同じオペレーター配下の SIM 同士のみで SMS の送信ができます。他のオペレーター配下の SIM や SORACOM 以外の SIM、plan-D などの特定地域向け IoT SIM とは SMS の送受信はできません。
  • スマートフォンなどで SMS を送信しあう際の電話番号は、SIM の MSISDN をユーザーコンソールなどからご確認ください。
  • 各サブスクリプションで利用できる SMS は SMS を利用できる SORACOM IoT SIM はどれですか? を参照してください。

ユーザーコンソールからの送信

  1. カバレッジが [グローバル] になっていることを確認します。

  2. SMS を送信したい SIM にチェックを入れ、[操作] ボタンをクリックします。

  3. ドロップダウン形式でメニューが表示されますので、[SMS を送信] を選択します。

  4. エンコーディングタイプを選択し、SMS 本文を記載して [SMS を送信] を選択します。

API を使った送信

SMS を SORACOM API で送信する場合は sendSmssendSmsByMsisdn を使用します。

SORACOM CLI を使う場合は以下のコマンドを使用します。

soracom subscribers send-sms
soracom subscribers send-sms-by-msisdn

以下に API を使用した SMS 送信と SMS を使用した Harvest への送信手順を示します。

ステップ 1: デバイスの準備

SORACOM SIM はグローバルカバレッジです。以下のデバイスをご用意ください。

  • SIM フリーのデバイスであること
  • ローミングで利用可能であること
  • 日本国内で通信を行う場合、NTT ドコモ社の 3G 網の周波数帯に対応していて、かつ技術基準適合証明等 (技適)を受けていること
  • 日本国外で通信を行う場合、現地キャリアの周波数帯に対応していて、かつ現地での通信に必要な認証を受けていること (現地キャリアの周波数帯、必要な認証についてはお客様ご自身でご確認ください)

接続されない場合、デバイスで 3G を優先するように設定をご確認ください。

ステップ 2: API を使用した SMS の送信

API を使用した SMS の送信は、コンソールからも実施できますが、ここでは、API を利用して SMS を送信します。API Endpoint は、以下となります。

https://g.api.soracom.io/

ここからの API の実行は、 API Referenceからも実行できますので、合わせてご確認ください。

Auth API で API キーと API トークンを取得

ターミナルから以下のコマンドを実行します。

$ curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d "{\"email\": \"<ログインID>\",\"password\": \"<パスワード>\"}" "https://g.api.soracom.io/v1/auth"
  • <ログイン ID> : オペレーターのメールアドレス
  • <パスワード> : オペレーターのパスワード

API キーとトークンが取得できます。これ以降の API の実行で使用します。

Send_sms API の実行

$ curl -X POST  -H "content-type:application/json" -H "X-Soracom-API-Key: <API キー>" -H "X-Soracom-トークン: <トークン>"  -d "{\"body\":\"<メッセージ>\"}" https://g.api.soracom.io/v1/subscribers/<imsi>/send_sms
  • <API キー> : Auth API で取得した API キー
  • <トークン> : Auth API で取得した API トークン
  • <メッセージ> : SMS で送信するテキストメッセージ。ここでは ACSII 文字を指定してください。
  • <imsi>: SIM の IMSI

デバイスに SMS が送信できたことをご確認ください。送信元の番号は 901001 です。SMS API は、当該の Operator がもつ IMSI のみに送信可能です。API の実行で呼び出すことができるため、業務システムなどに組み込んで、なんらかのトリガーで SMS を送信するなど、自動化が容易に行なえます。

なお、ASCII 以外のメッセージを送信するには、上記 API で -d '{"body":"<メッセージ>"}' 部分を以下のように変更してください。

  • バイナリー (Hex) での送信: -d '{"encodingType":3, "body":"74657374"}' 「“encodingType”:3」 を指定してください。
  • マルチバイトでの送信: -d '{"encodingType":2, "body":"あいうえお"}' 「“encodingType”:2」 を指定してください。

ステップ 3: SMS を使用した Harvest へのデータ送信

グループの作成と SIM のグループ所属

グローバルカバレッジのコンソールにログインして、グループを作成します。

https://console.soracom.io/#/?coverage_type=g

「Menu」→「SIM グループ」→「追加」から、グループを選択してください。

グループ ID をコピーしておいてください。

plan01s SMS

次に、「SIM 管理」画面から SIM を選択して、「所属グループ変更」から作成したグループに所属させてください。

plan01s SMS

グループコンフィグを設定する

作成したグループで、Harvest を ON にして、保存します。 plan01s SMS

SMS を使用して、Harvest にデータを送信する

デバイスから、以下の番号宛に SMS メッセージを送信してください。以下は Harvest 用の宛先番号となります。

  • 宛先番号: 901031

送信した SIM で、「データを確認」から、送信されたデータを確認します。

plan01s SMS

以下のように送信されたデータを確認してください。

plan01s SMS

その他のサービスの利用

利用するサービスによって、宛先番号が異なります。各サービスの宛先番号は以下のとおりです。

  • Unified Endpoint: 901001
  • Beam: 901011
  • Funnel: 901021
  • Harvest: 901031
  • Funk: 901041

なお、NAI, NPI については、以下をご使用ください。

  • NAI: Nature of Address Indicator (TON: Type of Number) = 0 (Unknown)
  • NPI: Numbering Plan Indicator = 9 (Private)

ログの確認

SMS to Beam/Funnel/Harvest、SMS API ともにログを確認できます。

plan01s SMS plan01s SMS

SMS の送信失敗と再送

デバイス宛に SMS を送信する場合、ターゲットとなるデバイスや接続しているローカルキャリアの状態など、様々な要因によって失敗する可能性があることにご注意ください。SORACOM プラットフォームでは後述のロジックで再送を試みます。なお、送信の試行が失敗するごとに前述のログにエラーを出力します。

現状の再送ロジックは以下のとおりで、上から順に評価されます。なお、この設定値は予告なく変更される可能性があります。

  • 1 分間隔で 20 回
  • 15 分間隔で 20 回
  • 1 時間間隔で 20 回