Go言語、VonageでSMS送信機能

はじめに

AWSサービスとの比較でSMS送信を試してみました。

Vonage

https://www.vonagebusiness.jp/

APIベースでSMS配信、音声メッセージ配信、ビデオ配信などが可能

登録すると2ユーロ分無料で使えるのである程度試せます。
文字数にもよるかもしれませんが、SMSの1回配信で0.07ユーロだったので数十回は試せます。

音声配信もWebから簡単に試せて、
実際に電話がかかってくるのは面白いですね。

コード

   // パラメータの作成
    value := url.Values{}
    value.Set("from", SenderId)
    value.Add("text", "サンプルメッセージ By Vonage API")
    value.Add("to", PHONE)
    value.Add("api_key", VONAGE_API_KEY)
    value.Add("api_secret", VONAGE_API_SECRET)
    value.Add("type", "unicode")

    // APIリクエスト
    resp, err := http.PostForm("https://rest.nexmo.com/sms/json", value)
    if err != nil {
        log.Fatal(err)
    }
    buffer := make([]byte, 1024)

    respLen, _ := resp.Body.Read(buffer)
    body := string(buffer[:respLen])
    log.Println(body)
    log.Println(resp.Status)
    defer resp.Body.Close()

レスポンス

{
    "message-count": "1",
    "messages": [{
        "to": "819012345678",
        "message-id": "1C00000003DCB8FD",
        "status": "0",
        "remaining-balance": "1.19200000",
        "message-price": "0.07000000",
        "network": "44020"
    }]
}