Centro de ayuda Compatibilidad API de GMS

Compatibilidad API de GMS

SMSBAT admite una capa de compatibilidad con GMS API. Esto le permite migrar sus integraciones existentes diseñadas para GMS directamente a SMSBAT sin tener que modificar sus esquemas de enrutamiento de mensajes, estructuras de carga útil o escuchas de devolución de llamadas.


Configuración de conexión

Para enrutar solicitudes a través de SMSBAT, actualice la URL base y las credenciales de autenticación en su integración:

  • URL base: https://restapi.smsbat.com
  • Punto final: POST /api/GMSMessage/send_message
  • Formato de solicitud: aplicación/json
  • Autenticación: Autenticación básica HTTP (utiliza sus credenciales de API SMSBAT)

Parámetros de solicitud

La API de compatibilidad de GMS acepta un objeto JSON con los siguientes parámetros de nivel superior:

ParámetroTipoRequeridoDescripción
número_teléfonocadenaNúmero de teléfono del destinatario en formato internacional (por ejemplo, “380501234567”).
etiquetacadenaNombre del remitente registrado/nombre alfa.
canalesmatrizLista de canales para probar, en orden de prioridad. Valores admitidos: viber, sms, push. Por ejemplo, ["viber", "sms"].
opciones_canalobjetoMapa que contiene opciones para cada canal activo (ver más abajo).
extra_idcadenaNoSu ID de mensaje interno del lado del cliente.
url_devolución de llamadacadenaNoURL del punto final en su sistema para recibir devoluciones de llamadas sobre el estado de entrega.
código_divisióncadenaNoIdentificador de código de división opcional (por defecto “principal”).

Configuración de opciones de canal

El objeto channel_options contiene configuraciones específicas del canal.

Se utiliza cuando “viber” aparece en la lista de “canales”.

ParámetroTipoRequeridoDescripción
textocadenaTexto del cuerpo del mensaje.
ttlenteroTiempo de vida en segundos.
imgcadenaNoURL HTTPS pública de la imagen que se mostrará.
títulocadenaNoEtiqueta de texto del botón.
accióncadenaNoURL de destino cuando se hace clic en el botón.
opciones_encuestamatrizNoMatriz de cadenas (de 2 a 5 elementos) para mostrar como opciones de encuesta.
carrusel_itemsmatrizNoConjunto de objetos de diapositivas para mostrar como un carrusel de Viber (ver estructura en la pestaña).

Ejemplo de solicitud de Viber:

{
  "phone_number": "380501234567",
  "tag": "MySender",
  "channels": ["viber"],
  "channel_options": {
    "viber": {
      "text": "Hello from SMSBAT!",
      "ttl": 60,
      "img": "https://www.example.com/image.png",
      "caption": "Open",
      "action": "https://www.example.com"
    }
  }
}

Formato de respuesta

El punto final devuelve respuestas en formato JSON con un código de estado “HTTP 200 OK”.

Respuesta exitosa

{
  "MessageId": "6f0d5e28-7f3a-4df3-91a2-3d58d9e09b9a",
  "ErrorCode": null,
  "ErrorText": null
}

Respuestas de error

Si la validación o el procesamiento fallan, se devolverá una respuesta de error con un “ErrorCode” no nulo y un “ErrorText” detallado.

{
  "MessageId": "00000000-0000-0000-0000-000000000000",
  "ErrorCode": 10221,
  "ErrorText": "This type of Message is not supported by the system"
}

Formato de entrega de devolución de llamada

Si se especificó callback_url en la solicitud, SMSBAT envía actualizaciones del estado de entrega como una carga útil JSON POST a su punto final.

Ejemplo de solicitud de devolución de llamada

POST /your-callback-endpoint HTTP/1.1
Host: yoursystem.com
Content-Type: application/json

{
  "number": "380501234567",
  "time": 1719237600000,
  "status": 2,
  "substatus": 23,
  "hyber_status": 23033,
  "message_id": "6f0d5e28-7f3a-4df3-91a2-3d58d9e09b9a",
  "extra_id": "ORDER-12345",
  "sent_via": "viber",
  "matching_template_id": 0
}

Descripción de los campos de devolución de llamada

CampoTipoDescripción
númerocadenaNúmero de teléfono del destinatario.
tiemponúmeroMarca de tiempo del evento en milisegundos de Unix.
estadonúmeroIdentificador de estado simplificado (ver tabla de códigos de estado).
subestadonúmeroIdentificador de estado detallado (consulte la tabla de códigos de subestado).
hyber_statusnúmeroCódigo de estado interno SMSBAT detallado (consulte la tabla de estado de Hyber).
id_mensajecadenaID de mensaje SMSBAT (GUID) generado en el envío.
extra_idcadenaID del lado del cliente proporcionado en la solicitud original.
enviado_viacadenaCanal que procesó el mensaje: viber, sms o rcs.
matching_template_idnúmeroEstado de coincidencia de la plantilla de Viber (cuando corresponda).

Asignaciones de estado

1. Estado simplificado (status)

CódigoSignificado
1Mensaje aceptado o en proceso de entrega.
2Mensaje entregado.
3Error de procesamiento o entrega.

2. Estado detallado (subestado)

CódigoSignificado
12Aceptado para su procesamiento.
23Entregado.
24Visto/leído.
35No entregado dentro de TTL (caducado).
36Error de entrega.

3. Tipo de canal (sent_via)

CanalDescripción
vibradorEstado producido por el canal Viber.
smsEstado producido por el canal SMS.
rcsEstado producido por el canal RCS.

4. Estado detallado de SMSBAT (hyber_status)

CódigoCanalEstadoSubestadoSignificado
23033vibrador223Mensaje de Viber entregado.
24013vibrador224Mensaje de Viber leído por el destinatario (Visto).
36013vibrador336Error interno de Viber.
36023vibrador336ID de servicio Viber no válido o no disponible.
36033vibrador336Datos de carga útil de Viber no válidos.
36037vibrador336La URL de la imagen de Viber es demasiado larga.
36038vibrador336URL de imagen de Viber no válida.
36039vibrador336Texto de Viber demasiado largo.
36044vibrador336Texto de Viber vacío.
36053vibrador336Tipo de mensaje de Viber no admitido.
36063vibrador336Parámetros de Viber no válidos.
36073vibrador336Tiempo de espera del proveedor de Viber.
36083vibrador336Remitente de Viber bloqueado por el destinatario.
36093vibrador336El destinatario no está registrado como usuario de Viber.
36103vibrador336No se encontró ningún dispositivo Android/iOS compatible con Viber.
36113vibrador336Dirección IP no autorizada para envío de Viber.
36123vibrador336Se detectó un mensaje duplicado de Viber.
36143vibrador336Error de facturación de Viber.
36153vibrador336Mensaje bloqueado por la lista negra de la plataforma.
36163vibrador336Error de procesamiento interno de la plataforma Viber.
36173vibrador336Etiqueta de Viber incorrecta o faltante.
36183vibrador336Valor TTL de Viber no válido.
12011sms/rcs112Se aceptan SMS/RCS.
36011sms/rcs112SMS/RCS en ruta.
23011sms/rcs223SMS/RCS entregados.
35015sms/rcs335SMS/RCS caducó (no entregado dentro de TTL).
36021sms/rcs336Mensaje SMS/RCS eliminado.
36031sms/rcs336No se pueden entregar SMS/RCS.
36041sms/rcs336Estado de entrega de SMS/RCS desconocido.
36051sms/rcs336Mensaje SMS/RCS rechazado.