Atlas API
Esta API le permitirá automatizar las solicitudes de mensajes individuales y por lotes. La API utiliza el protocolo HTTP con TLS y acepta solicitudes GET con parámetros de cadena de consulta y solicitudes POST con parámetros JSON.

Proceso de integración

1.- El cliente debe informar la IP desde la que se consumirá el servicio al correo: [email protected]
2.- Wavy otorga el acceso a la IP del cliente.
3.- Se realizan pruebas de la conexión Cliente - Wavy. El cliente debe tener acceso a las dos URL.
1
https://<partner-name>.partner.atlasws-a.it.wavy.global:10001/ping
2
https://<partner-name>.partner.atlasws-b.it.wavy.global:10002/ping
Copied!
5.- La "key" y "partner-name" será compartido por Wavy con el cliente.

Troubleshooting

Status
Message
OK
Mensaje añadido a Atlas y será enviado pronto.
403
Solicitud denegada, revisar si las IPs tiene acceso al entorno de Wavy.
INVALID PARAMETERS
Solicitud inválida, faltan parámetros obligatorios.
ERROR
Error interno

Enviando mensajes

La API responde través solicitudes HTTP GET a URL's, similar a lo siguiente:
get
https://<partner-name>.partner.atlasws-a.it.wavy.global:10001/atlas/sendMessage?carrier=carrier_name&messageText=message_text&destination=525528282828&key= partner_key
sendMessage
De forma ideal, se deberían balancear sus solicitudes entre ambas URL's mostradas anteriormente. Si el acceso a una de estas falla, redireccionar todo el tráfico a la otra. Cada URL está en un datacenter diferente, por lo que siguiendo esta recomendación, incluso con el fallo de todo un datacenter, esto no interrumpirá la capacidad de envío de mensajes utilizando nuestro servicio.
También es posible realizar solicitudes mediante HTTP POST, utilizando las siguientes solicitudes:
post
https://<partner-name>.partner.atlasws-a.it.wavy.global:10001/atlas/sendMessage
sendMessage
Para el método POST, query string debe estar vacío. Todos los parámetros deben estar expresados en la forma estándar (application/x-www-form-urlencoded), en donde los parámetros van en el cuerpo del POST.
Nuevamente se aconseja balancear entre las dos URL's proporcionadas, como en el método GET.

WapPush SMS

Para enviar un mensaje wap push el cliente debe llenar los parámetros messageText y url, por ejemplo:
1
https://<partner-name>.partner.atlasws-a.it.wavy.global:10001/atlas/sendMessage?messageText=Message+Test&destination=541981169500&key=partner_key
2
https://<partner-name>.partner.atlasws-b.it.wavy.global:10002/atlas/sendMessage?messageText=Message+Test&destination=541981169500&key=partner_key
Copied!
Lo demás es similar al envío de mensajes descrito anteriormente.

Binary SMS

Para enviar un mensaje en formato binario, el parámetro binaryMessage debe ser TRUE.
No hay un tamaño de bloque recomendado, pero el UDH (User Data Header) debe ser preciso.
Ejemplo:
1
https://<partner-name>.partner.atlasws-a.it.wavy.global:10001/atlas/sendMessage?messageText=6d656e736167656d&destination=541981169500&binaryMessage=true&key= partner_key
2
https://<partner-name>.partner.atlasws-b.it.wavy.global:10002/atlas/sendMessage?messageText=6d656e736167656d&destination=541981169500&binaryMessage=true&key= partner_key
Copied!
Lo demás es similar al envío de mensajes descrito con anterioridad.

Flash SMS

Para enviar un mensaje tipo flash, el parámetro flag debe contener, en formato JSON, el parámetro "flash_sms": true, de esta forma se habilitará este tipo de envío en formato de una ventana emergente en el número telefónico destino.

Batch messages

Esta opción permite enviar un mensaje a más de un número telefónico. Los número destino deben estar contenidos en el cuerpo del HTTP POST.
Deberá enviar al menos 10 mensajes en un lote (si envía volumenes muy bajos de mensajes, el método de envío individual por API es más apropiado), pero no es obligatorio. Nosotros recomendamos lotes de hasta 10000 mensajes para facilitar su administración, pero no hay un límite establecido.
El método se describe a continuación:
post
https://<partner-name>.partner.atlasws-a.it.wavy.global:10001/atlas/sendMessageBatch?key=partnerKey&messageText=TEST Atlas Batch&flag=&carrierName=TELCEL&carrierID=9&binaryMessage=false
sendMessageBatch
Sólo se puede colocar un correlationId para todos los mensajes a enviar en lote.

Detección de operadora

El servicio realizará el intento de obtener la operadora del número dado, utilizando la información existente en historial de MOs de SMS, datos de las operadores y base de datos de portabilidad.
get
https://<partner-name>.partner.atlasws-a.it.wavy.global:10001/atlas/getCarrier?msisdn=525528282828
getCarrier

