API Admin
La API Admin está diseñada para técnicos y clientes que quieran gestionar subcuentas.
Las funcionalidades de la API Admin son:
- La creación y alta de subcuentas.
- Modificación del saldo de créditos de subcuentas.
- Habilitar, deshabilitar y eliminar subcuentas.
Para iniciar una integración con la API Admin son imprescindibles los siguientes requisitos:
- Una cuenta de LabsMobile asociada con un nombre de usuario (correo electrónico de registro). Crea una cuenta aquí.
- Token API utilizado como contraseña y generado desde la sección Configuración API de tu cuenta.
- URL del endpoint de la API Admin y los valores de los parámetros para realizar las peticiones.
Colección Postman API Admin
Descargar
A tener en cuenta
La API Admin de LabsMobile utiliza parámetros HTTP POST en formato XML y una URL base común para todas las peticiones: https://api.labsmobile.com/admin/
Autenticación
El método de autenticación utilizado en cualquier petición de la API Admin es Basic Auth HTTP.
Este tipo de autenticación consta de unas credenciales username:tokenapi
que se incluyen en el encabezado de la petición HTTP codificado en base64()
.
Ejemplo de valor de encabezado de autenticación:Authorization: Basic 9yewaXic21vYmlsZqS5jmSk04enFTbUU=
Recomendación Se pueden generar tokens API desde la Configuración API de la cuenta. Recomendamos cambiar el token frecuentemente y utilizar diferentes tokens para cada uso, conexión o integración.
Crear cuenta
Este comando permite crear una subcuenta.
La subcuenta creada estará controlada por la cuenta administradora que ejecuta esta función y se podrá modificar el estado y saldo de créditos a través de las funciones de esta API.
ENDPOINT
POST https://api.labsmobile.com/admin/cmd/cmd_createaccount.php
PARÁMETROS
Los parámetros o datos se envían en una variable http/POST con nombre
XmlData
con el elemento raízcmd
y los demás elementos que se describen a continuación:login email obligatorio
Nombre de usuario de la nueva cuenta. Este nombre de usuario se podrá utilizar para acceder a la aplicación WebSMS o API.
pwd contraseña obligatorio
Contraseña de la nueva cuenta.
<?xml version="1.0" encoding="UTF-8"?> <cmd> <login>newaccount@test.com</login> <pwd>hteRW42w</pwd> </cmd>
RESULTADO
El resultado de cualquier petición API SMS http/POST se obtiene en formato
XML
con el elemento raíz<response>
y con los siguientes elementos hijos:code integer
Código identificador que indica si se ha podido procesar la petición de forma exitosa o si se ha producido un error. Posibles valores en la el apartado Errores.
Ejemplo:
<code>0</code>
message string
Descripción que indica si se ha podido procesar la petición de forma exitosa o si se ha producido un error. Posibles valores en la el apartado Errores.
Ejemplo:
<message>Parameter login not found in XML</message>
<?xml version="1.0" encoding="UTF-8"?> <response> <code>0</code> <message>Command has been successfully processed</message> </response> </cmd>
curl --user myUsername:myToken -X POST \ https://api.labsmobile.com/admin/cmd/cmd_createaccount.php \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'XmlData=<?xml version="1.0" encoding="UTF-8"?><cmd><login>newaccount@test.com</login><pwd>hteRW42w</pwd></cmd>'
#include <stdio.h> #include <curl/curl.h> int main(void) { CURL *curl; CURLcode res; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST"); curl_easy_setopt(curl, CURLOPT_URL, "https://api.labsmobile.com/admin/cmd/cmd_createaccount.php"); curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https"); curl_easy_setopt(curl, CURLOPT_HTTPAUTH, (long)CURLAUTH_BASIC); curl_easy_setopt(curl, CURLOPT_USERNAME, "myUsername"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "myToken"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Content-Type: application/x-www-form-urlencoded"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); const char *data = 'XmlData=<?xml version="1.0" encoding="UTF-8"?><cmd><login>newaccount@test.com</login><pwd>hteRW42w</pwd></cmd>'; curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data); res = curl_easy_perform(curl); if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); curl_easy_cleanup(curl); } return 0; }
using System; using RestSharp; namespace CreateAccount { class Program { static void MainSend(string[] args) { var client = new RestClient("https://api.labsmobile.com"); var request = new RestRequest("/admin/cmd/cmd_createaccount.php", Method.Post); request.AddHeader("Content-Type", "application/x-www-form-urlencoded"); request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes("myUsername" + ":" + "myToken"))); var body = @"XmlData=<?xml version=""1.0"" encoding=""UTF-8""?><cmd><login>newaccount@test.com</login><pwd>hteRW42w</pwd></cmd>"; request.AddParameter("application/x-www-form-urlencoded", body, ParameterType.RequestBody); RestResponse response = client.Execute(request); if (response.ErrorException != null) { Console.WriteLine("Error: " + response.ErrorException.Message); } else { Console.WriteLine("Response content: " + response.Content); } } } }
package com.example; import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; import com.mashape.unirest.http.exceptions.UnirestException; public class App { public static void main(String[] args) throws UnirestException { Unirest.setTimeouts(0, 0); HttpResponse<String> response = Unirest.post("https://api.labsmobile.com/admin/cmd/cmd_createaccount.php") .header("Content-Type", "application/x-www-form-urlencoded") .basicAuth("myUsername", "myToken") .body("XmlData=<?xml version=\"1.0\" encoding=\"UTF-8\"?><cmd><login>newaccount@test.com</login><pwd>hteRW42w</pwd></cmd>") .asString(); System.out.println("Status code: " + response.getBody()); } }
<?php $curl = curl_init(); $xmlData = '<?xml version="1.0" encoding="UTF-8"?><cmd><login>newaccount@test.com</login><pwd>hteRW42w</pwd></cmd>'; $postFields = 'XmlData=' . $xmlData; $auth_basic = base64_encode("myUsername:myToken"); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.labsmobile.com/admin/cmd/cmd_createaccount.php', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => $postFields, CURLOPT_HTTPHEADER => array( 'Content-Type: application/x-www-form-urlencoded', 'Authorization: Basic '. $auth_basic ), )); $response = curl_exec($curl); curl_close($curl); echo $response;
import requests, base64, json userToken = "myUsername:myToken" credentials = (base64.b64encode(userToken.encode()).decode()) url = "https://api.labsmobile.com/admin/cmd/cmd_createaccount.php" payload = "XmlData=<?xml version=\"1.0\" encoding=\"UTF-8\"?><cmd><login>newaccount@test.com</login><pwd>hteRW42w</pwd></cmd>"headers = { 'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': 'Basic %s' % credentials, } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
const axios = require('axios'); let data = 'XmlData=<?xml version="1.0" encoding="UTF-8"?><cmd><login>newaccount@test.com</login><pwd>hteRW42w</pwd></cmd>'; let config = { method: 'post', maxBodyLength: Infinity, url: 'https://api.labsmobile.com/admin/cmd/cmd_createaccount.php', headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': 'Basic ' + Buffer.from("myUsername:myToken").toString('base64') }, data : data }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.log(error); });
require "uri" require 'base64' require "net/http" url = URI("https://api.labsmobile.com/admin/cmd/cmd_createaccount.php") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Post.new(url) request["Content-Type"] = "application/x-www-form-urlencoded" request["Authorization"] = "Basic " + Base64.strict_encode64("myUsername:myToken") request.body = "XmlData=<?xml version=\"1.0\" encoding=\"UTF-8\"?><cmd><login>newaccount@test.com</login><pwd>hteRW42w</pwd></cmd>" response = https.request(request) puts response.read_body
Modificar saldo
Este comando permite añadir o restar créditos al saldo una subcuenta existente y controlada por la cuenta administradora que ejecuta esta llamada.
ENDPOINT
POST https://api.labsmobile.com/admin/cmd/.php
PARÁMETROS
Los parámetros o datos se envían en una variable http/POST con nombre
XmlData
con el elemento raízcmd
y los demás elementos que se describen a continuación:login string obligatorio
Nombre de usuario de la cuenta a la que se quieren modificar los créditos.
messages float obligatorio
Número de créditos a sumar o restar a la cuenta.
<?xml version="1.0" encoding="UTF-8"?> <cmd> <login>newaccount@test.com</login> <messages>30</messages> </cmd>
RESULTADO
El resultado de cualquier petición API SMS http/POST se obtiene en formato
XML
con el elemento raíz<response>
y con los siguientes elementos hijos:code integer
Código identificador que indica si se ha podido procesar la petición de forma exitosa o si se ha producido un error. Posibles valores en la el apartado Errores.
Ejemplo:
<code>0</code>
message string
Descripción que indica si se ha podido procesar la petición de forma exitosa o si se ha producido un error. Posibles valores en la el apartado Errores.
Ejemplo:
<message>Command has been successfully processed</message>
<?xml version="1.0" encoding="UTF-8"?> <response> <code>148</code> <message>Not enough credits to perform the adding command</message> </response> </cmd>
curl --user myUsername:myToken -X POST \ https://api.labsmobile.com/admin/cmd/cmd_addbalance.php \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'XmlData=<?xml version="1.0" encoding="UTF-8"?><cmd><login>newaccount@test.com</login><messages>30</messages></cmd>'
#include <stdio.h> #include <curl/curl.h> int main(void) { CURL *curl; CURLcode res; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST"); curl_easy_setopt(curl, CURLOPT_URL, "https://api.labsmobile.com/admin/cmd/cmd_addbalance.php"); curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https"); curl_easy_setopt(curl, CURLOPT_HTTPAUTH, (long)CURLAUTH_BASIC); curl_easy_setopt(curl, CURLOPT_USERNAME, "myUsername"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "myToken"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Content-Type: application/x-www-form-urlencoded"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); const char *data = 'XmlData=<?xml version="1.0" encoding="UTF-8"?><cmd><login>newaccount@test.com</login><messages>30</messages></cmd>'; curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data); res = curl_easy_perform(curl); if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); curl_easy_cleanup(curl); } return 0; }
using System; using RestSharp; namespace AddBalance { class Program { static void MainSend(string[] args) { var client = new RestClient("https://api.labsmobile.com"); var request = new RestRequest("/admin/cmd/cmd_addbalance.php", Method.Post); request.AddHeader("Content-Type", "application/x-www-form-urlencoded"); request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes("myUsername" + ":" + "myToken"))); var body = @"XmlData=<?xml version=""1.0"" encoding=""UTF-8""?><cmd><login>newaccount@test.com</login><messages>30</messages></cmd>"; request.AddParameter("application/x-www-form-urlencoded", body, ParameterType.RequestBody); RestResponse response = client.Execute(request); if (response.ErrorException != null) { Console.WriteLine("Error: " + response.ErrorException.Message); } else { Console.WriteLine("Response content: " + response.Content); } } } }
package com.example; import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; import com.mashape.unirest.http.exceptions.UnirestException; public class App { public static void main(String[] args) throws UnirestException { Unirest.setTimeouts(0, 0); HttpResponse<String> response = Unirest.post("https://api.labsmobile.com/admin/cmd/cmd_addbalance.php") .header("Content-Type", "application/x-www-form-urlencoded") .basicAuth("myUsername", "myToken") .body("XmlData=<?xml version=\"1.0\" encoding=\"UTF-8\"?><cmd><login>newaccount@test.com</login><messages>30</messages></cmd>") .asString(); System.out.println("Status code: " + response.getBody()); } }
<?php $curl = curl_init(); $xmlData = '<?xml version="1.0" encoding="UTF-8"?><cmd><login>newaccount@test.com</login><messages>30</messages></cmd>'; $postFields = 'XmlData=' . $xmlData; $auth_basic = base64_encode("myUsername:myToken"); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.labsmobile.com/admin/cmd/cmd_addbalance.php', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => $postFields, CURLOPT_HTTPHEADER => array( 'Content-Type: application/x-www-form-urlencoded', 'Authorization: Basic '. $auth_basic ), )); $response = curl_exec($curl); curl_close($curl); echo $response;
import requests, base64, json userToken = "myUsername:myToken" credentials = (base64.b64encode(userToken.encode()).decode()) url = "https://api.labsmobile.com/admin/cmd/cmd_addbalance.php" payload = payload = "XmlData=<?xml version=\"1.0\" encoding=\"UTF-8\"?><cmd><login>newaccount@test.com</login><messages>30</messages></cmd>" headers = { 'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': 'Basic %s' % credentials, } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
const axios = require('axios'); let data = 'XmlData=<?xml version="1.0" encoding="UTF-8"?><cmd><login>newaccount@test.com</login><messages>30</messages></cmd>'; let config = { method: 'post', maxBodyLength: Infinity, url: 'https://api.labsmobile.com/admin/cmd/cmd_addbalance.php', headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': 'Basic ' + Buffer.from("myUsername:myToken").toString('base64') }, data : data }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.log(error); });
require "uri" require 'base64' require "net/http" url = URI("https://api.labsmobile.com/admin/cmd/cmd_addbalance.php") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Post.new(url) request["Content-Type"] = "application/x-www-form-urlencoded" request["Authorization"] = "Basic " + Base64.strict_encode64("myUsername:myToken") request.body = "XmlData=<?xml version=\"1.0\" encoding=\"UTF-8\"?><cmd><login>newaccount@test.com</login><messages>30</messages></cmd>" response = https.request(request) puts response.read_body
Modificar cuenta
Este comando permite modificar el estado de subcuenta existente y controlada por la cuenta administradora que ejecuta esta llamada.
ENDPOINT
POST https://api.labsmobile.com/admin/cmd/cmd_statusaccount.php
PARÁMETROS
Los parámetros o datos se envían en una variable http/POST con nombre
XmlData
con el elemento raízcmd
y los demás elementos que se describen a continuación:login string obligatorio
Nombre de usuario de la cuenta a la que se quiere modificar el estado.
status 0 | 1 | 2 obligatorio
Estado al que se quiere modificar la cuenta.
Valores de estado0
Deshabilitar cuenta 1
Habilitar cuenta 2
Eliminar cuenta
<?xml version="1.0" encoding="UTF-8"?> <cmd> <login>newaccount@test.com</login> <status>0</status> </cmd>
RESULTADO
El resultado de cualquier petición API SMS http/POST se obtiene en formato
XML
con el elemento raíz<response>
y con los siguientes elementos hijos:code integer
Código identificador que indica si se ha podido procesar la petición de forma exitosa o si se ha producido un error. Posibles valores en la el apartado Errores.
Ejemplo:
<code>0</code>
message string
Descripción que indica si se ha podido procesar la petición de forma exitosa o si se ha producido un error. Posibles valores en la el apartado Errores.
Ejemplo:
<message>Command has been successfully processed</message>
<?xml version="1.0" encoding="UTF-8"?> <response> <code>147</code> <message>Trying to update a non-existing account</message> </response> </cmd>
curl --user myUsername:myToken -X POST \ https://api.labsmobile.com/admin/cmd/cmd_statusaccount.php \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'XmlData=<?xml version="1.0" encoding="UTF-8"?><cmd><login>newaccount@test.com</login><status>0</status></cmd>'
#include <stdio.h> #include <curl/curl.h> int main(void) { CURL *curl; CURLcode res; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST"); curl_easy_setopt(curl, CURLOPT_URL, "https://api.labsmobile.com/admin/cmd/cmd_statusaccount.php"); curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https"); curl_easy_setopt(curl, CURLOPT_HTTPAUTH, (long)CURLAUTH_BASIC); curl_easy_setopt(curl, CURLOPT_USERNAME, "myUsername"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "myToken"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Content-Type: application/x-www-form-urlencoded"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); const char *data = '<?xml version="1.0" encoding="UTF-8"?><cmd><login>newaccount@test.com<</login><status>0</status></cmd>'; curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data); res = curl_easy_perform(curl); if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); curl_easy_cleanup(curl); } return 0; }
using System; using RestSharp; namespace Status { class Program { static void MainSend(string[] args) { var client = new RestClient("https://api.labsmobile.com"); var request = new RestRequest("/admin/cmd/cmd_statusaccount.php", Method.Post); request.AddHeader("Content-Type", "application/x-www-form-urlencoded"); request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes("myUsername" + ":" + "myToken"))); var body = @"XmlData=<?xml version=""1.0"" encoding=""UTF-8""?><cmd><login>newaccount@test.com</login><status>0</status></cmd>"; request.AddParameter("application/x-www-form-urlencoded", body, ParameterType.RequestBody); RestResponse response = client.Execute(request); if (response.ErrorException != null) { Console.WriteLine("Error: " + response.ErrorException.Message); } else { Console.WriteLine("Response content: " + response.Content); } } } }
package com.example; import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; import com.mashape.unirest.http.exceptions.UnirestException; public class App { public static void main(String[] args) throws UnirestException { Unirest.setTimeouts(0, 0); HttpResponse<String> response = Unirest.post("https://api.labsmobile.com/admin/cmd/cmd_statusaccount.php") .header("Content-Type", "application/x-www-form-urlencoded") .basicAuth("myUsername", "myToken") .body("XmlData=<?xml version=\"1.0\" encoding=\"UTF-8\"?><cmd><login>newaccount@test.com</login><status>0</status></cmd>") .body() .asString(); System.out.println("Status code: " + response.getBody()); } }
<?php $curl = curl_init(); $xmlData = '<?xml version="1.0" encoding="UTF-8"?><cmd><login>newaccount@test.com<</login><status>0</status></cmd>'; $postFields = 'XmlData=' . $xmlData; $auth_basic = base64_encode("myUsername:myToken"); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.labsmobile.com/admin/cmd/cmd_statusaccount.php', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => $postFields, CURLOPT_HTTPHEADER => array( 'Content-Type: application/x-www-form-urlencoded', 'Authorization: Basic '. $auth_basic ), )); $response = curl_exec($curl); curl_close($curl); echo $response;
import requests, base64, json userToken = "myUsername:myToken" credentials = (base64.b64encode(userToken.encode()).decode()) url = "https://api.labsmobile.com/admin/cmd/cmd_statusaccount.php" payload = "XmlData=<?xml version=\"1.0\" encoding=\"UTF-8\"?><cmd><login>newaccount@test.com</login><status>0</status></cmd>"headers = { 'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': 'Basic %s' % credentials, } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
const axios = require('axios'); let data = 'XmlData=<?xml version="1.0" encoding="UTF-8"?><cmd><login>newaccount@test.com</login><status>0</status></cmd>'; let config = { method: 'post', maxBodyLength: Infinity, url: 'https://api.labsmobile.com/admin/cmd/cmd_statusaccount.php', headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': 'Basic ' + Buffer.from("myUsername:myToken").toString('base64') }, data : data }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.log(error); });
require "uri" require 'base64' require "net/http" url = URI("https://api.labsmobile.com/admin/cmd/cmd_statusaccount.php") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Post.new(url) request["Content-Type"] = "application/x-www-form-urlencoded" request["Authorization"] = "Basic " + Base64.strict_encode64("myUsername:myToken") request.body = "XmlData=<?xml version=\"1.0\" encoding=\"UTF-8\"?><cmd><login>newaccount@test.com</login><status>0</status></cmd>" response = https.request(request) puts response.read_body
Errores
A continuación se describen los códigos de error HTTP que puede devolver una petición a la API Admin.
Código HTTP | Código XML | Descripción |
---|---|---|
200 OK | 0 | Comando procesado correctamente |
400 Bad Request | 130 | Error interno o inesperado |
400 Bad Request | 141 | Parámetro requerido no encontrado en el XML |
400 Bad Request | 142 | Error en el formato XML |
400 Bad Request | 143 | Parámetro login no encontrado |
400 Bad Request | 144 | Parámetro pwd no encontrado |
400 Bad Request | 145 | Parámetro message no encontrado |
400 Bad Request | 146 | Parámetro status no encontrado |
400 Bad Request | 147 | Error modificando una cuenta inexistente |
400 Bad Request | 148 | No existen suficientes créditos para esta operación |
400 Bad Request | 150 | Cuenta existente con el mismo username |
401 Bad Unauthorized | 151 | Credenciales incorrectas |
401 Bad Unauthorized | 152 | No se han encontrado credenciales |
Recursos de soporte
Recomendamos consultes y tengas en cuenta los siguientes recursos de soporte en tu integración:
- Descripción, manual y ejemplos de código de la API de envío SMS
- Guía técnica de un proceso de validación o autenticación OTP por SMS
- Todas las versiones y funcionalidades de la API de LabsMobile
- Tutorial primeros pasos de una integración API
- Crea una cuenta de prueba
- Recomendaciones y buenas prácticas en cualquier integración
- Plugins, módulos y extensiones
- ¿Necesitas ayuda? Contacta con nuestros técnicos