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/Notificación API

PUSH · 3 operaciones documentadas

Documentación de Notificación API

Envía notificaciones internas a un móvil conectado específico y recupera su historial de distribución.

Notificaciones móviles conectadas a datos de llamadas y análisis en tiempo real
URL base RESThttps://api.smsmobileapi.com

Respuestas JSON · HTTPS requerido · UTF-8

Conecte su clave API

Conecte una vez y luego pruebe endpoints para SMS, llamadas, notificaciones, WhatsApp y correo.

Comienza aquí

Tu primera solicitud en cuatro pasos

1

Lista tus móviles conectados y copia el SID de destino.

2

Crear una notificación con un título y mensaje.

3

Consulta el endpoint de la lista por SID.

4

Utilice distribued_status y marcas de tiempo GMT para rastrear la distribución.

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.

WEBHOOK V2 PARA ESTA API

Permita que la comunicación móvil desencadene la siguiente acción empresarial.

3 tipos de eventos

Un destino puede recibirlo todo, o puede separar sistemas de producción, analítica y alertas operativas. Cada evento tiene un nombre preciso para que su aplicación lo gestione de forma predecible.

Important

La API de notificaciones envía notificaciones a los dispositivos conectados. Actualmente no publica un evento webhook específico de notificación. Utiliza eventos de origen como un SMS recibido, una llamada perdida o un mensaje de WhatsApp recibido para activar tu flujo de notificaciones.

sms.received

SMS recibido

Un móvil conectado sincronizó un SMS entrante.

call.missed

Llamada perdida

Se sincronizó una llamada perdida desde un móvil conectado.

whatsapp.received

WhatsApp recibido

Se recuperó un mensaje WhatsApp después de que la cuenta solicitara la sincronización.

Autenticación

Mantén las credenciales en tu servidor

Los puntos finales de notificación utilizan el parámetro apikey. Un teléfono destino se identifica por sid al enviar y por sid o sidentifiant al listar.

Gestión del historial

Borrar historial con seguridad: previsualizar, eliminar, seguir el progreso

Estos endpoints borran el historial seleccionado del servidor para tu clave API, no los mensajes en los teléfonos ni servicios externos. No ofrecen eliminación de cuenta. Puede aparecer nueva actividad tras la eliminación.

Lee la guía de request_id y reintentos
Protección de la integración

De forma predeterminada, los registros vinculados o en procesamiento siguen siendo visibles. Use include_linked=1 solo si acepta que las integraciones o procesos en curso puedan dejar de funcionar.

Cómo funciona request_id

  1. Previsualiza los contadores con action=preview. No se necesita request_id y no se eliminan registros.
  2. Generar un request_id único para una nueva eliminación, por ejemplo un UUID. Guárdalo antes de enviar action=delete.
  3. Para reintentos, tiempos de espera o HTTP 202, reutilice la misma clave API, el endpoint de historial, request_id y el valor include_linked. Nunca genere un nuevo ID automáticamente tras un error.
  4. Cuando completed=true, la operación está finalizada. Reutilizar su ID devuelve el mismo resultado en lugar de eliminar registros recién llegados. Use un ID nuevo solo para una limpieza deliberadamente nueva.

request_id identifica tu operación de eliminación, no un SMS individual. Formato permitido: 16–128 letras ASCII, dígitos, guiones o guiones bajos. Un UUID generado con crypto.randomUUID() es adecuado.

La eliminación se realiza en lotes. HTTP 202 con continue_required=true significa que debe repetir action=delete tras 3 segundos. No hay cron en segundo plano. action=status solo lee el progreso, incluso si su estado HTTP es 200.

Ejemplos de eliminación y estado

Reemplace el request_id de ejemplo con su propio valor único antes de comenzar. Las siguientes solicitudes de eliminación modifican el historial real de la cuenta; no son previsualizaciones.

POST · clave API
curl -X POST "https://api.smsmobileapi.com/delete-history-notifications/" \
  --data-urlencode "apikey=YOUR_API_KEY" \
  -d "action=delete" -d "include_linked=0" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"
PUESTOS · OAuth2
curl -X POST "https://api.smsmobileapi.com/delete-history-notifications/" \
  -H "Authorization: Bearer YOUR_OAUTH_ACCESS_TOKEN" \
  -d "action=delete" -d "include_linked=0" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"
OBTENER · estado
curl -G "https://api.smsmobileapi.com/delete-history-notifications/" \
  --data-urlencode "apikey=YOUR_API_KEY" \
  -d "action=status" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"

