自分の電話番号を使ってプログラムからSMSを送信したいですか?高価なキャリアAPIにお金を払う代わりに、あなたのAndroidスマートフォンをSMSゲートウェイとして利用できます。その方法をご紹介します。
コンセプト
従来のSMS API(Twilio、MessageBirdなど)は、通信キャリアを介してメッセージをルーティングします。あなたは電話番号を借り、メッセージごとに料金と月額料金を支払います。
電話ベースのSMSゲートウェイはこれを逆転させます。あなたのAndroidスマートフォンが送信デバイスになるのです。サーバーがメッセージをキューに入れ、あなたの電話がそれらを取得し、SIMカード経由で送信します。あなたは自分の番号を維持し、キャリアのSMS料金を支払うだけです。
必要なもの
- アクティブなSIMカードが挿入されたAndroidスマートフォン(8.0以降)
- MySMSGateアカウント(無料で作成可能)
- MySMSGate Androidアプリ
- スマートフォン用のWi-Fiまたはモバイルデータ通信
ステップ1:アカウントを作成する
mysmsgate.net/auth/registerにアクセスして登録してください。テスト用に10通の無料SMSが提供されます — クレジットカードは不要です。
登録後、ダッシュボードにAPIキーが表示されます。アプリとAPIコールに必要となるため、コピーしておいてください。
ステップ2:Androidアプリをインストールする
MySMSGateアプリをAndroidスマートフォンにダウンロードしてインストールします。
アプリを開き、ゲートウェイ設定に移動してAPIキーを入力します。アプリがサーバーに接続され、ダッシュボードに「オンライン」と表示されます。
ステップ3:API経由でSMSを送信する
これで、単一のAPIコールでSMSを送信できます。
cURL
curl -X POST https://mysmsgate.net/api/v1/send \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+1234567890",
"message": "Your appointment is tomorrow at 3 PM"
}'
Python
import requests
response = requests.post(
"https://mysmsgate.net/api/v1/send",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"to": "+1234567890",
"message": "Your appointment is tomorrow at 3 PM"
}
)
print(response.json())
JavaScript (Node.js)
const response = await fetch("https://mysmsgate.net/api/v1/send", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
to: "+1234567890",
message: "Your appointment is tomorrow at 3 PM"
})
});
const data = await response.json();
console.log(data);
PHP
$ch = curl_init("https://mysmsgate.net/api/v1/send");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer YOUR_API_KEY",
"Content-Type: application/json"
],
CURLOPT_POSTFIELDS => json_encode([
"to" => "+1234567890",
"message" => "Your appointment is tomorrow at 3 PM"
]),
CURLOPT_RETURNTRANSFER => true
]);
$response = curl_exec($ch);
echo $response;
ステップ4:配信ステータスを確認する
APIは、配信ステータスを確認するために使用できるSMS IDを返します。
curl https://mysmsgate.net/api/v1/sms?id=SMS_ID \
-H "Authorization: Bearer YOUR_API_KEY"
ステータス: pending → sending → sent(またはエラーメッセージ付きのfailed)となります。
上級編:デュアルSIMと複数デバイス
お使いの電話が2枚のSIMカードを搭載している場合、どちらのSIMから送信するかを選択できます。
curl -X POST https://mysmsgate.net/api/v1/send \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+1234567890",
"message": "Hello!",
"sim_slot": 1
}'
また、複数の電話を同じアカウントに接続し、特定のデバイスにメッセージをルーティングすることも可能です。
{
"to": "+1234567890",
"message": "Hello!",
"device_id": "your-device-id"
}
電話がオフラインの場合、どうなりますか?
メッセージはサーバーにキューされます。電話が再接続されると、保留中のメッセージを自動的に取得して送信します。サーバーは、電話がスリープモードの場合に、プッシュ通知(FCM)を送信して電話を起動させることもできます。
コスト比較
月間500通のSMSの場合:
| プロバイダー | 月額費用 |
|---|---|
| Twilio | $41以上(メッセージ + 番号 + 登録料) |
| MessageBird | $35以上 |
| MySMSGate | $15(500 × $0.03、その他の手数料なし) |
これは年間300ドル以上の節約になります — しかも自分の電話番号を維持できます。
無料で試す — 10通のSMSが含まれており、クレジットカードは不要です。
Comments (0)
Be the first to comment!