LOX24 API Documentación (ES) (2.20)

Download OpenAPI specification:

Introducción

En estas páginas encontrará nuestra documentación para la transmisión de mensajes mediante la pasarela SMS LOX24. La documentación le ayuda a integrar nuestra API SMS en sus propias aplicaciones y, por tanto, a enviar y recibir mensajes SMS. Encontrará nuestra API SMS en https://api.lox24.eu. Para acceder a las distintas funciones. Por ejemplo, https://api.lox24.eu/me para consultar su cuenta de cliente y https://api.lox24.eu/sms para enviar un SMS. Todos los puntos finales requieren autenticación mediante encabezado HTTP.

Destacados

  • Utilizar HTTPS, para mensajes totalmente encriptados SSL
  • Enviar sms concatenados, que aparecerán como un único SMS en el terminal
  • Enviar mensajes con texto en el conjunto de caracteres GSM 03.38 o Unicode
  • Transmite cualquier ID de remitente de hasta 15 dígitos u 11 caracteres
  • Envíe un SMS masivo a toda su lista de destinatarios con una sola solicitud
  • Reciba respuestas a sus mensajes enviados a través de HTTP, HTTPS o SMTP
  • Recibir o comprobar el estado de entrega de los mensajes salientes
  • Recibir mensajes entrantes desde su número de entrada (opcional)

Tipo de Contenido de la Solicitud

El tipo de contenido de las solicitudes POST y PUT puede establecerse como application/json o multipart/form-data (en puntos finales con carga de archivos).

Encabezados de respuesta

Cada respuesta de la API incluye un identificador de solicitud único en el encabezado X-LOX24-REQUEST-ID. Este identificador alfanumérico de 32 caracteres se genera para cada solicitud y se puede utilizar con fines de asistencia técnica al informar de problemas o realizar un seguimiento de llamadas API específicas.

Propiedades de fecha y hora

La mayoría de las solicitudes/respuestas de fehcha y hora are unix timestamps (integer).

Bloqueo de IP

Si se reciben más de tres solicitudes desde una dirección IP con datos de autenticación incorrectos en un minuto, todas las solicitudes posteriores desde esta IP recibirán una respuesta con el estado 429 (Demasiadas solicitudes) en los diez minutos siguientes.

Autenticación

