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
Nombre | Tipo | Descripcion |
---|---|---|
text | string | Texto del mensaje (de 1 a 1224 caracteres). |
recipients | array | Lista 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" } ] |
type | string | Tipo de Campaña: [“sms_premium”,”sms_low_cost”] |
sender | string | Emisor del mensaje (si el usuario lo permite), 3-11 caracteres alfanuméricos (a-zA-Z0-9). |
send_at | string | ‘Cuando quieras enviar la campaña de sms. Formato: DateTime ISO8601 (ej: “2018-10-03T07:42:39-07:00”).’ |
purpose | string | Propósito de la campaña (transaccional/alerta o marketing) : [“alert”,”wholesale”] |
with_replies | boolean | “”True” para aceptar respuestas de los destinatarios |
simulation_mode | boolean | (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_id | string | (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_text | boolean | (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.