Links

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.
https://<partner-name>.partner.atlasws-a.it.wavy.global:10001/ping
https://<partner-name>.partner.atlasws-b.it.wavy.global:10002/ping
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:
https://<partner-name>.partner.atlasws-a.it.wavy.global:10001/atlas/sendMessage?messageText=Message+Test&destination=541981169500&key=partner_key
https://<partner-name>.partner.atlasws-b.it.wavy.global:10002/atlas/sendMessage?messageText=Message+Test&destination=541981169500&key=partner_key
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:
https://<partner-name>.partner.atlasws-a.it.wavy.global:10001/atlas/sendMessage?messageText=6d656e736167656d&destination=541981169500&binaryMessage=true&key= partner_key
https://<partner-name>.partner.atlasws-b.it.wavy.global:10002/atlas/sendMessage?messageText=6d656e736167656d&destination=541981169500&binaryMessage=true&key= partner_key
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:
https://<partner-name>.partner.atlasws-a.it.wavy.global:10001/ping
https://<partner-name>.partner.atlasws-b.it.wavy.global:10002/ping
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:
<atlasResponseData>
<ticket>46d40f70−e391−11df−b642 −001871eb9afc</ticket> <command>p i n g</command>
<date>2010-10-29T17:18:14.247-02:00</date>
<status>OK</status>
<message>The AtlasWebService API is responsive !</message>
</atlasResponseData>

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
Code
Atlas API YAML Template
openapi: 3.0.0
info:
title: AtlasWS
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.'
contact: {}
version: '1.0'
servers:
- url: https://<partner-name>.partner.atlasws-a.it.wavy.global:10001/atlas
variables: {}
paths:
/sendMessageBatch:
post:
tags:
- Misc
summary: sendMessageBatch
description: 'Permite el envío de un mensaje a más de un número telefónico.'
operationId: SendMessageBatch
parameters:
- name: correlationId
in: query
description: ID único definido por el usuario para almacenar información alfanumérica con una longitud de 100 caracteres.
required: false
style: form
explode: true
schema:
type: string
example: Texto en correlationId
- name: expiresAt
in: query
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).
required: false
style: form
explode: true
schema:
type: string
example: 2019-12-01 13:24
- name: key
in: query
description: Identificador del cliente.
required: true
style: form
explode: true
schema:
type: string
example: partnerKey
- name: messageText
in: query
description: Texto del mensaje (MT). Los caracteres especiales (todos excepto [0-9a-zA-Z]) será codificado como URL.
required: true
style: form
explode: true
schema:
type: string
example: TEST Atlas Message Batch
- name: flag
in: query
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.
required: false
style: form
explode: true
schema:
type: string
- name: carrierName
in: query
description: Nombre de la operadora.
required: false
style: form
explode: true
schema:
type: string
example: TELCEL
- name: carrierID
in: query
description: ID de la operadora.
required: false
style: form
explode: true
schema:
type: integer
format: int32
example: 9
- name: binaryMessage
in: query
description: TRUE si se desea enviar el mensaje de forma binaria, FALSE si es texto regular. FALSE está seleccionado por defecto.
required: false
style: form
explode: true
schema:
type: boolean
example: false
requestBody:
content:
text/plain:
schema:
type: string
example: >-
525528282828
525594949494
525588088808
example: >-
525528282828
525594949494
525588088808
required: true
responses:
200:
description: ''
headers: {}
deprecated: false
security: []
/sendMessage:
post:
tags:
- Misc
summary: sendMessage
description: 'Permite el envío de un solo mensaje.'
operationId: SendMessage
parameters:
- name: Content-Type
in: header
required: true
style: simple
explode: false
schema:
type: string
example: application/x-www-form-urlencoded
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- key
- messageText
- destination
type: object
properties:
correlationId:
type: string
description: ID único definido por el usuario para almacenar información alfanumérica con una longitud de 100 caracteres.
example: Texto en correlationId.
expiresAt:
type: string
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).
example: 2019-12-01 13:24
key:
type: string
description: Identificador del cliente.
example: partnerKey
messageText:
type: string
description: Texto del mensaje (MT). Los caracteres especiales (todos excepto [0-9a-zA-Z]) será codificado como URL.
example: TEST Atlas Message
destination:
type: integer
description: 'Número telefónico a donde el mensaje será enviado (incluyendo el código de país).'
format: int64
example: 525528282828
flag:
type: string
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.
carrierName:
type: string
description: Nombre de la operadora.
example: TELCEL
carrierID:
type: integer
description: ID de la operadora.
format: int32
example: 9
binaryMessage:
type: boolean
description: TRUE si se desea enviar el mensaje de forma binaria, FALSE si es texto regular. FALSE está seleccionado por defecto.
example: false
required: false
responses:
200:
description: ''
headers: {}
deprecated: false
security: []
tags:
- name: Misc
description: ''

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 2yr ago