Ir al contenido

Crear un código de verificación

POST
/verify_codes

Inicia un proceso de verificación creando un nuevo código de verificación con una estrategia de enrutamiento especificada.

Media type application/json

Payload de escritura de código de verificación. Crea una nueva solicitud de código de verificación con una estrategia de enrutamiento de varios pasos.

object
phone
required

Número de teléfono del destinatario en formato internacional (ej. +491701234567).

string
>= 5 characters <= 30 characters
code

Código de verificación personalizado. Si no se proporciona, se genera automáticamente un código numérico aleatorio basado en code_length.

string | null
>= 4 characters <= 8 characters
code_length

Longitud del código de verificación generado automáticamente. Se utiliza solo cuando no se proporciona code. Predeterminado: 4.

integer | null
default: 4 >= 4 <= 8
lang

Idioma para la plantilla de mensaje predeterminada. Determina el idioma del texto SMS/Voz generado automáticamente cuando no se proporciona una template personalizada. No aplica para el canal telegram — Telegram siempre envía un mensaje del sistema en el idioma de la aplicación Telegram del usuario.

string
default: DE
Allowed values: EN DE FR IT ES PL NL RO PT CS HU SV DA FI SK HR TR RU BG UK
payload

Datos personalizados que se almacenarán con el código de verificación y se devolverán en los eventos de webhook. Útil para correlacionar las solicitudes de verificación con sus sistemas internos.

string | null
<= 128 characters
is_code_deleted

Si es true, el código de verificación se eliminará del almacenamiento después de haberse enviado al destinatario. Predeterminado: false.

boolean | null
routing_strategy
required

Lista ordenada de canales de entrega. Cada paso define un canal para intentar. Si un canal falla o expira, se intenta el siguiente paso. Se requiere al menos un paso. El canal sms solo puede ser el último paso. No se permiten canales duplicados.

Array<object>
object
channel
required

Canal de entrega para este paso.

string
Allowed values: telegram voice sms
timeout_sec

Tiempo en segundos para esperar una respuesta de este canal antes de recurrir al siguiente paso. Solo aplicable para el canal de telegram. Si no se establece, se utiliza un valor predeterminado del sistema.

integer | null
default: 30 >= 30 <= 3600
sender_id

Identificador del remitente para canales SMS y Voice. Para SMS, este es el número de teléfono o ID alfanumérico del remitente que se muestra en el dispositivo del destinatario. Validado con los IDs de remitente permitidos de su cuenta.

string | null
template

Plantilla de mensaje personalizada para canales sms o voice. Use {{code}} como marcador de posición para el código de verificación. Si no se proporciona, se utiliza una plantilla traducida predeterminada basada en el campo lang. Para el canal voice, el texto se envuelve automáticamente en etiquetas SSML <speak>. Ignorado para el canal telegram.

string | null
<= 70 characters
Examples

Verify code with multi-channel routing

Create a verification code with a 3-step routing strategy: Telegram, Voice, and SMS.

{
"phone": "+491701234567",
"code": "1234",
"is_code_deleted": false,
"payload": "yours payload here",
"lang": "EN",
"routing_strategy": [
{
"channel": "telegram",
"timeout_sec": 30
},
{
"channel": "voice",
"sender_id": "LOX24",
"template": "Your code is {{code}}"
},
{
"channel": "sms",
"sender_id": "LOX24",
"template": "Your code is {{code}}"
}
]
}

Verify code created and delivery process started

Media type application/json

Respuesta de lectura del código de verificación. Contiene los detalles completos de la solicitud del código de verificación, incluyendo el estado actual, el historial de entrega y la información de costos.

object
id

Identificador único (UUID) de la solicitud del código de verificación.

string
user_id

ID del usuario que creó la solicitud del código de verificación.

integer
phone

Número de teléfono del destinatario en formato internacional.

string
code

El valor del código de verificación. Si se estableció is_code_deleted y la tarea se completó, el código estará ausente.

string | null
code_length

Longitud del código de verificación.

integer | null
lang

Idioma utilizado para la plantilla del mensaje.

string
Allowed values: EN DE FR IT ES PL NL RO PT CS HU SV DA FI SK HR TR RU BG UK
routing_strategy

Lista ordenada de canales de entrega que se configuraron para esta solicitud.

Array<object>
object
channel

Tipo de canal de entrega.