Todos los puntos finales requieren que esté autenticado. Para autenticarse, deberá crear un token de API desde su cuenta web (http://account.lox24eu "Ajustes" y "Ajustes API"). Una vez que tengas tu API Key puedes pasarla como cabecera HTTP de esta forma:

curl -X GET https://api.lox24.eu/me \
  -H 'Host: api.lox24.eu' \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'
curl -X POST https://api.lox24.eu/groups/7116/phones \
  -H 'Content-Type: application/json' \
  -H 'Host: api.lox24.eu' \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx' \
  -d '{
    "phone": "+4917663804817",
    "a": "o2"
}'

Método tradicional de autenticación

También seguimos soportando la versión antigua de autenticación con dos cabeceras "X-LOX24-CLIENT-ID" y "X-LOX24-AUTH-TOKEN".

curl -X GET https://api.lox24.eu/me \
  -H 'Host: api.lox24.eu' \
  -H 'X-LOX24-AUTH-TOKEN: e3f3a759b6677959b6ebfcxxxxxxxxxx' \
  -H 'X-LOX24-CLIENT-ID: 1234567'

Importante

Nunca compartas tus claves secretas. Manténgalas guardadas y seguras. Si una clave se publica involuntariamente, puede desactivarla o eliminarla en cualquier momento en su cuenta web (https://account.lox24.eu) en "Configuración" y "Configuración de la API".

token

Después de iniciar sesión en su cuenta web, puede crear, desactivar o eliminar una o varias claves API en "Configuración", dentro de "Configuración de API".

Security Scheme Type: API Key
Header parameter name: X-LOX24-AUTH-TOKEN

user

Usuario es una interfaz de asistencia, por ejemplo para consultar el saldo de la cuenta o la línea de crédito. Esto puede ser útil para determinar si todavía hay crédito suficiente para enviar más SMS.

Información de Perfil del Usuario

Con esta interfaz, puede consultar el saldo de su cuenta. Si utiliza una obtendrá el saldo disponible (sin IVA). Si tiene una cuenta de pospago, obtendrá su límite de crédito de sms restante. La respuesta a la consulta también contiene información sobre tus servicios SMS disponibles y tus grupos.

Authorizations:
token

Responses

Request samples

#!/usr/bin/env bash
curl -X GET https://api.lox24.eu/me \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
{
  • "@id": "string",
  • "@type": "string",
  • "@context": "string",
  • "id": 1,
  • "currency": "EUR",
  • "balance_changed_at": 0,
  • "is_text_deleted": true,
  • "balance_amount": 0,
  • "services": [
    ],
  • "groups": {
    }
}

sms

El punto final sms se utiliza para enviar SMS individuales. Esto incluye los SMS normales, pero también el envío en seco con fines de prueba. Además, hay una serie de funciones para consultar los SMS enviados, borrar SMS o detener el envío.

  • Enviar un SMS
  • Consulta SMS enviados
  • SMS con cambio de hora
  • Borrar datos SMS
  • Consulta de datos SMS

Si no quieres enviar SMS individuales, sino enviar SMS masivos a través de la API, entonces el endpoint "bulks" es relevante.

Informe de Entrega SMS (DLR) Webhook

El evento 'sms.delivery' se activa cuando se producen cambios en el dlr_code. Esto te permite saber si un SMS se ha entregado correctamente, ha sido rechazado o aún se está entregando.

Cada SMS tiene un código de informe de entrega Tipos de transporte de acontecimientos

Authorizations:
token
Request Body schema: application/json
required
id
string (property.common.uuid) ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

UUID único de entidad

api_version
string (property.common.api_version)

Versión de la estructura de datos de notificación

name
string
Value: "sms.delivery"

Nombre del evento de Webhook

created_at
integer (property.common.created_at) >= 0

Fecha en la que se añadió la entidad al sistema por el usuario

attempt_total
integer (property.common.attempt_total) [ 1 .. 4 ]

Número total de intentos de entrega de webhooks de notificación

attempt_number
integer (property.common.attempt_number) >= 1

Número de intento de notificación webhook actual

object

Event-specific data payload

notification_task_id
string <uuid>

Notification task identifier (request identifier)

Responses

Request samples

Content type
application/json
Example

Evento enviado cuando cambia el estado de entrega del SMS

{
  • "id": "a3cd6e19-8af2-498d-ad07-c7840f1b4ac8",
  • "api_version": "2022-05-25",
  • "name": "sms.delivery",
  • "created_at": 1653378603,
  • "attempt_total": 4,
  • "attempt_number": 1,
  • "data": {
    },
  • "notification_task_id": "3378de83-de66-4de8-9d29-2b10d41bb641"
}

Prueba informe de entrega de SMS (DLR) Webhook

El evento 'sms.delivery.dryrun' utiliza por una emulación de envío de SMS.Véase Simular el envío de un SMS (para pruebas).

Cada SMS tiene un código de informe de entrega (DLR).

Tipos de transporte de acontecimientos

Authorizations:
token
Request Body schema: application/json
required
id
string (property.common.uuid) ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

UUID único de entidad

api_version
string (property.common.api_version)

Versión de la estructura de datos de notificación

name
string
Value: "sms.delivery.dryrun"

Nombre del evento de Webhook

created_at
integer (property.common.created_at) >= 0

Fecha en la que se añadió la entidad al sistema por el usuario

attempt_total
integer (property.common.attempt_total) [ 1 .. 4 ]

Número total de intentos de entrega de webhooks de notificación

attempt_number
integer (property.common.attempt_number) >= 1

Número de intento de notificación webhook actual

object

Event-specific data payload

notification_task_id
string <uuid>

Notification task identifier (request identifier)

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "api_version": "2022-05-25",
  • "name": "sms.delivery.dryrun",
  • "created_at": 0,
  • "attempt_total": 4,
  • "attempt_number": 1,
  • "data": {
    },
  • "notification_task_id": "3378de83-de66-4de8-9d29-2b10d41bb641"
}

Éxito en el análisis de correo SMS Webhook

Se activa cuando el correo electrónico a SMS se analiza correctamente

Authorizations:
token
Request Body schema: application/json
required
id
string (property.common.uuid) ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

UUID único de entidad

api_version
string (property.common.api_version)

Versión de la estructura de datos de notificación

name
string
Value: "sms.email.parsing.success"

Nombre del evento de Webhook

created_at
integer (property.common.created_at) >= 0

Fecha en la que se añadió la entidad al sistema por el usuario

attempt_total
integer (property.common.attempt_total) [ 1 .. 4 ]

Número total de intentos de entrega de webhooks de notificación

attempt_number
integer (property.common.attempt_number) >= 1

Número de intento de notificación webhook actual

object

Event-specific data payload

notification_task_id
string <uuid>

Notification task identifier (request identifier)

Responses

Request samples

Content type
application/json

Event sent when email to SMS parsing is successful

{
  • "id": "d6ff9b42-1da5-711f-df20-f0173a4e7df1",
  • "api_version": "2022-05-25",
  • "name": "sms.email.parsing.success",
  • "created_at": 1653378803,
  • "attempt_total": 1,
  • "attempt_number": 1,
  • "data": {
    },
  • "notification_task_id": "5590fa05-fb88-6fc0-bf3b-4d32f63dd863"
}

Error al analizar correo SMS Webhook

Se activa cuando falla el análisis de correo electrónico a SMS

Authorizations:
token
Request Body schema: application/json
required
id
string (property.common.uuid) ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

UUID único de entidad

api_version
string (property.common.api_version)

Versión de la estructura de datos de notificación

name
string
Value: "sms.email.parsing.fail"

Nombre del evento de Webhook

created_at
integer (property.common.created_at) >= 0

Fecha en la que se añadió la entidad al sistema por el usuario

attempt_total
integer (property.common.attempt_total) [ 1 .. 4 ]

Número total de intentos de entrega de webhooks de notificación

attempt_number
integer (property.common.attempt_number) >= 1

Número de intento de notificación webhook actual

object

Event-specific data payload

notification_task_id
string <uuid>

Notification task identifier (request identifier)

Responses

Request samples

Content type
application/json

Event sent when email to SMS parsing fails

{
  • "id": "a3cd6e19-8af2-498d-ad07-c7840f1b4ac8",
  • "api_version": "2022-05-25",
  • "name": "sms.email.parsing.fail",
  • "created_at": 1653378603,
  • "attempt_total": 1,
  • "attempt_number": 1,
  • "data": {
    },
  • "notification_task_id": "3378de83-de66-4de8-9d29-2b10d41bb641"
}

Recupera la colección de SMS

Obtener la lista de mensajes del buzón, ordenados por el campo created_at en orden descendente. El buzón contiene todos los SMS enviados, no enviados y terminados. También puede ordenar opcionalmente según el precio o la hora de transmisión al operador de red. También tiene la opción de transferir diferentes criterios de búsqueda para limitar la salida de los mensajes del buzón.

Authorizations:
token
query Parameters
page
integer
Default: 1

Página actual

_order[created_at]
string (order.ordering)
Default: "asc"
Enum: "asc" "desc"

Ordenar por marca de tiempo cuando se creó la entidad

_order[gateway_sent_at]
string (order.ordering)
Default: "asc"
Enum: "asc" "desc"

Ordenar por fecha y hora de transmisión del mensaje a la red móvil

is_sent
boolean

Boolean filtrar SMS por el is_sent campo para distinguir entre sms ya enviados y aún no enviados

is_unicode
boolean

Boolean filtrar SMS por el is_unicode para distinguir entre mensajes GSM y Unicodes

uuid
string

Buscar un SMS por el identificador único

uuid[]
Array of strings

Buscar muchos SMS por los identificadores únicos

iso2
string

Exact filtrar los SMS según el país del telefono (ISO 3166-1 alpha-2)

iso2[]
Array of strings

Exact filtrar SMS por países del teléfono (ISO 3166-1 alpha-2)

dlr_code
integer

Exact filtrar SMS por el estado del informe de entrega

dlr_code[]
Array of integers

Exact filtrar SMS por los estados del informe de entrega

status_code
integer

Exact filtrar SMS por el código de estado

status_code[]
Array of integers

Exact filtrar SMS por los códigos de estado

gateway_sent_at
integer

Exact filtrar SMS por la fecha y hora de envío a la pasarel

gateway_sent_at[]
Array of integers

Exact y range filtrar SMS por marcas de tiempo de envío a pasarela

delivery_at
integer

Exact filtrar SMS por la fecha y hora de entrega

delivery_at[]
Array of integers

Exact y range filtrar SMS por las marcas de tiempo de entrega

created_at
integer

Exact filtrar entidades por la fecha de creación

created_at[]
Array of integers

Exact y range filtrar entidades por las marcas de tiempo de creación

chars_count
integer

Range filtrar SMS por el número de caracteres del mensaje

chars_count[]
Array of integers

Exact y range filtrar SMS por el número de caracteres del mensaje

parts_count
integer

Exact filter SMS por el recuento de partes del mensaje

parts_count[]
Array of integers

Exact and range filtrar SMS por el recuento de partes del mensaje

bulk
string

Exact filtrar SMS por el Bulk

bulk[]
Array of strings

Exact y range filtrar SMS por el Bulk

source
integer

Exact filtrar SMS por las fuentes

source[]
Array of integers

Exact y range filtrar SMS por las fuentes

text
string

Partial filtro de texto sin distinción entre mayúsculas y minúsculas SMS por el texto del mensaje

phone
string

Partial text filter SMS by the phone number

sender_id
string

Partial texto Filtro de SMS sin distinción entre mayúsculas y minúsculas por el número o el texto del remitente

ip
string

Partial filtro de texto SMS por la IP que creó el mensaje

key_id
integer

Exact filtrar entidades por la clave API utilizada

key_id[]
Array of integers

Exact filtrar entidades por las claves API utilizadas

callback_data
string

Exact filrar por SMS callback_data propiedad

callback_data[]
Array of strings

Exact filtrar por SMS callback_data propiedad

Responses

Request samples

#!/usr/bin/env bash
curl -X GET https://api.lox24.eu/sms \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
{
  • "hydra:member": [
    ],
  • "hydra:totalItems": 0,
  • "hydra:view": {
    },
  • "hydra:search": {
    }
}

Eviar el SMS

Envíe un mensaje corto enviando una solicitud POST que incluya todos los datos necesarios del mensaje como texto y sender-ID.

Authorizations:
token
Request Body schema: application/json
required

The new sms resource

text
required
string (property.sms.text)

El texto del mensaje puede tener una longitud de hasta 1530 caracteres. Con un SMS Unicode, la longitud máxima de caracteres se reduce a 670 caracteres. La codificación interna es UTF-8.

sender_id
required
string (property.messages.sender_id) ^(\+?[1-9]\d{0,14}|[a-zA-Z0-9 ]{1,11})$

ID del remitente del mensaje. Puede ser un número (hasta 15 dígitos) o un texto (hasta 11 caracteres). Si se trata de un número, utilice preferentemente el formato de número de teléfono E.164. Un remitente de texto puede contener espacios pero no otros caracteres especiales. Tenga en cuenta que algunos países no admiten identificadores de remitente propios o exigen un registro previo. Nuestro sistema intenta detectar automáticamente si un ID de remitente es un texto o un número de teléfono. Evite los caracteres especiales en un número e introdúzcalo de la misma forma que se marcaría en un teléfono.

phone
required
string (property.common.phone_number) [ 4 .. 16 ] characters ^\+[1-9]\d{1,14}$

Número de destinatario (internacional):

  • +491701234567 (E.164)
  • 00491701234567
  • 491701234567
  • 01701234567 (si la cuenta está registrada en Alemania) se convertirá en +491701234567

Si el número no está en formato E.164, el servicio lo convertirá basándose en la dirección del usuario. Para evitar problemas con la conversión, utilice preferentemente E.164.

property.messages.delivery_at (integer) or null
source
integer or null (property.messages.source)

Para realizar un mejor seguimiento de tus SMS en la factura detallada, puedes utilizar el parámetro de origen para asignar un ID numérico (entero) a tus SMS.

is_unicode
boolean or null (property.messages.is_unicode)

Define si desea enviar un SMS GSM 03.38 normal (160 caracteres) o un texto Unicode para transferir caracteres como cirílico, árabe, chino y japonés (70 caracteres). Si no define este parámetro (null), nuestro sistema determinará automáticamente la codificación correcta para su texto.

  • GSM: is_unicode = false
  • Unicode: is_unicode = true
  • Auto-detect: is_unicode = null
(property.messages.voice_lang (string or null)) or null
callback_data
string or null (property.common.callback_data) <= 36 characters

Valor (String) que se envía de vuelta a su endpoint. Por ejemplo, puede pasar su propio ID de esta forma y recibirlo de vuelta con el informe de entrega (DLR).

property.messages.service_code (any) or null
property.messages.is_text_deleted (boolean) or null

Responses

Request samples

Content type
application/json
Example

Ejemplo de un mensaje SMS simple con solo campos obligatorios

{
  • "text": "¡Hola! Este es un SMS de prueba.",
  • "sender_id": "+491701234567",
  • "phone": "+14155552671"
}

Response samples

Content type
Example

API response for a successfully request with minimum parameters

{
  • "@context": "/contexts/sms",
  • "@id": "/sms/11111111-2222-3333-4444-555555555555",
  • "@type": "sms",
  • "text": "Hello! This is a test SMS message.",
  • "sender_id": "+19388888025",
  • "phone": "+14155552671",
  • "delivery_at": 0,
  • "status_code": 0,
  • "gateway_sent_at": 0,
  • "source": 0,
  • "dlr_code": 0,
  • "ip": "139.59.136.251",
  • "created_at": 1755868416,
  • "is_unicode": false,
  • "uuid": "11111111-2222-3333-4444-555555555555",
  • "iso2": "US",
  • "voice_lang": null,
  • "parts_count": 1,
  • "chars_count": 34,
  • "callback_data": null,
  • "bulk_id": null,
  • "key_id": 8291,
  • "service_code": "direct",
  • "is_text_deleted": false,
  • "price": 0.056,
  • "is_sent": false,
  • "requests": "/sms/11111111-2222-3333-4444-555555555555/requests",
  • "clicks": "/sms/11111111-2222-3333-4444-555555555555/clicks"
}

Simular enviar un SMS (para testear)

Este endpoint no envía SMS sino que emula ese proceso. Puede utilizarse para obtener el precio del SMS o probar el software durante la integración. La propiedad uuid será siempre igual a 11111111-2222-3333-4444-55555555555. Los datos no se guardarán en el servicio LOX24, por lo que no se puede extraer información del SMS mediante GET /sms/{id}. DLR report se envía de la misma manera que para SMS reales, si la URL/email DLR fue configurado antes.

Authorizations:
token
Request Body schema: application/json
required

The new sms resource

text
required
string (property.sms.text)

El texto del mensaje puede tener una longitud de hasta 1530 caracteres. Con un SMS Unicode, la longitud máxima de caracteres se reduce a 670 caracteres. La codificación interna es UTF-8.

sender_id
required
string (property.messages.sender_id) ^(\+?[1-9]\d{0,14}|[a-zA-Z0-9 ]{1,11})$

ID del remitente del mensaje. Puede ser un número (hasta 15 dígitos) o un texto (hasta 11 caracteres). Si se trata de un número, utilice preferentemente el formato de número de teléfono E.164. Un remitente de texto puede contener espacios pero no otros caracteres especiales. Tenga en cuenta que algunos países no admiten identificadores de remitente propios o exigen un registro previo. Nuestro sistema intenta detectar automáticamente si un ID de remitente es un texto o un número de teléfono. Evite los caracteres especiales en un número e introdúzcalo de la misma forma que se marcaría en un teléfono.

phone
required
string (property.common.phone_number) [ 4 .. 16 ] characters ^\+[1-9]\d{1,14}$

Número de destinatario (internacional):

  • +491701234567 (E.164)
  • 00491701234567
  • 491701234567
  • 01701234567 (si la cuenta está registrada en Alemania) se convertirá en +491701234567

Si el número no está en formato E.164, el servicio lo convertirá basándose en la dirección del usuario. Para evitar problemas con la conversión, utilice preferentemente E.164.

property.messages.delivery_at (integer) or null
source
integer or null (property.messages.source)

Para realizar un mejor seguimiento de tus SMS en la factura detallada, puedes utilizar el parámetro de origen para asignar un ID numérico (entero) a tus SMS.

is_unicode
boolean or null (property.messages.is_unicode)

Define si desea enviar un SMS GSM 03.38 normal (160 caracteres) o un texto Unicode para transferir caracteres como cirílico, árabe, chino y japonés (70 caracteres). Si no define este parámetro (null), nuestro sistema determinará automáticamente la codificación correcta para su texto.

  • GSM: is_unicode = false
  • Unicode: is_unicode = true
  • Auto-detect: is_unicode = null
(property.messages.voice_lang (string or null)) or null
callback_data
string or null (property.common.callback_data) <= 36 characters

Valor (String) que se envía de vuelta a su endpoint. Por ejemplo, puede pasar su propio ID de esta forma y recibirlo de vuelta con el informe de entrega (DLR).

property.messages.service_code (any) or null
property.messages.is_text_deleted (boolean) or null

Responses

Request samples

Content type
application/json
Example

Ejemplo de un mensaje SMS simple con solo campos obligatorios

{
  • "text": "¡Hola! Este es un SMS de prueba.",
  • "sender_id": "+491701234567",
  • "phone": "+14155552671"
}

Response samples

Content type
Example

API response for a successfully request with minimum parameters

{
  • "@context": "/contexts/sms",
  • "@id": "/sms/11111111-2222-3333-4444-555555555555",
  • "@type": "sms",
  • "text": "Hello! This is a test SMS message.",
  • "sender_id": "+19388888025",
  • "phone": "+14155552671",
  • "delivery_at": 0,
  • "status_code": 0,
  • "gateway_sent_at": 0,
  • "source": 0,
  • "dlr_code": 0,
  • "ip": "139.59.136.251",
  • "created_at": 1755868416,
  • "is_unicode": false,
  • "uuid": "11111111-2222-3333-4444-555555555555",
  • "iso2": "US",
  • "voice_lang": null,
  • "parts_count": 1,
  • "chars_count": 34,
  • "callback_data": null,
  • "bulk_id": null,
  • "key_id": 8291,
  • "service_code": "direct",
  • "is_text_deleted": false,
  • "price": 0.056,
  • "is_sent": false,
  • "requests": "/sms/11111111-2222-3333-4444-555555555555/requests",
  • "clicks": "/sms/11111111-2222-3333-4444-555555555555/clicks"
}

Detener los SMS aplazados y aún no enviados

Con esta API puede eliminar mensajes SMS que aún no se hayan enviado o interrumpir el proceso de envío. Para los mensajes SMS programados, la hora de transmisión debe ser futura. Si el SMS no está programado, la transmisión al proveedor de telefonía móvil puede tardar unos segundos, lo que posiblemente le permitirá detener la transmisión en casos excepcionales.

Authorizations:
token
query Parameters
_order[created_at]
string (order.ordering)
Default: "asc"
Enum: "asc" "desc"

Ordenar por marca de tiempo cuando se creó la entidad

_order[gateway_sent_at]
string (order.ordering)
Default: "asc"
Enum: "asc" "desc"

Ordenar por fecha y hora de transmisión del mensaje a la red móvil

is_sent
boolean

Boolean filtrar SMS por el is_sent campo para distinguir entre sms ya enviados y aún no enviados

is_unicode
boolean

Boolean filtrar SMS por el is_unicode para distinguir entre mensajes GSM y Unicodes

uuid
string

Buscar un SMS por el identificador único

uuid[]
Array of strings

Buscar muchos SMS por los identificadores únicos

iso2
string

Exact filtrar los SMS según el país del telefono (ISO 3166-1 alpha-2)

iso2[]
Array of strings

Exact filtrar SMS por países del teléfono (ISO 3166-1 alpha-2)

dlr_code
integer

Exact filtrar SMS por el estado del informe de entrega

dlr_code[]
Array of integers

Exact filtrar SMS por los estados del informe de entrega

status_code
integer

Exact filtrar SMS por el código de estado

status_code[]
Array of integers

Exact filtrar SMS por los códigos de estado

gateway_sent_at
integer

Exact filtrar SMS por la fecha y hora de envío a la pasarel

gateway_sent_at[]
Array of integers

Exact y range filtrar SMS por marcas de tiempo de envío a pasarela

delivery_at
integer

Exact filtrar SMS por la fecha y hora de entrega

delivery_at[]
Array of integers

Exact y range filtrar SMS por las marcas de tiempo de entrega

created_at
integer

Exact filtrar entidades por la fecha de creación

created_at[]
Array of integers

Exact y range filtrar entidades por las marcas de tiempo de creación

chars_count
integer

Range filtrar SMS por el número de caracteres del mensaje

chars_count[]
Array of integers

Exact y range filtrar SMS por el número de caracteres del mensaje

parts_count
integer

Exact filter SMS por el recuento de partes del mensaje

parts_count[]
Array of integers

Exact and range filtrar SMS por el recuento de partes del mensaje

bulk
string

Exact filtrar SMS por el Bulk

bulk[]
Array of strings

Exact y range filtrar SMS por el Bulk

source
integer

Exact filtrar SMS por las fuentes

source[]
Array of integers

Exact y range filtrar SMS por las fuentes

text
string

Partial filtro de texto sin distinción entre mayúsculas y minúsculas SMS por el texto del mensaje

phone
string

Partial text filter SMS by the phone number

sender_id
string

Partial texto Filtro de SMS sin distinción entre mayúsculas y minúsculas por el número o el texto del remitente

ip
string

Partial filtro de texto SMS por la IP que creó el mensaje

key_id
integer

Exact filtrar entidades por la clave API utilizada

key_id[]
Array of integers

Exact filtrar entidades por las claves API utilizadas

callback_data
string

Exact filrar por SMS callback_data propiedad

callback_data[]
Array of strings

Exact filtrar por SMS callback_data propiedad

Responses

Request samples

curl -X POST https://api.lox24.eu/sms/ops/batch_cancel?uuid=20f39273-0566-11ea-a637-96000028b339  \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
application/json
{
  • "deleted_sms_count": 0
}

Eliminación masiva de mensajes SMS

Con esta API puedes borrar cualquier mensaje SMS

Authorizations:
token
query Parameters
_order[created_at]
string (order.ordering)
Default: "asc"
Enum: "asc" "desc"

Ordenar por marca de tiempo cuando se creó la entidad

_order[gateway_sent_at]
string (order.ordering)
Default: "asc"
Enum: "asc" "desc"

Ordenar por fecha y hora de transmisión del mensaje a la red móvil

is_sent
boolean

Boolean filtrar SMS por el is_sent campo para distinguir entre sms ya enviados y aún no enviados

is_unicode
boolean

Boolean filtrar SMS por el is_unicode para distinguir entre mensajes GSM y Unicodes

uuid
string

Buscar un SMS por el identificador único

uuid[]
Array of strings

Buscar muchos SMS por los identificadores únicos

iso2
string

Exact filtrar los SMS según el país del telefono (ISO 3166-1 alpha-2)

iso2[]
Array of strings

Exact filtrar SMS por países del teléfono (ISO 3166-1 alpha-2)

dlr_code
integer

Exact filtrar SMS por el estado del informe de entrega

dlr_code[]
Array of integers

Exact filtrar SMS por los estados del informe de entrega

status_code
integer

Exact filtrar SMS por el código de estado

status_code[]
Array of integers

Exact filtrar SMS por los códigos de estado

gateway_sent_at
integer

Exact filtrar SMS por la fecha y hora de envío a la pasarel

gateway_sent_at[]
Array of integers

Exact y range filtrar SMS por marcas de tiempo de envío a pasarela

delivery_at
integer

Exact filtrar SMS por la fecha y hora de entrega

delivery_at[]
Array of integers

Exact y range filtrar SMS por las marcas de tiempo de entrega

created_at
integer

Exact filtrar entidades por la fecha de creación

created_at[]
Array of integers

Exact y range filtrar entidades por las marcas de tiempo de creación

chars_count
integer

Range filtrar SMS por el número de caracteres del mensaje

chars_count[]
Array of integers

Exact y range filtrar SMS por el número de caracteres del mensaje

parts_count
integer

Exact filter SMS por el recuento de partes del mensaje

parts_count[]
Array of integers

Exact and range filtrar SMS por el recuento de partes del mensaje

bulk
string

Exact filtrar SMS por el Bulk

bulk[]
Array of strings

Exact y range filtrar SMS por el Bulk

source
integer

Exact filtrar SMS por las fuentes

source[]
Array of integers

Exact y range filtrar SMS por las fuentes

text
string

Partial filtro de texto sin distinción entre mayúsculas y minúsculas SMS por el texto del mensaje

phone
string

Partial text filter SMS by the phone number

sender_id
string

Partial texto Filtro de SMS sin distinción entre mayúsculas y minúsculas por el número o el texto del remitente

ip
string

Partial filtro de texto SMS por la IP que creó el mensaje

key_id
integer

Exact filtrar entidades por la clave API utilizada

key_id[]
Array of integers

Exact filtrar entidades por las claves API utilizadas

callback_data
string

Exact filrar por SMS callback_data propiedad

callback_data[]
Array of strings

Exact filtrar por SMS callback_data propiedad

Responses

Request samples

#!/usr/bin/env bash
curl -X POST https://api.lox24.eu/sms/ops/batch_delete?uuid=20f39273-0566-11ea-a637-96000028b339  \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
application/json
{
  • "deleted_sms_count": 0
}

Recupera la entrada de SMS

Obtención de la entidad SMS por el ID (uuid). Si no se encuentra el SMS, se responderá con el código HTTP 404.

Authorizations:
token
path Parameters
uuid
required
string

SMS ID (uuid)

Responses

Request samples

#!/usr/bin/env bash
curl -X GET https://api.lox24.eu/sms/20f39273-0566-11ea-a637-96000028b339 \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
{
  • "@id": "string",
  • "@type": "string",
  • "@context": "string",
  • "text": "string",
  • "sender_id": "+491701234567",
  • "phone": "+14155552671",
  • "delivery_at": 0,
  • "status_code": 0,
  • "gateway_sent_at": 0,
  • "source": 0,
  • "dlr_code": 1,
  • "ip": "192.168.1.1",
  • "created_at": 0,
  • "is_unicode": true,
  • "uuid": "string",
  • "iso2": "US",
  • "voice_lang": "DE",
  • "parts_count": 1,
  • "chars_count": 0,
  • "callback_data": "string",
  • "bulk_id": null,
  • "key_id": 1,
  • "service_code": "direct",
  • "is_text_deleted": true,
  • "price": 0,
  • "is_sent": true,
  • "requests": "string",
  • "clicks": "string"
}

Eliminar un SMS

Eliminar la entidad SMS por el ID (uuid). La respuesta del endpoint no contiene el cuerpo y tiene el código HTTP 204 si el SMS fue removido o 404 si no existe. Atención. El SMS también se borra de la factura detallada. Por lo tanto, las reclamaciones posteriores quedan excluidas por falta de trazabilidad.

Authorizations:
token
path Parameters
uuid
required
string

SMS ID (uuid)

Responses

Request samples

#!/usr/bin/env bash
curl -X DELETE https://api.lox24.eu/sms/20f39273-0566-11ea-a637-96000028b339 \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

bulks

La interfaz bulks se utiliza para enviar SMS masivos. Esto incluye la correcta transmisión de SMS masivos a múltiples números de teléfono y/o grupos, pero también el envío en seco. Además, hay una serie de funciones para consultar el estado de un envío masivo o para detener el envío.

  • Enviar SMS masivos
  • Consulta del estado de los SMS masivos
  • Detener los SMS masivos

Si no quieres enviar SMS masivos, sino enviar SMS individuales a través de la API, entonces el endpoint "sms" es relevante.

Bulk Mail Webhook de error Webhook

El evento bulk.email.parsing.fail se envía cuando se produce un error en el análisis del correo electrónico.

Notificaciones de webhook

Authorizations:
token
Request Body schema: application/json
required
id
string (property.common.uuid) ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

UUID único de entidad

api_version
string (property.common.api_version)

Versión de la estructura de datos de notificación

name
string
Value: "bulk.email.parsing.fail"

Nombre del evento de Webhook

created_at
integer (property.common.created_at) >= 0

Fecha en la que se añadió la entidad al sistema por el usuario

attempt_total
integer (property.common.attempt_total) [ 1 .. 4 ]

Número total de intentos de entrega de webhooks de notificación

attempt_number
integer (property.common.attempt_number) >= 1

Número de intento de notificación webhook actual

object

Event-specific data payload

notification_task_id
string <uuid>

Notification task identifier (request identifier)

Responses

Request samples

Content type
application/json

Evento enviado cuando falla el análisis de email masivo

{
  • "id": "d6ff9b42-1da5-711f-df20-f0173a4e7df1",
  • "api_version": "2022-05-25",
  • "name": "bulk.email.parsing.fail",
  • "created_at": 1653378903,
  • "attempt_total": 1,
  • "attempt_number": 1,
  • "data": {
    },
  • "notification_task_id": "6601ab16-ca99-7fe1-cf4c-5e43f74ee974"
}

Bulk Mail Éxito Webhook

El evento bulk.email.parsing.success se envía al analizar correctamente Email to SMS Bulk correo electrónico.

Notificaciones de webhook

Authorizations:
token
Request Body schema: application/json
required
id
string (property.common.uuid) ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

UUID único de entidad

api_version
string (property.common.api_version)

Versión de la estructura de datos de notificación

name
string
Value: "bulk.email.parsing.success"

Nombre del evento de Webhook

created_at
integer (property.common.created_at) >= 0

Fecha en la que se añadió la entidad al sistema por el usuario

attempt_total
integer (property.common.attempt_total) [ 1 .. 4 ]

Número total de intentos de entrega de webhooks de notificación

attempt_number
integer (property.common.attempt_number) >= 1

Número de intento de notificación webhook actual

object

Event-specific data payload

notification_task_id
string <uuid>

Notification task identifier (request identifier)

Responses

Request samples

Content type
application/json

Evento enviado cuando el email masivo se analiza exitosamente

{
  • "id": "d6ff9b42-1da5-711f-df20-f0173a4e7df1",
  • "api_version": "2022-05-25",
  • "name": "bulk.email.parsing.success",
  • "created_at": 1653378803,
  • "attempt_total": 1,
  • "attempt_number": 1,
  • "data": {
    },
  • "notification_task_id": "5590fa05-fb88-6fc0-bf3b-4d32f63dd863"
}

Recupera la colección de Bulks

Obtener la lista de bultos del buzón, ordenados por el campo created_at en orden descendente. El buzón contiene todos los SMS enviados, no enviados y terminados. También puede ordenar opcionalmente según el precio o la hora de transmisión al operador de red. También tiene la opción de transferir diferentes criterios de búsqueda para limitar la salida de los mensajes del buzón

Authorizations:
token
query Parameters
page
integer
Default: 1

Página actual

_order[created_at]
string (order.ordering)
Default: "asc"
Enum: "asc" "desc"

Ordenar por marca de tiempo cuando se creó la entidad

_order[delivery_at]
string (order.ordering)
Default: "asc"
Enum: "asc" "desc"

Ordenar por fecha y hora en que el mensaje fue/debió ser transmitido a la red móvil

_order[processed_at]
string (order.ordering)
Default: "asc"
Enum: "asc" "desc"

Ordenar por marca de tiempo cuando la entidad fue cambiada por última vez

_order[msg_total_count]
string (order.ordering)
Default: "asc"
Enum: "asc" "desc"

Ordenar por los recuentos totales de los SMS relacionados

text
string

Partial filtro de texto sin distinción entre mayúsculas y minúsculas SMS por el texto del mensaje

sender_id
string

Partial texto Filtro de SMS sin distinción entre mayúsculas y minúsculas por el número o el texto del remitente

status_code
integer

Exact filtrar Bulks por el código de estado

status_code[]
Array of integers

Exact filtrar Bulks por los códigos de estado

created_at
integer

Exact filtrar entidades por la fecha de creación

created_at[]
Array of integers

Exact y range filtrar entidades por las marcas de tiempo de creación

delivery_at
integer

Exact filtrar SMS por la fecha y hora de entrega

delivery_at[]
Array of integers

Exact y range filtrar SMS por las marcas de tiempo de entrega

processed_at
integer

Exact filtrar entidades por la fecha y hora de los últimos cambios

processed_at[]
Array of integers

Exact y range filtrar entidades por las marcas de tiempo de los últimos cambios

msg_total_count
integer

Exact filtrar Bultos por el recuento total de los SMS en el bulto

msg_total_count[]
Array of integers

Exact y range filtrar Bulks por los recuentos totales de los SMS relacionados

source
integer

Exact filtrar SMS por las fuentes

source[]
Array of integers

Exact y range filtrar SMS por las fuentes

key_id
integer

Exact filtrar entidades por la clave API utilizada

key_id[]
Array of integers

Exact filtrar entidades por las claves API utilizadas

is_unicode
boolean

Boolean filtrar SMS por el is_unicode para distinguir entre mensajes GSM y Unicodes

is_dryrun
boolean

Boolean filtrar Bulks por el campo is_dryrun para distinguir el tipo de Bulk

exists[is_unicode]
boolean

Boolean y exists filtrar Bulks por el campo is_unicode para distinguir entre mensajes GSM y Unicode

Responses

Request samples

#!/usr/bin/env bash
curl -X GET https://api.lox24.eu/bulks \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
{
  • "hydra:member": [
    ],
  • "hydra:totalItems": 0,
  • "hydra:view": {
    },
  • "hydra:search": {
    }
}

Crear el Bulk

Crear una campaña de SMS masivos enviando una solicitud POST con los detalles del mensaje y la información del destinatario.

Authorizations:
token
Request Body schema: application/json
required

The new bulks resource

One of
property.messages.delivery_at (integer) or null
sender_id
required
string (property.messages.sender_id) ^(\+?[1-9]\d{0,14}|[a-zA-Z0-9 ]{1,11})$

ID del remitente del mensaje. Puede ser un número (hasta 15 dígitos) o un texto (hasta 11 caracteres). Si se trata de un número, utilice preferentemente el formato de número de teléfono E.164. Un remitente de texto puede contener espacios pero no otros caracteres especiales. Tenga en cuenta que algunos países no admiten identificadores de remitente propios o exigen un registro previo. Nuestro sistema intenta detectar automáticamente si un ID de remitente es un texto o un número de teléfono. Evite los caracteres especiales en un número e introdúzcalo de la misma forma que se marcaría en un teléfono.

text
required
string (property.bulks.text) <= 1785 characters

La longitud máxima del texto es de 1785 caracteres. Pero no olvides que el texto final del mensaje puede tener una longitud de hasta 1530 caracteres. Con un SMS Unicode, la longitud máxima de caracteres se reduce a 670 caracteres. La codificación interna es UTF-8.

phones
required
Array of strings or null (property.bulks.phones) [ items [ 4 .. 16 ] characters ^\+[1-9]\d{1,14}$ ]

Lista de los números (internacionales) de los destinatarios:

  • +491701234567 (E.164)
  • 00491701234567
  • 491701234567
  • 01701234567 (si la cuenta está registrada en Alemania) se convertirá en +491701234567

Si el número no está en formato E.164, el servicio lo convertirá basándose en la dirección del usuario. Para evitar problemas con la conversión, utilice preferentemente E.164.

msg_groups
Array of integers or null (property.bulks.msg_groups)

Lista de los grupos destinatarios

is_unicode
boolean or null (property.messages.is_unicode)

Define si desea enviar un SMS GSM 03.38 normal (160 caracteres) o un texto Unicode para transferir caracteres como cirílico, árabe, chino y japonés (70 caracteres). Si no define este parámetro (null), nuestro sistema determinará automáticamente la codificación correcta para su texto.

  • GSM: is_unicode = false
  • Unicode: is_unicode = true
  • Auto-detect: is_unicode = null
property.messages.service_code (any) or null
source
integer or null (property.messages.source)

Para realizar un mejor seguimiento de tus SMS en la factura detallada, puedes utilizar el parámetro de origen para asignar un ID numérico (entero) a tus SMS.

(property.messages.voice_lang (string or null)) or null
property.messages.is_text_deleted (boolean) or null

Responses

Request samples

Content type
application/json
{
  • "delivery_at": 0,
  • "sender_id": "+491701234567",
  • "text": "string",
  • "phones": [
    ],
  • "msg_groups": [
    ],
  • "is_unicode": true,
  • "service_code": "direct",
  • "source": 0,
  • "voice_lang": "DE",
  • "is_text_deleted": true
}

Response samples

Content type
{
  • "@id": "string",
  • "@type": "string",
  • "@context": "string",
  • "uuid": "string",
  • "delivery_at": 0,
  • "sender_id": "+491701234567",
  • "text": "string",
  • "phones": [
    ],
  • "msg_groups": [
    ],
  • "status_code": 0,
  • "msg_total_count": 0,
  • "created_at": 0,
  • "processed_at": 0,
  • "ip": "192.168.1.1",
  • "is_unicode": true,
  • "is_dryrun": true,
  • "service_code": "direct",
  • "key_id": 1,
  • "source": 0,
  • "voice_lang": "DE",
  • "is_text_deleted": true,
  • "msg_total_cost": 0
}

Simular la creación de un Bulk (para pruebas)

Este endpoint se utiliza con fines de prueba para emular la creación de un Bulk sin crear realmente SMS y pasarlos al operador de red a cambio de una tarifa.

Authorizations:
token
Request Body schema: application/json
required

The new bulks resource

One of
property.messages.delivery_at (integer) or null
sender_id
required
string (property.messages.sender_id) ^(\+?[1-9]\d{0,14}|[a-zA-Z0-9 ]{1,11})$

ID del remitente del mensaje. Puede ser un número (hasta 15 dígitos) o un texto (hasta 11 caracteres). Si se trata de un número, utilice preferentemente el formato de número de teléfono E.164. Un remitente de texto puede contener espacios pero no otros caracteres especiales. Tenga en cuenta que algunos países no admiten identificadores de remitente propios o exigen un registro previo. Nuestro sistema intenta detectar automáticamente si un ID de remitente es un texto o un número de teléfono. Evite los caracteres especiales en un número e introdúzcalo de la misma forma que se marcaría en un teléfono.

text
required
string (property.bulks.text) <= 1785 characters

La longitud máxima del texto es de 1785 caracteres. Pero no olvides que el texto final del mensaje puede tener una longitud de hasta 1530 caracteres. Con un SMS Unicode, la longitud máxima de caracteres se reduce a 670 caracteres. La codificación interna es UTF-8.

phones
required
Array of strings or null (property.bulks.phones) [ items [ 4 .. 16 ] characters ^\+[1-9]\d{1,14}$ ]

Lista de los números (internacionales) de los destinatarios:

  • +491701234567 (E.164)
  • 00491701234567
  • 491701234567
  • 01701234567 (si la cuenta está registrada en Alemania) se convertirá en +491701234567

Si el número no está en formato E.164, el servicio lo convertirá basándose en la dirección del usuario. Para evitar problemas con la conversión, utilice preferentemente E.164.

msg_groups
Array of integers or null (property.bulks.msg_groups)

Lista de los grupos destinatarios

is_unicode
boolean or null (property.messages.is_unicode)

Define si desea enviar un SMS GSM 03.38 normal (160 caracteres) o un texto Unicode para transferir caracteres como cirílico, árabe, chino y japonés (70 caracteres). Si no define este parámetro (null), nuestro sistema determinará automáticamente la codificación correcta para su texto.

  • GSM: is_unicode = false
  • Unicode: is_unicode = true
  • Auto-detect: is_unicode = null
property.messages.service_code (any) or null
source
integer or null (property.messages.source)

Para realizar un mejor seguimiento de tus SMS en la factura detallada, puedes utilizar el parámetro de origen para asignar un ID numérico (entero) a tus SMS.

(property.messages.voice_lang (string or null)) or null
property.messages.is_text_deleted (boolean) or null

Responses

Request samples

Content type
application/json
{
  • "delivery_at": 0,
  • "sender_id": "+491701234567",
  • "text": "string",
  • "phones": [
    ],
  • "msg_groups": [
    ],
  • "is_unicode": true,
  • "service_code": "direct",
  • "source": 0,
  • "voice_lang": "DE",
  • "is_text_deleted": true
}

Response samples

Content type
{
  • "@id": "string",
  • "@type": "string",
  • "@context": "string",
  • "uuid": "string",
  • "delivery_at": 0,
  • "sender_id": "+491701234567",
  • "text": "string",
  • "phones": [
    ],
  • "msg_groups": [
    ],
  • "status_code": 0,
  • "msg_total_count": 0,
  • "created_at": 0,
  • "processed_at": 0,
  • "ip": "192.168.1.1",
  • "is_unicode": true,
  • "is_dryrun": true,
  • "service_code": "direct",
  • "key_id": 1,
  • "source": 0,
  • "voice_lang": "DE",
  • "is_text_deleted": true,
  • "msg_total_cost": 0
}

Recupera la entrada de Bulk

Obtener la entidad única Bulk por el ID (uuid). Si no se encuentra Bulk, se responderá con el código HTTP 404.

Authorizations:
token
path Parameters
id
required
string (property.common.uuid) ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Bulk ID

Responses

Request samples

#!/usr/bin/env bash
curl -X GET https://api.lox24.eu/bulks/da0fa78c-4699-11ea-a637-96000028b339 \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
{
  • "@id": "string",
  • "@type": "string",
  • "@context": "string",
  • "uuid": "string",
  • "delivery_at": 0,
  • "sender_id": "+491701234567",
  • "text": "string",
  • "phones": [
    ],
  • "msg_groups": [
    ],
  • "status_code": 0,
  • "msg_total_count": 0,
  • "created_at": 0,
  • "processed_at": 0,
  • "ip": "192.168.1.1",
  • "is_unicode": true,
  • "is_dryrun": true,
  • "service_code": "direct",
  • "key_id": 1,
  • "source": 0,
  • "voice_lang": "DE",
  • "is_text_deleted": true,
  • "msg_total_cost": 0
}

Eliminar un Bulk

Eliminar la entidad Bulk por el ID . La respuesta del endpoint no contiene el cuerpo y tiene el código HTTP 204 si el SMS fue removido o 404 si no existe. Atención. El Bulk también se borrado de la factura detallada. Por lo tanto, las reclamaciones posteriores quedan excluidas por falta de trazabilidad.

Authorizations:
token
path Parameters
id
required
string

Bulk ID

Responses

Request samples

#!/usr/bin/env bash
curl -X DELETE https://api.lox24.eu/bulks/da0fa78c-4699-11ea-a637-96000028b339 \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Cancelar el procesamiento masivo

Cancelar el procesamiento de Bulk si tiene status_code = 0 (New) o status_code = 5 y relacionados con los mensajes masivos con is_sent = False

Authorizations:
token
path Parameters
id
required
string (property.common.uuid) ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Bulk ID

Responses

Request samples

#!/usr/bin/env bash
curl -X PUT https://api.lox24.eu/bulks/da0fa78c-4699-11ea-a637-96000028b339/cancel \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
{
  • "@id": "string",
  • "@type": "string",
  • "@context": "string",
  • "uuid": "string",
  • "delivery_at": 0,
  • "status_code": 0,
  • "msg_total_count": 0,
  • "created_at": "string",
  • "processed_at": 0,
  • "ip": "192.168.1.1",
  • "is_unicode": true,
  • "is_dryrun": true,
  • "service_code": "direct",
  • "key_id": 1,
  • "source": 0,
  • "voice_lang": "DE",
  • "is_text_deleted": true,
  • "msg_total_cost": 0
}

Recupera el estado actual de la entrada de Bulk

Obtener información breve sobre el estado de Bulk

Authorizations:
token
path Parameters
id
required
string (property.common.uuid) ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Bulk ID

Responses

Request samples

#!/usr/bin/env bash
curl -X GET https://api.lox24.eu/bulks/da0fa78c-4699-11ea-a637-96000028b339/status \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
{
  • "@id": "string",
  • "@type": "string",
  • "@context": "string",
  • "uuid": "string",
  • "delivery_at": 0,
  • "status_code": 0,
  • "msg_total_count": 0,
  • "created_at": "string",
  • "processed_at": 0,
  • "ip": "192.168.1.1",
  • "is_unicode": true,
  • "is_dryrun": true,
  • "service_code": "direct",
  • "key_id": 1,
  • "source": 0,
  • "voice_lang": "DE",
  • "is_text_deleted": true,
  • "msg_total_cost": 0
}

incomings

Esta interfaz permite consultar los SMS entrantes (pull). La lista de todos los SMS entrantes, así como el contenido de un SMS en particular. Tenga en cuenta, sin embargo, que también puede recibir los SMS como push, en cuanto lleguen. La variante push es preferible, ya que no tienes que comprobar si hay SMS entrantes, sino que éstos se envían directamente a tu script.

SMS entrantes Webhook

El evento 'sms.incoming' se envía en un SMS entrante/repuesta (originado en móvil - SMS-MO).

Notificaciones de webhook

Authorizations:
token
Request Body schema: application/json
required
id
string (property.common.uuid) ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

UUID único de entidad

api_version
string (property.common.api_version)

Versión de la estructura de datos de notificación

name
string
Value: "sms.incoming"

Nombre del evento de Webhook

created_at
integer (property.common.created_at) >= 0

Fecha en la que se añadió la entidad al sistema por el usuario

attempt_total
integer (property.common.attempt_total) [ 1 .. 4 ]

Número total de intentos de entrega de webhooks de notificación

attempt_number
integer (property.common.attempt_number) >= 1

Número de intento de notificación webhook actual

object

Event-specific data payload

notification_task_id
string <uuid>

Notification task identifier (request identifier)

Responses

Request samples

Content type
application/json

Evento enviado cuando se recibe un SMS entrante

{
  • "id": "d6ff9b42-1da5-711f-df20-f0173a4e7df1",
  • "api_version": "2022-05-25",
  • "name": "sms.incoming",
  • "created_at": 1653378703,
  • "attempt_total": 1,
  • "attempt_number": 1,
  • "data": {
    },
  • "notification_task_id": "4489ef94-ef77-5ef9-ae2a-3c21e52cc752"
}

Recupera la colección de SMS entrantes

Obtener la lista de SMS entrantes ordenados por el campo received_at en orden descendente. El buzón contiene todos los SMS enviados, no enviados y terminados. Para las respuestas SMS la propiedad msg_uuid rellenada por la entidad /sms correspondiente.

Authorizations:
token
query Parameters
page
integer
Default: 1

Página actual

_order[received_at]
string (order.ordering)
Default: "asc"
Enum: "asc" "desc"

Ordenar por fecha y hora de recepción del SMS entrante

text
string

Partial filtro de texto sin distinción entre mayúsculas y minúsculas SMS por el texto del mensaje

from
string

Partial filtro de texto que no distingue mayúsculas de minúsculas por número de teléfono del remitente

to
string

Partial filtro de texto sensible a mayúsculas y minúsculas por número de teléfono de entrada

msg_uuid
string

Exact filtrar por ID de SMS inicial

msg_uuid[]
Array of strings

Exact filtrar por ID de SMS inicial

Responses

Request samples

#!/usr/bin/env bash
curl -X GET https://api.lox24.eu/incomings \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
{
  • "hydra:member": [
    ],
  • "hydra:totalItems": 0,
  • "hydra:view": {
    },
  • "hydra:search": {
    }
}

Recupera la entrada de SMS entrantes

Obtención de la entrada de SMS entrantes. El buzón contiene todos los SMS enviados, no enviados y terminados. Para las respuestas SMS, la propiedad 'msg_uuid' se rellena mediante la entidad /sms correspondiente.

Authorizations:
token
path Parameters
uuid
required
string (property.common.uuid) ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

ID del mensaje entrante

Responses

Request samples

#!/usr/bin/env bash
curl -X GET https://api.lox24.eu/incomings/20f39273-0566-11ea-a637-96000028b339 \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
{
  • "@id": "string",
  • "@type": "string",
  • "@context": "string",
  • "uuid": "string",
  • "to": "+14155552671",
  • "from": "+14155552671",
  • "received_at": 0,
  • "text": "string",
  • "msg_uuid": "string"
}

Borrar la entrada de SMS entrantes

Borrar un SMS entrante por UUID

Authorizations:
token
path Parameters
uuid
required
string (property.common.uuid) ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

ID del mensaje entrante

Responses

Request samples

#!/usr/bin/env bash
curl -X DELETE https://api.lox24.eu/incomings/20f39273-0566-11ea-a637-96000028b339 \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

groups

La función "Grupos" permite crear listas de distribución masiva de SMS. Cada lista de difusión representa un grupo. Las funciones de "Grupos" permiten crear, visualizar, eliminar y exportar las listas de difusión.

Recupera la colección de Grupos

Devuelve todos tus grupos (lista de distribución SMS).

Authorizations:
token
query Parameters
page
integer
Default: 1

Página actual

Responses

Request samples

#!/usr/bin/env bash
curl -X GET https://api.lox24.eu/groups \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
{
  • "hydra:member": [
    ],
  • "hydra:totalItems": 0,
  • "hydra:view": {
    },
  • "hydra:search": {
    }
}

Crear un Grupo

Con este comando creas una lista de correo SMS que se almacena en nuestro sistema para ti. Una lista de correo tiene un nombre, una descripción y cinco columnas adicionales que puedes agregar además del número de teléfono.

Authorizations:
token
Request Body schema: application/json
required

The new groups resource

name
required
string (property.group.name) [ 1 .. 50 ] characters

Nombre del grupo

description
string or null (property.group.description) <= 255 characters

Descripción del grupo

name_a
string or null (property.group.column_name) <= 50 characters

Nombre de la columna

name_b
string or null (property.group.column_name) <= 50 characters

Nombre de la columna

name_c
string or null (property.group.column_name) <= 50 characters

Nombre de la columna

name_d
string or null (property.group.column_name) <= 50 characters

Nombre de la columna

name_e
string or null (property.group.column_name) <= 50 characters

Nombre de la columna

object or null
deleted_at
string or null <date-time> (property.group.deleted_at)

Fecha y hora en que se eliminará el grupo

id
integer (property.group.id) >= 1

ID del grupo

count_items
integer (property.group.count_items) >= 0

Cantidad de elementos en el grupo

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "name_a": "string",
  • "name_b": "string",
  • "name_c": "string",
  • "name_d": "string",
  • "name_e": "string",
  • "phones": {
    },
  • "deleted_at": "2019-08-24T14:15:22Z",
  • "id": 1,
  • "count_items": 0
}

