3.1 Conexión HTTP para Envío de SMS


El servicio web proporcionado atiende una solicitud POST del protocolo HTTP para enviar los SMS, utilizando el token obtenido en la sección anterior.

DOMINIO: 

https://api.webhooksms.com

URL: 

[dominio]/sms-template-endpoint/api/v1/sms/template/messaging

METHOD: 

POST 

HEADERS: 

'Content-Type: application/json',

Authorization: [token]

BODY: 

"apiKey": [String][required], 

"nameTemplate": [String][required],

"msisdn": [String][required],

"variables": [

      {

           "sequence": [Numeric][required],

           "data": [String][required]

      }

]



Parámetros  

dominio 

Es la ruta en dónde se encuentra alojado el servicio.

Obligatorio 

Authorization

Es un “token” privado que será obtenido al consumir el servicio “[dominio]/authorization-endpoint/v1/api/get/token” y será utilizado como llave para poder realizar la conexión.

Obligatorio

apiKey 

El ‘apiKey’ es un identificador único para cada cliente, el cual puede ser obtenido directamente desde el portal de WebhookSMS en cualquier momento. Este código es exclusivo y permanente, por lo que, una vez generado, no será necesario volver a crearlo.

Obligatorio 

nameTemplate 

Nombre que el usuario asigna para identificar el template creado. Este nombre debe ser único dentro del ámbito del cliente para evitar confusiones.

Obligatorio

msisdn

Número de teléfono o celular que será usado como destino para los mensajes. 

Obligatorio

variables

Arreglo que contiene objetos que representan cada una de las variables que se utilizarán en la plantilla.

Obligatorio

sequence

Número que representa el orden en el que se asignan las variables proporcionadas por el usuario. Este campo ayuda a asegurar que las variables se procesen en el orden correcto.

Opcional

data

Contiene el valor de la variable asignada por el usuario. Este campo almacena los datos específicos que se utilizarán en la plantilla.

Opcional


3.1.1. Ejemplo de Solicitud con variables


{  

    "apiKey": "abcd1234-ef56-gh78-ijkl-9012mnopqrstu-3456vwxyz-7890abcdefg==",  

    "nameTemplate": "TEMPLATE_EXAMPLE",

    "msisdn": "525544332211",

    "variables": [

                 {

                      "sequence": 1,

                      "data": "ejemplo ejemplo ejemplo ejemplo"

                 }         

     ]

}


3.1.2 Ejemplo de Solicitud sin variables


{  

    "apiKey": "abcd1234-ef56-gh78-ijkl-9012mnopqrstu-3456vwxyz-7890abcdefg==",  

    "nameTemplate": "TEMPLATE_EXAMPLE",

    "msisdn": "525544332211",

    "variables": null

}


3.2 Códigos de Respuesta

La respuesta entregada por el servicio es una cadena JSON la cual cambiará de acuerdo con el tipo de respuesta, para una respuesta exitosa se mostrará como sigue:


Ejemplo de respuesta exitosa


{

   "code": 0,

   "mailingId": 690,

   "result": "Applied"

}


Respuesta exitosa 

code 

Valor numérico que indica el estado o resultado de la operación.

0

mailingId

Identificador único asociado a un registro específico dentro del sistema.

690

result

Describe el estado final de la operación.

Applied


Cuando existe algún problema al procesar la solicitud, la cadena JSON sufrirá algunos cambios, a continuación se muestra la cadena que se recibirá.  

Ejemplo respuesta errónea

{

   "code": 14,

   "hint": "Validation error",

   "message": "Template not found",

   "malingErrorId": "EID193"

}



 Respuesta errónea 

code

Valor numérico que indica el tipo de error ocurrido. 

14

hint

Proporciona una indicación sobre la naturaleza del error.

Validation error

message

Descripción más detallada del error.

Template not found

mailingErrorId

Identificador único que se asocia con el error específico para fines de seguimiento y diagnóstico.

EID193


 

3.3 Códigos de Error para Envío de SMS

A continuación se muestra el catálogo de errores que puede regresar la plataforma. 


Código (errorCode)

Identificador de tipo (message)

Mensaje (hint)

1

Access denied

Access denied

 

2

Configuration error


Null parameters in request


3

Bad authentication

Authorization information incorrect

4

Configuration error

API Key parameter can’t be null

5

Configuration error

msisdn parameter can’t be null

6

Configuration error

nameTemplate parameter can’t be null or with incorrect format

7

Configuration error

Variables sequence parameters can’t be null

8

Validation error

API Key not found

9

Validation error

API Key blocked

10

Validation error

Account not found

11

Validation error

Country not found


12

Validation error

LADA country’s value not belong to account country

13

Validation error

Size phone number value in msisdn parameter is not correct

14

Validation error

Name template not found

15

Validation error

Name template blocked

16

Validation error

Template doesn’t require the registration of variable values

17

Validation error

Template requires the registration of all its variable values

18

Validation error

Maximum characters registered in request

19

Validation error

Price not found

20

Validation error

Insufficient balance

21

Validation error

Template category not found

22

Validation error

Internal server error

23

Missing configuration error

Method not allow

24

Validation error

Trial account

25

Validation error

Not allowed characters registered in data values

26

Validation error

URL value registered in variables

27

Missing configuration error

Data sequence null or empty

28

Validation error

Data value in variables parameter can’t be a URL