Inicio » API SMS Octopush » Enviar SMS

Enviar SMS

POST
https://api.octopush.com/v1/public/sms-campaign/send

Codificación : UTF-8

Autentificación

Los identificadores “api-key” y “api-login” deben añadirse en las cabeceras.

Definición

Esto envía un simple SMS.

  • simple (1 contacto)
  • campaña (hasta 500 contacts)

Debe indicar sus números de teléfono en el parámetro “destinatarios”, que es un array que contiene objetos de tipo “contacto”.

Parámetros especiales

NombreTipoDescripcion
textstringTexto del mensaje (de 1 a 1224 caracteres).
recipientsarrayLista de objetos de contacto array de objetos:
[
  {
    "phone_number": "+111222233334444",
    "first_name": "Axelle",
    "last_name": "Durand",
    "param1": null,
    "param2": null,
    "param3": Mme,
    "param4": null,
    "param5": null
  },
  ...,
  {
    "phone_number": "+2222333334444555",
    "first_name": "John",
    "last_name": "Smith",
    "param3": "M"
  }
]
typestringTipo de Campaña: [“sms_premium”,”sms_low_cost”]
senderstringEmisor del mensaje (si el usuario lo permite), 3-11 caracteres alfanuméricos (a-zA-Z0-9).
send_atstring‘Cuando quieras enviar la campaña de sms. Formato: DateTime ISO8601 (ej: “2018-10-03T07:42:39-07:00”).’
purposestringPropósito de la campaña (transaccional/alerta o marketing) : [“alert”,”wholesale”]
with_repliesboolean“”True” para aceptar respuestas de los destinatarios
simulation_modeboolean(opcional) Si este valor es “true”, su petición será simulada y recibirá un resultado falso. Sólo se ejecutarán algunas validaciones mínimas.
request_idstring(optional) Para evitar enviar la misma solicitud varias veces, configure un ID de solicitud. En caso de que se detecte la duplicación, se devolverá un error de validación. El request_id expira luego de 24 horas.
auto_optimize_textboolean(opcional) Transmitiendo este campo con valor “falso”, su texto no será optimizado por el robot Octopush (su mensaje podría contener caracteres unicode, o espacios inútiles que podrían aumentar el número de SMS necesarios para cada contacto).

Ejemplo Curl

curl -X POST \ 
'https://api.octopush.com/v1/public/sms-campaign/send' \ 
-H 'Content-Type: application/json' \ 
-H 'api-key: ************' \ 
-H 'api-login: ******@email.org' \ 
-H 'cache-control: no-cache' \ 
-d '{
 " recipients": [
    {
      "phone_number": "+34932200520",
                "first_name": "Axelle",
       "last_name": "Durand",
       "param3": "Mme"
    }
  ],
     "text": "Este es un mensaje Premium con desuscripción. STOP al XXXXX", 
  "type": "sms_premium",
  "purpose": "wholesale",
  "sender": "Compañia X"
}'

Respuesta Servidor en JSON

Éxito : 201 CREATED

{
  "sms_ticket": "sms_5f3fbce61266e",
  "number_of_contacts": 1,
  "total_cost": 5.00502839 
}

Error : 400 Bad Request

{
  "code": 121,
  "message": "Falta la mencion STOP."
}

Para algunos usuarios de ovh, usar curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); en su secuencia de envío de Curl podría ser útil.

Interpretación de los datos

La API que proporcionamos tratará de interpretar su solicitud lo mejor que pueda. Si un parámetro tiene un tipo incorrecto, intentaremos entenderlo de todos modos. Si el parámetro tiene un valor incorrecto, intentaremos formatearlo lo mejor posible. Así, hemos determinado valores por defecto, que se indican en nuestra documentación. Si un parámetro no puede ser reconocido o “arreglado”, lo ignoraremos, pero su solicitud será enviada.

Si uno de sus parámetros no tiene el valor correcto, o no tiene el tipo correcto, intentaremos :

  • “cast” (convertirlo) para que sea comprendido.
  • formatearla (eliminar los caracteres prohibidos, por ejemplo)
  • sustituirlo por el valor predeterminado (si no se especifica correctamente el tipo de SMS, utilizaremos, por ejemplo, SMS Premium)

Limitaciones

Tenga cuidado con el número de contactos por solicitud. Para las campañas, un buen uso es transmitir varias tramas de 200 a 500 números a la vez.

  • 200: se multiplican las llamadas y se pierde tiempo de conexión
  • 500: el formato se hace pesado y el riesgo de pérdida de datos aumenta.