¿Quieres enviar SMS programáticamente usando tu propio número de teléfono? En lugar de pagar por costosas APIs de operadores, puedes usar tu teléfono Android como una pasarela SMS. Así es como se hace.

El Concepto

Las APIs de SMS tradicionales (Twilio, MessageBird) enrutan los mensajes a través de operadores de telecomunicaciones. Alquilas un número de teléfono y pagas por mensaje más tarifas mensuales.

Una pasarela SMS basada en teléfono invierte esto: tu teléfono Android se convierte en el dispositivo de envío. Un servidor pone en cola los mensajes, tu teléfono los recoge y los envía a través de su tarjeta SIM. Mantienes tu propio número y pagas la tarifa de SMS de tu operador.

Qué Necesitas

  • Un teléfono Android (8.0+) con una tarjeta SIM activa
  • Una cuenta de MySMSGate (creación gratuita)
  • La aplicación de Android MySMSGate
  • WiFi o datos móviles para el teléfono

Paso 1: Crea Tu Cuenta

Ve a mysmsgate.net/auth/register y regístrate. Recibirás 10 SMS gratis para probar, sin necesidad de tarjeta de crédito.

Después de registrarte, verás tu clave API en el panel de control. Cópiala, la necesitarás para la aplicación y las llamadas a la API.

Paso 2: Instala la Aplicación Android

Descarga e instala la aplicación MySMSGate en tu teléfono Android:

Abre la aplicación, ve a la configuración de la Pasarela (Gateway settings) e introduce tu clave API. La aplicación se conectará al servidor y aparecerá como "en línea" en tu panel de control.

Paso 3: Envía SMS a través de la API

Ahora puedes enviar SMS con una sola llamada a la 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": "Tu cita es mañana a las 3 PM"
  }'

Python

import requests

response = requests.post(
    "https://mysmsgate.net/api/v1/send",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={
        "to": "+1234567890",
        "message": "Tu cita es mañana a las 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: "Tu cita es mañana a las 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" => "Tu cita es mañana a las 3 PM"
    ]),
    CURLOPT_RETURNTRANSFER => true
]);
$response = curl_exec($ch);
echo $response;

Paso 4: Comprueba el Estado de Entrega

La API devuelve un ID de SMS que puedes usar para comprobar el estado de entrega:

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

Estados: pendienteenviandoenviado (o fallido con mensaje de error).

Avanzado: Dual SIM y Multi-Dispositivo

Si tu teléfono tiene dos tarjetas SIM, puedes elegir desde cuál enviar:

curl -X POST https://mysmsgate.net/api/v1/send \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+1234567890",
    "message": "¡Hola!",
    "sim_slot": 1
  }'

También puedes conectar varios teléfonos a la misma cuenta y enrutar mensajes a dispositivos específicos:

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

¿Qué Ocurre Cuando el Teléfono Está Desconectado?

Los mensajes se ponen en cola en el servidor. Cuando el teléfono se vuelve a conectar, recoge automáticamente los mensajes pendientes y los envía. El servidor también envía una notificación push (FCM) para activar el teléfono si está en modo de suspensión.

Comparación de Costos

Para 500 SMS/mes:

ProveedorCosto Mensual
Twilio$41+ (mensajes + número + registro)
MessageBird$35+
MySMSGate$15 (500 × $0.03, sin otras tarifas)

Eso es un ahorro de más de $300 al año, y mantienes tu propio número de teléfono.

Pruébalo gratis — 10 SMS incluidos, no se requiere tarjeta de crédito.