GET también acepta action=preview o action=delete. Se recomienda POST: los parámetros en la URL pueden quedarse en el historial del navegador y los registros del servidor. Nunca pongas una URL de eliminación en un enlace público, imagen o prefetch.

Para POST, envíe todos los parámetros en el cuerpo del formulario o en un objeto JSON, nunca en la cadena de consulta. Parámetros desconocidos son rechazados; no se soportan filtros por fecha o móvil.

Autenticación para puntos finales de historial

Usa apikey o un token de acceso Authorization: Bearer emitido por SMSMobileAPI OAuth2. No envíes un token de refresco ni una clave API como token Bearer. Los tokens caducados son rechazados.

Cuando se establecen los scopes, history:read permite vista previa/estado y history:delete también permite eliminación. Se aplican restricciones tanto en el token como en el cliente OAuth. Los tokens heredados sin scopes mantienen su acceso actual a la cuenta.

OAuth2 selecciona la clave principal única API. Si existen varias claves principales, proporciona también apikey para seleccionar una perteneciente a la cuenta. Las claves secundarias nunca otorgan acceso al historial de la clave principal.

Lee la respuesta antes de continuar

count_delete es el número acumulado eliminado por esta operación. selected_at_start es la selección inicial; protected_at_start cuenta los registros excluidos. Usa preview.linked_or_processing para contar registros vinculados incluso cuando include_linked=1.

JSON · HTTP 202
{
    "result": {
        "error": 0,
        "history": "notifications",
        "action": "delete",
        "request_id": "6d54ac58-41f1-4fbc-9a39-6e6c86089451",
        "status": "processing",
        "completed": false,
        "count_delete": 100,
        "total_before": 250,
        "selected_at_start": 200,
        "protected_at_start": 50,
        "include_linked": 0,
        "continue_required": true,
        "message": "Repeat GET or POST with the same request_id and include_linked to continue. Status requests do not run deletion."
    }
}
  • 200 con completed=true: finalizado. Una respuesta 200 de vista previa o de estado por sí sola no demuestra la finalización.
  • 400 INVALID_REQUEST_ID: verifica el formato. 404 REQUEST_NOT_FOUND: no existe ninguna operación para este ID, clave API e historial.
  • 401: credenciales inválidas o caducadas. 403: alcance OAuth insuficiente o cuenta no autorizada.
  • 409 HISTORY_BUSY: otra limpieza está en curso; continúa desde el cliente original. 409 INCLUDE_LINKED_CONFLICT: restaura el valor original de include_linked.
  • 409 OAUTH_ACCOUNT_AMBIGUOUS: proporciona una clave API perteneciente a esta cuenta.
  • 503 o interrupción de red: algunos lotes pueden ya estar completados. Revisa la configuración y vuelve a intentar con el request_id original. No crees una operación de reemplazo automáticamente.
POSTE · GET

Enviar una notificación

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

Crea una notificación interna para un dispositivo conectado.

Cuándo usarlo

Utilícelo para alertas operativas que deben aparecer en un teléfono gestionado.

Parámetros

NombreTipoRequisitoDescripción
apikey cadena Obligatorio Su clave API.
sid cadena Obligatorio Objetivo: SID móvil.
title cadena Opcional Título de la notificación; por defecto Notificación.
message cadena Obligatorio Contenido de la notificación.
type cadena Opcional Tipo de notificación; por defecto notificación.

Ejemplo de solicitud

rizo
curl -X POST "https://api.smsmobileapi.com/notification/send" \
  -d "apikey=YOUR_API_KEY" \
  -d "sid=TARGET_SIDENTIFIANT" \
  --data-urlencode "title=Order ready" \
  --data-urlencode "message=Order #1042 is ready for collection."

Ejemplo de respuesta

JSON
{
  "success": true,
  "message": "Notification created.",
  "id": 22087,
  "apikey": "YOUR_API_KEY",
  "sid": "508b004b4aadacc4"
}

¿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
  • Creación y distribución son eventos separados. Usa el endpoint de lista para verificar la entrega al dispositivo.
OBTENER

Listar notificaciones

#
ENDPOINThttps://api.smsmobileapi.com/notification/list/

Devuelve hasta 200 notificaciones ordenadas de la más nueva a la más antigua.

Cuándo usarlo

Utilícelo para monitorear la distribución y construir un historial de notificaciones.

Parámetros

NombreTipoRequisitoDescripción
apikey cadena Obligatorio Su clave API.
sidentifiant cadena Opcional Filtrar por móvil objetivo.
sid cadena Opcional Alias de sidentifiant.
distribued 0 | 1 Opcional 1 para distribuido, 0 para no distribuido.
date_from AAAA-MM-DD Opcional Fecha de inicio.
date_to AAAA-MM-DD Opcional Fecha de finalización.

