Help Center Compatibilidad API TurboSMS

Compatibilidad API TurboSMS

SMSBAT es totalmente compatible con una capa de compatibilidad con TurboSMS API. Esto le permite migrar sus integraciones existentes que fueron diseñadas para TurboSMS directamente a SMSBAT sin tener que reescribir las estructuras de mensajes o las cargas útiles de los terminales.

Admitimos el envío de mensajes SMS y Viber (incluidas funciones avanzadas como carruseles y encuestas), la obtención de estados y la obtención de detalles de mensajes utilizando exactamente las mismas estructuras de cuerpo de solicitud con las que ya está familiarizado.

Autenticación

La única diferencia con la API TurboSMS nativa es el mecanismo de autenticación. Mientras que TurboSMS utiliza un parámetro de consulta “token” personalizado o un encabezado de autenticación específico, SMSBAT requiere un Token de portador estándar.

Debe incluir su token API SMSBAT en el encabezado “Autorización” para todas las solicitudes:

Authorization: Bearer YOUR_SMSBAT_TOKEN

URL base

Todos los puntos finales deben dirigirse a la URL base de la API de SMSBAT:

https://restapi.smsbat.com

Enviar mensaje único

Punto final: POST /api/tsms/message/send

Permite enviar mensajes SMS y Viber con soporte para entrega híbrida (Viber con respaldo de SMS). Procesa una única solicitud de envío y devuelve los resultados de la entrega para cada destinatario.

Capacidades clave

  • Parámetros flexibles: Los parámetros globales pueden ser anulados por parámetros específicos de SMS/Viber.
  • Contenido: Admite carruseles, encuestas, archivos adjuntos y botones interactivos de Viber.
  • Manejo de errores: Devuelve HTTP 200 incluso para errores (respuestas de error estructuradas). response_code: 999 con estado FATAL_ERROR para errores del sistema.
  • Errores de destinatarios: Los errores de destinatarios específicos se devuelven en la matriz response_result. Los destinatarios fallidos tienen message_id: null y códigos de error específicos.

Ejemplo de solicitud (mensaje híbrido)

{
  "sender": "GlobalSender",
  "text": "Test message",
  "recipients": ["380951111111", "380952222222"],
  "start_time": "2025-09-29T10:00:00Z",
  "sequence_id": "seq_12345",
  "sms": {
    "sender": "SMSSender",
    "text": "SMS version of message",
    "is_flash": false
  },
  "viber": {
    "sender": "ViberSender",
    "text": "Viber version of message",
    "ttl": 3600,
    "image_url": "https://example.com/image.png",
    "caption": "Button text",
    "action": "https://google.com",
    "count_clicks": true,
    "is_transactional": false
  }
}

Ejemplo de solicitud (carrusel de Viber)

{
  "sender": "GlobalSender",
  "text": "Check out our products",
  "recipients": ["380951111111"],
  "viber": {
    "sender": "ViberSender",
    "text": "Check out our products",
    "is_transactional": false,
    "carousel": [
      {
        "title": "Product 1",
        "image_url": "https://example.com/product1.jpg",
        "button_caption": "Buy Now",
        "button_url": "https://example.com/buy/product1",
        "link_caption": "Learn More",
        "link_url": "https://example.com/product1"
      },
      {
        "title": "Product 2",
        "image_url": "https://example.com/product2.jpg",
        "button_caption": "Buy Now",
        "button_url": "https://example.com/buy/product2",
        "link_caption": "Learn More",
        "link_url": "https://example.com/product2"
      }
    ]
  }
}

Ejemplo de solicitud (encuesta de Viber)

{
  "sender": "GlobalSender",
  "text": "Please rate our service",
  "recipients": ["380951111111"],
  "viber": {
    "sender": "ViberSender",
    "text": "Please rate our service",
    "is_transactional": true,
    "survey": [
      "Excellent",
      "Good",
      "Average",
      "Poor"
    ]
  }
}

Enviar varios mensajes (por lotes)

Punto final: POST /api/tsms/message/sendmulti

Este método le permite enviar múltiples solicitudes de “envío” en una sola solicitud HTTP, lo que ahorra la sobrecarga de la conexión. Llamar a “sendmulti” con datos para 100 solicitudes será más rápido que ejecutar 100 solicitudes de “envío” individuales.

Ejemplo de solicitud

{
  "batch_1": {
    "sender": "GlobalSender",
    "text": "Test message",
    "recipients": ["380982462128", "380501111111"],    
    "sms": {
        "sender": "SMSSender",
        "text": "SMS version of message"
    }
  },
  "batch_2": {
    "sender": "GlobalSender",
    "text": "Second message",
    "recipients": ["380501111111"],
    "viber": {
      "sender": "ViberSender",
      "text": "Viber message",
      "is_transactional": true
    }
  }
}

Ejemplo de respuesta

{
    "response_code": 0,
    "response_status": "OK",
    "response_result": {
        "batch_1": {
            "response_code": 800,
            "response_status": "SUCCESS_MESSAGE_ACCEPTED",
            "response_result": [
                {
                    "phone": "380982462128",
                    "response_code": 0,
                    "message_id": "f1640579-ea75-4bc1-b708-1c3858bf222d",
                    "response_status": "OK"
                }
            ]
        },
        "batch_2": { ... }
    }
}

Obtener estado del mensaje

Punto final: POST /api/tsms/message/status

Recupere los estados de entrega de los mensajes enviados proporcionando su message_id.

Ejemplo de solicitud

{
  "messages": [
      "573dcb46-7851-4e16-bb1f-721c13ef5f38", 
      "6b7f9ff5-28c8-4f38-913b-31af6021fbea"
  ]
}

Obtener detalles del mensaje

Punto final: POST /api/tsms/message/details

Le permite recuperar información detallada sobre los mensajes creados, incluidos los detalles completos de la carga útil para los canales de SMS y Viber, precios y marcas de tiempo exactas.

Ejemplo de solicitud

{
  "messages": [
      "573dcb46-7851-4e16-bb1f-721c13ef5f38", 
      "f1640579-ea75-4bc1-b708-1c3858bf222d"
  ]
}

Ejemplo de respuesta

{
    "response_code": 0,
    "response_status": "OK",
    "response_result": [
        {
            "message_id": "573dcb46-7851-4e16-bb1f-721c13ef5f38",
            "sms": null,
            "viber": {
                "added": "2025-09-29T14:17:02.577Z",
                "start": "2025-09-29T10:00:00Z",
                "sent": "2025-09-29T14:17:02.577Z",
                "updated": "2025-09-29T14:17:02.577Z",
                "sender": "ViberSender",
                "text": "Viber version of message",
                "recipient": "380982462128",
                "message_type": "promotional",
                "status": "Queued",
                "price": 0,
                "ttl": 3600,
                "caption": "Button text",
                "action": "https://google.com"
            },
            "response_code": 0,
            "response_status": "OK"
        }
    ]
}