Este SKD facilita la comunicacion con el API de Reach, para el envio de emails y mensajes SMS.
Para utilizar el SDK de java, debe poseer una cuenta en la plataforma de Reach, desde donde se realizaran los envíos.
El API_URL necesario para el envio de mensajes es https://api.reach.tools/notifications
.
Y como autentificación necesitara proveer un API_KEY, API_SECRET_KEY.
- Maven >= 3.6.0
- Java >= 1.8.0
Instalar el sdk y añadirlo al pom.xml como:
<dependency>
<groupId>io.ubiquo.apps.reach</groupId>
<artifactId>reachtools-sdk-java</artifactId>
<version>1.0.1-SNAPSHOT</version>
</dependency>
Importar la clase Notification
import io.ubiquo.apps.reach.api.sdk.Notification;
Crear una instancia de Notification con los siguientes parametros:
Notification notificationApi = new Notification(API_KEY, API_SECRET_KEY, API_URL);
Con esta instancia ya se pueden realizar distintos tipos de envio.
notificationApi.sendSms(MSISDN, MESSAGE); //Envio individual de SMS
notificationApi.sendSms(MSISDN, SMS_TEMPLATE_ID, SMS_PARAMS); //Envio SMS por plantilla
notificationApi.sendEmail(DESTINATION_EMAIL, MESSAGE); //Envio individual de Email
notificationApi.sendEmail(DESTINATION_EMAIL, EMAIL_TEMPLATE_ID, EMAIL_PARAMS); //Envio Email por plantilla
Donde:
- MSISDN (String): Número de teléfono
- MESSAGE (String): El mensaje a enviar
- SMS_TEMPLATE_ID (String): ID de plantilla SMS válida
- DESTINATION_EMAIL (String): Correo destino
- EMAIL_TEMPLATE_ID (String): ID de plantilla Email válida
Y:
- EMAIL_PARAMS (JsonNode): Variables a reemplazar en la plantilla de Email (Si no hay variables que reemplazar, enviar null). Ejemplo del formato del JsonNode:
{
"var1" : "value1",
"var2" : "value2"
}
- SMS_PARAMS (JsonNode): Variables a reemplazar en la plantilla de SMS (Si no hay variables que reemplazar, enviar null). Ejemplo del formato del JsonNode:
{
"variables" : {
"var1" : "value1",
"var2" : "value2",
}
}
Los métodos devuelvem un ApiResponse<NotificationResponse>
definido en io.ubiquo.apps.reach.api.utils.ApiResponse
.
De ocurrir un error dentro del sdk, el .getErrorCode()
contendra valor de -1.
De ocurrir un error en el servidor API se puede verificar si se creo el mensaje correctamente con .isOk()
el cual devuelve true
si fue correcto.