Chcete posílat SMS programově pomocí vlastního telefonního čísla? Namísto placení za drahá API operátorů můžete svůj telefon Android použít jako SMS bránu. Zde je návod.

Princip

Tradiční SMS API (Twilio, MessageBird) směrují zprávy přes telekomunikační operátory. Pronajímáte si telefonní číslo a platíte za zprávu plus měsíční poplatky.

SMS brána založená na telefonu to obrací: váš Android telefon se stává odesílacím zařízením. Server zařadí zprávy do fronty, váš telefon je vyzvedne a odešle prostřednictvím své SIM karty. Ponecháte si vlastní číslo a platíte sazbu SMS vašeho operátora.

Co budete potřebovat

  • Telefon Android (8.0+) s aktivní SIM kartou
  • Účet MySMSGate (vytvoření zdarma)
  • Aplikace MySMSGate pro Android
  • WiFi nebo mobilní data pro telefon

Krok 1: Vytvořte si účet

Přejděte na mysmsgate.net/auth/register a zaregistrujte se. Získáte 10 SMS zdarma na vyzkoušení – není potřeba kreditní karta.

Po registraci uvidíte svůj API klíč na hlavním panelu. Zkopírujte si jej – budete ho potřebovat pro aplikaci a volání API.

Krok 2: Nainstalujte aplikaci pro Android

Stáhněte a nainstalujte aplikaci MySMSGate do svého telefonu Android:

Otevřete aplikaci, přejděte do nastavení brány (Gateway settings) a zadejte svůj API klíč. Aplikace se připojí k serveru a na vašem hlavním panelu se zobrazí jako „online“.

Krok 3: Odesílejte SMS přes API

Nyní můžete posílat SMS jedním voláním 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;

Krok 4: Zkontrolujte stav doručení

API vrací ID SMS, které můžete použít ke kontrole stavu doručení:

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

Stavy: pendingsendingsent (nebo failed s chybovou zprávou).

Pokročilé: Dual SIM a více zařízení

Pokud má váš telefon dvě SIM karty, můžete si vybrat, ze které chcete odesílat:

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
  }'

K jednomu účtu můžete také připojit více telefonů a směrovat zprávy na konkrétní zařízení:

{
  "to": "+1234567890",
  "message": "Hello!",
  "device_id": "your-device-id"
}

Co se stane, když je telefon offline?

Zprávy se zařadí do fronty na serveru. Jakmile se telefon znovu připojí, automaticky vyzvedne čekající zprávy a odešle je. Server také odešle push notifikaci (FCM), aby probudil telefon, pokud je v režimu spánku.

Srovnání nákladů

Pro 500 SMS/měsíc:

PoskytovatelMěsíční náklady
Twilio$41+ (zprávy + číslo + registrace)
MessageBird$35+
MySMSGate$15 (500 × $0.03, žádné další poplatky)

To je úspora přes $300 ročně – a navíc si ponecháte své vlastní telefonní číslo.

Vyzkoušejte zdarma – 10 SMS v ceně, bez nutnosti kreditní karty.