Retrieves the collection of SMS
GET /sms
Getting the list of messages from the postbox, ordered by the field created_at in descending order. The postbox contains all sent, not sent and terminated SMS. You can also optionally sort according to the price or the time of transmit to the network operator. You also have the option of transferring different search criteria to limit the output of postbox’s messages.
Authorizations
Section titled “Authorizations ”Code Samples
Section titled “ Code Samples ”#!/usr/bin/env bashcurl -X GET https://api.lox24.eu/sms \ -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/sms";
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/sms?created_at[gte]=1590737094" 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.sms;
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 GetSmsCollection {
public static void main(String[] args) {
var key = "1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx"; var url = "https://api.lox24.eu/sms?created_at[gte]=1590737094";
var httpRequest = HttpRequest.newBuilder(URI.create(url)) .timeout(Duration.ofMillis(100000)) .setHeader("Accept", "application/json") .setHeader("X-LOX24-AUTH-TOKEN", key) .GET() .build();
var client = HttpClient.newBuilder().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:" + 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 = "uuid[]=44657141-9830-11ea-aa81-96000028b339&uuid[]=5dd2ba0e-9830-11ea-aa81-96000028b339&_order[created_at]=desc";
const https = require('https');const options = { hostname: host, path: '/sms?' + query, method: 'GET', headers: { 'Accept': 'application/json', 'X-LOX24-AUTH-TOKEN': token }}
const req = https.request(options, res => { if (res.statusCode == 200) { console.log('Success: code = 200 - sms resource 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/sms';
$filters = [ 'text' => 'Test', 'uuid' => [ '8481900d-86ce-11ea-aa81-96000028b339', 'd5ceb189-86cd-11ea-aa81-96000028b339', ], 'page' => 1, '_order' => [ 'created_at' => 'asc' ],];
$uri .= $filters ? '?' . http_build_query($filters) : '';$curl = curl_init();
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/sms?created_at[gte]=1590737094'
headers = { 'Accept': 'application/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} - sms 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))Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ”Current page
Sort by timestamp when the entity was created
Sort by timestamp when the message was transmitted to the mobile network
Boolean filter SMS by the is_sent field to distinguish between already sent and not yet sent sms
Boolean filter SMS by the is_unicode field to distinguish between GSM and Unicode messages
Exact filter by SMS ID
Exact filter by SMS ID
Exact filter SMS by the phone’s country (ISO 3166-1 alpha-2)
Exact filter SMS by the phone’s countries (ISO 3166-1 alpha-2)
Exact filter SMS by the delivery report status
Exact filter SMS by the delivery report statuses
Exact filter SMS by the status code
Exact filter SMS by the statuses codes
Exact filter SMS by the send to gateway timestamp
Exact and range filter SMS by send to gateway timestamps
Exact filter SMS by the delivery timestamp
Exact and range filter SMS by the delivery timestamps
Exact filter entities by the creation timestamp
Exact and range filter entities by the creation timestamps
Range filter SMS by the message chars count
Exact and range filter SMS by the message chars count
Exact filter SMS by the message parts count
Exact and range filter SMS by the message parts count
Exact filter SMS by the Bulk
Exact and range filter SMS by the Bulk
Exact filter SMS by the sources
Exact and range filter SMS by the sources
Partial case-insensitive text filter SMS by the message text
Partial text filter SMS by the phone number
Partial text case-insensitive filter SMS by the sender number or text
Partial text filter SMS by the IP which created the message
Exact filter entities by the used API key
Exact filter entities by the used API keys
Exact filter SMS by callback_data property
Exact filter SMS by callback_data property
Responses
Section titled “ Responses ”Sms collection
object
SMS
object
JSON-LD ID
JSON-LD type
The message text can have a length of up to 1530 characters. With a Unicode SMS, the maximum character length is reduced to 670 characters. Internal encoding is UTF-8.
Sender ID or phone number
Recipient (international) number:
- +491701234567 (E.164)
- 00491701234567
- 491701234567
- 01701234567 (if the account is registered in Germany) will be convert to +491701234567
If the number is not in an E.164 format then the service will convert it based on user’s address. To avoid problems with the converting please use E.164 preferentially.
Example
+14155552671Scheduled delivery timestamp
Status of the sms. For more info see SMS status codes
Timestamp when message was sent to the mobile network provider
Message source or origin
IP address of the host which sent request
Example
192.168.1.1Timestamp when the entity was added to the system by the user
True if message contains Unicode characters, False otherwise
Unique entity UUID
Country code
Voice message language. Possible values: null (auto-detection) or one of: EN (English), DE (German), FR (French), IT (Italian), ES (Spanish), PL (Polish), NL (Dutch), RO (Romanian), PT (Portuguese), CS (Czech), HU (Hungarian), SV (Swedish), DA (Danish), FI (Finnish), SK (Slovak), HR (Croatian), TR (Turkish), RU (Russian), BG (Bulgarian), UK (Ukrainian).
Count of the SMS parts (concatenated messages)
Count of chars in the message text
String which will be send back to your endpoint. E.g. it can be usable to pass your system message id.
Bulk ID
API key identifier
Service or gateway code
True if message text was deleted, False otherwise
Price
True - SMS was sent, False - SMS wasn’t sent yet
Link to all requests by a SMS list
Link to count of request by a short link
Maximum number of delivery attempts for voice services (text2speech, text2speech_ssml). Allowed values: null, 1, 2, or 3 for text2speech/text2speech_ssml services; must be null for other services.
object
Example
{ "@id": "string", "@type": "string", "hydra:first": "string", "hydra:last": "string", "hydra:previous": "string", "hydra:next": "string"}object
object
SMS
object
The message text can have a length of up to 1530 characters. With a Unicode SMS, the maximum character length is reduced to 670 characters. Internal encoding is UTF-8.
Sender ID or phone number
Recipient (international) number:
- +491701234567 (E.164)
- 00491701234567
- 491701234567
- 01701234567 (if the account is registered in Germany) will be convert to +491701234567
If the number is not in an E.164 format then the service will convert it based on user’s address. To avoid problems with the converting please use E.164 preferentially.
Example
+14155552671Scheduled delivery timestamp
Status of the sms. For more info see SMS status codes
Timestamp when message was sent to the mobile network provider
Message source or origin
IP address of the host which sent request
Example
192.168.1.1Timestamp when the entity was added to the system by the user
True if message contains Unicode characters, False otherwise
Unique entity UUID
Country code
Voice message language. Possible values: null (auto-detection) or one of: EN (English), DE (German), FR (French), IT (Italian), ES (Spanish), PL (Polish), NL (Dutch), RO (Romanian), PT (Portuguese), CS (Czech), HU (Hungarian), SV (Swedish), DA (Danish), FI (Finnish), SK (Slovak), HR (Croatian), TR (Turkish), RU (Russian), BG (Bulgarian), UK (Ukrainian).
Count of the SMS parts (concatenated messages)
Count of chars in the message text
String which will be send back to your endpoint. E.g. it can be usable to pass your system message id.
Bulk ID
API key identifier
Service or gateway code
True if message text was deleted, False otherwise
Price
True - SMS was sent, False - SMS wasn’t sent yet
Link to all requests by a SMS list
Link to count of request by a short link
Maximum number of delivery attempts for voice services (text2speech, text2speech_ssml). Allowed values: null, 1, 2, or 3 for text2speech/text2speech_ssml services; must be null for other services.
Client ID or API key isn’t active or invalid!
Account isn’t activated. Please wait or contact to support!
IP address was temporary blocked, because during short time from it was sent many request with invalid credentials. Please wait and try later.