Response samples

Content type
{
  • "@context": "string",
  • "@id": "string",
  • "@type": "string",
  • "id": 1,
  • "name": "string",
  • "description": "string",
  • "name_a": "string",
  • "name_b": "string",
  • "name_c": "string",
  • "name_d": "string",
  • "name_e": "string",
  • "count_items": 0,
  • "deleted_at": "2019-08-24T14:15:22Z"
}

Recupera la entrada de Grupos

Devuelve los datos del grupo específico, como el nombre del grupo y la columna.

Authorizations:
token
path Parameters
id
required
integer >= 0

ID del grupo

Responses

Request samples

#!/usr/bin/env bash
curl https://api.lox24.eu/groups/12344  \
  -H 'Content-Type: application/json' \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
{
  • "@context": "string",
  • "@id": "string",
  • "@type": "string",
  • "id": 1,
  • "name": "string",
  • "description": "string",
  • "name_a": "string",
  • "name_b": "string",
  • "name_c": "string",
  • "name_d": "string",
  • "name_e": "string",
  • "count_items": 0,
  • "deleted_at": "2019-08-24T14:15:22Z"
}

Editar un Grupo

Cambiar la configuración de un grupo, como el nombre del grupo o la descripción.

Authorizations:
token
path Parameters
id
required
integer >= 0

