Өз телефон нөміріңізді пайдаланып SMS-ті бағдарламалық түрде жібергіңіз келе ме? Қымбат байланыс операторларының API-леріне ақы төлеудің орнына, Android телефоныңызды SMS шлюзі ретінде пайдалана аласыз. Міне, қалай істеу керек.
Тұжырымдама
Дәстүрлі SMS API-лері (Twilio, MessageBird) хабарламаларды телекоммуникациялық операторлар арқылы бағыттайды. Сіз телефон нөмірін жалға алып, әр хабарлама үшін плюс айлық төлемдерді төлейсіз.
Телефонға негізделген SMS шлюзі мұны кері айналдырады: сіздің Android телефоныңыз жіберу құрылғысы болады. Сервер хабарламаларды кезекке қояды, телефоныңыз оларды алып, SIM картасы арқылы жібереді. Сіз өз нөміріңізді сақтап, операторыңыздың SMS тарифі бойынша төлейсіз.
Не қажет
- Белсенді SIM картасы бар Android телефоны (8.0+)
- MySMSGate тіркелгісі (тегін жасауға болады)
- MySMSGate Android қолданбасы
- Телефон үшін WiFi немесе мобильді деректер
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 идентификаторын қайтарады:
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!