Eviar el SMS
Envíe un mensaje corto enviando una solicitud POST que incluya todos los datos necesarios del mensaje como texto y sender-ID.
Authorizations
Sección titulada «Authorizations »Request Body required
Sección titulada «Request Body required »The new sms resource
SMS
object
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.
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.
Número de destinatario (internacional):
- +491701234567 (E.164)
- 00491701234567
- 491701234567
- 01701234567 (si la cuenta está registrada en Alemania) se convertirá en +491701234567
Si el número no está en formato E.164, el servicio lo convertirá basándose en la dirección del usuario. Para evitar problemas con la conversión, utilice preferentemente E.164.
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.
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
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).
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).
Número máximo de intentos de entrega para servicios de voz (text2speech, text2speech_ssml). Valores permitidos: null, 1, 2 o 3 para servicios text2speech/text2speech_ssml; debe ser nulo para otros servicios.
Examples
Mensaje SMS básico
Ejemplo de un mensaje SMS simple con solo campos obligatorios
{ "text": "¡Hola! Este es un SMS de prueba.", "sender_id": "+491701234567", "phone": "+14155552671"}Mensaje de voz con texto plano
Ejemplo de mensaje de voz de texto a voz con contenido de texto plano
{ "text": "Hola, este mensaje será convertido a voz y entregado como una llamada de voz.", "sender_id": "+491701234567", "phone": "+14155552671", "service_code": "text2speech", "voice_lang": "EN"}Mensaje de voz con SSML
Ejemplo de texto a voz con marcado SSML para síntesis de voz mejorada
{ "text": "<speak>Su código de verificación es <say-as interpret-as=\"characters\">A1B2C3</say-as>.<break time=\"1s\"/>Por favor ingréselo ahora.</speak>", "sender_id": "+491701234567", "phone": "+14155552671", "service_code": "text2speech", "voice_lang": "EN"}Mensaje de voz con llamada única (sin reintentos)
Ejemplo de mensaje de voz de texto a voz con contenido de texto simple y un único intento de entrega sin reintentos
{ "text": "Hola, este mensaje se convertirá en voz y se entregará como una llamada de voz.", "sender_id": "+491701234567", "phone": "+14155552671", "service_code": "text2speech", "voice_lang": "ES", "attempts_count_max": 1}Mensaje SMS Unicode
Ejemplo de SMS con caracteres Unicode (emojis, caracteres especiales, scripts no latinos)
{ "text": "\\ud83c\\udf89 ¡Bienvenidos! Welcome! \\u6b22\\u8fce\\u5149\\u4e34! \\u0645\\u0631\\u062d\\u0628\\u0627 \\u0628\\u0643\\u0645!", "sender_id": "+491701234567", "phone": "+14155552671", "is_unicode": true}Mensaje transliterado
Ejemplo de un mensaje con transliteración de caracteres no GSM a un SMS GSM puro (véase el ejemplo de respuesta)
{ "text": "No todos los caracteres especiales están incluidos en el conjunto de caracteres GSM, p.ej. solo el apóstrofe correcto: Auto de Anna funciona, pero no la casa de Max. Los acentos funcionan parcialmente: André, pero no todos: Háns. Los guiones normales - funcionan, pero no los más largos: –", "sender_id": "Test", "phone": "+14155552671", "is_unicode": false}Mensaje con eliminación de texto
Ejemplo de SMS donde el texto del mensaje será eliminado después de la entrega por seguridad/privacidad
{ "text": "Su código de verificación es: 123456. Este mensaje será eliminado después de la entrega.", "sender_id": "+491701234567", "phone": "+14155552671", "is_text_deleted": true}SMS con datos de callback
Ejemplo de SMS con datos de callback para notificaciones de estado de entrega y seguimiento personalizado
{ "text": "¡Su pedido #12345 ha sido enviado y está en camino!", "sender_id": "+491701234567", "phone": "+14155552671", "callback_data": "order_12345_shipping_notification"}Responses
Sección titulada « Responses »Sms resource created
SMS
object
JSON-LD ID
JSON-LD type
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.
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.
Número de destinatario (internacional):
- +491701234567 (E.164)
- 00491701234567
- 491701234567
- 01701234567 (si la cuenta está registrada en Alemania) se convertirá en +491701234567
Si el número no está en formato E.164, el servicio lo convertirá basándose en la dirección del usuario. Para evitar problemas con la conversión, utilice preferentemente E.164.
Unix-timestamp de una entrega programada. Si 0 SMS se entrega inmediatamente.
Estado del SMS. Para más información, consulte SMS status codes
Fecha y hora de envío del mensaje al gateway
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.
Status of the SMS delivery desde gateway
Dirección IP del host que envió la solicitud
Fecha en la que se añadió la entidad al sistema por el usuario
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
UUID único de entidad
Código del país
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).
Recuento de las partes del SMS
Recuento de los caracteres del SMS
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).
Bulk ID
Identificador de clave API
El código de servicio define si envía un sms directo o text2speech. Recomendamos directo (see /me)
Borrar texto SMS de la base de datos después de enviar SMS
Precio
True - SMS fue enviado, False - SMS aun no fue enviado
Link a todas las solicitudes mediante una lista SMS
Link contar de solicitud por un enlace corto
Número máximo de intentos de entrega para servicios de voz (text2speech, text2speech_ssml). Valores permitidos: null, 1, 2 o 3 para servicios text2speech/text2speech_ssml; debe ser nulo para otros servicios.
Examples
Basic sms Message response
API response for a successfully request with minimum parameters
{ "@context": "/contexts/sms", "@id": "/sms/11111111-2222-3333-4444-555555555555", "@type": "sms", "text": "Hello! This is a test SMS message.", "sender_id": "+19388888025", "phone": "+14155552671", "delivery_at": 0, "status_code": 0, "gateway_sent_at": 0, "source": 0, "dlr_code": 0, "ip": "139.59.136.251", "created_at": 1755868416, "is_unicode": false, "uuid": "11111111-2222-3333-4444-555555555555", "iso2": "US", "voice_lang": null, "parts_count": 1, "chars_count": 34, "callback_data": null, "bulk_id": null, "key_id": 8291, "service_code": "direct", "is_text_deleted": false, "price": 0.056, "is_sent": false, "requests": "/sms/11111111-2222-3333-4444-555555555555/requests", "clicks": "/sms/11111111-2222-3333-4444-555555555555/clicks"}Transliterated message response
API response for a successfully sent transliterated SMS message
{ "@context": "/contexts/sms", "@id": "/sms/11111111-2222-3333-4444-555555555555", "@type": "sms", "text": "Nicht alle Sonderzeichen sind im GSM Zeichensatz enthalten, z.B. nur das richtige Apostroph: Anna's Auto geht, aber nicht Max's Haus. Akzente gehen teilweise: André, jedoch nicht alle: Hans. Normale Bindestriche - gehen, nicht allerdings längere: -", "sender_id": "Test", "phone": "+491701234567", "delivery_at": 0, "status_code": 100, "gateway_sent_at": 1755780931, "source": 0, "dlr_code": 16, "ip": "1.1.1.1", "created_at": 1755780931, "is_unicode": false, "uuid": "11111111-2222-3333-4444-555555555555", "iso2": "DE", "voice_lang": "DE", "parts_count": 2, "chars_count": 248, "callback_data": null, "bulk_id": null, "key_id": 200100, "service_code": "direct", "is_text_deleted": false, "price": 0.13, "is_sent": true, "requests": "/sms/11111111-2222-3333-4444-555555555555/requests", "clicks": "/sms/11111111-2222-3333-4444-555555555555/clicks"}Message with text deletion response
API response for a successfully sent SMS with text deletion enabled
{ "@context": "/contexts/sms", "@id": "/sms/11111111-2222-3333-4444-555555555555", "@type": "sms", "text": "", "sender_id": "USSender", "phone": "+14155552671", "delivery_at": 0, "status_code": 100, "gateway_sent_at": 1755783151, "source": 0, "dlr_code": 0, "ip": "139.59.136.251", "created_at": 1755783151, "is_unicode": false, "uuid": "11111111-2222-3333-4444-555555555555", "iso2": "US", "voice_lang": null, "parts_count": 1, "chars_count": 79, "callback_data": null, "bulk_id": null, "key_id": 8207, "service_code": "direct", "is_text_deleted": true, "price": 0.07, "is_sent": true, "requests": "/sms/11111111-2222-3333-4444-555555555555/requests", "clicks": "/sms/11111111-2222-3333-4444-555555555555/clicks"}SMS
object
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.
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.
Número de destinatario (internacional):
- +491701234567 (E.164)
- 00491701234567
- 491701234567
- 01701234567 (si la cuenta está registrada en Alemania) se convertirá en +491701234567
Si el número no está en formato E.164, el servicio lo convertirá basándose en la dirección del usuario. Para evitar problemas con la conversión, utilice preferentemente E.164.
Unix-timestamp de una entrega programada. Si 0 SMS se entrega inmediatamente.
Estado del SMS. Para más información, consulte SMS status codes
Fecha y hora de envío del mensaje al gateway
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.
Status of the SMS delivery desde gateway
Dirección IP del host que envió la solicitud
Fecha en la que se añadió la entidad al sistema por el usuario
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
UUID único de entidad
Código del país
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).
Recuento de las partes del SMS
Recuento de los caracteres del SMS
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).
Bulk ID
Identificador de clave API
El código de servicio define si envía un sms directo o text2speech. Recomendamos directo (see /me)
Borrar texto SMS de la base de datos después de enviar SMS
Precio
True - SMS fue enviado, False - SMS aun no fue enviado
Link a todas las solicitudes mediante una lista SMS
Link contar de solicitud por un enlace corto
Número máximo de intentos de entrega para servicios de voz (text2speech, text2speech_ssml). Valores permitidos: null, 1, 2 o 3 para servicios text2speech/text2speech_ssml; debe ser nulo para otros servicios.
Examples
Basic sms Message response
API response for a successfully request with minimum parameters
{ "text": "Hello! This is a test SMS message.", "sender_id": "+19388888025", "phone": "+14155552671", "delivery_at": 0, "status_code": 0, "gateway_sent_at": 0, "source": 0, "dlr_code": 0, "ip": "139.59.136.251", "created_at": 1755868416, "is_unicode": false, "uuid": "11111111-2222-3333-4444-555555555555", "iso2": "US", "voice_lang": null, "parts_count": 1, "chars_count": 34, "callback_data": null, "bulk_id": null, "key_id": 8291, "service_code": "direct", "is_text_deleted": false, "price": 0.056, "is_sent": false, "requests": "/sms/11111111-2222-3333-4444-555555555555/requests", "clicks": "/sms/11111111-2222-3333-4444-555555555555/clicks"}Respuesta de mensaje transliterado
Respuesta de la API para un mensaje SMS transliterado enviado exitosamente
{ "text": "Nicht alle Sonderzeichen sind im GSM Zeichensatz enthalten, z.B. nur das richtige Apostroph: Anna's Auto geht, aber nicht Max's Haus. Akzente gehen teilweise: André, jedoch nicht alle: Hans. Normale Bindestriche - gehen, nicht allerdings längere: -", "sender_id": "Test", "phone": "+491701234567", "delivery_at": 0, "status_code": 100, "gateway_sent_at": 1755780931, "source": 0, "dlr_code": 16, "ip": "1.1.1.1", "created_at": 1755780931, "is_unicode": false, "uuid": "11111111-2222-3333-4444-555555555555", "iso2": "DE", "voice_lang": "DE", "parts_count": 2, "chars_count": 248, "callback_data": null, "bulk_id": null, "key_id": 200100, "service_code": "direct", "is_text_deleted": false, "price": 0.13, "is_sent": true, "requests": "/sms/11111111-2222-3333-4444-555555555555/requests", "clicks": "/sms/11111111-2222-3333-4444-555555555555/clicks"}Respuesta de mensaje con eliminación de texto
Respuesta de la API para un SMS enviado exitosamente con eliminación de texto habilitada
{ "text": "", "sender_id": "USSender", "phone": "+14155552671", "delivery_at": 0, "status_code": 100, "gateway_sent_at": 1755783151, "source": 0, "dlr_code": 0, "ip": "139.59.136.251", "created_at": 1755783151, "is_unicode": false, "uuid": "11111111-2222-3333-4444-555555555555", "iso2": "US", "voice_lang": null, "parts_count": 1, "chars_count": 79, "callback_data": null, "bulk_id": null, "key_id": 8207, "service_code": "direct", "is_text_deleted": true, "price": 0.07, "is_sent": true, "requests": "/sms/11111111-2222-3333-4444-555555555555/requests", "clicks": "/sms/11111111-2222-3333-4444-555555555555/clicks"}Entrada no valida
El ID de cliente o la clave API no están activos o no son válidos.
No hay fondos suficientes en su cuenta.
La cuenta no está activada. Espere o póngase en contacto con el servicio de asistencia.
La solicitud estaba bien formada pero no se pudo procesar debido a errores semánticos
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 POST https://api.lox24.eu/sms \ -H 'Content-Type: application/json' \ -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx' \ -d '{ "sender_id": "My Sender", "phone": "+49751234567", "source": 111, "service_code": "direct", "text": "Test message", "delivery_at": 1573724611, "is_unicode": true, "callback_data": "123456", "voice_lang": "DE"}'using Newtonsoft.Json;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 data = new { sender_id = "My Sender", text = "Test message", service_code = "direct", phone = "+49751234567", delivery_at = 1573724611, is_unicode = true, callback_data = "123456", voice_lang = "DE" };
string postdata = JsonConvert.SerializeObject(data);
Console.WriteLine("Post data: {0}", postdata);
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url); httpWebRequest.ReadWriteTimeout = 100000; httpWebRequest.ContentType = "application/json; charset=utf-8"; httpWebRequest.Accept = "application/json"; // or application/ld+json httpWebRequest.Method = "POST"; httpWebRequest.KeepAlive = true; httpWebRequest.Headers.Add("X-LOX24-AUTH-TOKEN", key); httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { streamWriter.Write(postdata); streamWriter.Flush(); streamWriter.Close(); } try { using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse()) {
if(resp.StatusCode == HttpStatusCode.Created) { Console.WriteLine("Success:{0} {1}", (int)resp.StatusCode, "sms resource created"); } else { Console.WriteLine("Error: wrong response code {0} on create sms", (int)resp.StatusCode); }
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.BadRequest: // 400 Console.WriteLine("Error:400 Invalid input"); break; case HttpStatusCode.Unauthorized: // 401 Console.WriteLine("Error:401 Client ID or API key isn't active or invalid!"); break; case HttpStatusCode.PaymentRequired: // 402 Console.WriteLine("Error:402 There are not enough funds on your account!"); 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 ( "bytes" "encoding/json" "fmt" "io/ioutil" "log" "net/http")
func main() {
const Method = "POST" const URL = "https://api.lox24.eu/sms" const Token = "1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx"
payload := map[string]interface{}{ "sender_id": "My Sender", "phone": "+49751234567", "source": 111, "service_code": "direct", "text": "Test message", "delivery_at": 1593724611, "is_unicode": true, "callback_data": "123456", "voice_lang": "DE", }
jsonPayload, _ := json.Marshal(payload)
client := &http.Client{}
req, err := http.NewRequest(Method, URL, bytes.NewBuffer(jsonPayload)) if err != nil { log.Fatal(err) }
req.Header.Add("X-LOX24-AUTH-TOKEN", Token) req.Header.Add("Content-Type", "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 201: fmt.Println((string(body))) case 400: fmt.Println("Error: code = 400 - Invalid input") 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 org.json.JSONObject;
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 PostSmsCollection {
public static void main(String[] args) {
var key = "1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx"; var url = "https://api.lox24.eu/sms";
var json = new JSONObject(); json.put("sender_id", "My Sender"); json.put("text", "Test message"); json.put("service_code", "direct"); json.put("phone", "+49751234567"); json.put("delivery_at", 1573724611); json.put("is_unicode", true); json.put("callback_data", "123456"); json.put("voice_lang", "DE");
var postData = json.toString();
System.out.println("Post data: " + postData);
var httpRequest = HttpRequest.newBuilder(URI.create(url)) .timeout(Duration.ofMillis(100000)) .setHeader("Content-Type", "application/json; charset=utf-8") .setHeader("Accept", "application/json") // or application/ld+json .setHeader("X-LOX24-AUTH-TOKEN", key) .POST(HttpRequest.BodyPublishers.ofString(postData)) .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_CREATED) { System.out.println("Success:" + httpResponse.statusCode() + " " + "sms resource created"); System.out.println("Response text : \n" + httpResponse.body());
} else {
System.out.println("Error: wrong response code " + httpResponse.statusCode() + " on create sms");
switch (httpResponse.statusCode()) {
case HttpURLConnection.HTTP_BAD_REQUEST: // 400 System.out.println("Error:400 Invalid input"); break; case HttpURLConnection.HTTP_UNAUTHORIZED: // 401 System.out.println("Error:401 Client ID or API key isn't active or invalid!"); break; case HttpURLConnection.HTTP_PAYMENT_REQUIRED: // 402 System.out.println("Error:402 There are not enough funds on your account!"); 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(); } }}/* * Post sms */const token = "7b7c6063bab885ce79814b5ff1ee6885";
var postObj = { sender_id: 'My Sender', text: 'Test message', service_code: 'direct', phone: '+49751234567', delivery_at: 1573724611, is_unicode: true, callback_data: "123456", voice_lang: "DE"};
var postdata = JSON.stringify(postObj);
const https = require('https');const options = { hostname: 'api.lox24.eu', path: '/sms', method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', 'Content-Length': postdata.length, 'X-LOX24-AUTH-TOKEN': token }}
const req = https.request(options, res => { if (res.statusCode == 201) { console.log("Success: code = 201 - sms resource created"); res.on('data', d => { process.stdout.write(d) }) } else if (res.statusCode == 400) console.log("Error: code = 400 - Invalid input"); else if (res.statusCode == 401) console.log("Error: code = 401 - Client ID or API key isn't active or invalid!"); else if (res.statusCode == 402) console.log("Error: code = 402 - There are not enough funds on your account!"); else if (res.statusCode == 403) console.log("Error: code = 403 - Account isn't activated. Please wait or contact to support!");})
req.on('error', error => { console.error(error)})req.write(postdata);req.end();<?php
$uri = 'https://api.lox24.eu/sms';
$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';
$body = [ 'sender_id' => 'My Sender', 'text' => "First line\nSecond line", 'service_code' => 'direct', 'phone' => '+49751234567', 'delivery_at' => 1573724611, 'is_unicode' => true, 'callback_data' => '123456', 'voice_lang' => 'DE',];
if(!$body = json_encode($body)) { die('JSON encoding error!');}
$curl = curl_init();
curl_setopt_array($curl, [ CURLOPT_POST => true, CURLOPT_URL => $uri, CURLOPT_POSTFIELDS => $body, CURLOPT_HTTPHEADER => [ "X-LOX24-AUTH-TOKEN: {$token}", 'Accept: application/json', // or application/ld+json 'Content-Type: application/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"
url = 'https://api.lox24.eu/sms'
data = { 'sender_id': "My Sender", 'text' : "Test message", 'service_code' : "direct", 'phone': "+49751234567", 'delivery_at': 1573724611, 'is_unicode': True, 'callback_data' => '123456', 'voice_lang' => 'DE'}
headers = { 'Accept': 'application/json', 'Content-Type': 'application/json', 'X-LOX24-AUTH-TOKEN': token,}
print("Post data : ", json.dumps(data, indent=4))
try: # timeout is 100 seconds, the payload is automatically converted to json format res = requests.post(url, headers=headers, json=data, timeout=100) if res.status_code != 201: # Created print("Error: Wrong response code on create sms") res.raise_for_status() else: print(f'Success: code = {res.status_code} - sms resource created') print("Response: ", json.dumps(res.json(), indent=4))
except requests.HTTPError: if res.status_code == 400: print("Error:400 Invalid input") elif res.status_code == 401: print("Error: code = 401 - Client ID or API key isn't active or invalid!") elif res.status_code == 402: print("Error:402 There are not enough funds on your account!") 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))