ID del grupo

Request Body schema: application/json
required

The updated groups resource

name
required
string (property.group.name) [ 1 .. 50 ] characters

Nombre del grupo

description
string or null (property.group.description) <= 255 characters

Descripción del grupo

name_a
string or null (property.group.column_name) <= 50 characters

Nombre de la columna

name_b
string or null (property.group.column_name) <= 50 characters

Nombre de la columna

name_c
string or null (property.group.column_name) <= 50 characters

Nombre de la columna

name_d
string or null (property.group.column_name) <= 50 characters

Nombre de la columna

name_e
string or null (property.group.column_name) <= 50 characters

Nombre de la columna

object or null
deleted_at
string or null <date-time> (property.group.deleted_at)

Fecha y hora en que se eliminará el grupo

id
integer (property.group.id) >= 1

ID del grupo

count_items
integer (property.group.count_items) >= 0

Cantidad de elementos en el grupo

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "name_a": "string",
  • "name_b": "string",
  • "name_c": "string",
  • "name_d": "string",
  • "name_e": "string",
  • "phones": {
    },
  • "deleted_at": "2019-08-24T14:15:22Z",
  • "id": 1,
  • "count_items": 0
}

Response samples

Content type
{
  • "@context": "string",
  • "@id": "string",
  • "@type": "string",
  • "id": 1,
  • "name": "string",
  • "description": "string",
  • "name_a": "string",
  • "name_b": "string",
  • "name_c": "string",
  • "name_d": "string",
  • "name_e": "string",
  • "count_items": 0,
  • "deleted_at": "2019-08-24T14:15:22Z"
}

