Tus SMS se envían desde tu propio móvil.Descubre cómo
PLATAFORMAArquitectura API-firstEmparejamiento seguro de dispositivoVisibilidad de entregaControl multi-dispositivoDocumentación versionada
Centro para desarrolladores/API de Telegram

TG · 6 operaciones documentadas

Documentación Telegram API

Use su cuenta Telegram conectada desde su propia aplicación: encuentre contactos, ponga un mensaje en cola y siga su estado de envío.

Contactos y mensajes Telegram conectados a una aplicación empresarial
URL base RESThttps://api.smsmobileapi.com

Respuestas JSON · HTTPS requerido · UTF-8

Conecte su clave API

Conéctalo una vez y luego prueba endpoints a través de SMS, llamadas, notificaciones, WhatsApp, Telegram y correo electrónico.

Comienza aquí

Tu primera solicitud en cuatro pasos

1

Keep your main SMSMobileAPI subscription active; Telegram connection, API access, sending and sent-message history pause when it expires.

2

Conecte su propia cuenta Telegram mediante QR code en el panel y sincronice sus contactos.

3

Copie su clave SMSMobileAPI desde My API Key y guárdela en su servidor.

4

Liste los contactos y copie el contact_id del destinatario previsto.

5

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.

Consignación de cuentas

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.

1

Conectar

Escanee el QR code en la página del panel Telegram.

2

Buscar un contacto

Sincronice, luego busque el ID de contacto vía API.

3

Enviar

POST un mensaje JSON con una clave de idempotencia.

4

Rastrear

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.

Antes de integrar
  • 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

#
ENDPOINThttps://api.smsmobileapi.com/telegram/contacts/

Devuelve los contactos disponibles en su cuenta conectada Telegram.

Cuándo usarlo

Busque por nombre visible o @username, luego use contact_id para enviar.

Parámetros

NombreTipoRequisitoDescripció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

rizo
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

JSON
{"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 ↑
Bueno saber
  • 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

#
ENDPOINThttps://api.smsmobileapi.com/telegram/send/

Encola un mensaje de texto para un contacto desde su cuenta Telegram conectada.

Cuándo usarlo

Use contact_id del endpoint de contactos. Guarde message_id para seguimiento.

Parámetros

NombreTipoRequisitoDescripció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

rizo
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

JSON
{"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 ↑
Bueno saber
  • 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

#
ENDPOINThttps://api.smsmobileapi.com/telegram/send/

Queue one file for a contact, with an optional caption.

Cuándo usarlo

Use multipart/form-data. The field name for the attachment is file.

Parámetros

NombreTipoRequisitoDescripció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

rizo
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

JSON
{"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 ↑
Bueno saber
  • 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

#
ENDPOINThttps://api.smsmobileapi.com/telegram/send/

Queue one image or document using a Base64 string when multipart upload is inconvenient.

Cuándo usarlo

Encode the original file bytes with Base64. Do not include an API key in the JSON body.

Parámetros

NombreTipoRequisitoDescripció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

rizo
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

JSON
{"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 ↑
Bueno saber
  • 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

#
ENDPOINThttps://api.smsmobileapi.com/telegram/sent/

Devuelve mensajes recientes en cola, en envío, enviados y fallidos, los más nuevos primero.

Cuándo usarlo

Consulte este endpoint con message_id para seguir un mensaje devuelto por /telegram/send/.

Parámetros

NombreTipoRequisitoDescripció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

rizo
curl -G 'https://api.smsmobileapi.com/telegram/sent/' \
  -H 'X-SMSMobileAPI-Key: YOUR_API_KEY' \
  --data-urlencode 'message_id=123'

Ejemplo de respuesta

JSON
{"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 ↑
Bueno saber
  • 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

#
ENDPOINThttps://api.smsmobileapi.com/telegram/media/

Downloads a previously sent image or document while it remains available.

Cuándo usarlo

Use media.download_url from the sent log, or call this endpoint with the account API key.

Parámetros

NombreTipoRequisitoDescripción
message_id entero Obligatorio Message ID returned by /telegram/send/.

Ejemplo de solicitud

rizo
curl -L 'https://api.smsmobileapi.com/telegram/media/?message_id=124' \
  -H 'X-SMSMobileAPI-Key: YOUR_API_KEY' \
  -o attachment

Ejemplo de respuesta

JSON
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 ↑
Bueno saber
  • 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.

HTTPCódigoQué hacer
401api_key_required / invalid_api_keyEnvíe un encabezado X-SMSMobileAPI-Key válido.
402subscription_expiredRenew the SMSMobileAPI subscription linked to the API key. Telegram API access resumes after renewal.
403API_ENDPOINT_DISABLEDHabilite el Telegram API o este endpoint específico en My API Key.
404contact_not_foundSincronice contactos y use un ID de su propia conexión Telegram.
409telegram_not_connected / idempotency_conflictConecte Telegram o elija una nueva clave de idempotencia para contenido cambiado.
422invalid_message / invalid_paginationCorrija el mensaje, el ID de contacto o los parámetros de paginación.
429queue_full / rate_limitedEspere a que se procesen los envíos en cola o que se libere el límite por minuto.
503sending_unavailable / service_unavailableEl trabajador de envío o el almacenamiento están temporalmente no disponibles; reintente más tarde.
503media_not_readyFile sending requires the current Telegram service update. Text sending remains available.
404 / 410media_not_found / media_expiredThe file is unavailable or past its 90-day retention period.
Regla de reintentoReintente sólo respuestas transitorias 429 y 5xx. Comience tras 1 segundo, luego espere 2, 4 y 8 segundos.

¿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.

Contactar soporte API →
La aplicación móvil segura SMSMobileAPI que conecta un teléfono con el panel web y REST API para operaciones de SMS y llamadas.
Conexión cifrada móvil a plataforma

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.

1Aplicación móvilEmpareja el teléfono y su SIM 2Enlace cifradoAutentica y protege los datos en tránsito 3Panel de control y APIControla flujos de trabajo y actividad
  • 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
Descarga la app oficial SMSMobileAPI en Google Play Descarga la app oficial SMSMobileAPI en la Apple App Store
Las capacidades dependen de los permisos y el acceso en segundo plano permitidos por Android o iOS.