Documentación API REST

Acceso API

API

Acceda a la API a través de herramientas de línea de comandos como cURL, cualquier cliente REST, o cualquier otra forma de enviar una solicitud.
Esta API se ha implementado como código abierto con kits de desarrollo de software para PHP

URL Request

La dirección para realizar los request en nuestra api es https://api.tecsms.com.

Esta url se divide otras url en dependencia del request vamos a realizar (generar token, crear envío, consultar envío)

Autenticación

Login

Para realizar un login en el API realizaremos una solicitud HTTPS a la siguiente dirección https://api.tecsms.com/login.php

Estructura JSON

                    login:{
                      "usuario": "mi usuario", 
                      "password": "mi password",
                      "plataforma": "0"
                    }
                
Donde:
    pusuario => El usuario que va a hacer uso de la plataforma.
    password => La contraseña definida para ingresar o iniciar sesión en la plataforma.
    plataforma => La etiqueta plataforma corresponde al tipo de plataforma a utilizar siendo 0 para prepago y 1 para postpago.

Respuestas

                  {
                    "message":"Login Correcto.",
                    "token":"xxxxxxxxxxxxxx",
                    "caduca":"1999-01-01 00:00:00"
                  }
                

Solicitudes Fallidas

                  
                  
- Usuario o contraseña incorrectas
{ "message":"Usuario o Password Incorrecto." }
- Código de la plataforma Incorrecto
{ "message":"La plataforma definida no existe." }
- Estructura del Json errónea
{ "success":"false", "message":"Existe un error en la estructura del archivo" }

Ejemplo de login usando CURL y php

 
                  
                    
                      /*Creamos nuestro array con la información del login*/
                      $login = array("login" 
                      => array(
                                "usuario" => "mi usuario", 
                                "password"=> "mi contraseña",
                                "plataforma" => "0", 
                              )
                    );

                    /*Convertimos nuestro array a un objeto tipo jSON*/
                    $data = json_encode($login);

                    /*Iniciamos CURl*/
                    $curl = curl_init();

                    //definimos nuestra ULR
                    $url = "https://api.tecsms.com/login.php";

                    //Establecemos los parámetros para enviar la solicitud
                    curl_setopt_array($curl, array(
                      CURLOPT_URL => $url,
                      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 =>$data,
                      CURLOPT_HTTPHEADER => array(
                        "Content-Type: text/plain"
                      ),
                    ));

                    /*Obtenemos la respuesta*/
                    $response = curl_exec($curl);

                    /*Terminamos curl*/
                    curl_close($curl);

                    /*convertimos el json a un objeto*/
                    $respuesta = json_decode($response);

                    /*obtenemos el token*/
                    $token = $respuesta->token ;
                  
                

Enviar SMS

Enviando SMS

Para el envío de sms realizaremos una solicitud a la dirección https://api.tecsms.com/sendsms.php.

Para poder consumir el API de envío de SMS, necesitamos autenticar y generar un token (ver Autenticacion ), el cual lo utilizaremos al momento de enviar la solicitud


Estructura JSON

                    {
                      "notification":{
                          "channel":"sms",
                          "type":"1",
                          "senddate":"2020-08-07 08:47:00",
                          "priority":"1",
                          "means":{
                            "number":"tecsms",
                            "code":"506",
                            "nombre":"Nombre del envío"
                          },
                          "contents":{
                            "message":"Mensaje",
                            "number":"88888888, 66666666",
                            "code" => "506"
                          }
                        }
                      }
                
Donde:
notification => Un (JSON) que contiene toda la información referente al envío
{
      channel => Un (String) que contiene el canal por donde será enviada la notificación, por defecto "sms".
      sendate => Un (String) que contiene la fecha de envío de la notificación formato "yyyy-mm-dd H:m:s".
      priority => Un (String) que contiene la prioridad de envío de la notificación para sms por defecto "1".
      means => Un (JSON) que contiene el encabezado de la notificación.
      {
            number => Por defecto "tecsms".
            code => Un (string) que contiene el código del país al cual será enviada la notificación.
            nombre => un (String) que contiene el nombre con el cual será guardada la notifiación".
      }
      contents => un (JSON) que contiene el detalle de la notificación.
      {
            message => un (string) que contiene el mensaje de la notificación
            number => un (String) que contiene el o los números a los cual será enviada la notificación (cada número debe de ser separado por coma (" , " ))
            code => Un (String) debe de ser el mismo código del país del encabezado en la etiqueta "means"
      }
}

Respuesta

                  
                  {
                    "success":"true",
                    "message":"mensaje Registrado.",
                    "numeroEnvio":"xxxxxxx"
                  }
                 
                



Solicitudes Fallidas

                  
                  
- Token incorrecto o caducado
{ "message":"Token Invalido o Caducado." }
- El usuario no posee créditos suficientes para enviar la notificación
{ "success":"false", "message":"creditos insuficiente." }
- La estructura del json es incorrecta
{ "message":"Informacion Incompleta Por favor revisar informacion." }
- La fecha o su formato es incorrecto
{ "success":"false", "message":"fecha o formato incorrecto" }
- La cadena de números en la etiqueta "number" es incorrecta
{ "success":"false", "message":"Cadena de números incorrecta." }
- Canal incorrecto
{ "message":"Mensaje no Procesado Channel Incorrecto." }
- Ocurrio un error inesperado al realizar la solicitud
{ "success": "false", "message": "Mensaje no Registrado." }