Eliminar un Grupo

Eliminar el grupo junto con todos los números de teléfono asociados.

Authorizations:
token
path Parameters
id
required
integer >= 0

ID del grupo

Responses

Request samples

#!/usr/bin/env bash
curl -X DELETE https://api.lox24.eu/groups/12344  \
  -H 'Content-Type: application/json' \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

phones

Esta interfaz sirve de complemento a los grupos. Mediante los teléfonos puede añadir, eliminar o modificar números de teléfono en su lista de distribución SMS. También es posible exportar el contenido de un grupo a través de esta interfaz.

Exportar CSV de los Teléfonos

Ejemplo de CSV
id Teléfono col_A col_B col_C col_D col_E callback_data
7848412 +49123456780 Nombre Segundo nombre Foo Bar Zoo 12345
7848413 +49123456781 Nombre Segundo nombre Foo Bar Zoo 12346
7848414 +49123456782 Nombre Segundo nombre Foo Bar Zoo 12347
7848415 +49123456783 Nombre Segundo nombre Foo Bar Zoo 12348

Los nombres de las columnas corresponderán a los valores de los campos nombre_X del objeto /group correspondiente. Si falta el valor por defecto es col_X, donde X = (a, b, c, d, e).

Authorizations:
token
path Parameters
id
required
integer >= 0

ID del grupo

Responses

Request samples

#!/usr/bin/env bash
curl https://api.lox24.eu/groups/7116/file/csv  \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Recupera la colección de Teléfonos por ID de Grupo

Recupera la colección de Teléfonos por ID de Grupo

Authorizations:
token
path Parameters
id
required
integer >= 0

ID del grupo

Responses

Request samples

#!/usr/bin/env bash
curl https://api.lox24.eu/groups/7116/phones  \
  -H 'Content-Type: application/json' \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
{
  • "hydra:member": [
    ]
}

Crear un Teléfono

Crear una entrada con un número de teléfono.

Authorizations:
token
path Parameters
id
required
integer >= 0

ID del grupo

Request Body schema: application/json
required

The new phones resource

phone
required
string (property.phone.phone) <= 30 characters

Número de teléfono

a
string or null (property.phone.column) <= 1530 characters

Datos de columna del teléfono

b
string or null (property.phone.column) <= 1530 characters

Datos de columna del teléfono

c
string or null (property.phone.column) <= 1530 characters

Datos de columna del teléfono

d
string or null (property.phone.column) <= 1530 characters

Datos de columna del teléfono

e
string or null (property.phone.column) <= 1530 characters

Datos de columna del teléfono

callback_data
string or null (property.common.callback_data) <= 36 characters

Valor (String) que se envía de vuelta a su endpoint. Por ejemplo, puede pasar su propio ID de esta forma y recibirlo de vuelta con el informe de entrega (DLR).

Responses

Request samples

Content type
application/json
{
  • "phone": "string",
  • "a": "string",
  • "b": "string",
  • "c": "string",
  • "d": "string",
  • "e": "string",
  • "callback_data": "string"
}

Response samples

Content type
{
  • "@context": "string",
  • "@id": "string",
  • "@type": "string",
  • "id": "string",
  • "phone": "string",
  • "a": "string",
  • "b": "string",
  • "c": "string",
  • "d": "string",
  • "e": "string",
  • "callback_data": "string",
  • "subscribed_at": 0,
  • "unsubscribed_at": 0,
  • "unsubscribe_reason": 0
}

Crear Teléfonos por lote

En lugar de enviar múltiples solicitudes, es mejor enviar una sola solicitud con una lista de objetos de Teléfono como cuerpo de la solicitud.

Authorizations:
token
path Parameters
id
required
integer >= 0

ID del grupo

Request Body schema: application/json
required

The new groups resource

Array
phone
required
string (property.phone.phone) <= 30 characters

Número de teléfono

a
string or null (property.phone.column) <= 1530 characters

Datos de columna del teléfono

b
string or null (property.phone.column) <= 1530 characters

Datos de columna del teléfono

c
string or null (property.phone.column) <= 1530 characters

Datos de columna del teléfono

d
string or null (property.phone.column) <= 1530 characters

Datos de columna del teléfono

e
string or null (property.phone.column) <= 1530 characters

Datos de columna del teléfono

callback_data
string or null (property.common.callback_data) <= 36 characters

Valor (String) que se envía de vuelta a su endpoint. Por ejemplo, puede pasar su propio ID de esta forma y recibirlo de vuelta con el informe de entrega (DLR).

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
{
  • "@context": "string",
  • "@id": "string",
  • "@type": "string",
  • "hydra:totalItems": 0,
  • "hydra:member": {
    }
}

Recupera la entrada de Teléfono

Consultar una entrada con un número de teléfono.

Authorizations:
token
path Parameters
id
required
integer >= 0

Identificador del teléfono

Responses

Request samples

#!/usr/bin/env bash
curl https://api.lox24.eu/phones/12344  \
  -H 'Content-Type: application/json' \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
{
  • "@context": "string",
  • "@id": "string",
  • "@type": "string",
  • "id": "string",
  • "phone": "string",
  • "a": "string",
  • "b": "string",
  • "c": "string",
  • "d": "string",
  • "e": "string",
  • "callback_data": "string",
  • "subscribed_at": 0,
  • "unsubscribed_at": 0,
  • "unsubscribe_reason": 0
}

Editar la entrada de Teléfono

Editar una entrada con un número de teléfono.

Authorizations:
token
path Parameters
id
required
integer >= 0

Identificador del teléfono

Request Body schema: application/json
required

The updated phones resource

phone
required
string (property.phone.phone) <= 30 characters

Número de teléfono

a
string or null (property.phone.column) <= 1530 characters

Datos de columna del teléfono

b
string or null (property.phone.column) <= 1530 characters

Datos de columna del teléfono

c
string or null (property.phone.column) <= 1530 characters

Datos de columna del teléfono

d
string or null (property.phone.column) <= 1530 characters

Datos de columna del teléfono

e
string or null (property.phone.column) <= 1530 characters

Datos de columna del teléfono

callback_data
string or null (property.common.callback_data) <= 36 characters

Valor (String) que se envía de vuelta a su endpoint. Por ejemplo, puede pasar su propio ID de esta forma y recibirlo de vuelta con el informe de entrega (DLR).

Responses

Request samples

Content type
application/json
{
  • "phone": "string",
  • "a": "string",
  • "b": "string",
  • "c": "string",
  • "d": "string",
  • "e": "string",
  • "callback_data": "string"
}

Response samples

Content type
{
  • "@context": "string",
  • "@id": "string",
  • "@type": "string",
  • "id": "string",
  • "phone": "string",
  • "a": "string",
  • "b": "string",
  • "c": "string",
  • "d": "string",
  • "e": "string",
  • "callback_data": "string",
  • "subscribed_at": 0,
  • "unsubscribed_at": 0,
  • "unsubscribe_reason": 0
}

Eliminar la entrada de Teléfono

Eliminar una entrada con un número de teléfono.

Authorizations:
token
path Parameters
id
required
integer >= 0

Identificador del teléfono

Responses

Request samples

#!/usr/bin/env bash
curl -X DELETE https://api.lox24.eu/phones/12344  \
  -H 'Content-Type: application/json' \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

campaigns

Puede crear una campaña de enlace corto a través de la API de campañas. Una campaña de enlace corto se utiliza para crear un enlace corto, que luego puede utilizar para mensajes SMS individuales y masivos. También puedes consultar los enlaces cortos existentes a través de la interfaz y modificarlos o eliminarlos.

Create a Short Link Campaign

Create a new Short Link Campaign entity with destination url, type and name

Authorizations:
token
Request Body schema: application/json
required

The new short_link_campaigns resource

type
required
integer (property.short_link_campaigns.type)
Enum: 1 2

Tipo de la campaña de enlaces cortos

name
required
string (property.short_link_campaigns.name) <= 100 characters

Nombre de la campaña de enlaces cortos

url
required
string (property.short_link_campaigns.url)

URL de la campaña de enlaces cortos

group_id
integer or null (property.short_link_campaigns.group_id)

ID del grupo de la campaña de enlaces cortos

Responses

Request samples

Content type
application/json
{
  • "type": 1,
  • "name": "string",
  • "url": "string",
  • "group_id": 0
}

Response samples

Content type
{
  • "@id": "string",
  • "@type": "string",
  • "@context": "string",
  • "type": 1,
  • "id": "string",
  • "name": "string",
  • "url": "string",
  • "created_at": 0,
  • "group_id": 0
}

Create a subscription form campaign

A special type of short link campaign that redirects the user to a subscription form. You can specify the id of the group to which the subscribed users phone numbers will be added.

Authorizations:
token
Request Body schema: application/json
required

The new short_link_campaigns resource

name
required
string (property.short_link_campaigns.name) <= 100 characters

Nombre de la campaña de enlaces cortos

group_id
required
integer or null (property.short_link_campaigns.group_id)

ID del grupo de la campaña de enlaces cortos

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "group_id": 0
}

Response samples

Content type
{
  • "@id": "string",
  • "@type": "string",
  • "@context": "string",
  • "type": 1,
  • "id": "string",
  • "name": "string",
  • "url": "string",
  • "created_at": 0,
  • "group_id": 0
}

Create a unsubscription form campaign

A special type of short link campaign that redirects the user to a unsubscription form. You can specify the id of the group from which the subscribed users phone numbers will be removed (if they have been added to it).

Authorizations:
token
Request Body schema: application/json
required

The new short_link_campaigns resource

name
required
string (property.short_link_campaigns.name) <= 100 characters

Nombre de la campaña de enlaces cortos

group_id
required
integer or null (property.short_link_campaigns.group_id)

ID del grupo de la campaña de enlaces cortos

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "group_id": 0
}

Response samples

Content type
{
  • "@id": "string",
  • "@type": "string",
  • "@context": "string",
  • "type": 1,
  • "id": "string",
  • "name": "string",
  • "url": "string",
  • "created_at": 0,
  • "group_id": 0
}

requests

A través de las solicitudes puedes recuperar los resultados de tu campaña de enlaces cortos. Dependiendo de si ha enviado un SMS con seguimiento simple o avanzado, podrá determinar qué números de teléfono han hecho clic con qué frecuencia en los enlaces de su SMS. A través de esta interfaz es posible averiguar qué destinatarios o qué SMS han obtenido buenos resultados.

List by a bulk sms ID

List of all requests by a SMS Bulk ID

Authorizations:
token
path Parameters
id
required
string (property.common.uuid) ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Bulk ID

query Parameters
page
integer
Default: 1

Página actual

_order[date]
string (order.ordering)
Default: "asc"
Enum: "asc" "desc"

Sort a list by 'date' property

ip
string

Partial case-insensitive text filter by a IP address

url
string

Partial case-insensitive text filter by a destination URL

user_agent
string

Partial filter short links by user agent (partial match)

country
string

Exact filtrar entidades por el código de país

country[]
Array of strings

Exact filtrar entidades por los códigos de país

referer
string

Partial case-insensitive text filter by a referer

date
integer

Exact filter short link requests by exact date

date[]
Array of integers

Exact filter short link requests by date (array of values)

type
integer

Exact filter short links by type (exact match)

type[]
Array of integers

