Хочете надсилати SMS програмно, використовуючи власний номер телефону? Замість того, щоб платити за дорогі API операторів, ви можете використовувати свій Android-телефон як SMS-шлюз. Ось як це зробити.

Концепція

Традиційні SMS API (Twilio, MessageBird) маршрутизують повідомлення через телекомунікаційних операторів. Ви орендуєте номер телефону та платите за кожне повідомлення, а також щомісячну абонплату.

SMS-шлюз на базі телефону працює інакше: ваш Android-телефон стає пристроєм для надсилання. Сервер ставить повідомлення в чергу, ваш телефон їх забирає та надсилає через свою SIM-карту. Ви зберігаєте свій власний номер і платите за тарифом SMS вашого оператора.

Що вам знадобиться

  • Android-телефон (8.0+) з активною SIM-картою
  • Акаунт MySMSGate (створити безкоштовно)
  • Android-додаток MySMSGate
  • WiFi або мобільний інтернет для телефону

Крок 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 повертає ідентифікатор SMS, який ви можете використовувати для перевірки статусу доставки:

curl https://mysmsgate.net/api/v1/sms?id=SMS_ID \
  -H "Authorization: Bearer YOUR_API_KEY"

Статуси: pendingsendingsent (або failed з повідомленням про помилку).

Додатково: Dual 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 включено, кредитна картка не потрібна.