Ping

Confirma la disponibilidad del servicio, accediendo a las siguientes URL's:
1
https://<partner-name>.partner.atlasws-a.it.wavy.global:10001/ping
2
https://<partner-name>.partner.atlasws-b.it.wavy.global:10002/ping
Copied!
Mediante este método se puede verificar si el servicio se encuentra activo o no por cada datacenter.
La respuesta a este método sería la siguiente:
1
<atlasResponseData>
2
<ticket>46d40f70−e391−11df−b642 −001871eb9afc</ticket> <command>p i n g</command>
3
<date>2010-10-29T17:18:14.247-02:00</date>
4
<status>OK</status>
5
<message>The AtlasWebService API is responsive !</message>
6
</atlasResponseData>
Copied!

API's YAML File

Se proporciona a continuación un archivo tipo YAML con el propósito de utilizar los servicios previamente descritos en formatos y con métodos diferentes de acuerdo a las necesidades del cliente.
yaml-apis.yaml
7KB
Text
Atlas API YAML Template
1
openapi: 3.0.0
2
info:
3
title: AtlasWS
4
description: 'Esta API le permitirá automatizar las solicitudes de mensajes individuales y por lotes. La API utiliza el protocolo HTTP con TLS y acepta solicitudes GET con parámetros de cadena de consulta y solicitudes POST con parámetros JSON.'
5
contact: {}
6
version: '1.0'
7
servers:
8
- url: https://<partner-name>.partner.atlasws-a.it.wavy.global:10001/atlas
9
variables: {}
10
paths:
11
/sendMessageBatch:
12
post:
13
tags:
14
- Misc
15
summary: sendMessageBatch
16
description: 'Permite el envío de un mensaje a más de un número telefónico.'
17
operationId: SendMessageBatch
18
parameters:
19
- name: correlationId
20
in: query
21
description: ID único definido por el usuario para almacenar información alfanumérica con una longitud de 100 caracteres.
22
required: false
23
style: form
24
explode: true
25
schema:
26
type: string
27
example: Texto en correlationId
28
- name: expiresAt
29
in: query
30
description: Se ingresa fecha y hora en la que el mensaje debe expirar y no ser enviado a partir de los datos ingresados. El formato es el siguiente AAAA-MM-DD 00:00 (La hora en formato 24hrs. y en UTC).
31
required: false
32
style: form
33
explode: true
34
schema:
35
type: string
36
example: 2019-12-01 13:24
37
- name: key
38
in: query
39
description: Identificador del cliente.
40
required: true
41
style: form
42
explode: true
43
schema:
44
type: string
45
example: partnerKey
46
- name: messageText
47
in: query
48
description: Texto del mensaje (MT). Los caracteres especiales (todos excepto [0-9a-zA-Z]) será codificado como URL.
49
required: true
50
style: form
51
explode: true
52
schema:
53
type: string
54
example: TEST Atlas Message Batch
55
- name: flag
56
in: query
57
description: Se ingresan dos campos opcionales en formato JSON. flash_sms TRUE si desea que el mensaje aparezca como una ventana emergente en el dispositivo destino, FALSE si es un mensaje regular. extraInfo Parámetro alfanumérico con longitud de 100 caracteres; éste campo no se muestra en la plataforma WEB en la sección de reportes, sin embargo se puede emplear para almacenar información requerida adicional.
58
required: false
59
style: form
60
explode: true
61
schema:
62
type: string
63
- name: carrierName
64
in: query
65
description: Nombre de la operadora.
66
required: false
67
style: form
68
explode: true
69
schema:
70
type: string
71
example: TELCEL
72
- name: carrierID
73
in: query
74
description: ID de la operadora.
75
required: false
76
style: form
77
explode: true
78
schema:
79
type: integer
80
format: int32
81
example: 9
82
- name: binaryMessage
83
in: query
84
description: TRUE si se desea enviar el mensaje de forma binaria, FALSE si es texto regular. FALSE está seleccionado por defecto.
85
required: false
86
style: form
87
explode: true
88
schema:
89
type: boolean
90
example: false
91
requestBody:
92
content:
93
text/plain:
94
schema:
95
type: string
96
example: >-
97
525528282828
98
99
525594949494
100
101
525588088808
102
example: >-
103
525528282828
104
105
525594949494
106
107
525588088808
108
required: true
109
responses:
110
200:
111
description: ''
112
headers: {}
113
deprecated: false
114
security: []
115
/sendMessage:
116
post:
117
tags:
118
- Misc
119
summary: sendMessage
120
description: 'Permite el envío de un solo mensaje.'
121
operationId: SendMessage
122
parameters:
123
- name: Content-Type
124
in: header
125
required: true
126
style: simple
127
explode: false
128
schema:
129
type: string
130
example: application/x-www-form-urlencoded
131
requestBody:
132
content:
133
application/x-www-form-urlencoded:
134
schema:
135
required:
136
- key
137
- messageText
138
- destination
139
type: object
140
properties:
141
correlationId:
142
type: string
143
description: ID único definido por el usuario para almacenar información alfanumérica con una longitud de 100 caracteres.
144
example: Texto en correlationId.
145
expiresAt:
146
type: string
147
description: Se ingresa fecha y hora en la que el mensaje debe expirar y no ser enviado a partir de los datos ingresados. El formato es el siguiente AAAA-MM-DD 00:00 (La hora en formato 24hrs. y en UTC).
148
example: 2019-12-01 13:24
149
key:
150
type: string
151
description: Identificador del cliente.
152
example: partnerKey
153
messageText:
154
type: string
155
description: Texto del mensaje (MT). Los caracteres especiales (todos excepto [0-9a-zA-Z]) será codificado como URL.
156
example: TEST Atlas Message
157
destination:
158
type: integer
159
description: 'Número telefónico a donde el mensaje será enviado (incluyendo el código de país).'
160
format: int64
161
example: 525528282828
162
flag:
163
type: string
164
description: Se ingresan dos campos opcionales en formato JSON. flash_sms TRUE si desea que el mensaje aparezca como una ventana emergente en el dispositivo destino, FALSE si es un mensaje regular. extraInfo Parámetro alfanumérico con longitud de 100 caracteres; éste campo no se muestra en la plataforma WEB en la sección de reportes, sin embargo se puede emplear para almacenar información requerida adicional.
165
carrierName:
166
type: string
167
description: Nombre de la operadora.
168
example: TELCEL
169
carrierID:
170
type: integer
171
description: ID de la operadora.
172
format: int32
173
example: 9
174
binaryMessage:
175
type: boolean
176
description: TRUE si se desea enviar el mensaje de forma binaria, FALSE si es texto regular. FALSE está seleccionado por defecto.
177
example: false
178
required: false
179
responses:
180
200:
181
description: ''
182
headers: {}
183
deprecated: false
184
security: []
185
tags:
186
- name: Misc
187
description: ''
Copied!