Range filter short links by type (array of values)

browser
string

Partial case-insensitive text filter by a browser name

os
string

Partial case-insensitive text filter by a operation system name

os_version
string

Partial case-insensitive text filter by a operation system version

software_type
string

Partial case-insensitive text filter by a software type

hardware_type
string

Partial case-insensitive text filter by a hardware type

date[between]
string

Range filter short link requests by date range

date[gt]
string

Filtrar solicitudes de enlaces cortos por fecha mayor que

date[gte]
string

Filtrar solicitudes de enlaces cortos por fecha mayor o igual que

date[lt]
string

Filtrar solicitudes de enlaces cortos por fecha menor que

date[lte]
string

Filtrar solicitudes de enlaces cortos por fecha menor o igual que

Responses

Request samples

#!/usr/bin/env bash
curl -X GET https://api.lox24.eu/bulks/{bulk_id_here}/requests \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
{
  • "hydra:member": [
    ],
  • "hydra:totalItems": 0,
  • "hydra:view": {
    },
  • "hydra:search": {
    }
}

List requests by campaign

Lists all clicks on shortlinks for a specific campaign

Authorizations:
token
path Parameters
code
required
string

short_link_campaigns code

query Parameters
page
integer
Default: 1

Página actual

_order[date]
string (order.ordering)
Default: "asc"
Enum: "asc" "desc"

Sort a list by 'date' property

ip
string

Partial case-insensitive text filter by a IP address

url
string

Partial case-insensitive text filter by a destination URL

user_agent
string

Partial filter short links by user agent (partial match)

country
string

Exact filtrar entidades por el código de país

country[]
Array of strings

Exact filtrar entidades por los códigos de país

referer
string

Partial case-insensitive text filter by a referer

date
integer

Exact filter short link requests by exact date

date[]
Array of integers

Exact filter short link requests by date (array of values)

type
integer

Exact filter short links by type (exact match)

type[]
Array of integers

Range filter short links by type (array of values)

browser
string

Partial case-insensitive text filter by a browser name

os
string

Partial case-insensitive text filter by a operation system name

os_version
string

Partial case-insensitive text filter by a operation system version

software_type
string

Partial case-insensitive text filter by a software type

hardware_type
string

Partial case-insensitive text filter by a hardware type

date[between]
string

Range filter short link requests by date range

date[gt]
string

Filtrar solicitudes de enlaces cortos por fecha mayor que

date[gte]
string

Filtrar solicitudes de enlaces cortos por fecha mayor o igual que

date[lt]
string

Filtrar solicitudes de enlaces cortos por fecha menor que

date[lte]
string

Filtrar solicitudes de enlaces cortos por fecha menor o igual que

Responses

Request samples

#!/usr/bin/env bash
curl -X GET https://api.lox24.eu//short_link_campaigns/{campaign_id}/requests \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
{
  • "hydra:member": [
    ],
  • "hydra:totalItems": 0,
  • "hydra:view": {
    },
  • "hydra:search": {
    }
}

List by a SMS

List of all requests by a single SMS ID

Authorizations:
token
path Parameters
uuid
required
string

SMS ID (uuid)

query Parameters
page
integer
Default: 1

Página actual

_order[date]
string (order.ordering)
Default: "asc"
Enum: "asc" "desc"

Sort a list by 'date' property

ip
string

Partial case-insensitive text filter by a IP address

url
string

Partial case-insensitive text filter by a destination URL

user_agent
string

Partial filter short links by user agent (partial match)

country
string

Exact filtrar entidades por el código de país

country[]
Array of strings

Exact filtrar entidades por los códigos de país

referer
string

Partial case-insensitive text filter by a referer

date
integer

Exact filter short link requests by exact date

date[]
Array of integers

Exact filter short link requests by date (array of values)

type
integer

Exact filter short links by type (exact match)

type[]
Array of integers

Range filter short links by type (array of values)

browser
string

Partial case-insensitive text filter by a browser name

os
string

Partial case-insensitive text filter by a operation system name

os_version
string

Partial case-insensitive text filter by a operation system version

software_type
string

Partial case-insensitive text filter by a software type

hardware_type
string

Partial case-insensitive text filter by a hardware type

date[between]
string

Range filter short link requests by date range

date[gt]
string

Filtrar solicitudes de enlaces cortos por fecha mayor que

date[gte]
string

Filtrar solicitudes de enlaces cortos por fecha mayor o igual que

date[lt]
string

Filtrar solicitudes de enlaces cortos por fecha menor que

date[lte]
string

Filtrar solicitudes de enlaces cortos por fecha menor o igual que

Responses

Request samples

#!/usr/bin/env bash
curl -X GET https://api.lox24.eu/sms/{sms_id}/requests \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
{
  • "hydra:member": [
    ],
  • "hydra:totalItems": 0,
  • "hydra:view": {
    },
  • "hydra:search": {
    }
}

click rate

Utilizando esta interfaz, podrá medir el número de clics de sus envíos de SMS.

List of all SMS with clicks

Retrieves the list of sms which contain a short link and the number of clicks on these links.

Authorizations:
token
query Parameters
page
integer
Default: 1
_order[created_at]
string
Default: "asc"
Enum: "asc" "desc"

Sort a list by 'created_at' property

requests_count
integer

Exact filter by the requests count value

requests_count[]
Array of integers

Exact and range filter by the requests count value

created_at
integer

Exact filter by SMS creating date

created_at[]
Array of integers

Exact and range filter by SMS creating date

Responses

Request samples

#!/usr/bin/env bash
curl -X GET https://api.lox24.eu/sms/clicks \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
{
  • "hydra:member": [
    ],
  • "hydra:totalItems": 0,
  • "hydra:view": {
    },
  • "hydra:search": {
    }
}

Short-Link clicks of a SMS

Returns the number of clicks on a short link for a specific SMS. If SMS doesn't exists or doesn't contain then HTTP code 404 will response.

Authorizations:
token
path Parameters
uuid
required
string

SMS ID (uuid)

Responses

Request samples

#!/usr/bin/env bash
curl https://api.lox24.eu/sms/clicks/sms_uuid_here  \
  -H 'Content-Type: application/json' \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
{
  • "@id": "string",
  • "@type": "string",
  • "@context": "string",
  • "uuid": "string",
  • "created_at": 0,
  • "requests_count": 0
}

Fraud Detection API

La AIP de detección de fraudes ayuda a identificar las solicitudes sospechosas a su servicio. La API recibe datos de usted, como el número de teléfono, el correo electrónico y la dirección IP de su cliente potencial, en cumplimiento de la normativa de protección de datos vigente en Europa. Nuestro sistema los comprueba mediante bases de datos, algoritmos e inteligencia artificial. Por último, la API ofrece una evaluación de la probabilidad o el riesgo de fraude. El riesgo se mide como la probabilidad de fraude de 0 a 100, donde 0 representa una baja probabilidad de fraude (valor de riesgo bueno) y 100 representa una probabilidad de fraude extremadamente alta (valor de riesgo malo).

El servicio también le permite comprobar usted mismo cada parte de la solicitud por separado, por ejemplo, pasando sólo los datos telefónicos.

Además de la puntuación de riesgo, la respuesta de la AP de Detección de Fraude también contiene información adicional para ayudarle con su evaluación de riesgo:

  • por teléfono:
    • Región
    • tipo de número (teléfono móvil, VoIP, etc.)
    • formato válido
    • si el número es posible en absoluto
  • por correo electrónico:
    • ¿es posible un correo electrónico de este tipo?
    • es el dominio del correo electrónico especificado sospechoso
  • a través de la dirección IP
    • región
    • estado
    • ciudad
    • código postal
    • Coordenadas geográficas
    • ISP
    • Evaluación del riesgo del PSI
    • Tipo de servidor proxy (si se utiliza)
    • Tipo de conexión
  • about the address
    • country code (ISO 3166-1 alpha-2)
    • city
    • postal code
    • street name
    • street number

Según la tarifa seleccionada ("económica", "pro", "directa"), la respuesta y la velocidad de procesamiento de la solicitud son diferentes. Las solicitudes económicas son adecuadas para un simple inicio de sesión, por ejemplo. Consultas pro registro de nuevos clientes y consultas directas para la venta de productos:

  • "economía - la respuesta sólo contiene el factor de riesgo, la solicitud se procesa en la cola general.
  • pro' - la respuesta contiene todos los datos detallados y la solicitud se procesa en la cola general
  • directo" la respuesta contiene - la respuesta contiene todos los datos detallados y la solicitud se procesa en una cola separada con mayor prioridad.

Dado que la puntuación tarda algún tiempo, la solicitud se procesa en modo asíncrono y, tras el procesamiento, el servicio devuelve los datos de la solicitud en formato JSON a la URL HTTP o al correo electrónico que haya especificado. Puede establecer este valor en la cuenta web, en el apartado de Ajustes y Notificaciones (Notificaciones de eventos). También puede comprobar el estado de la solicitud por su ID enviando una solicitud a la API. Sin embargo, le recomendamos encarecidamente que utilice el sistema de notificación (webhook), ya que el servicio puede bloquear sus solicitudes si hay un gran número de ellas.

Fraud Check Completed Webhook

Triggered when a Fraud Detection request is completed

Authorizations:
token
Request Body schema: application/json
required
id
string (property.common.uuid) ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

UUID único de entidad

api_version
string (property.common.api_version)

Versión de la estructura de datos de notificación

name
string
Value: "fraud-check.done"

Nombre del evento de Webhook

created_at
integer (property.common.created_at) >= 0

Fecha en la que se añadió la entidad al sistema por el usuario

attempt_total
integer (property.common.attempt_total) [ 1 .. 4 ]

Número total de intentos de entrega de webhooks de notificación

attempt_number
integer (property.common.attempt_number) >= 1

Número de intento de notificación webhook actual

object

Event-specific data payload

notification_task_id
string <uuid>

Notification task identifier (request identifier)

Responses

Request samples

Content type
application/json

Evento enviado cuando se completa la verificación de detección de fraude

{
  • "id": "a7bc0d53-2ab6-822c-df31-a1284b5f8ea2",
  • "api_version": "2022-05-25",
  • "name": "fraud-check.done",
  • "created_at": 1653379003,
  • "attempt_total": 1,
  • "attempt_number": 1,
  • "data": {
    },
  • "notification_task_id": "7712ab27-cd00-8ef2-da5d-6f54f85ff085"
}

List of all Fraud Check requests

Retrieves the list of all previous Fraud Check requests

Authorizations:
token
query Parameters
page
integer
Default: 1

Página actual

_order[created_at]
string (order.ordering)
Default: "asc"
Enum: "asc" "desc"

Ordenar por marca de tiempo cuando se creó la entidad

id
string (property.common.uuid) ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Exact filter by Fraud request ID

id[]
Array of strings (property.common.uuid) [ items^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]... ]

Exact filter by Fraud request ID

callback_data
string

Partitial filtrar entidades por el callback_data

request_phone.phone
string

Partial filter by the request's phone value

request_email.email
string

Partial filter by the request's email value

request_ip.ip
string

Partial filter by the request's IP value

status_code
integer

Exact filter Fraud requests by the status code

status_code[]
Array of integers

Exact filter Fraud requests by the status codes

Responses

Request samples

#!/usr/bin/env bash
curl -X GET https://api.lox24.eu/fraud-checks \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
{
  • "hydra:member": [
    ],
  • "hydra:totalItems": 0,
  • "hydra:view": {
    },
  • "hydra:search": {
    }
}

Creates a new Fraud Check request

Send a Fraud Check request and get risk score value back.

Authorizations:
token
Request Body schema: application/json
required

The new fraud-check resource

service_code
required
string (property.fraud-check.service_code)
Enum: "economy" "pro" "direct"

Service code defines the type of fraud query you make. Economy contains only a risk value, while Pro and Direct contain more details about the results, so you can make your own decision. Direct queries are also processed with priority. (see /me)

(property.common.callback_data (string or null)) or null
property.common.phone_number (string) or null
property.fraud-check.email (string) or null
property.fraud-check.ip (string) or null
schema.fraud-check-address-fraud_request_write (object) or null

Responses

Request samples

Content type
application/json
{
  • "service_code": "economy",
  • "callback_data": "string",
  • "phone": "+14155552671",
  • "email": "string",
  • "ip": "strings",
  • "address": {
    }
}

Response samples

Content type
{
  • "@id": "string",
  • "@type": "string",
  • "@context": "string",
  • "id": "string",
  • "status_code": 0,
  • "risk_score": 100,
  • "service_code": "economy",
  • "created_at": 0,
  • "updated_at": 0,
  • "callback_data": "string",
  • "request_phone": {
    },
  • "request_email": {
    },
  • "request_ip": {
    },
  • "request_address": {
    },
  • "price": 0
}

Retrieve Fraud Check request

Returns the data of a specific Fraud Check request

Authorizations:
token
path Parameters
id
required
string (property.common.uuid) ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Fraud Check request ID

Responses

Request samples

#!/usr/bin/env bash
curl https://api.lox24.eu/fraud-checks/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee \
  -H 'Content-Type: application/json' \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Response samples

Content type
{
  • "@id": "string",
  • "@type": "string",
  • "@context": "string",
  • "id": "string",
  • "status_code": 0,
  • "risk_score": 100,
  • "service_code": "economy",
  • "created_at": 0,
  • "updated_at": 0,
  • "callback_data": "string",
  • "request_phone": {
    },
  • "request_email": {
    },
  • "request_ip": {
    },
  • "request_address": {
    },
  • "price": 0
}

Delete a specific previous Fraud Check request

Remove all information about a previous Fraud Check request.

Authorizations:
token
path Parameters
id
required
string (property.common.uuid) ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Fraud Check request ID

Responses

Request samples

#!/usr/bin/env bash
curl -X DELETE https://api.lox24.eu/fraud-checks/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee  \
  -H 'Content-Type: application/json' \
  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'

