Enviar SMS

El envío de SMS se realiza a través de una llamada de tipo POST a la siguiente URL: https://api.descomsms.com/api/sms/send

En está petición POST, además de enviar en la cabecera los datos de autentificación, debemos enviar un json por POST con los datos del envío.

Datos POST


A continuacíon le detallamos mediante una tabla los parámetros admitidos en esta llamada.

Objeto Json:

ParámetroValorRequerido
dryrun Boolean, Si indicamos este campo como `true` se simulará un envío sin que se descuente créditos en la cuenta.  
sanitize Boolean, Permite convertir el texto del SMS a un juego de caracteres GSM 7bits  
messages Array, de objetos Message No permitido enviar más de 50 objetos en la misma petición

Definición: Objeto Message

ParámetroValorRequerido
to Array, con de los números de móvil de los destinatarios. No está permitido enviar más de 100 destinatarios en el mismo mensaje
text String, cadena de texto que se enviará por SMS.
senderID String, con la cadena del texto o móvil del remitente. Tenga en cuenta que este debe estar validado en la plataforma.  

Ejemplo


    curl https://api.descomsms.com/api/sms/send \
    -H "Content-Type: application/json" \
    -H "DSMS-User: poner_aqui_el_usuario" \
    -H "DSMS-Pass: poner_aqui_el_password" \
    -X POST \
    --data '
{
    "messages": [
        {
            "to": [
                "666666666"
            ],
            "text": "test",
            "senderID": "Info"
        }
    ]
}
'

Respuestas esperadas


  • 200 La petición se ha efectuado correctamente
  • 401 Autentificación requerida o denegada
  • 402 Saldo insuficiente para realizar el envío
  • 422 Los datos enviados no son validos
  • 503 Error interno, la petición no ha sido efectuada

En el caso que la respuesta sea correcta, obtendrá en el contenido de la misma un json con el resultado del envío. Definimos a continuación en una tabla los parametros que obtendremos en la respuesta:

ParámetroTipoDescripción
id Integer Identificativo del envío, podremos usarlo para comprobar posteriormente el estado de entrega de los mensajes.
dryrun Boolean Será `true` si el envío fue simulado
num_messages Integer Número totales de mensajes en el envío
num_sms Integer Número totales de SMS que se envió
cost_credits Double Créditos que nos desconto en la cuenta el envío
credits_before Double Créditos que disponía la cuenta antes del envío
credits_after Double Créditos que disponía la cuenta después del envío
ip String Dirección IP desde donde se lanzó el envío
created_at DateTime Fecha en la que se realizó la petición
updated_at DateTime Fecha en la que se modifico por última vez el envío

Ejemplo de respuesta:

{
    "id": 390,
    "dryrun": true,
    "num_messages": 1,
    "num_sms": 1,
    "cost_credits": 1,
    "credits_before": 678.2,
    "credits_after": 678.2,
    "ip": "127.0.0.1",
    "created_at": {
        "date": "2017-09-08 10:08:34.000000",
        "timezone_type": 3,
        "timezone": "Europe/Madrid"
    },
    "updated_at": {
        "date": "2017-09-08 10:08:34.000000",
        "timezone_type": 3,
        "timezone": "Europe/Madrid"
    }
}