CM.comのSMS送信APIでSMSを送信してみた


知る人ぞ知る CM.com

オランダのサッカー1部リーグに所属するBredaNACのオフィシャルスポンサーをしているCM.com

サッカー好きなら一度は目にしたことがあるロゴだろう。

この会社、実はSMS配信サービスの会社でSMS配信ツールをAPIでもプラットフォームでも提供している。
しかも低コストなので、SMS認証や通知などでガンガン使いたい人にはおすすめ
https://www.cmtelecom.jp

価格は日本国内なら1通8.19円

お問い合わせも日本語で対応してくれるので安心

利用方法

①CM.comのサイトから問い合わせして、アカウントを作成
②クレジットカードでチャージ(連絡すると後払いにも対応してもらえる)して、SMSゲートウェイのプロダクトトークンを取得
③いざ、開発

コードサンプル

var request = new {
    messages = new { // プロダクトトークンはここから確認する:gateway.cmtelecom.com
        authentication = new {producttoken = new Guid("ここにプロダクトトークンを入力")},
        msg = new[] { new {
            from = "送信者名をここに入力",//送信者名に関しては下記*1を確認
            to = new[] { new { number = "<+81ここに電話番号>" }},
                //宛先の電話番号は日本国内だと+81に電話番号の頭の0をとる 例+819011112222
            body = new { type = "AUTO", content = "ここに本文。70文字制限"}
        }}
    }
};
using (var client = new HttpClient())
{
    var content = new StringContent(
        JsonConvert.SerializeObject(request), 
        Encoding.UTF8, 
        "application/json");

    var response = client.PostAsync("https://gw.cmtelecom.com/v1.0/message", content).GetAwaiter().GetResult();
    response.EnsureSuccessStatusCode();
}

注意点

*1 送信者名はアルファベットから始まる任意の文字数字列(auはランダムな数字になるので設定不可能)

Github

感想

初めてSMS送信APIを使ってみたが、非常に簡単だった。
強いて言えば、080の宛先に送信先の番号に+81+80のように国番号に電話番号の最初の0をのぞいて入力するのを忘れがちなので気をつけたい。

エラーコードなどもう少し細かいリクエストをかける場合には下記仕様書を参照すべし
https://docs.cmtelecom.com/business-messaging