Filtros de colección

La API de LOX24 proporciona un sistema genérico para aplicar filtros y criterios de ordenación sobre colecciones. Puede ver qué filtros puede utilizar en la descripción de la propiedad.

Filtro de búsqueda

La API utiliza dos tipos de filtros de texto:

  • parcial utiliza el texto proporcionado para buscar campos que contengan parte de ese texto
  • exacto utiliza el texto proporcionado para buscar campos que contengan exactamente ese texto

Nota:Los filtros de búsqueda con la estrategia exacta pueden tener varios valores para la misma propiedad (en este caso la condición será similar a una cláusula SQL IN).

Ejemplos de uso

Buscar sms cuya propiedad phone contenga "4979" y cuya propiedad `text contiene "hola ":

curl -X GET https://api.lox24.eu/sms?phone=4979&text=hello \
  -H 'Host: api.lox24.eu' \
  -H 'X-LOX24-AUTH-TOKEN: e3f3a759b6677959b6ebfcxxxxxxxxxx' \
  -H 'X-LOX24-CLIENT-ID: 1234567' 

Buscar sms con la propiedad iso2 del país igual a 'DE' O 'CH' y status_code = 0

curl -X GET https://api.lox24.eu/sms?iso2[]=DE&iso2[]=CH&status_code=0 \
  -H 'Host: api.lox24.eu' \
  -H 'X-LOX24-AUTH-TOKEN: e3f3a759b6677959b6ebfcxxxxxxxxxx' \
  -H 'X-LOX24-CLIENT-ID: 1234567' 

Filtro booleano

El filtro booleano permite buscar en campos y valores booleanos.

Syntax: ?property=<true|false|1|0>

Recibir sms que aún no se han enviado al operador de telefonía móvil:

curl -X GET https://api.lox24.eu/sms?sent=0 \
  -H 'Host: api.lox24.eu' \
  -H 'X-LOX24-AUTH-TOKEN: e3f3a759b6677959b6ebfcxxxxxxxxxx' \
  -H 'X-LOX24-CLIENT-ID: 1234567' 

Filtro Exists

El filtro existe permite seleccionar elementos en función de un valor de campo anulable

Syntax: ?exists[property]=<true|false|1|0>

Obtener bultos que tengan la propiedad is_unicode=null (autodetección de codificación sms):

curl -X GET https://api.lox24.eu/bulks?exists[is_unicode]=0 \
  -H 'Host: api.lox24.eu' \
  -H 'X-LOX24-AUTH-TOKEN: e3f3a759b6677959b6ebfcxxxxxxxxxx' \
  -H 'X-LOX24-CLIENT-ID: 1234567'

Filtro de gama

El filtro de rango permite filtrar por un valor menor que, mayor que, menor o igual, mayor o igual y entre dos valores.

Syntax: ?property[<lt|gt|lte|gte|between>]=value

Usage examples

Filtrar colección de sms por el campo created_at entre 1575158400 (2019-12-01) y 1575676800 (2019-12-07):

curl -X GET https://api.lox24.eu/sms?created_at[between]=1575158400..1575676800 \
  -H 'Host: api.lox24.eu' \
  -H 'X-LOX24-AUTH-TOKEN: e3f3a759b6677959b6ebfcxxxxxxxxxx' \
  -H 'X-LOX24-CLIENT-ID: 1234567' 

Filtro de ordenación

El filtro de orden permite ordenar una colección en función de las propiedades dadas. Parámetro de orden _order.

Ejemplos de uso

Ordenar la colección de sms por el campo 'created_at' en orden descendente:

curl -X GET https://api.lox24.eu/sms?_order[created_at]=desc \
  -H 'Host: api.lox24.eu' \
  -H 'X-LOX24-AUTH-TOKEN: e3f3a759b6677959b6ebfcxxxxxxxxxx' \
  -H 'X-LOX24-CLIENT-ID: 1234567' 

Codigo de estado de los SMS

Descripción de los códigos de estado sms (propiedad status_code):

Código de Estado Descripción
0 Nuevo mensaje recién creado
100 El mensaje se ha transmitido correctamente al operador de telefonía móvil
208 La red/país de destino está bloqueado
400 No se ha podido entregar el mensaje durante el mantenimiento
410 El mensaje se detuvo antes de la transmisión a través de la cuenta web
2000 Por el momento no es posible la conexión con el teléfono fijo
3000 No hay dinero suficiente en el saldo del usuario para enviar el mensaje
5000 No se ha encontrado ningún operador de telefonía móvil para este mensaje
6000 El mensaje se detuvo antes de la transmisión a través de la API

Códigos de informe de entrega de SMS (DLR)

Cada SMS tiene un código de informe de entrega (DLR). Hay tres formas de obtener el código DLR e información adicional:

  1. extraer datos del punto final de la API GET /sms/{id} (id - SMS id) y comprobar la propiedad dlr_code
  2. El servicio de configuración envía solicitudes HTTP GET (webhook) a su punto final (consulte la página de la cuenta Configuración -> Configuración de API). Los datos se envían como parámetros URL. En una respuesta del endpoint con código de estado HTTP < 200 >= 300 el servicio hará intentos adicionales (sólo por código DLR DELIVERY_OK) pero máximo cuatro.
  3. servicio de configuración para enviar mensajes de correo electrónico sobre el estado de SMS DLR a su dirección de correo electrónico (por favor, compruebe la página de la cuenta Configuración -> Configuración de la API). Los datos se envían como objeto JSON en el cuerpo del correo electrónico. NOTA: La respuesta de su script no se tiene en cuenta por lo tanto usted tiene que supervisar su script. En caso de mal funcionamiento no hay notificación por nuestra parte.

DLR propiedades de los informes

Propiedad Tipo Descripción
uuid UUID SMS id
dlr_code integer DLR código de estado
key_id integer Id. de la clave API utilizada para enviar la solicitud a la API
phone string Número de teléfono del destinatario del SMS (en DLR sólo por correo electrónico)
callback_data string String que publico enPOST /sms en propiedad callback_data o si sms fue enviado por POST /bulks como Propiedad del teléfono callback_data

Descripción de los códigos de estado del informe de entrega (propiedlr_code):

Codigo de estado Descripción
0 NONE: No hay informe de entrega disponible
1 DELIVERY_OK: El mensaje se ha enviado correctamente
2 DELIVERY_QUEUE: El mensaje se programa para su envío posterior
4 DELIVERY_SUBMIT_ACK: El mensaje está en camino
8 DELIVERY_EXPIRED: El SMSC no ha podido entregar el mensaje en un tiempo determinado. Por ejemplo, cuando el teléfono estaba apagado
16 DELIVERY_REJECTED: El mensaje ha sido rechazado. El proveedor podría haber bloqueado los números de teléfono en este rango

Notas de Actualización

Introducción

Esta es una guía para configurar y conectar nuestra API SMS a su cliente Kannel.

Si utiliza Kannel para enviar mensajes a diferentes pasarelas SMS, puede añadir fácilmente un módulo SMSC adicional sin cambiar la arquitectura de su aplicación.

Soporte: berlin@lox24.eu

API Key

Para enviar mensajes con Kannel, debe crear una clave de autenticación en la página de cuenta con el tipo 'Kannel API'. Vaya a "Configuración" -> "Configuración API" y haga clic en "Crear nueva clave". Tiene que elegir como tipo "Kannel API". Account page an API key

Configuración

Existen dos tipos de configuraciones SMSC posibles para enviar SMS con LOX24 vía Kannel:

  • envío de solicitudes DLR a su punto fina
  • el envío de solicitudes DLR a su módulo SMSC Kannel, que a su vez envía una solicitud DLR a su endpoint (encadenamiento DLR URL)

Nota: Lo que hay sobre una petición de DLR lo puedes leer aquí:

Envío de solicitudes DLR a su punto final

La API LOX24 enviará los informes de entrega directamente a su endpoint sin pasar por Kannel.

Para utilizar la API de Kannel, basta con crear una nueva configuración SMSC:

group = smsc
smsc = http
system-type = kannel
smsc-id = "lox24"
allowed-smsc-id = "lox24"
port = 10443
send-url = "https://lox24.eu/api/kannel/{SERVICE_CODE}.php"
smsc-username = "{USER_ID}"
smsc-password = "{API_KEY}"
max-sms-octets = 1530

Donde:

  • SERVICE_CODE - cualquier código de servicio disponible para su cuenta en minúsculas por ejemplo, "text2speech", "direct", etc.
  • USER_ID - su ID de cuenta, el mismo que el ID de cliente utilizado para iniciar sesión en account.lox24.eu
  • API_KEY - un token de API activo de tipo 'API Kannel'. Cómo crearlo ver here.

Encadenamiento de URL DLR

Nosotros enviaremos los informes de entrega a Kannel, que a su vez enviará los DLR a su endpoint.

Para utilizar la API de Kannel, basta con crear una nueva configuración SMSC:

  group = smsc
  smsc = http
  system-type = kannel
  smsc-id = "lox24"
  allowed-smsc-id = "lox24"
  port = 10443
  send-url = "https://lox24.eu/api/kannel/{SERVICE_CODE}.php"
  smsc-username = "{USER_ID}"
  smsc-password = "{API_KEY}"
  dlr-url = "http://youhosthere.com:10443/?username={USER_ID}&password={API_KEY}"
  connect-allow-ip = "127.0.0.1;213.133.127.70;116.203.64.153;85.10.245.*"
  max-sms-octets = 1530

Donde:

  • SERVICE_CODE - cualquier código de servicio disponible para su cuenta en minúsculas por ejemplo, "text2speech", "direct", etc.
  • USER_ID - su ID de cuenta, el mismo que el ID de cliente utilizado para iniciar sesión en account.lox24.eu
  • API_KEY - un token de API activo de tipo 'API Kannel'. Cómo crearlo ver *aquí.

Notas adicionales

Sin DLR, pero con notificaciones LOX24

Si configura API v2 Status URL/E-mail en la cuenta web de lox24 podrá omitir el parámetro dlr-url y recibir notificaciones de mensajes de la misma forma que si enviara SMS mediante nuestra API v2 normal directamente a un script en su servidor o por correo [docs]. (/#tag/SMS-delivery-report-codes-(DLR))

Puerto SMSC

En los ejemplos de configuración de SMSC se utiliza el puerto 10443, pero puede ser cualquier puerto que desee. Recomendamos encarecidamente bloquearlo por el cortafuegos y permitir conexiones TCP desde los servidores LOX24 (116.203.64.153,213.133.127.70,85.10.245.*) y hosts conocidos.

Variables DLR soportadas

LOX24 Kannel API es una implementación mínima de Kannel y sólo soporta las siguientes variables:

  • %d - Tipo de informe Kannel (entero):

    • 1: Entregado al teléfono
    • 2: No entregado al teléfono
    • 4: En cola en SMSC
    • 8: Entregado a SMSC
    • 16: No entregado a SMSC
  • %q - El número de teléfono internacional (E.164) que recibirá el mensaje.

  • %T - La hora del informe de entrega expresada en segundos desde la época UNIX.

Nota: Puede utilizar cualquier otra variable, pero no podemos garantizar que los datos sean correctos.

Parámetros

from

(obligatorio)

ID del remitente del mensaje. Puede ser un número (hasta 15 dígitos) o un texto (hasta 11 caracteres). Si se trata de un número, utilice preferentemente el formato de número de teléfono E.164. Un remitente de texto puede contener espacios pero no otros caracteres especiales. Tenga en cuenta que algunos países no admiten identificadores de remitente propios o exigen un registro previo. Nuestro sistema intenta detectar automáticamente si un ID de remitente es un texto o un número de teléfono. Evite los caracteres especiales en un número e introdúzcalo de la misma forma que se marcaría en un teléfono.

to

(obligatorio)

Número de destinatario (internacional)

text

(obligatorio)

El texto del mensaje puede tener una longitud de hasta 1530 caracteres. Con un SMS Unicode, la longitud máxima de caracteres se reduce a 670 caracteres. La codificación interna es UTF-8.

coding

(opcional)

Puedes enviar un SMS con el parámetro 'coding':

0 - GSM 03.38 (default), 1 - 8-bit or 2 - UCS-2 encoding.

En nuestro caso, 8 bits y UCS-2 son lo mismo (is_unicode = true) y se tratarán como SMS unicode.

dlr-url

(opcional)

Especifique una URL y pídanos que la llamemos para informarle del estado de la entrega. Si no se especifica el parámetro 'dlr-url', se utilizará API v2 DLR endpoint from user's settings (si está configurado).

deferred

(opcional)

Si se da, el centro de SMS pospondrá el mensaje para que se entregue en el momento más esta cantidad de minutos. Si se omite, el SMS se enviará lo antes posible.

Ejemplo de solicitud

Ese ejemplo de solicitud get que el usuario envía a su smsbox de Kannel que está a la escucha en el puerto 9001.

http://127.0.0.1:9001/cgi-bin/sendsms?dlr-url=http://yourhost.com/dlr_test.php?status=%d%26time=%T%26q=%q%26customid=1234567&from=sender&password=test1&smsc=lox24&text=test%20message&to=+49751234567&username=test1&coding=0

Consejos

Añade a una url DLR un parámetro personalizado con el ID interno del mensaje para procesar correctamente la petición DLR. En nuestro ejemplo es un customid = 1234567.

SMS Entrantes y SMS de Respuesta

Las notas de la versión le informan de las novedades de la API. Como siempre, agradecemos su feedback.

2.20 (2025-08-20)

Añadido

  • Encabezados de respuesta: todas las respuestas de la API incluyen ahora un encabezado único X-LOX24-REQUEST-ID con fines de asistencia técnica y seguimiento.

2.19 (2025-08-15)

Cambiado

  • Reorganización de la especificación OpenAPI - Importante reestructuración con múltiples errores semánticos corregidos
  • Representación de la documentación - Sustitución de la representación dinámica del navegador OpenAPI JSON por páginas HTML compiladas estáticas.

Añadido

  • Webhooks documentación - Añadido webhooks descripción completa y detalles de implementación
  • Nuevos eventos webhook para análisis de Email a SMS: sms.email.parsing.success y sms.email.parsing.fail

2.18 (2023-10-03)

Nuevo

2.17 (2023-06-28)

Nuevo

-SMS y SMS masivo propiedad is_text_deleted del endpoint Simular el envío de un SMS (para pruebas) and Crear el Bulk

2.16 (2023-01-09)

Nuevo

2.15 (2022-10-25)

Nuevo

2.14 (2022-08-17)

Nuevo

  • Añadidas las propiedades de sólo lectura de los teléfono subscribed_at, unsubscribed_at y unsubscribed_reason (ver API de Teléfonos )

2.13 (2022-08-01)

Nuevo

2.12 (2022-05-05)

Nuevo

2.11 (2022-03-31)

Nuevo

2.10 (2021-09-23)

Nuevo

Se corrigió

  • Por defecto, la lista de SMS entrantes se ordena por valores decrecientes del campo received_at.

2.9 (2021-05-06)

Nuevo

  • Se ha añadido la posibilidad de autenticarse utilizando la nueva versión de la clave API con una única cabecera X-LOX24-AUTH-TOKEN, la cabecera X-LOX24-AUTH-CLIENT-ID está obsoleta y no se recomienda su uso.

2.8.1 (2021-04-01)

Nuevo

  • Mensajes de voz. Añadida la propiedad ```voice_lang`` a los objetos de petición/respuesta SMS y Bulk.