Ejemplo de envio de notificación usando CURL y PHP

 
                  
                   
                    $fecha = date("Y-m-d H:i:s");

                    $notificacion = array("notification" => 
                                    array("channel" => "sms",
                                        "type" => "1",
                                        "senddate" => "$fecha",
                                        "priority" => "1",
                                        "means" => 
                                          array("number" => "tecsms",
                                                "code" => "506",
                                                "nombre" => "hola desde api"
                                        ),
                                        "contents" => 
                                            array(
                                                    "message" => "Esto es un envío desde tecsms",
                                                    "number" => "xxxxxxxx, xxxxxxxx", 
                                                    "code" => "506"
                                                )
                                        ),
                                );
                    
                    $data = json_encode($notificacion);
                    
                    $url = "https://api.tecsms.com/sendsms.php";
                    
                    $curl = curl_init();
                    
                    curl_setopt_array($curl, array(
                        CURLOPT_URL => $url,
                        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 => $data,
                        CURLOPT_HTTPHEADER => array(
                        "Authorization: Bearer $token",
                        "Content-Type: text/plain"
                        ),
                    ));
                    
                    $response = curl_exec($curl);
                    curl_close($curl);
                    echo $response;
                  
                

Paises Disponibles

  • (506) Costa Rica
  • (507) Panamá
  • (502) Guatemala
  • (503) El Salvador
  • (505) Nicaragua
  • (504) Honduras
  • (52) Mexico
  • (1) USA

Consultar envío

Consultando un envío

Para consultar un envío realizaremos una solicitud a la dirección https://api.tecsms.com/consultsms.php.

Para poder consumir el API de consulta de un envío, necesitamos autenticarnos y generar un token (ver Autenticacion ), el cual lo utilizaremos al momento de enviar la solicitud


Estructura JSON

                  {
                    "codigo":"xxxxx"
                  }
                
Donde:
"codigo" => Un (String) que contiene el código que hemos recibido cuando enviamos una notificación.


Respuesta

                  
                  {
                    "success":"true",
                    "pais":"(506) Costa Rica",
                    "nombre":"Envío a Costa Rica",
                    "fecha":"1999-01-01 00:00:00",
                    "texto":"mensaje de prueba",
                    "descripcion":"Normal, 15 caracter(es), 1 SMS",
                    "estado":"Finalizado",
                    "cantidadTelefonos":"1",
                    "costoTotal":"0.021",
                    "mensajesEnviados":"1"
                  }
                 
                


Solicitudes Fallidas

                  
                  
- Token incorrecto o caducado
{ "message":"Token Invalido o Caducado." }
- La estructura del json es incorrecta
{ "message":"Informacion Incompleta Por favor revisar informacion." }
- Número de mensaje incorrecto
{ "success":"false", "message":"codigo de mensaje incorrecto" }


Ejemplo de consulta de un envío usando CURL y PHP

 
                  
                  
                    $datos = array("codigo" => "xxxx");
                    
                    $data = json_encode($datos);  
                    $url = "https://api.tecsms.com/consultsms.php";
                    
                    $curl = curl_init();
                    
                    curl_setopt_array($curl, array(
                        CURLOPT_URL => $url,
                        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 => $data,
                        CURLOPT_HTTPHEADER => array(
                        "Authorization: Bearer $token",
                        "Content-Type: text/plain"
                        ),
                    ));
                    
                    $response = curl_exec($curl);
                    curl_close($curl);
                    echo $response;
                  
                

Consultar Balance

Consultando balance (únicamente para la plataforma prepago)

Para consultar el balance actual de nuestra cuenta realizaremos una solicitud a la dirección https://api.tecsms.com/balance.php.

Para poder consumir el API de consulta de un envío, necesitamos unicamente nuestro usuario y contraseña


Estructura JSON

                  {
                    "login":
                    {
                      "usuario":"mi_usuario",
                      "password":"mi_contraseña",
                      "plataforma":"0"
                    }
                  }
                
Donde:
    pusuario => El usuario que hemos creado en la plataforma
    password => La contraseña que hemos utilizado para iniciar sesión en la plataforma.
    plataforma => La etiqueta plataforma siempre es 0.



Respuesta

                  
                  {
                    "success":"true",
                    "balance":"1225.000"
                  }
                 
                


Solicitudes Fallidas

                  
                  
- Usuario o contraseña incorrectas
{ "message":"Usuario o Password Incorrecto." }
- Código de la plataforma Incorrecto
{ "message":"La plataforma definida no existe." }
- Estructura del Json errónea
{ "success":"false", "message":"Existe un error en la estructura del archivo" }


Ejemplo de consulta de un envío usando CURL y PHP

 
                  
                  
                    $datos = array("login" 
                                  => array(
                                      "usuario" => "mi usuario", 
                                      "password"=> "contrasenia",
                                      "plataforma" =>"0", 
                                  )
                              );

                    $data = json_encode($datos); 

                    $curl = curl_init();

                    $url = "https://api.tecsms.com/balance.php";

                    curl_setopt_array($curl, array(
                      CURLOPT_URL => $url,
                      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 =>$data,
                      CURLOPT_HTTPHEADER => array(
                        "Content-Type: text/plain"
                      ),
                    ));

                    $response = curl_exec($curl);
                    
                    $error = curl_error($curl);

                    curl_close($curl);
                    
                    echo $response;