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
Sección titulada «Authorizations »Parameters
Sección titulada « Parameters »Query Parameters
Sección titulada «Query Parameters »Página actual
Buscar muchos SMS por los identificadores únicos
UUID único de entidad
Buscar un SMS por el identificador único
Sort order direction (ascending or descending)
Ordenar por marca de tiempo cuando se creó la entidad
Sort order direction (ascending or descending)
Ordenar por fecha y hora en que el mensaje fue/debió ser transmitido a la red móvil
Sort order direction (ascending or descending)
Ordenar por marca de tiempo cuando la entidad fue cambiada por última vez
Sort order direction (ascending or descending)
Ordenar por los recuentos totales de los SMS relacionados
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.
Partial filtro de texto sin distinción entre mayúsculas y minúsculas SMS por el texto del mensaje
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.
Para mensajes de voz (text2speech, text2speech_ssml): si sender_id no cumple con el formato E.164 (por ejemplo, sin el prefijo +, con caracteres no numéricos), el mensaje se enviará desde el número predeterminado del sistema +493075435114. Algunos proveedores de telefonía posteriores pueden anular o no respetar el número de remitente definido por el usuario — el identificador de llamada real presentado al destinatario depende de las capacidades del proveedor.
Partial texto Filtro de SMS sin distinción entre mayúsculas y minúsculas por el número o el texto del remitente
Estados del Bulk:
0- nuevo y no procesado5- bulks en progreso10- bulks fueron pocesados exitosamente15- bulk el tratamiento fue cancelado por el usuario20- Error de sistema201- error: no se han encontrado destinatarios
Exact filtrar Bulks por el código de estado
Exact filtrar Bulks por los códigos de estado
Fecha en la que se añadió la entidad al sistema por el usuario
Exact filtrar entidades por la fecha de creación
Exact y range filtrar entidades por las marcas de tiempo de creación
Unix-timestamp de una entrega programada. Si 0 SMS se entrega inmediatamente.
Exact filtrar SMS por la fecha y hora de entrega
Exact y range filtrar SMS por las marcas de tiempo de entrega
Fecha de los últimos cambios
Exact filtrar entidades por la fecha y hora de los últimos cambios
Exact y range filtrar entidades por las marcas de tiempo de los últimos cambios
Recuento de los mensajes creados por el bulk
Exact filtrar Bultos por el recuento total de los SMS en el bulto
Exact y range filtrar Bulks por los recuentos totales de los SMS relacionados
Exact filtrar SMS por las fuentes
Exact y range filtrar SMS por las fuentes
Identificador de clave API
Exact filtrar entidades por la clave API utilizada
Exact filtrar entidades por las claves API utilizadas
Boolean filtrar SMS por el is_unicode para distinguir entre mensajes GSM y Unicodes
Boolean filtrar Bulks por el campo is_dryrun para distinguir el tipo de Bulk
Boolean y exists filtrar Bulks por el campo is_unicode para distinguir entre mensajes GSM y Unicode
Responses
Sección titulada « Responses »Bulks collection
object
JSON-LD ID
JSON-LD type
Total number of items in the collection
Bulk SMS status summary (JSON-LD)
object
JSON-LD ID
JSON-LD type
UUID único de entidad
Unix-timestamp de una entrega programada. Si 0 SMS se entrega inmediatamente.
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.
Para mensajes de voz (text2speech, text2speech_ssml): si sender_id no cumple con el formato E.164 (por ejemplo, sin el prefijo +, con caracteres no numéricos), el mensaje se enviará desde el número predeterminado del sistema +493075435114. Algunos proveedores de telefonía posteriores pueden anular o no respetar el número de remitente definido por el usuario — el identificador de llamada real presentado al destinatario depende de las capacidades del proveedor.
Estados del Bulk:
0- nuevo y no procesado5- bulks en progreso10- bulks fueron pocesados exitosamente15- bulk el tratamiento fue cancelado por el usuario20- Error de sistema201- error: no se han encontrado destinatarios
Recuento de los mensajes creados por el bulk
Fecha en la que se añadió la entidad al sistema por el usuario
Fecha de los últimos cambios
Dirección IP del host que envió la solicitud
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
Tipo de bulk ‘dryrun’ o no
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).
El código de servicio define si envía un sms directo o text2speech. Recomendamos directo (see /me)
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.
Idioma del mensaje de voz. Valores posibles: null (detección automática) o uno de: EN (inglés), DE (alemán), FR (francés), IT (italiano), ES (español), PL (polaco), NL (neerlandés), RO (rumano), PT (portugués), CS (checo), HU (húngaro), SV (sueco), DA (danés), FI (finés), SK (eslovaco), HR (croata), TR (turco), RU (ruso), BG (búlgaro), UK (ucraniano).
Borrar texto SMS de la base de datos después de enviar SMS
Coste de los mensajes creados por el bulk
URL to get the list of the bulk’s messages requests
object
object
Examples
Bulks list (JSON-LD)
Example response for GET /bulks with Accept: application/ld+json
{ "@context": "/contexts/Bulk", "@id": "/bulks", "@type": "Collection", "totalItems": 2, "member": [ { "@id": "/bulks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", "@type": "Bulk", "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "delivery_at": 0, "sender_id": "testbulk", "status_code": 10, "msg_total_count": 1000, "created_at": 1755868416, "processed_at": 1755868500, "ip": "10.1.1.1", "is_unicode": false, "is_dryrun": false, "callback_data": null, "service_code": "direct", "key_id": 8291, "source": 0, "voice_lang": null, "is_text_deleted": false, "msg_total_cost": 56, "requests": "/bulks/a1b2c3d4-e5f6-7890-abcd-ef1234567890/requests" }, { "@id": "/bulks/b2c3d4e5-f6a7-8901-bcde-f12345678901", "@type": "Bulk", "uuid": "b2c3d4e5-f6a7-8901-bcde-f12345678901", "delivery_at": 1755954816, "sender_id": "testbulk", "status_code": 5, "msg_total_count": 50, "created_at": 1755868500, "processed_at": 1755868600, "ip": "10.1.1.1", "is_unicode": null, "is_dryrun": false, "callback_data": null, "service_code": "direct", "key_id": null, "source": 0, "voice_lang": null, "is_text_deleted": false, "msg_total_cost": 3.5, "requests": "/bulks/b2c3d4e5-f6a7-8901-bcde-f12345678901/requests" } ], "search": { "@type": "IriTemplate", "template": "/bulks{?page,uuid,uuid[],_order[created_at],_order[delivery_at],_order[processed_at],_order[msg_total_count],text,sender_id,status_code,status_code[],created_at,created_at[],delivery_at,delivery_at[],processed_at,processed_at[],msg_total_count,msg_total_count[],source,source[],key_id,key_id[],is_unicode,is_dryrun,exists[is_unicode]}", "variableRepresentation": "BasicRepresentation", "mapping": [] }}Bulk SMS status summary
object
UUID único de entidad
Unix-timestamp de una entrega programada. Si 0 SMS se entrega inmediatamente.
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.
Para mensajes de voz (text2speech, text2speech_ssml): si sender_id no cumple con el formato E.164 (por ejemplo, sin el prefijo +, con caracteres no numéricos), el mensaje se enviará desde el número predeterminado del sistema +493075435114. Algunos proveedores de telefonía posteriores pueden anular o no respetar el número de remitente definido por el usuario — el identificador de llamada real presentado al destinatario depende de las capacidades del proveedor.
Estados del Bulk:
0- nuevo y no procesado5- bulks en progreso10- bulks fueron pocesados exitosamente15- bulk el tratamiento fue cancelado por el usuario20- Error de sistema201- error: no se han encontrado destinatarios
Recuento de los mensajes creados por el bulk
Fecha en la que se añadió la entidad al sistema por el usuario
Fecha de los últimos cambios
Dirección IP del host que envió la solicitud
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
Tipo de bulk ‘dryrun’ o no
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).
El código de servicio define si envía un sms directo o text2speech. Recomendamos directo (see /me)
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.
Idioma del mensaje de voz. Valores posibles: null (detección automática) o uno de: EN (inglés), DE (alemán), FR (francés), IT (italiano), ES (español), PL (polaco), NL (neerlandés), RO (rumano), PT (portugués), CS (checo), HU (húngaro), SV (sueco), DA (danés), FI (finés), SK (eslovaco), HR (croata), TR (turco), RU (ruso), BG (búlgaro), UK (ucraniano).
Borrar texto SMS de la base de datos después de enviar SMS
Coste de los mensajes creados por el bulk
URL to get the list of the bulk’s messages requests
Examples
Bulks list
Example response for GET /bulks with Accept: application/json
[ { "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "delivery_at": 0, "sender_id": "testbulk", "status_code": 10, "msg_total_count": 1000, "created_at": 1755868416, "processed_at": 1755868500, "ip": "10.1.1.1", "is_unicode": false, "is_dryrun": false, "callback_data": null, "service_code": "direct", "key_id": 8291, "source": 0, "voice_lang": null, "is_text_deleted": false, "msg_total_cost": 56, "requests": "/bulks/a1b2c3d4-e5f6-7890-abcd-ef1234567890/requests" }, { "uuid": "b2c3d4e5-f6a7-8901-bcde-f12345678901", "delivery_at": 1755954816, "sender_id": "testbulk", "status_code": 5, "msg_total_count": 50, "created_at": 1755868500, "processed_at": 1755868600, "ip": "10.1.1.1", "is_unicode": null, "is_dryrun": false, "callback_data": null, "service_code": "direct", "key_id": null, "source": 0, "voice_lang": null, "is_text_deleted": false, "msg_total_cost": 3.5, "requests": "/bulks/b2c3d4e5-f6a7-8901-bcde-f12345678901/requests" }]Entrada no valida
El ID de cliente o la clave API no están activos o no son válidos.
La cuenta no está activada. Espere o póngase en contacto con el servicio de asistencia.
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 bashcurl -X GET https://api.lox24.eu/bulks \ -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'using Newtonsoft.Json.Linq;using System;using System.IO;using System.Net;using System.Text;
namespace Lox24.Api{ class client { static void Main() { string key = "1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx"; string url = "https://api.lox24.eu/bulks?_order[created_at]=desc";
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url); httpWebRequest.ReadWriteTimeout = 100000; httpWebRequest.Accept = "application/json"; // or "application/ld+json" httpWebRequest.Method = "GET"; //httpWebRequest.KeepAlive = true; httpWebRequest.Headers.Add("X-LOX24-AUTH-TOKEN", key); httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;
try { using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse()) { int respCode = (int)resp.StatusCode; Console.WriteLine("Success:{0} {1}", respCode, "bulks collection response");
Stream respStream = resp.GetResponseStream(); using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8)) { string responseText = sr.ReadToEnd(); Console.WriteLine("responseText : {0}", responseText); } } } catch (System.Net.WebException ex) { var webResponse = ex.Response as System.Net.HttpWebResponse; Console.WriteLine("Error:{0}", webResponse.StatusCode);
switch (webResponse.StatusCode) { case HttpStatusCode.Unauthorized: // 401 Console.WriteLine("Error:401 Client ID or API key isn't active or invalid!"); break; case HttpStatusCode.Forbidden: // 403 Console.WriteLine("Error:403 Account isn't activated. Please wait or contact to support!"); break; case HttpStatusCode.InternalServerError: // 500 case HttpStatusCode.BadGateway: //502 case HttpStatusCode.ServiceUnavailable: // 503 case HttpStatusCode.GatewayTimeout: // 504 Console.WriteLine("System error! Please contact to LOX24 support!"); break; } } } }package main
import ( "fmt" "io/ioutil" "log" "net/http")
func main() {
const Method = "GET" const URL = "https://api.lox24.eu/bulks?sender_id=testsender" const Token = "1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx"
client := &http.Client{}
req, err := http.NewRequest(Method, URL, nil) if err != nil { log.Fatal(err) }
req.Header.Add("X-LOX24-AUTH-TOKEN", Token) req.Header.Add("Accept", "application/json")
res, err := client.Do(req) if err != nil { log.Fatal(err) }
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body) if err != nil { log.Fatal(err) }
switch res.StatusCode { case 200: fmt.Println((string(body))) case 401: fmt.Println("Error: code = 401 - Client ID or API key isn't active or invalid!") case 403: fmt.Println("Error: code = 403 - Account isn't activated. Please wait or contact to support!") default: fmt.Printf("Error: code = %d\n", res.StatusCode) }}package eu.lox24.doc.bulks;
import java.io.IOException;import java.net.HttpURLConnection;import java.net.URI;import java.net.http.HttpClient;import java.net.http.HttpRequest;import java.net.http.HttpResponse;import java.time.Duration;
public class GetBulksCollection {
public static void main(String[] args) {
var key = "1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx";
var url = "https://api.lox24.eu/bulks?_order[created_at]=desc";
var httpRequest = HttpRequest.newBuilder(URI.create(url)) .timeout(Duration.ofMillis(100000)) .setHeader("Accept", "application/json") // or application/ld+json .setHeader("X-LOX24-AUTH-TOKEN", key) .GET() .build();
var client = HttpClient.newBuilder() .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default .build();
try { var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());
if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) { System.out.println("Success:" + httpResponse.statusCode() + " " + "bulks collection response"); System.out.println("Response text : \n" + httpResponse.body()); } else { System.out.println("Error: something went wrong, code(" + httpResponse.statusCode() + ")");
switch (httpResponse.statusCode()) {
case HttpURLConnection.HTTP_UNAUTHORIZED: // 401 System.out.println("Error:401 Client ID or API key isn't active or invalid!"); break; case HttpURLConnection.HTTP_FORBIDDEN: // 403 System.out.println("Error:403 Account isn't activated. Please wait or contact to support!"); break; case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500 case HttpURLConnection.HTTP_BAD_GATEWAY: //502 case HttpURLConnection.HTTP_UNAVAILABLE: // 503 case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504 System.out.println("System error! Please contact to LOX24 support!"); break; }
}
} catch (IOException | InterruptedException e) { e.printStackTrace(); } }}const host = 'api.lox24.eu';const token = "1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx";
var query = "created_at[gte]=1589713050&_order[created_at]=desc";
const https = require('https');const options = { hostname: host, path: '/bulks?' + query, method: 'GET', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', 'X-LOX24-AUTH-TOKEN': token }}
const req = https.request(options, res => { if (res.statusCode == 200) { console.log('Success: code = 200 - bulks collection response'); res.on('data', d => {process.stdout.write(d) }) } else if (res.statusCode == 401) { console.log("Error: code = 401 - Client ID or API key isn't active or invalid!"); } else if (res.statusCode == 403) { console.log("Error: code = 403 - Account isn't activated. Please wait or contact to support!"); } else { console.log("Error: code = " + res.statusCode ); }})
req.on('error', error => { console.error(error)})
req.end();<?php
$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';
$uri = 'https://api.lox24.eu/bulks';
$filters = [ 'sender_id' => 'test', 'created_at' => [ 'gte' => 1588777845 ], 'page' => 1, '_order' => [ 'created_at' => 'desc' ],];
$uri .= $filters ? '?' . http_build_query($filters) : '';$curl = curl_init();
echo $uri;
curl_setopt_array($curl, [ CURLOPT_URL => $uri, CURLOPT_HTTPHEADER => [ "X-LOX24-AUTH-TOKEN: {$token}", 'Accept: application/json', // or application/ld+json ], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 20, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,]);
$response = curl_exec($curl);$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);curl_close($curl);
$data = json_decode($response, JSON_OBJECT_AS_ARRAY);
if(200 === $code) { echo 'Success: response data = ' . var_export($data, true);} else { echo "Error: code = {$code}, data = " . var_export($data, true);}import jsonimport requests
token = "1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx"
url = "https://api.lox24.eu/bulks?_order[created_at]=desc"
headers = { 'Accept': 'application/json', # or application/ld+json 'X-LOX24-AUTH-TOKEN': token,}
try: # timeout is 100 seconds res = requests.get(url, headers=headers, timeout=100) if res.status_code != 200: res.raise_for_status() else: print(f'Success: code = {res.status_code} - bulks collection response') print("Response: ", json.dumps(res.json(), indent=4))
except requests.HTTPError: if res.status_code == 401: print("Error: code = 401 - Client ID or API key isn't active or invalid!") elif res.status_code == 403: print("Error: code = 403 - Account isn't activated. Please wait or contact to support!") elif res.status_code in (500, 502, 503, 504): print("System error! Please contact to LOX24 support!") else: print(f"Error: code {res.status_code}") print(json.dumps(res.json(), indent=4))