string
Allowed values: telegram voice sms
timeout_sec

Tiempo de espera en segundos antes de recurrir al siguiente paso. Solo aplicable para el canal de telegram.

integer | null
sender_id

Identificador del remitente utilizado para este canal.

string | null
template

Plantilla de mensaje personalizada utilizada para este canal.

string | null
status

Estado actual del código de verificación: 0 = Nuevo, 5 = En progreso, 10 = Éxito, 20 = Fallido, 100 = Error.

integer
Allowed values: 0 5 10 20 100
delivered_channel

El canal que entregó exitosamente el código de verificación. Null si aún no se ha entregado o si la entrega falló.

string | null
Allowed values: telegram voice sms
cost

Costo total de la solicitud de verificación en céntimos de euro. Null hasta que se complete el procesamiento.

integer | null
currency

Código de moneda para el costo.

string | null
payload

Datos de payload personalizados de la solicitud original.

string | null
created_at

Marca de tiempo Unix de cuándo se creó el código de verificación.

integer
updated_at

Marca de tiempo Unix de la última actualización.

integer
history

Historial de procesamiento para cada intento de canal. Una entrada por paso de enrutamiento.

Array<object>
object
id

UUID de la entrada del historial.

string
channel

Tipo de canal para este intento.

string
Allowed values: telegram voice sms
status

Estado de este intento de canal: 0 = Nuevo, 5 = En progreso, 10 = Éxito, 20 = Fallido, 100 = Error.

integer
processed_at

Marca de tiempo Unix de cuándo se procesó este paso.

integer
external_id

ID del mensaje del proveedor externo.

string | null
is_code_deleted

Si el código de verificación ha sido eliminado del almacenamiento después de ser enviado al destinatario.

boolean | null
Examples
Example multi_channel

Verify code response with multi-channel routing

Successful response after creating a verification code with a 3-step routing strategy. Telegram and voice channels failed, SMS succeeded.

{
"id": "d7ad7539-fb8f-4dbb-a7f7-7c40babec969",
"user_id": 12345,
"phone": "+491701234567",
"routing_strategy": [
{
"channel": "telegram",
"timeout_sec": 30
},
{
"channel": "voice",
"sender_id": "LOX24",
"template": "Your code is {{code}}"
},
{
"channel": "sms",
"sender_id": "LOX24",
"template": "Your code is {{code}}"
}
],
"status": 10,
"delivered_channel": "sms",
"cost": 120,
"currency": "EUR",
"code": "1234",
"code_length": 4,
"payload": "yours payload here",
"lang": "EN",
"created_at": 1779903448,
"updated_at": 1779903510,
"history": [
{
"id": "bccaff09-59f2-11f1-a685-7c10c91d54a1",
"channel": "telegram",
"status": 20,
"processed_at": 1779903478,
"external_id": "tg_msg_001"
},
{
"id": "bccaff09-59f2-11f1-a685-7c10c91d54a2",
"channel": "voice",
"status": 20,
"processed_at": 1779903490,
"external_id": "voice_msg_002"
},
{
"id": "bccaff09-59f2-11f1-a685-7c10c91d54a3",
"channel": "sms",
"status": 10,
"processed_at": 1779903510,
"external_id": "sms_msg_003"
}
],
"is_code_deleted": false
}

Entrada no valida

El ID de cliente o la clave API no están activos o no son válidos.

No hay fondos suficientes en su cuenta.

La cuenta no está activada. Espere o póngase en contacto con el servicio de asistencia.

La solicitud estaba bien formada pero no se pudo procesar debido a errores semánticos

La dirección IP fue bloqueada temporalmente, ya que durante poco tiempo se enviaron muchas solicitudes con credenciales no válidas. Espere y pruebe más tarde.

Code Samples

#!/usr/bin/env bash
curl -X POST https://api.lox24.eu/verify_codes \
-H 'Content-Type: application/json' \
-H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx' \
-d '{
"phone": "+491701234567",
"code": "1234",
"is_code_deleted": false,
"payload": "yours payload here",
"lang": "EN",
"routing_strategy": [
{
"channel": "telegram",
"timeout_sec": 30
},
{
"channel": "voice",
"sender_id": "LOX24",
"template": "Your code is {{code}}"
},
{
"channel": "sms",
"sender_id": "LOX24",
"template": "Your code is {{code}}"
}
]
}'