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
Buscar un SMS por el identificador único
Ordenar por marca de tiempo cuando se creó la entidad
Ordenar por fecha y hora en que el mensaje fue/debió ser transmitido a la red móvil
Ordenar por marca de tiempo cuando la entidad fue cambiada por última vez
Ordenar por los recuentos totales de los SMS relacionados
Partial filtro de texto sin distinción entre mayúsculas y minúsculas SMS por el texto del mensaje
Partial texto Filtro de SMS sin distinción entre mayúsculas y minúsculas por el número o el texto del remitente
Exact filtrar Bulks por el código de estado
Exact filtrar Bulks por los códigos de estado
Exact filtrar entidades por la fecha de creación
Exact y range filtrar entidades por las marcas de tiempo de creación
Exact filtrar SMS por la fecha y hora de entrega
Exact y range filtrar SMS por las marcas de tiempo de entrega
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
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
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
object
JSON-LD ID
JSON-LD type
UUID único de entidad
Unix-timestamp de una entrega programada. Si 0 SMS se entrega inmediatamente.
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
UUID único de entidad
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
El código de servicio define si envía un sms directo o text2speech. Recomendamos directo (see /me)
Identificador de clave API
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
object
object
object
Example
{ "hydra:member": [ { "@context": { "hydra": "http://www.w3.org/ns/hydra/core#" }, "status_code": 0, "ip": "192.168.1.1", "service_code": "direct", "voice_lang": "EN" } ], "hydra:view": { "@id": "string", "@type": "string", "hydra:first": "string", "hydra:last": "string", "hydra:previous": "string", "hydra:next": "string" }}object
UUID único de entidad
Unix-timestamp de una entrega programada. Si 0 SMS se entrega inmediatamente.
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
UUID único de entidad
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
El código de servicio define si envía un sms directo o text2speech. Recomendamos directo (see /me)
Identificador de clave API
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
Example
[ { "status_code": 0, "ip": "192.168.1.1", "service_code": "direct", "voice_lang": "EN" }]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))