Хотите отправлять SMS программно, используя свой собственный номер телефона? Вместо того чтобы платить за дорогие API операторов связи, вы можете использовать свой Android-телефон в качестве SMS-шлюза. Вот как это сделать.
Концепция
Традиционные SMS API (Twilio, MessageBird) маршрутизируют сообщения через операторов связи. Вы арендуете номер телефона и платите за каждое сообщение, а также ежемесячную абонентскую плату.
SMS-шлюз на базе телефона меняет подход: ваш Android-телефон становится устройством отправки. Сервер ставит сообщения в очередь, ваш телефон забирает их и отправляет через свою SIM-карту. Вы сохраняете свой номер и платите по тарифу SMS вашего оператора.
Что вам понадобится
- Телефон Android (8.0+) с активной SIM-картой
- Аккаунт MySMSGate (бесплатная регистрация)
- Приложение MySMSGate для Android
- Wi-Fi или мобильный интернет для телефона
Шаг 1: Создайте аккаунт
Перейдите на mysmsgate.net/auth/register и зарегистрируйтесь. Вы получите 10 бесплатных SMS для тестирования — кредитная карта не требуется.
После регистрации вы увидите свой API-ключ на панели управления. Скопируйте его — он понадобится для приложения и вызовов API.
Шаг 2: Установите приложение для Android
Загрузите и установите приложение MySMSGate на свой Android-телефон:
Откройте приложение, перейдите в настройки шлюза (Gateway settings) и введите свой API-ключ. Приложение подключится к серверу и будет отображаться как "онлайн" на вашей панели управления.
Шаг 3: Отправка SMS через API
Теперь вы можете отправлять SMS с помощью одного вызова API:
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 возвращает ID SMS, который вы можете использовать для проверки статуса доставки:
curl https://mysmsgate.net/api/v1/sms?id=SMS_ID \
-H "Authorization: Bearer YOUR_API_KEY"
Статусы: pending → sending → sent (или failed с сообщением об ошибке).
Продвинуто: две 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"
}
Что происходит, когда телефон не в сети?
Сообщения ставятся в очередь на сервере. Когда телефон снова подключается к сети, он автоматически забирает отложенные сообщения и отправляет их. Сервер также отправляет push-уведомление (FCM), чтобы разбудить телефон, если он находится в спящем режиме.
Сравнение стоимости
За 500 SMS в месяц:
| Провайдер | Ежемесячная стоимость |
|---|---|
| Twilio | $41+ (сообщения + номер + регистрация) |
| MessageBird | $35+ |
| MySMSGate | $15 (500 × $0.03, без других сборов) |
Это экономия более $300 в год — и вы сохраняете свой собственный номер телефона.
Попробуйте бесплатно — 10 SMS включены, кредитная карта не требуется.
Comments (0)
Be the first to comment!