Manual de referencia API SMSmasivos

Para hacer uso de la API deberá generar su Api Key, Para esto entre a su panel con usuario y contraseña (https://smsmasivos.com.mx/sms/)y generarla en la sección API de su panel de usuario (https://smsmasivos.com.mx/sms/Api.php)

Enviar mensaje por API Envío

Para enviar un mensaje SMS a través de API Envío, deberá realizar una petición a la siguiente dirección:

POST https://smsmasivos.com.mx/sms/api.envio.new.php

Parámetros a enviar

Parámetro Descripción
apikey Obligatorio Clave generada en la sección API KEY de este manual.
mensaje Obligatorio Mensaje que desea enviar, este no debe exceder caracteres permitidos 160(SMS), la petición retornara el error correspondiente.
numcelular Obligatorio Número de celular del destinatario, formado por clave de ciudad y número, ejemplo: 5551234567
numregion Obligatorio Clave de marcación del país, ejemplo México 52, Argentina 54, Chile 56 etc.
language Opcional Language
sandbox Opcional Indica este parámetro solo si requieres trabajar en un ambiente de pruebas, Esto con la finalidad de que tus mensajes no sean enviados ni descontados de tu crédito. El parámetro sandbox debe tener el valor 1.

Tus envíos en modo sandbox devolverán las mismas respuestas como si los enviaras sin esta forma y estarán disponibles para la obtenerlos con API Reporte en modo sandbox únicamente el mismo día del envío.

Nota: Solo puedes realizar hasta 1000 envíos por día en modo sandbox

Respuestas Api Envío

{"estatus":"ok", "mensaje":"Mensaje enviado", "referencia":"<referencia>"}
{"estatus":"error", "mensaje":"Apikey no definido","codigo":"01"}
{"estatus":"error", "mensaje":"Mensaje no definido", "codigo":"02"}
{"estatus":"error", "mensaje":"Mensaje supera 160 caracteres", "codigo":"03"}
{"estatus":"error", "mensaje":"Número de celular no definido", "codigo":"04"}
{"estatus":"error", "mensaje":"El número de celular debe ser números", "codigo":"05"}
{"estatus":"error", "mensaje":"Número de región no definido", "codigo":"06"}
{"estatus":"error", "mensaje":"Número de celular debe contener 10 dígitos", "codigo":"07"}
{"estatus":"error", "mensaje":"Número de celular contiene menos de 6 dígitos", "codigo":"08"}
{"estatus":"error", "mensaje":"Apikey incorrecta", "codigo":"10"}
{"estatus":"error", "mensaje":"Crédito insuficiente. Crédito actual: <credito>", "codigo":"13"}
{"estatus":"error", "mensaje":"Solo puedes realizar hasta 1000 envíos por día en modo sandbox", "codigo":"22"}
{"estatus":"error", "mensaje":"Archivo supera 6MB", "codigo":"23"}
{"estatus":"error", "mensaje":"Archivo invalido", "codigo":"24"}

Ejemplo de petición a API Envío en PHP (SMS)

        curl_setopt_array($ch = curl_init(), array(
                CURLOPT_URL => "http://smsmasivos.com.mx/sms/api.envio.new.php",
                //HTTPS
                //CURLOPT_URL => "https://smsmasivos.com.mx/sms/api.envio.new.php",
                //CURLOPT_SSL_VERIFYPEER => FALSE,
                CURLOPT_POST => TRUE,
                CURLOPT_RETURNTRANSFER => TRUE,
                CURLOPT_POSTFIELDS => array(
                    "apikey" => "8192f0c5c7cf2df5222c30e115a83917206218da",
                    "mensaje" => "Mensaje prueba",
                    "numcelular" => "5551234567",
                    "numregion" => "52"
                )
            )
        );

        $respuesta=curl_exec($ch);
        curl_close($ch);
        $respuesta=json_decode($respuesta);
        echo $respuesta->mensaje;
    

Descarga éjemplos de uso de API Envío

Use API envio por lote para enviar a hasta 500 diferentes destinatarios a la vez.


Enviar mensaje por API Envío por lote

Para enviar un mensaje través de API Envío por lote, deberá realizar una petición a la siguiente dirección:

POST https://smsmasivos.com.mx/sms/api.multienvio.new.php

Parámetros a enviar

Parámetro Descripción
apikey Obligatorio Clave generada en la sección API KEY de este manual.
mensaje Obligatorio Mensaje que desea enviar, este no debe exceder caracteres permitidos 160(SMS), la petición retornara el error correspondiente.
numcelular Obligatorio Números de celular de los destinatarios separados por coma (,), formado por clave de ciudad y número, ejemplo: 5551234567,4770123456,4421234567
numregion Obligatorio Clave de marcación del país, ejemplo México 52, Argentina 54, Chile 56 etc.
language Opcional Language
sandbox Opcional Indica este parámetro solo si requieres trabajar en un ambiente de pruebas, Esto con la finalidad de que tus mensajes no sean enviados ni descontados de tu crédito. El parámetro sandbox debe tener el valor 1.

Tus envíos en modo sandbox devolverán las mismas respuestas como si los enviaras sin esta forma y estarán disponibles para la obtenerlos con API Reporte en modo sandbox únicamente el mismo día del envío.

Nota: Solo puedes realizar hasta 1000 envíos por día en modo sandbox

Respuestas Api envío por lote

{"respuestas":[{"estatus":"ok", "mensaje":"Mensaje enviado", "referencia":"<referencia>", "numcelular":"<numero>"}]}
{"respuestas":[{"estatus":"error", "mensaje":"Apikey no definido","codigo":"01"}]}
{"respuestas":[{"estatus":"error", "mensaje":"Mensaje no definido", "codigo":"02"}]}
{"respuestas":[{"estatus":"error", "mensaje":"Mensaje supera 160 caracteres", "codigo":"03"}]}
{"respuestas":[{"estatus":"error", "mensaje":"Número de celular no definido", "codigo":"04"}]}
{"respuestas":[{"estatus":"error", "mensaje":"El número de celular debe ser números", "codigo":"05", "numcelular": "<numero>"}]}
{"respuestas":[{"estatus":"error", "mensaje":"Número de región no definido", "codigo":"06"}]}
{"respuestas":[{"estatus":"error", "mensaje":"Número de celular debe contener 10 dígitos", "codigo":"07", "numcelular": "<numero>"}]}
{"respuestas":[{"estatus":"error", "mensaje":"Número de celular contiene menos de 6 dígitos", "codigo":"08", "numcelular": "<numero>"}]}
{"respuestas":[{"estatus":"error", "mensaje":"Apikey incorrecta", "codigo":"10"}]}
{"respuestas":[{"estatus":"error", "mensaje":"Crédito insuficiente. Crédito actual: <credito>", "codigo":"13"}]}
{"respuestas":[{"estatus":"error", "mensaje":"No puedes enviar más de 500 mensajes a la vez", "codigo":"14"}]}
{"respuestas":[{"estatus":"error", "mensaje":"Número de celular repetido", "codigo":"15", "numcelular": "<numero>"}]}
{"respuestas":[{"estatus":"error", "mensaje":"Se encontraron dos comas seguidas(,,) en el campo numcelular", "codigo":"21"}]}
{"respuestas":[{"estatus":"error", "mensaje":"Solo puedes realizar hasta 1000 envíos por día en modo sandbox", "codigo":"22"}]}
Ejemplo respuesta:
{ "respuestas":[
  {"estatus":"error", "mensaje":"Número de celular debe contener 10 dígitos", "codigo":"07", "numcelular": "47739981888181"},
  {"estatus":"error", "mensaje":"El número de celular debe ser números", "codigo":"05", "numcelular": "47739YKX18"},
  {"estatus":"error", "mensaje":"Número de celular repetido", "codigo":"15", "numcelular": "4771234567"},
  {"estatus":"ok", "mensaje":"Mensaje enviado", "referencia":"20140305020339582444", "numcelular":"4771234567"}
 ]
}

Ejemplo de petición a API Envío por lotes

        curl_setopt_array($ch = curl_init(), array(
          CURLOPT_URL => "http://smsmasivos.com.mx/sms/api.multienvio.new.php",
          //HTTPS
          //CURLOPT_URL => "https://smsmasivos.com.mx/sms/api.envio.new.php",
          //CURLOPT_SSL_VERIFYPEER => FALSE,
          CURLOPT_POST => TRUE,
          CURLOPT_RETURNTRANSFER => TRUE,
          CURLOPT_POSTFIELDS => array(
            "apikey" => "8192f0c5c7cf2df5222c30e115a83917206218da",
            "mensaje" => "Mensaje prueba",
            "numcelular" => "5551234567,4771234567,4451234568",
            "numregion" => "52"
            )
          )
        );

        $r=curl_exec($ch);
        curl_close($ch);

        $respuesta=json_decode($r);
        for($i = 0; $i < count($r->respuestas); $i++){
         if($r->respuestas[$i]->estatus == "ok"){
          echo "Referencia:".$r->respuestas[$i]->referencia." Número:".$r->respuestas[$i]->numcelular."\n";
         }else{
          echo "Mensaje::".$r->respuestas[$i]->mensaje;
          echo isset($r->respuestas[$i]->numcelular) ? " Número:".$r->respuestas[$i]->numcelular."\n" : "";
         }
        }
    

Para recibir la confirmación de los mensajes que responden sus destinatarios, es necesario nos proporcionen una URL en la seccion API se su panel de usuario. A esta URL pasaremos método GET las respuestas de sus destinatarios.

Es necesario que su sistema reciba los parámetros que se enviarán y nos dé como respuesta una cadena "OK" después de haber procesado correctamente los parámetros enviados, en caso de que se nos proporcione una respuesta diferente se realizará un reintento, hasta 25 reintentos diferentes se realizarán para cada solicitud.

Ejemplo de URL:

GET https://www.smsmasivos.com.mx/sms/callback


Parámetros enviados a su archivo callback

Parámetro Descripción
referencia El número que funciona como identificador para diferenciar cada mensaje de respuesta, puede ser utilizado como control de mensajes.
status Consiste en un número que corresponde al estatus que fue devuelto por el envío de tu mensaje. Los estatus pueden ser:
  1. 0 Entregado
  2. 1 No entregado
  3. 2 Error
  4. 3 Expirado
  5. 4 Rechazado
  6. 5 Desconocido
  7. 6 No existe
  8. 7 Formato incorrecto
  9. 8 Pendiente
destino Número del destinatario a quien se envió el mensaje.
fecha Fecha y hora de confirmación de recepción en formato año, día, mes, hora, minuto, segundo AAAAMMDDHHMMSS

El siguiente sería un ejemplo de cómo se envía la información a un archivo php.

GET https://www.smsmasivos.com.mx/sms/callback.php?referencia=20130115050654215044&status=0&destino=5554433232&fecha=20130501120202

La interpretación del resultado del ejemplo anterior es un mensaje entregado correctamente al número 5554433232 con la referencia '20130115050654215044' el día 01 de mayo de 2013 a las 12:02:02.

Para recibir la información de los mensajes SMS que responden sus destinatarios, es necesario nos proporcionen una URL en la seccion API se su panel de usuario. A esta URL pasaremos método GET las respuestas de sus destinatarios.

Es necesario que su sistema reciba los parámetros que se enviarán y nos dé como respuesta una cadena "OK" después de haber procesado correctamente los parámetros enviados, en caso de que se nos proporcione una respuesta diferente se realizará un reintento, hasta 25 reintentos diferentes se realizarán para cada solicitud.

Ejemplo de URL:

GET https://www.smsmasivos.com.mx/sms/callback


Parámetros enviados a su archivo callback

Parámetro Descripción
referenciaid El número que funciona como identificador para diferenciar cada mensaje de respuesta, puede ser utilizado como control de mensajes.
destinatario Número del destinatario a quien se envió el mensaje.
mensaje Mensaje que se envió al cliente.
respuesta Mensaje de respuesta por parte del destinatario.
fechaenvio Fecha en que se envió el mensaje.
fecharespuesta Fecha en el que se recibió la respuesta por parte del destinatario.

El siguiente sería un ejemplo de cómo se envía la información a un archivo php.

GET https://www.smsmasivos.com.mx/sms/callback.php?referenciaid=3584&destinatario=525882698953&mensaje=Mensaje%20de%20enviado&respuesta=respuesta%20destinatario&fechaenvio=20130326160618&fecharespuesta=20130326160936

La interpretación del resultado del ejemplo anterior es un mensaje con un ID de 3584, el número del destinatario 525882698953, mensaje que se envió “Mensaje enviado”, la respuesta de tu cliente “respuesta destinatario”, fecha de envió 26 de marzo del 2013 16:06:18, fecha de la respuesta 26 de marzo del 2013 16:09:36.

Nota:En caso de necesitar "Confirmación de entrega" y "Respuestas de destinatarios", Tu archivo callback deberá validar para ambos casos, dependiendo que tipo de variables que recibe asignar el procedimiento correspondiente.

Use API Reporte para ver el status de sus mensajes enviados en un rango de fechas

Para ver su reporte a través de API Reporte, deberá realizar una petición a la siguiente dirección:

POST https://smsmasivos.com.mx/sms/api.reporte.php

Usted podrá realizar hasta 10 peticiones por día a API Reporte.


Parámetros a enviar

Parámetro Descripción
apikey Obligatorio Clave generada en la sección API KEY de este manual.
fechainicio Obligatorio Fecha de inicio de su reporte. Ejemplo: 2014-03-21 00:00:00
fechafin Obligatorio Fecha de fin de su reporte. Ejemplo: 2014-03-21 23:59:59
sandbox Opcional Indica este parámetro solo si requieres trabajar en un ambiente de pruebas y obtener los mensajes enviados por API Envío y MUltienvío en modo sandbox el mismo día de tu petición a API Reporte. El parámetro sandbox debe tener el valor 1.

Respuestas Api Reporte

{"respuestas":[
  {
   "referencia":"<Referencia>",
   "destino":"<Número>",
   "mensaje":"<Mensaje:>",
   "fecha":"<Fecha>",
   "estatus":"<Estatus>",
   "operador":"<Operador>",
   "forma":"<Tipo envío>"
  }
]}
{"estatus":"error", "mensaje":"Apikey no definido","codigo":"01"}
{"estatus":"error", "mensaje":"Apikey incorrecta", "codigo":"10"}
{"estatus":"error", "mensaje":"Fecha inicio no definida", "codigo":"16"}
{"estatus":"error", "mensaje":"Fecha fin no definida", "codigo":"17"}
{"estatus":"error", "mensaje":"Fecha inicio es mayor a fecha fin", "codigo":"19"}
{"estatus":"error", "mensaje":"Solo puedes realizar 10 peticiones a la API por día", "codigo":"20"}
Ejemplo respuesta:
{ "respuestas":
 [
  {"referencia":"20140321090355579615", "destino":"524771234567", "mensaje":"Mensaje: 1",
  "fecha":"2014-03-21 09:42:55", "estatus":"0", "operador":"Telcel", "forma":"sms"},
  {"referencia":"10222124170aEBDwGBeCs", "destino":"524771234567", "mensaje":"Mensaje: 2",
  "fecha":"2014-03-14 18:29:55", "estatus":"0", "operador":"Telcel", "forma":"sms"},
  {"referencia":"12212510280lEcfrkFziw", "destino":"524771234567", "mensaje":"Mensaje: 3",
  "fecha":"2014-03-14 18:29:55", "estatus":"0", "operador":"Telcel", "forma":"sms"}
 ]
}
estatus Consiste en un número que corresponde al estatus que fue devuelto por el envío de tu mensaje. Los estatus pueden ser:
  1. 0 Entregado
  2. 1 No entregado
  3. 2 Error
  4. 3 Expirado
  5. 4 Rechazado
  6. 5 Desconocido
  7. 6 No existe
  8. 7 Formato incorrecto
  9. 8 Pendiente

Usa API crédito para obtener tu crédito actual.


Consulta crédito

Realiza tu petición a la siguiente dirección:

POST https://smsmasivos.com.mx/sms/api.credito.new.php

Parámetros a enviar

Parámetro Descripción
apikey Obligatorio Clave generada en la sección API KEY de este manual.
Lenguaje Opcional Language

Ejemplo de petición a API Crédito en PHP

    curl_setopt_array($ch = curl_init(), array(
          CURLOPT_URL => "http://smsmasivos.com.mx/sms/api.credito.new.php",
          CURLOPT_POST => TRUE,
          CURLOPT_RETURNTRANSFER => TRUE,
          CURLOPT_POSTFIELDS => array(
             "apikey" => "8192f0c5c7cf2df5222c30e115a83917206218da"
             )
          )
       );
    $respuesta=curl_exec($ch);
    curl_close($ch);
    $respuesta=json_decode($respuesta);
    if($respuesta->estatus=="ok"){
     echo $respuesta->credito;
    }else{
     echo $respuesta->mensaje;
    }
	

Respuestas Api Crédito

{"estatus":"ok", "credito": "<credito>"}
{"estatus":"error", "mensaje":"Apikey no definido", "codigo":"01"}
{"estatus":"error", "mensaje":"Apikey incorrecta", "codigo":"10"}

Descarga éjemplos de uso de API Crédito

Usa API E-mail para enviar SMS desde su cuenta de correo (Gmail, Hotmail, Yahoo etc.), como si estuviera enviando un correo electrónico.

Para enviar sus mensajes, verifique que cuente con crédito suficiente para hacerlo.


Especificaciones para enviar mensaje por correo

Descripción Ejemplo
Para: En el campo para quien es dirigido deberá poner el número de celular del destinatario formado por:
clave país + clave ciudad + número + @api.smsmasivos.com.mx
NO indique más de dos destinatarios, ya que no es
soportada esta forma
.
525551234567@api.smsmasivos.com.mx
Asunto: En el asunto del correo deberá poner únicamente su API KEY. 8192f0c5c7cf2df5222c30e115a83917206218da
Mensaje: Mensaje que desea mandar, recuerde no sobrepasar $limiteCaracteresSMS caracteres (incluyendo espacios). Mensaje de desde mi cuenta de correo electrónico

Una vez que tenga estos tres campos llenos de clic en el botón de "Enviar" para que su SMS sea enviado

Si está interesado en este tipo de envíos comunícate con nosotros soporte@smsmasivos.com.mx con gusto te asesoraremos.