Status einer Massen-SMS Sendung abfragen
Kurze Informationen über den Bulk-Status erhalten
Authorizations
Abschnitt betitelt „Authorizations “Parameters
Abschnitt betitelt „ Parameters “Path Parameters
Abschnitt betitelt „Path Parameters “Eindeutige Entitäts-UUID
Massen-SMS ID (Bulk-ID)
Responses
Abschnitt betitelt „ Responses “Bulks resource
Bulk SMS status summary (JSON-LD)
object
JSON-LD ID
JSON-LD type
Eindeutige Entitäts-UUID
Unix-timestamp einer zeitversetzten SMS. Wenn gleich 0, wird die SMS sofort verschickt.
Die Absenderkennung der Nachricht kann eine Rufnummer mit bis zu 15 Ziffern oder einen Text mit bis zu 11 Zeichen enthalten. Im Fall einer Rufnummer als Absender, halten Sie sich bitte möglichst an das E.164 Format. Ein Text Absender kann Leerzeichen enhalten, aber keine anderen Sonderzeichen, Umlaute oder Satzzeichen. Bitte beachten Sie, dass der Absender nicht in jedem Zielland übertragen werden kann und teilweise die Registrierung einer Absenderkennung durch lokale Regulierung erforderlich ist.
Für Sprachnachrichten (text2speech, text2speech_ssml): Wenn sender_id nicht dem E.164-Format entspricht (z. B. fehlendes führendes +, nicht-numerische Zeichen), wird die Nachricht von der Systemstandardnummer +493075435114 gesendet. Einige nachgelagerte Telefonieanbieter können die benutzerdefinierte Absenderrufnummer überschreiben oder nicht berücksichtigen — die tatsächlich beim Empfänger angezeigte Rufnummer hängt von den Fähigkeiten des Anbieters ab.
Massen-SMS (Bulk) Status:
0- neu und noch nicht verarbeitet5- in Verarbeitung10- erfolgrech verarbeitet15- vom Benutzer abgebochen20- System Fehler201- error: no recipients found
Anzahl der bereits erstellten SMS Nachrichten
Zeitstempel, wann die Entität vom Benutzer zum System hinzugefügt wurde
Uhrzeit der letzten Änderung
IP-Adresse des Hosts, der die Anfrage gesendet hat
Definiert ob Sie eine normale GSM 03.38 SMS oder eine Unicode SMS verschicken möchten:
- GSM: is_unicode = false
- Unicode: is_unicode = true
- Auto-Detect: is_unicode = NULL
Testsendung oder normale Sendung
Wert (String) welcher an Ihren Endpoint zurückgeschickt wird. Sie können z.B. Ihre eigene ID so übergeben und mit dem Zustellbericht (DLR) zurückbekommen.
Service code definiert ob Sie eine text2speech oder direct sms verschicken. Wir empfehlen direct sms für eine sichere Zustellung (see /me)
Um Ihre SMS später besser im Einzelverbindungsnachweis identifizieren zu können, gibt es die Möglichkeit eine individuelle nummerische (integer) ID mitzugeben.
Sprache der Sprachnachricht. Mögliche Werte: null (automatische Erkennung) oder einer der folgenden Codes: EN (Englisch), DE (Deutsch), FR (Französisch), IT (Italienisch), ES (Spanisch), PL (Polnisch), NL (Niederländisch), RO (Rumänisch), PT (Portugiesisch), CS (Tschechisch), HU (Ungarisch), SV (Schwedisch), DA (Dänisch), FI (Finnisch), SK (Slowakisch), HR (Kroatisch), TR (Türkisch), RU (Russisch), BG (Bulgarisch), UK (Ukrainisch).
Löschen von Nachrichtentext nach Zustellung der SMS
Kosten der im Bulk bereits verarbeiteten Nachrichten
URL to get the list of the bulk’s messages requests
Example
{ "sender_id": "+491701234567", "status_code": 0, "ip": "192.168.1.1", "service_code": "direct", "voice_lang": "EN"}Bulk SMS status summary
object
Eindeutige Entitäts-UUID
Unix-timestamp einer zeitversetzten SMS. Wenn gleich 0, wird die SMS sofort verschickt.
Die Absenderkennung der Nachricht kann eine Rufnummer mit bis zu 15 Ziffern oder einen Text mit bis zu 11 Zeichen enthalten. Im Fall einer Rufnummer als Absender, halten Sie sich bitte möglichst an das E.164 Format. Ein Text Absender kann Leerzeichen enhalten, aber keine anderen Sonderzeichen, Umlaute oder Satzzeichen. Bitte beachten Sie, dass der Absender nicht in jedem Zielland übertragen werden kann und teilweise die Registrierung einer Absenderkennung durch lokale Regulierung erforderlich ist.
Für Sprachnachrichten (text2speech, text2speech_ssml): Wenn sender_id nicht dem E.164-Format entspricht (z. B. fehlendes führendes +, nicht-numerische Zeichen), wird die Nachricht von der Systemstandardnummer +493075435114 gesendet. Einige nachgelagerte Telefonieanbieter können die benutzerdefinierte Absenderrufnummer überschreiben oder nicht berücksichtigen — die tatsächlich beim Empfänger angezeigte Rufnummer hängt von den Fähigkeiten des Anbieters ab.
Massen-SMS (Bulk) Status:
0- neu und noch nicht verarbeitet5- in Verarbeitung10- erfolgrech verarbeitet15- vom Benutzer abgebochen20- System Fehler201- error: no recipients found
Anzahl der bereits erstellten SMS Nachrichten
Zeitstempel, wann die Entität vom Benutzer zum System hinzugefügt wurde
Uhrzeit der letzten Änderung
IP-Adresse des Hosts, der die Anfrage gesendet hat
Definiert ob Sie eine normale GSM 03.38 SMS oder eine Unicode SMS verschicken möchten:
- GSM: is_unicode = false
- Unicode: is_unicode = true
- Auto-Detect: is_unicode = NULL
Testsendung oder normale Sendung
Wert (String) welcher an Ihren Endpoint zurückgeschickt wird. Sie können z.B. Ihre eigene ID so übergeben und mit dem Zustellbericht (DLR) zurückbekommen.
Service code definiert ob Sie eine text2speech oder direct sms verschicken. Wir empfehlen direct sms für eine sichere Zustellung (see /me)
Um Ihre SMS später besser im Einzelverbindungsnachweis identifizieren zu können, gibt es die Möglichkeit eine individuelle nummerische (integer) ID mitzugeben.
Sprache der Sprachnachricht. Mögliche Werte: null (automatische Erkennung) oder einer der folgenden Codes: EN (Englisch), DE (Deutsch), FR (Französisch), IT (Italienisch), ES (Spanisch), PL (Polnisch), NL (Niederländisch), RO (Rumänisch), PT (Portugiesisch), CS (Tschechisch), HU (Ungarisch), SV (Schwedisch), DA (Dänisch), FI (Finnisch), SK (Slowakisch), HR (Kroatisch), TR (Türkisch), RU (Russisch), BG (Bulgarisch), UK (Ukrainisch).
Löschen von Nachrichtentext nach Zustellung der SMS
Kosten der im Bulk bereits verarbeiteten Nachrichten
URL to get the list of the bulk’s messages requests
Example
{ "sender_id": "+491701234567", "status_code": 0, "ip": "192.168.1.1", "service_code": "direct", "voice_lang": "EN"}Kunden-Nr oder API Key sind ungültig oder inaktiv!
Account ist noch nicht innerhalb von 24h nach Registrierung aktiviert. Bitte warten oder Support kontaktieren
Quelle nicht gefunden
Die IP-Adresse wurde vorübergehend blockiert, da in kurzer Zeit viele Anfragen mit ungültigen Anmeldeinformationen gesendet wurden. Bitte warten Sie und versuchen Sie es später.
Code Samples
#!/usr/bin/env bashcurl -X GET https://api.lox24.eu/bulks/da0fa78c-4699-11ea-a637-96000028b339/status \ -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"; var id = "343c785b-8567-11ea-aa81-96000028b339";
string url = "https://api.lox24.eu/bulks/" + id + "/status";
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, "bulk status resource 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.NotFound: // 404 Console.WriteLine("Error:404 Resource not found"); 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/981f6497-a03e-11ea-b2e9-b8ca3a65338c/status" 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!") case 404: fmt.Println("Error: code = 404 - Resource not found") 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 GetBulksItem {
public static void main(String[] args) {
var key = "1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx"; var id = "343c785b-8567-11ea-aa81-96000028b339";
var url = "https://api.lox24.eu/bulks/" + id + "/status";
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 resource created"); System.out.println("Response text : \n" + httpResponse.body());
} else {
System.out.println("Error: wrong response code " + httpResponse.statusCode() + " on create bulk"); System.out.println("Response text : \n" + httpResponse.body());
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_NOT_FOUND: // 404 System.out.println("Error:404 Resource not found"); 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 id = '4897749e-982d-11ea-aa81-96000028b339';
const https = require('https');const options = { hostname: host, path: '/bulks/' + id + '/status', 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 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 if (res.statusCode == 404) { console.log("Error: code = 404 - Resource not found"); } else { console.log("Error: code = " + res.statusCode ); }});
req.on('error', error => { console.error(error)});
req.end();<?php
$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';
$id = '11111111-2222-3333-4444-55555555555';$uri = 'https://api.lox24.eu/bulks/' . $id . '/status';
$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);} elseif(404 === $code) { echo "Bulk with id = {$id} not found!";} else { echo "Error: code = {$code}, data = " . var_export($data, true);}import jsonimport requests
token = "1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx"bulk_id = "343c785b-8567-11ea-aa81-96000028b339"
url = f'https://api.lox24.eu/bulks/{bulk_id}/status'
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 resource 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 == 404: print("Error:404 Resource not found") 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))