2.8.0 (2021-02-21)

Nuevo

  • Bloquear temporalmente la dirección IP tras varios intentos de autenticación no válidos.

2.7.1 (2021-02-16)

Se corrigió

2.7 (2020-07-17)

Nuevo

2.6 (2020-06-23)

Nuevo

  • Se ha añadido la posibilidad de enviar SMS con datos adicionales que se devolverán al punto final DLR.

2.5 (2020-06-10)

Desarrollador

  • Añadido código de ejemplo por endpoints de Teléfonos y Grupos.

2.4 (2020-05-29)

Desarrollador

  • Añadido código de ejemplo en GoLang, Java y Python.

2.3 (2020-05-25)

Nuevo

  • Añadido filtro booleano de la lista de Bulks GET /bulks por la propiedad is_dryrun.
  • Añadida la propiedad timestamp balance_changed_at al endpoint GET /me.

2.2 (2020-05-19)

Nuevo

  • Creados los endpoints GET /incomings y GET /incomings/{id} para recuperar información sobre SMS entrantes y relacionados.
  • Activado el webhook de informe DLR en la petición POST /sms/dryrun.
  • Se agregó el filtro exact por key_id en GET /bulks y GET /sms.

Desarrollador

  • Añadido código de ejemplo en PHP, C# y Javascript por /sms, /bulks y /incomings endpoints.
  • Sección añadida SMS entrantes y SMS de respuesta sobre los SMS entrantes.

Se corrigió

  • Se ha corregido un error relacionado con el almacenamiento de la dirección IP, la fecha y la hora del último uso de la clave de API.

2.1 (2020-03-18)

Nuevo

  • La función que le ayuda a hacer bulk sms en una sola petición HTTP:
    • con plantilla de texto y grupos de contactos
    • cálculo preliminar del coste de los SMS masivos
    • respuesta rápida del servidor y procesamiento asíncrono
    • opción de cancelación de SMS masivos incluso durante el procesamiento Endpoint nuevo POST /groups/{id}/phones/batch
    • combinar varios POST /groups/{id}/phones to an one request
  • Filtros implementados GET /sms por la propiedad bulk.
  • Filtros implementados GET /bulks por la propiedad source.
  • Añadida información de ID de clave API a las respuestas sms y bulks

Se corrigió

  • Añadida propiedad price al objeto de respuesta SMS
  • Descripción de los parámetros de autorización en la documentación de la API

2.0-beta (2019-12-15)

Nuevo

  • La API v2.0 se ha desarrollado de acuerdo con las normas del sector para facilitar al máximo la integración. Además, ahora puedes transmitir grandes cantidades de SMS con una sola consulta y recuperar información detallada sobre los mensajes en cualquier momento.

  • La amplia funcionalidad de grupo le permite gestionar sus listas de correo en nuestra nube de alto rendimiento y ahorrar así sus propios recursos. Todo ello sin dejar de cumplir las normas europeas de protección de datos y la Ley alemana de Telecomunicaciones.

Desarrollador

Encontrará la descripción de la nueva API en https://doc.lox24.eu/

SSML y detección de idiomas

Detección del idioma de la voz

El idioma de voz será detectado automáticamente por el número de teléfono de destino si la propiedad voice_lang es ```null`` por seguir las reglas:

Lengua alemana (DE)

Si el idioma por defecto es nulo, entonces por número de teléfono de destino con prefijo: '+49', '+41', '+43', '+79'.

Lengua española (ES)

Si el idioma por defecto es nulo, entonces por número de teléfono de destino con prefijo: '+52', '+57', '+34', '+54', '+51', '+58', '+56', '+593', '+502', '+53', '+591', '+504', '+595', '+503', '+505', '+506', '+507', '+598', '+240'.

SSML Support

The API now supports a subset of SSML (Speech Synthesis Markup Language) for advanced voice message formatting.

Supported Features

Available Tags
  • <break> - Insert pauses in speech
  • <say-as> - Control pronunciation of text

Tag Specifications

<break> Tag
  • Purpose: Add pauses between words or sentences
  • Attributes: time (e.g., "1s", "500ms")
  • Precios: <0,5ms = 1 carácter, <1s = 2 caracteres, <1,5s = 3 caracteres, etc.
<say-as> Tag
  • Purpose: Control how text is interpreted and spoken
  • Supported Attributes:
    • interpret-as="characters" - Spell out text character by character
  • Note: Currently only "characters" value is supported

Usage

Wrap your message content with the <speak> root element:

<speak>
  Your verification code is <say-as interpret-as="characters">A1B2C3</say-as>.
  <break time="1s"/>
  Please enter it now.
</speak>

Email to SMS

Envío de SMS por correo electrónico

Puedes enviar mensajes SMS por correo electrónico de dos formas distintas: enviando un único SMS a un número de teléfono concreto o enviando un SMS a un grupo de números de teléfono.

Enviar un solo SMS

Para enviar un único SMS, el correo electrónico debe tener el siguiente formato:

{{user_id}}.{{api_key}}.{{phone}}.{{service_code}}.{{sender_id}}.{{text_source}}.{{encoding}}.{{max_sms_parts}}@mail2sms.lox24.eu

Envío a varios números de teléfono (SMS de grupo)

Para enviar un SMS a los números de teléfono de un grupo específico, utilice el siguiente formato:

{{user_id}}.{{api_key}}.{{group_id}}.{{service_code}}.{{sender_id}}.{{text_source}}.{{encoding}}.{{max_sms_parts}}@email2bulk.lox24.eu
Parameters:
Orde Etiqueta Descripción
1 user_id Id. de usuario (entero)
2 api_key Clave API "Email2SMS" desde la página de configuración de la clave API ("Configuración" -> "Configuración API")
3 phone/group_id Para SMS individuales, es el número de teléfono en formato E.164 sin el "+" inicial. Para los SMS de grupo, es el Id. de grupo que puede encontrar en su cuenta web o solicitar por API.
4 service_code Código de servicio "text2speech", "direct" (por defecto)
5 sender_id Id de remitente: un número entero de 1 a 6 (por defecto 1). Si no se encuentra el identificador del remitente, el valor predeterminado es "email2sms".
6 text_source Text source: 0 - subject + body (by default), 1 - subject, 2 - body
7 encoding An integer: 0 - normal GSM (default), 1 - unicode, 2 - auto-detecting (por el texto completo de la solicitud)
8 max_sms_parts Un número entero entre 1 y 10. El valor por defecto es 1. Hay un límite en la longitud del texto cuando se analiza el correo electrónico. Los caracteres adicionales se utilizan para la concatenación en mensajes más largos que los límites estándar.

Direcciones de correo electrónico Ejemplos

Ejemplos de SMS de grupo

Enviar SMS a teléfonos por un id de grupo = 12345 (parámetros mínimos)

1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.12345@email2bulk.lox24.eu

Enviar SMS a teléfonos por un id de grupo = 12345 con servicio 'directo'

1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.12345.direct@email2bulk.lox24.eu

Enviar SMS a teléfonos por un id de grupo = 12345 con servicio 'directo' y con id de remitente = 2

1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.12345.direct.2@email2bulk.lox24.eu

Enviar SMS a teléfonos por un id de grupo = 12345 con servicio 'directo', con id de remitente = 2, y texto del asunto del email

1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.12345.direct.2.1@email2bulk.lox24.eu

Enviar SMS a teléfonos por un id de grupo = 12345 con servicio 'directo', con id de remitente = 2, con texto del asunto del email, y codificación auto-detección

1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.12345.direct.2.1.2@email2bulk.lox24.eu
Ejemplos de SMS sencillos

Enviar SMS a un único número de teléfono "+1234567890" (parámetros mínimos)

1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.1234567890@mail2sms.lox24.eu

Enviar SMS a un único número de teléfono "+1234567890" con el servicio 'directo'.

1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.1234567890.direct@mail2sms.lox24.eu

Enviar SMS a un único número de teléfono "+1234567890" con servicio 'directo' e id de remitente = 2

1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.1234567890.direct.2@mail2sms.lox24.eu

Enviar SMS a un único número de teléfono "+1234567890" con servicio 'directo', con id de remitente = 2, y texto del asunto del email

1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.1234567890.direct.2.1@mail2sms.lox24.eu

Enviar SMS a un único número de teléfono "+1234567890" con servicio 'directo', con id de remitente = 2, con texto del asunto del email, y codificación auto-detección

1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.1234567890.direct.2.1.2@mail2sms.lox24.eu

Respuestas sobre errores

La mayoría de los errores se ignoran para reducir las inundaciones no deseadas, incluidos los errores relacionados con la autenticación. Pero para algunos errores, el sistema envía una respuesta JSON con una descripción del error.

Error JSON

Propiedad Descripción
field Campo de error en la solicitud
description Descripción del error
request EMail dirección a la que se envió la solicitud
Ejemplo

{"field":"group_id","description":"Group with id = 12345 was not found!","request":"1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.12345.direct@email2bulk.lox24.eu"}

Aviso de reenvío de correo electrónico

Tenga en cuenta que la pasarela de correo no funciona con el reenvío de correo electrónico. El correo electrónico debe enviarse directamente al buzón de la pasarela Mail2SMS.

Tipos de transporte de acontecimientos

Notificaciones

El sistema de mensajería de eventos se creó en sustitución del anticuado sistema de notificación del estado de entrega de sms salientes y entrantes (estos sistemas se consideran obsoletos, no se mejorarán y no se recomienda su uso).

El sistema de mensajería de eventos permite enviar información sobre eventos concretos a URIs específicas (http o correo electrónico). Puede personalizar el sistema para enviar notificaciones de un evento a diferentes URI.

Para configurar las notificaciones, abra la página de configuración (account.lox24.eu -> Configuración -> Notificaciones), haga clic en "Crear un nuevo webhook" e introduzca en el campo URI la dirección http o el correo electrónico al que desea recibir las notificaciones. Por defecto, todos los eventos posibles se enviarán a la URI especificada. Si sólo desea recibir notificaciones sobre determinados eventos, marque la casilla situada junto a los eventos sobre los que desea recibir notificaciones.

Si necesita notificaciones adicionales, repita las instrucciones anteriores. Se puede crear un máximo de cinco notificaciones individuales.

La información del evento se notificará en formato de objeto JSON, que tiene el mismo formato para todos los eventos y sólo difiere en los datos del propio evento.

Estructura del objetivo del evento

Campo Tipo Descripción
id string (36 chars) ID del evento
api_version string Versión de la estructura de datos
name string Nombre de evento E.j. 'sms.delivery'
created_at integer Unix timestamp cuando el evento fue creado
attempt_total integer Número total de intentos (reintentos).
attempt_number integer Número actual de intentos
data object Datos del evento (ver lista de eventos)
notification_task_id string (36 chars) ID de la tarea de notificación (identificador de la solicitud)
Ejemplo de evento
{
  "id": "a3cd6e19-8af2-498d-ad07-c7840f1b4ac8",
  "data": {
    "id": "d6c12ac4-cc7d-11ec-b6da-525400bbb7dc",
    "key_id": 8207,
    "dlr_code": 1,
    "status_code": 100,
    "callback_data": "some data from user's request here"
  },
  "name": "sms.delivery",
  "created_at": 1653378603,
  "api_version": "2022-05-25",
  "attempt_number": 1,
  "attempts_total": 4,
  "notification_task_id": "3378de83-de66-4de8-9d29-2b10d41bb641"
}

Tipos de transporte de acontecimientos

El sistema de notificación puede enviar información de eventos de dos maneras (transportes): HTTP y Correo electrónico

HTTP

El json se envía como cuerpo de la petición http con la cabecera Content-Type: application/json. El servicio continuará intentando enviar la petición (a intervalos de tiempo crecientes) hasta que reciba una respuesta con un código de estado >= 200 y < 300 o el número de intentos alcance el valor especificado en el campo número_de_intentos.

NOTA: La respuesta de su script de punto final no se tiene en cuenta, por lo que debe supervisar su script. En caso de mal funcionamiento no hay notificación por nuestra parte.

E-mail

El json se envía como cuerpo del email con un único intento desde un email no-reply@lox24.eu.

Servicio de hosts y direcciones IP

Las alertas se envían desde los siguientes hosts 162.55.80.140 y 162.55.80.141. Si utilizas un cortafuegos, no olvides poner esas direcciones IP en la lista blanca.

Lista de Eventos