Noch nicht versendete SMS stoppen
Mit dieser Schnittstelle können Sie die Übertragung von SMS stoppen welche in der Zukunft verschickt werden sollen (zeitversetzt). Außerdem kann im Einzelfall die Übertragung an den Netzbetreiber einige wenige Sekunden dauern, so dass Sie auch SMS für den Sofortversand im Ausnahmefall noch löschen können.
Authorizations
Abschnitt betitelt „Authorizations “Parameters
Abschnitt betitelt „ Parameters “Query Parameters
Abschnitt betitelt „Query Parameters “Sort order direction (ascending or descending)
Sortierung nach Zeitstempel, wann die Entität erstellt wurde
Sort order direction (ascending or descending)
Sortiere nach Verarbeitungsdatum der SMS
Boolean Filter für das Feld is_sent
Boolean Filter für das Feld is_unicode
Eindeutige Entitäts-UUID
Finde eine SMS Anhand Ihrer unique ID
Finde mehrere SMS Anhand Ihrer unique IDs
Exact Filter SMS nach Ihren Zielländern (ISO 3166-1 alpha-2)
Exact Filter SMS nach den Zustellberichten
Status der SMS, für mehr Informationen: SMS status codes
Exact Filter SMS nach dem Status Code
Exact Filter SMS nach den Status Codes
Timestamp der Übertragung der SMS an den Netzbetreiber
Range Filter SMS nach Ihrer Übertragungszeit zum Netzbetreiber
Exact und range Filter nach Übertragungszeit an den Netzbetreiber
Unix-timestamp einer zeitversetzten SMS. Wenn gleich 0, wird die SMS sofort verschickt.
Exact Filter für die Zustellzeit
Exact und range Filter für die Zustellzeit
Zeitstempel, wann die Entität vom Benutzer zum System hinzugefügt wurde
Exact Filter Entitäten nach Ihrer Übertragungszeit an die API
Exact und range Filter nach der Erstellungszeit der Entitäten
Range Filter SMS nach Ihrer Zeichenzahl
Exact und range Filter nach der Zeichenzahl
Anzahl der SMS Teile
Range Filter SMS nach der Anzahl der SMS-Teile
Exact und range Filter nach der Anzahl der SMS-Teile
Eindeutige Entitäts-UUID
Exact Filter nach der Massen-SMS (Bulk)
Exact und range Filter nach der Massen-SMS (Bulk)
Range Filter SMS nach der vom Kunden übertragenen nummerischen ID
Exact und range Filter der SMS nach dem Parameter sources
Der Nachrichtentext kann eine Länge von maximal 1530 Zeichen im GSM Standardzeichensatz enthalten. Mit einer Unicode SMS liegt die maximale Zeichenlänge bei 670 Zeichen. Das interne Encoding ist in beiden Fällen UTF-8.
Partial Filter SMS nach dem Nachrichtentext
Partial Filter SMS nach der Zielrufnummer
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.
Partial Filter SMS nach der Absenderkennung
IP-Adresse des Hosts, der die Anfrage gesendet hat
Example
192.168.1.1Partial Filter SMS nach der Ursprungs-IP
API-Schlüssel-Kennung
Exact Filter nach der API Key ID
Exact Filter nach den API Key IDs
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.
Exact Filter nach callback_data Wert
Exact Filter nach callback_data Werten
Responses
Abschnitt betitelt „ Responses “Count of the canceled SMS
Batch cancel operation response
object
Count of the SMS which was canceled
Example generated
{ "deleted_sms_count": 1}Ungültige Eingabe
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
Die Anfrage war korrekt formatiert, konnte aber aufgrund semantischer Fehler nicht verarbeitet werden
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
curl -X POST https://api.lox24.eu/sms/ops/batch_cancel?uuid=20f39273-0566-11ea-a637-96000028b339 \ -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 text = "Test";
var query = "text=" + text + "&uuid[]=ab6b6ceb-903a-11ea-aa81-96000028b339&uuid[]=7c7a6661-902e-11ea-aa81-96000028b339"; string url = "https://api.lox24.eu/sms/ops/batch_cancel?" + query;
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url); httpWebRequest.ReadWriteTimeout = 100000; httpWebRequest.Accept = "application/json"; httpWebRequest.Method = "POST"; //httpWebRequest.KeepAlive = true; httpWebRequest.Headers.Add("X-LOX24-AUTH-TOKEN", key); httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;
try { using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse()) { if(resp.StatusCode == HttpStatusCode.OK) { Console.WriteLine("Success: SMS was canceled!"); } else { Console.WriteLine("Error: SMS wasn't canceled canceled!"); }
Stream respStream = resp.GetResponseStream(); using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8)) { string responseText = sr.ReadToEnd(); Console.WriteLine("responseText : {0}", responseText); } }
} catch (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 = "POST" const URL = "https://api.lox24.eu/sms/ops/batch_cancel?uuid=20f39273-0566-11ea-a637-96000028b339" 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 SmsOpsCancelSmsCollection {
public static void main(String[] args) {
var key = "1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx";
var text = ""; var query = "text=" + text + "&uuid[]=ab6b6ceb-903a-11ea-aa81-96000028b339&uuid[]=7c7a6661-902e-11ea-aa81-96000028b339"; var url = "https://api.lox24.eu/sms/ops/batch_cancel?" + query;
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) .POST(HttpRequest.BodyPublishers.ofString("")) .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() + " " + "Success: SMS was canceled!"); System.out.println("Response text : \n" + httpResponse.body()); } else { System.out.println("Error: SMS wasn't canceled!"); System.out.println("Response text : \n" + httpResponse.body());
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_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 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/ops/batch_cancel?' + query, method: 'POST', 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 - Count of the canceled SMS"); 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/ops/batch_cancel';
$filters = [ //'text' => 'Test', 'uuid' => [ '8481900d-86ce-11ea-aa81-96000028b339', 'd5ceb189-86cd-11ea-aa81-96000028b339', ],];
$uri .= $filters ? '?' . http_build_query($filters) : '';$curl = curl_init();
echo $uri;
curl_setopt_array($curl, [ CURLOPT_POST => true, 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(201 === $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"text = "Test"
query = f"text={text}&uuid[]=ab6b6ceb-903a-11ea-aa81-96000028b339&uuid[]=7c7a6661-902e-11ea-aa81-96000028b339"
url = f"https://api.lox24.eu/sms/ops/batch_cancel?{query}"
headers = { 'Accept': 'application/json', 'X-LOX24-AUTH-TOKEN': token,}
try: # timeout is 100 seconds, the payload is automatically converted to json format res = requests.post(url, headers=headers, timeout=100) if res.status_code != 200: # Ok print("Error: SMS wasn't canceled") res.raise_for_status() else: print(f'Success: code = {res.status_code} - SMS was canceled') 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))