ID de operadoras

carrierID
Nombre
carrierID
Nombre
0
UNKNOWN
41
CLARO_PE
1
VIVO
42
CLARO_PR
2
CLARO
43
ANCEL_UY
3
TELEMIG
44
MOVISTAR_UY
4
OI
45
MOVILNET_VE
5
TIM
46
DIGITEL_VE
6
CTBC
47
MOVISTAR_VER
7
SECOMTEL
48
TIGO_PY
8
BRT
49
VOX_PY
9
TELCEL
50
CLARO_PY
10
NEXTEL
51
DIGICELL_BZ
11
MOBILESYS
52
SMART_BZ
12
MOVISTAR_AR
53
CLARO_UY
13
PERSONAL_AR
54
AMERICA_MOVIL
14
CLARO_AR
55
ATT_US
15
NEXTEL_AR
56
VERIZON_US
16
TIGO_BO
57
TMOBILE_US
17
VIVA_BO
58
SPRINT_US
18
ENTEL_BO
59
UFF_MOVIL
19
MOVISTAR_CL
60
Movile
20
ENTEL_PCS_CL
61
CLARO_CR
21
CLARO_CDMA_CL
62
MOVISTAR_CR
22
CLARO_GSM_CL
63
ICE_CR
23
COMCEL_CO
64
CTE_SV
24
MOVISTAR_CO
65
CLARO_SV
25
TIGO_CO
66
MOVISTAR_SV
26
AVANTEL_CO
67
TIGO_SV
27
ORANGE_DO
68
DIGICEL_SV
28
VIVA_DO
69
CLARO_GT
29
CLARO_DO
70
TIGO_GT
30
PORTA_EC
71
MOVISTAR_GT
31
MOVISTAR_EC
72
DIGICEL_GT
32
MOVISTAR_MX
73
CLARO_HN
33
UNEFON_MX
74
TIGO_HN
34
IUSACELL_MX
75
HONDUTEL_HN
35
NEXTEL_MX
76
DIGICEL_HN
36
MOVISTAR_PA
77
CLARO_NI
37
CABLE_WIRELESS_PA
78
MOVISTAR_NI
38
CLARO_PA
79
SERCOM_NI
39
PERSONAL_PY
80
DIGICEL_PA
40
MOVISTA_PE
81
NEXTEL_PE
Los usuario no pueden responder a marcaciones enmascaradas.

IP's de Wavy

    200.219.220.152 (ALOG-SP Datacenter - www.alog.com.br)
    184.72.119.43 (Amazon Virginia Datacenter - aws.amazon.com)
    200.189.182.244 (DIVEO Datacenter - www.uoldiveo.com.br)
    50.18.192.46 (Amazon California Datacenter - aws.amazon.com)
Last modified 1yr ago