💨

Twilioで簡単SMS送信

に公開

はじめに

これは、筆者がTwilioサービスを利用してSMS送信を実装した時の情報をまとめたものです。
より正確で詳細な情報はすべてTwilioの公式ドキュメント( https://www.twilio.com/docs )にありますが、日本語ドキュメントはあまり無いので作成しました。
開発者向けではありますが、できるだけ分かりやすく書いています。
代理店抜きでTwilioサービスを利用したい方、趣味で開発している方の役に立てば幸いです。
また、追加情報や誤りの指摘などコメントで頂けると助かります。

1. Twilioとは?

Twilioは、アメリカ合衆国カリフォルニア州サンフランシスコを本社とするクラウドコミュニケーションプラットフォームサービス企業です。電話の発着信やテキストメッセージの送受信など、様々なサービスを提供しています。
2025年5月現在、ソフトバンクがサービスの販売を行っていますが、Twilio Japanと直接契約して利用することも可能です。

2. 本ドキュメントの読み方について

このドキュメントは、読者の目的段階別に情報レベルを分けています。
目的に合わせてご参照ください。

  • 無料トライアルでサクッと試したい方へ
    Twilioの無料アカウントを使って、1通のSMSを送信するまでの最短ステップを紹介しています。
    無料で試してみる

  • 短時間で基本的な動作確認したい方へ
    アプリとプログラムを使って、基本的な構成でSMS送信を実装します。本番運用や構成全体は独自の設計をしたい方にもお勧めです。
    クイックスタート

  • 本番運用や構成全体を把握したい方へ
    準備中・・・

無料で試してみる

1. Twilioアカウントを作成

まずはTwilioアカウントを作成しましょう。
必要なものは以下の通りです。

  • SMS受信可能な電話番号
  • メールアドレス
  • ネットワーク環境

1-1. ユーザー情報入力

Twilioのトップページにアクセスし、「無料で試してみる」ボタンを押してください。
https://www.twilio.com/ja-jp
signupページに遷移しますので、必要情報を入力し「continue」を押してください。
googleアカウントがあれば、ページ下部の「Sign up with Google」のボタンから外部アカウント連携での利用も可能です。

電話番号入力画面に遷移しますので、SMSが受信可能な電話番号を入力して「Send code via SMS」を押してください。

電話番号宛てにSMSが送信されますので、SMSコードを入力して「Verify」を押しましょう。

認証に成功すれば、以下ページに遷移します。リカバリーコードを控え、「continue」から先に進みましょう。

1-2. Twilioアカウント作成

Twilioは用途によって使用アカウントを切り替えられます。SMS用のアカウントを作りましょう。
「Create new account」ボタンを押してください。

アカウントニックネームは好きなものを入力できます。分かりやすい名前にしておくと便利でしょう。
入力したら使用目的にチェックを入れて「Continue」から先に進みましょう。

Twilio利用料金請求先住所の国をプルダウンから選び、「Create new account」から先に進みます。

使用目的についてアンケート画面が表示されますので、入力して「Get started with Twilio」から先に進みましょう。(詳細は不明ですが、入力内容によってTwilioコンソールに表示されるガイドが変化するようです。できるだけ正確に回答しましょう)

作成成功すると、コンソール画面に辿り着きます。
作成直後、アカウントはトライアル状態です。トライアル残高として2300円程がチャージされており、この金額の範囲で試用が可能です。

2. トライアル番号を取得

SMS送信にはTwilioが管理している電話番号(Twilio番号)が必要です。Twilioはアカウントを作成すると無料で使えるトライアル番号(米国)をくれるので、それを利用しましょう。

サイドメニューから「Messaging -> Try it out -> Send an SMS 」と移動すると、「Get trial phone number」のボタンがあるページが表示されます。押してみましょう。

成功すると、このような画面に移動します。これでOKです。

3. コンソール画面からSMS送信

実際にSMSを送信してみましょう。
「To」のプルダウンを押すと、ユーザ情報登録で入力した電話番号が選択肢に出てきます。それを選んでください。「Sender type」は「Phone number」にしておきましょう。「Phone number」のプルダウンでは取得したトライアル番号を選びましょう。あとは「Message」に好きな文章を書いて、「Send an SMS」を押せば送信できます。

押した後、宛先電話番号の端末を確認し、送ったSMSが受信できていることを確認しましょう。
トライアル番号からのSMSは、「Sent from your Twilio trial account - 」という文が先頭に付きます。
成功すると、送信分の金額がトライアル残高から引かれます。トライアル番号は米国番号なので国際SMS扱いになり、実際の国内送信より送信料は高額になります。

4. APIを使ってSMS送信

アカウント情報が載っているため、画像では消去していますが、画面右側の「API Explorer」タブにはSMS送信のcurlコマンドが表示されます。API利用を考えている方は、こちらも試してみましょう。

クイックスタート

ここでは、Twilioの基本的な機能を利用してSMSサービスを実装する手順を記載します。
ほとんどは無料のトライアルアカウントで出来ますので、気軽に動作確認ができます。
必要なものは以下の通りです。

  • SMS受信可能な電話番号
  • メールアドレス
  • ネットワーク環境
  • Twilio アカウント

Twilioアカウント作成の手順は1.Twilioアカウントを作成に記載していますので、そこを参照して準備して下さい。

1. Twilio番号を取得

SMS送信にはTwilioが管理している電話番号(Twilio番号)が必要です。Twilioはアカウントを作成すると無料で使えるトライアル番号(米国)をくれるので、試用中はそれを利用しましょう。トライアル番号の取得方法は2.トライアル番号を取得に記載していますので、そこを参照して準備してください。トライアルではない本物のTwilio番号を使いたい場合、アカウントをアップグレードしてTwilioから購入する必要があります。アカウントをアップグレードしてしまうとトライアル番号は使えなくなってしまうので注意が必要です。なお、SMS送信を行う場合、米国番号である必要があります。日本の番号を買っても送れません。これはTwilioの制限の一つです。購入方法は6-1.Twilio番号を購入にありますので、そこを参照してください。

2. Messaging Serviceを作成

Twilio番号が一つあれば、それだけでもSMS送信が可能です。ですが、Messaging Serviceを作成して送信に利用すると拡張性・保守性・信頼性が大幅に向上しますので、それを用いた実装を紹介します。Messaging Service の詳しい利点は後に書きますので、興味のある方は読んでみてください。

まず、サイドメニューから「Messaging -> Services」に移動して、「Create Messaging Service」ボタンを押しましょう。

サービスの名前は好きなものを入力できます。分かりやすい名前にしておくと便利でしょう。用途に最も近いものをメッセージ使用目的プルダウンから選び、「Create Messagging Service」を押してください。

Sender PoolにSenderを追加します。「Add Sender」を押してください。

「Add Senders」ウィンドウが開きます。「Sender Type」のプルダウンで「Phone Number」を選択し「Continue」を押してください。(英数字送信IDを使う場合は、「Alpha Sender」を選択してください。英数字送信IDについては後に記載します)

SMS送信元として、所持しているTwilio番号の一覧が表示されます。使いたい番号にチェックを入れ、「Add Phone Number」を押して追加しましょう。

これで、Messaging Service の作成は完了です。
サイドメニューから「Messaging -> Services」に移動すると、作成したサービスが追加されています。

3. SMS送信プログラムを作成

SMS送信プログラムを作成しましょう。
Twilioは大変分かりやすいサンプルコードページを公開しています。こちらも是非参考にしてください。(※プログラミング環境構築については本稿では取り扱いません)
https://www.twilio.com/docs/messaging/tutorials/how-to-send-sms-messages

本ドキュメントではJavaのサンプルコードを紹介しますが、Twilio公式ドキュメントでは他にも

  • C# / .NET
  • Node.js
  • PHP
  • Python
  • Ruby

に対応したライブラリ、サンプルコードを配布しています。好きなものを使ってコーディングしてください。

3-1. 設定する送信元情報を確認

まず、送信に必要なアカウント情報を確認しましょう。サイドメニューのトップにある「Account Dashbord」をクリックすると、ダッシュボード画面に移動します。画面最下部「Account info」の欄に「Account SID」と「Auth Token」がありますので、これをコピーして控えましょう。

次に、2. Messaging Serviceを作成で作成したMessage ServiceのSidを確認します。サイドメニューから「Messaging -> Services」と移動し、Serviceの一覧から該当するもののSidを控えてください。

3-2. コーディング準備

Twilioの公式からJavaのヘルパーライブラリが配布されていますので、それを利用しましょう。
https://www.twilio.com/docs/libraries/reference/twilio-java/

3-3. プログラム作成

控えた情報をサンプルコードの該当箇所に埋め込んでください。

import com.twilio.Twilio;
import com.twilio.rest.api.v2010.account.Message;
import com.twilio.type.PhoneNumber;

public class Example {

  // Find your Account Sid and Token at console.twilio.com
  public static final String ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
  public static final String AUTH_TOKEN = "your_auth_token";

  public static void main(String[] args) {
    Twilio.init(ACCOUNT_SID, AUTH_TOKEN);

    Message message = Message
      .creator(
        new PhoneNumber("+15558675309"),
        new PhoneNumber("+15017250604"),
        "This is the ship that made the Kessel Run in fourteen parsecs?"
      )
      .create();

    System.out.println(message.getSid());
  }
}

3-4. 実行

プログラムを実行してみましょう。成功すれば、SMSが送信先に届くはずです。

Discussion