Ejemplo de solicitud

rizo
curl "https://api.smsmobileapi.com/notification/list/?apikey=YOUR_API_KEY&sidentifiant=TARGET_SIDENTIFIANT&distribued=1"

Ejemplo de respuesta

JSON
{
  "success": true,
  "count": 1,
  "data": [{
    "sidentifiant": "508b004b4aadacc4",
    "title": "Order ready",
    "message": "Order #1042 is ready for collection.",
    "distribued": "1",
    "distribued_status": "distributed",
    "distributed_at_gmt": "2026-03-18 10:18:30",
    "distributed_at_unix": 1773829110,
    "sent_at_gmt": "2026-03-18 10:15:03",
    "sent_at_unix": 1773828903
  }]
}

¿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
  • Todas las marcas de tiempo de envío y distribución están en GMT.
POSTE · GET

Historial de notificaciones claro

#
ENDPOINThttps://api.smsmobileapi.com/delete-history-notifications/

Borra los registros de notificaciones de los móviles propiedad de esta cuenta. No desconecta los móviles.

Cuándo usarlo

Utilice la vista previa primero, revise los conteos y luego solicite explícitamente la eliminación. Esto borra todo el historial seleccionado para la clave API, sin filtros de fecha, teléfono o mensaje.

Parámetros

NombreTipoRequisitoDescripción
apikey cadena Opcional Obligatorio sin OAuth2. Con OAuth2, seleccione opcionalmente una clave API perteneciente a la misma cuenta.
action vista previa | eliminar | estado Opcional vista previa muestra recuentos sin eliminar; eliminar inicia o continúa la eliminación; estado lee el progreso sin continuar. El API predetermina eliminar; este probador predetermina vista previa.
include_linked 0 | 1 Opcional Por defecto 0: conservar registros vinculados o en proceso. Establezca 1 para incluirlos, con riesgo de romper integraciones. Mantenga este valor sin cambios al continuar una eliminación.
request_id cadena Opcional Obligatorio para eliminar y estado, opcional para vista previa. Utilice de 16 a 128 letras, dígitos, guiones o guiones bajos. Genere un ID único para cada nueva eliminación y consérvelo para cada reintento. No es un ID de mensaje ni una clave API.

Ejemplo de solicitud

rizo
curl -X POST "https://api.smsmobileapi.com/delete-history-notifications/" \
  --data-urlencode "apikey=YOUR_API_KEY" \
  -d "action=preview" -d "include_linked=0"
Ejemplos de eliminación y estado

Reemplace el request_id de ejemplo con su propio valor único antes de comenzar. Las siguientes solicitudes de eliminación modifican el historial real de la cuenta; no son previsualizaciones.

POST · clave API
curl -X POST "https://api.smsmobileapi.com/delete-history-notifications/" \
  --data-urlencode "apikey=YOUR_API_KEY" \
  -d "action=delete" -d "include_linked=0" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"
PUESTOS · OAuth2
curl -X POST "https://api.smsmobileapi.com/delete-history-notifications/" \
  -H "Authorization: Bearer YOUR_OAUTH_ACCESS_TOKEN" \
  -d "action=delete" -d "include_linked=0" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"
OBTENER · estado
curl -G "https://api.smsmobileapi.com/delete-history-notifications/" \
  --data-urlencode "apikey=YOUR_API_KEY" \
  -d "action=status" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"

Ejemplo de respuesta

JSON
{
    "result": {
        "error": 0,
        "history": "notifications",
        "action": "preview",
        "total": 120,
        "simple": 100,
        "linked_or_processing": 20,
        "selected": 100,
        "include_linked": 0,
        "operation_in_progress": false,
        "active_include_linked": 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
  • El ejemplo anterior es una vista previa, no una eliminación. Los conteos son ilustrativos; la selección definitiva se fija cuando comienza la eliminación.
  • include_linked=1 puede interrumpir GHL, Zapier, automatizaciones, enlaces para darse de baja o seguimiento de entrega. Nunca pasa por alto las verificaciones de propiedad de cuenta o integridad del almacenamiento.

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
400Missing required paramfaltan apikey, sid o mensaje.
400Invalid date formatUsa YYYY-MM-DD para date_from y date_to.
400Invalid distribued valueSolo se acepta 0 o 1.
500DB connection / query failedEl servicio de notificaciones no pudo completar la operación.
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 →