Comienza aquí
Tu primera solicitud en cuatro pasos
Keep your main SMSMobileAPI subscription active; Telegram connection, API access, sending and sent-message history pause when it expires.
Conecte su propia cuenta Telegram mediante QR code en el panel y sincronice sus contactos.
Copie su clave SMSMobileAPI desde My API Key y guárdela en su servidor.
Liste los contactos y copie el contact_id del destinatario previsto.
Send JSON for text, or multipart/form-data to attach an image or document. Use the returned message_id to check the sent log.
SU CUENTA DE TELEGRAM
Conecte, elija un contacto y luego siga el envío.
Cada cliente escanea un QR code para conectar su propia cuenta Telegram. Sincronice contactos en el panel, use el ID de contacto devuelto para encolar un mensaje y luego inspeccione su estado en el registro de enviados.
1Conectar
Escanee el QR code en la página del panel Telegram.
2Buscar un contacto
Sincronice, luego busque el ID de contacto vía API.
3Enviar
POST un mensaje JSON con una clave de idempotencia.
4Rastrear
Leer estados encolado, enviado, desconocido o error.
Autenticación
Mantén las credenciales en tu servidor
Send X-SMSMobileAPI-Key: YOUR_API_KEY in an HTTPS header. Keep this key on your server, never in browser JavaScript or a public repository. The endpoints are scoped to the Telegram account connected to that SMSMobileAPI account. A short-lived signed download_url can be opened without the key. Access can be disabled in My API Key.
- An expired SMSMobileAPI subscription blocks Telegram API access with HTTP 402 subscription_expired, including attachment downloads. Renew in the dashboard to restore access; existing connection and history are preserved.
- El QR code vincula la cuenta Telegram de cada cliente. Los mensajes se envían desde esa cuenta, no desde una cuenta SMSMobileAPI compartida.
- Una respuesta 202 significa que la solicitud fue encolada. No demuestra que Telegram aceptó o entregó el mensaje. Sondee el registro de enviados para ver enviado o error.
- El servicio actualmente envía a un contacto sincronizado o @username guardado por solicitud. Respete las reglas Telegram y el consentimiento del destinatario.
- Las solicitudes están limitadas a 15 mensajes nuevos por minuto y 30 mensajes encolados por cuenta conectada. Use una idempotency_key estable al reintentar.
- Images and documents can be up to 5 MB. The send queue holds file bytes only until processing finishes; a separate private copy supports later downloads. File bytes are never embedded in the sent log.
- Newly sent attachments are kept in private storage for 90 days. The sent log returns a download_url valid for 15 minutes; request the log again to get a new link. Older attachments sent before this feature have no downloadable copy.
OBTENER
Listar contactos Telegram
https://api.smsmobileapi.com/telegram/contacts/Devuelve los contactos disponibles en su cuenta conectada Telegram.
Busque por nombre visible o @username, luego use contact_id para enviar.
Parámetros
| Nombre | Tipo | Requisito | Descripción |
|---|---|---|---|
q |
cadena | Opcional | Búsqueda opcional por nombre o usuario, hasta 80 caracteres. |
limit |
entero | Opcional | Tamaño de página de 1 a 100; por defecto 50. |
cursor |
entero | Opcional | Use paging.next_cursor de la respuesta anterior; omítalo en la primera página. |
Ejemplo de solicitud
curl -G 'https://api.smsmobileapi.com/telegram/contacts/' \
-H 'X-SMSMobileAPI-Key: YOUR_API_KEY' \
--data-urlencode 'q=Alex' \
--data-urlencode 'limit=50'
Ejemplo de respuesta
{"ok":true,"data":[{"contact_id":42,"display_name":"Alex Example","username":"alex_example","source":"telegram"}],"paging":{"has_more":false,"next_cursor":null}}
¿Quieres ejecutar esta solicitud?Conecte su clave API en la parte superior de la página para activar el probador interactivo.
Clave de conexión ↑- Los IDs de contacto pertenecen a la cuenta conectada; no se puede usar un ID de otra cuenta.
- Actualice contactos desde Dashboard → Telegram Contacts cuando alguien nuevo no aparezca.
CORREO
Enviar un mensaje Telegram
https://api.smsmobileapi.com/telegram/send/Encola un mensaje de texto para un contacto desde su cuenta Telegram conectada.
Use contact_id del endpoint de contactos. Guarde message_id para seguimiento.
Parámetros
| Nombre | Tipo | Requisito | Descripción |
|---|---|---|---|
contact_id |
entero | Obligatorio | ID de contacto devuelto por /telegram/contacts/. |
message |
cadena | Obligatorio | Texto UTF-8, 1–4096 caracteres y como máximo 16.000 bytes. |
idempotency_key |
Cadena UUID | Opcional | Clave estable de 36 caracteres estilo UUID en minúsculas. Reutilícela en reintentos de red para evitar mensajes duplicados. |
Ejemplo de solicitud
curl -X POST 'https://api.smsmobileapi.com/telegram/send/' \
-H 'X-SMSMobileAPI-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"contact_id":42,"message":"Your appointment is confirmed.","idempotency_key":"2d40bb10-cc42-4c30-a282-93fc6dd8e161"}'
Ejemplo de respuesta
{"ok":true,"message_id":123,"status":"queued","idempotency_key":"2d40bb10-cc42-4c30-a282-93fc6dd8e161","duplicate":false}
¿Quieres ejecutar esta solicitud?Conecte su clave API en la parte superior de la página para activar el probador interactivo.
Clave de conexión ↑- HTTP 202 significa en cola; no es un recibo de entrega. Un reintento exacto devuelve HTTP 200 con duplicate=true y el message_id original.
- Para reintentos, reutilice la misma idempotency_key con el mismo contacto y mensaje. Un payload cambiado con la misma clave devuelve HTTP 409.
CORREO
Send a Telegram image or document
https://api.smsmobileapi.com/telegram/send/Queue one file for a contact, with an optional caption.
Use multipart/form-data. The field name for the attachment is file.
Parámetros
| Nombre | Tipo | Requisito | Descripción |
|---|---|---|---|
contact_id |
entero | Obligatorio | ID de contacto devuelto por /telegram/contacts/. |
file |
file | Obligatorio | One JPG, PNG, WebP, PDF, TXT, CSV, JSON, ZIP or Office file, at most 5 MB. |
message |
cadena | Opcional | Optional caption of at most 1024 characters. |
idempotency_key |
Cadena UUID | Opcional | Reuse the same key and identical file and caption when retrying. |
Ejemplo de solicitud
curl -X POST 'https://api.smsmobileapi.com/telegram/send/' \
-H 'X-SMSMobileAPI-Key: YOUR_API_KEY' \
-F 'contact_id=42' \
-F 'message=Here is the document.' \
-F 'file=@./document.pdf' \
-F 'idempotency_key=2d40bb10-cc42-4c30-a282-93fc6dd8e161'
Ejemplo de respuesta
{"ok":true,"message_id":124,"status":"queued","idempotency_key":"2d40bb10-cc42-4c30-a282-93fc6dd8e161","duplicate":false}
¿Quieres ejecutar esta solicitud?Conecte su clave API en la parte superior de la página para activar el probador interactivo.
Clave de conexión ↑- Do not set Content-Type manually; cURL adds the multipart boundary.
- For JSON clients, send file_base64 with the Base64 file contents and filename, alongside contact_id and an optional message caption.
- A queued response is not proof of delivery. Check GET /telegram/sent/?message_id=124.
- The connected Telegram account sends the file to one contact.
CORREO
Send a Telegram file using JSON
https://api.smsmobileapi.com/telegram/send/Queue one image or document using a Base64 string when multipart upload is inconvenient.
Encode the original file bytes with Base64. Do not include an API key in the JSON body.
Parámetros
| Nombre | Tipo | Requisito | Descripción |
|---|---|---|---|
contact_id |
entero | Obligatorio | ID de contacto devuelto por /telegram/contacts/. |
filename |
cadena | Obligatorio | Original file name, for example photo.png or invoice.pdf. |
file_base64 |
cadena | Obligatorio | Raw Base64 file contents or a data URI; decoded file must be 5 MB or smaller. |
message |
cadena | Opcional | Optional caption of at most 1024 characters. |
idempotency_key |
Cadena UUID | Opcional | Reuse the same key with identical file contents, filename and caption on retries. |
Ejemplo de solicitud
curl -X POST 'https://api.smsmobileapi.com/telegram/send/' \
-H 'X-SMSMobileAPI-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"contact_id":42,"filename":"photo.png","file_base64":"BASE64_ENCODED_FILE","message":"See attached","idempotency_key":"2d40bb10-cc42-4c30-a282-93fc6dd8e161"}'
Ejemplo de respuesta
{"ok":true,"message_id":125,"status":"queued","idempotency_key":"2d40bb10-cc42-4c30-a282-93fc6dd8e161","duplicate":false}
¿Quieres ejecutar esta solicitud?Conecte su clave API en la parte superior de la página para activar el probador interactivo.
Clave de conexión ↑- Replace BASE64_ENCODED_FILE with the actual Base64 of a supported file.
- Use multipart/form-data instead if your client supports direct file upload; it avoids Base64 size overhead.
OBTENER
Listar mensajes Telegram enviados
https://api.smsmobileapi.com/telegram/sent/Devuelve mensajes recientes en cola, en envío, enviados y fallidos, los más nuevos primero.
Consulte este endpoint con message_id para seguir un mensaje devuelto por /telegram/send/.
Parámetros
| Nombre | Tipo | Requisito | Descripción |
|---|---|---|---|
message_id |
entero | Opcional | Devolver el ID de mensaje específico de /telegram/send/. |
contact_id |
entero | Opcional | Limitar los resultados a un solo ID de contacto. |
status |
queued | sending | sent | error | unknown | Opcional | Filtrar por estado de envío. |
limit |
entero | Opcional | Tamaño de página de 1 a 100; por defecto 50. |
cursor |
entero | Opcional | Use paging.next_cursor para obtener mensajes más antiguos. |
Ejemplo de solicitud
curl -G 'https://api.smsmobileapi.com/telegram/sent/' \
-H 'X-SMSMobileAPI-Key: YOUR_API_KEY' \
--data-urlencode 'message_id=123'
Ejemplo de respuesta
{"ok":true,"data":[{"message_id":123,"contact_id":42,"contact_name":"Alex Example","username":"alex_example","message":"Your appointment is confirmed.","type":"text","media":null,"status":"sent","telegram_message_id":781,"error_code":null,"error_detail":null,"attempts":1,"queued_at":"2026-11-06T09:42:00+00:00","sent_at":"2026-11-06T09:42:04+00:00"}],"paging":{"has_more":false,"next_cursor":null}}
¿Quieres ejecutar esta solicitud?Conecte su clave API en la parte superior de la página para activar el probador interactivo.
Clave de conexión ↑- The top-level type is text, image or file. For an attachment, media contains the filename, MIME type, size, download_url and available_until; media is null for text messages. File bytes are not embedded in the log.
- The download_url opens in a browser for 15 minutes. Refresh this endpoint for a new link while the file remains available.
- sent significa que Telegram aceptó el mensaje desde la cuenta conectada; la entrega al destinatario y los recibos de lectura no se informan.
- unknown significa que no se pudo confirmar el resultado del envío. No reenvíe ciegamente un mensaje en este estado.
OBTENER
Download a sent Telegram attachment
https://api.smsmobileapi.com/telegram/media/Downloads a previously sent image or document while it remains available.
Use media.download_url from the sent log, or call this endpoint with the account API key.
Parámetros
| Nombre | Tipo | Requisito | Descripción |
|---|---|---|---|
message_id |
entero | Obligatorio | Message ID returned by /telegram/send/. |
Ejemplo de solicitud
curl -L 'https://api.smsmobileapi.com/telegram/media/?message_id=124' \
-H 'X-SMSMobileAPI-Key: YOUR_API_KEY' \
-o attachment
Ejemplo de respuesta
Binary image or document bytes (Content-Type matches the file)
¿Quieres ejecutar esta solicitud?Conecte su clave API en la parte superior de la página para activar el probador interactivo.
Clave de conexión ↑- A download_url returned by /telegram/sent/ is signed and works without an API key for 15 minutes. Keep it private.
- The authenticated endpoint requires the Telegram sent-log API access switch.
- Files are retained for 90 days; the type and filename remain in the log after expiry.
Solución de problemas
Errores y reintentos seguros
Consulta el estado de HTTP y el campo de error JSON antes de reintentar. No vuelvas a intentar validaciones o fallos de autenticación sin corregir primero la petición.
| HTTP | Código | Qué hacer |
|---|---|---|
| 401 | api_key_required / invalid_api_key | Envíe un encabezado X-SMSMobileAPI-Key válido. |
| 402 | subscription_expired | Renew the SMSMobileAPI subscription linked to the API key. Telegram API access resumes after renewal. |
| 403 | API_ENDPOINT_DISABLED | Habilite el Telegram API o este endpoint específico en My API Key. |
| 404 | contact_not_found | Sincronice contactos y use un ID de su propia conexión Telegram. |
| 409 | telegram_not_connected / idempotency_conflict | Conecte Telegram o elija una nueva clave de idempotencia para contenido cambiado. |
| 422 | invalid_message / invalid_pagination | Corrija el mensaje, el ID de contacto o los parámetros de paginación. |
| 429 | queue_full / rate_limited | Espere a que se procesen los envíos en cola o que se libere el límite por minuto. |
| 503 | sending_unavailable / service_unavailable | El trabajador de envío o el almacenamiento están temporalmente no disponibles; reintente más tarde. |
| 503 | media_not_ready | File sending requires the current Telegram service update. Text sending remains available. |
| 404 / 410 | media_not_found / media_expired | The file is unavailable or past its 90-day retention period. |
¿Necesitas ayuda?
Trae el contexto de la solicitud, no tus secretos.
Comparte el endpoint, la marca de tiempo, el estado HTTP y la respuesta saneada. Nunca incluyas claves API, tokens ni contenido privado de mensajes.
Aplicación móvil oficial
El puente seguro entre tu teléfono, el panel y API.
Las operaciones de SMS y llamadas se realizan a través de la aplicación oficial SMSMobileAPI instalada en tu teléfono conectado. La app vincula el dispositivo de forma segura con tu cuenta, sincroniza eventos autorizados y conecta la red móvil con el panel de control y REST API.
- Lanzamientos firmados distribuidos a través de las listas oficiales Google Play y Apple App Store
- Controles de revisión, firma y distribución de plataformas Google y Apple
- Emparejamiento seguro de dispositivo, transporte HTTPS y acceso autenticado API
- Solo los permisos requeridos para las funciones móviles que habilites


