Skip to main content

Using Notification Factory

Este endpoint permite crear nuevas notificaciones para que puedan ser enviadas a través del servicio de campañas usando el uuid del mensaje recién creado, este endpoint permite una amplia configuración de los mensajes. Debido a limitaciones técnicas que poseen sistemas operativos Android y Ios, hay que tener cuidado con los elementos externos como las imágenes, por lo que es importante probar en un equipo de pruebas antes de realizar un envío masivo.

Endpoint

Headers

KeyValueDescription
Content-Typeapplication/json
AuthorizationBearer LVwuk3_oug0D6...access_token obtained in Atenea

Url

Method: POST
URL: https://api.trust.lat/message-persistance/api/v1/factory
caution

Recuerda que para utilizar este endpoint es necesario un access token obtenido en el servicio Atenea

Como obtener un access token

Body

{
"notification_version": "trust_notifications_v1",
"notification_type": "notification",
"data": {
"title": "titulo prueba",
"message": "body prueba",
"media_url": "https://.google.cl/photo.svg",
"action_color": "x0x0000x0"
},
"buttons": {
"button_1": {
"action": "https://www.google.cl",
"color": "#ff00ff",
"text": "Ir al sitio",
"type": "url"
},
"button_2": {
"action": "https://www.google.cl",
"color": "#ff00ff",
"text": "Ir al sitio",
"type": "url"
}
},
"config": {
"priority": "normal",
"persistent": true,
"cancelable": false,
"play_time": 1,
"open_app" : true
},
"values": [],
"metadata": {
"reactions": [
"smile", "blush", "joy"
]
}
}

El campo notification_type indica el tipo de notificación que se desea crear pudiendo ser de notification, dialog, video o banner.

FieldTypeRequiredValuesExamplesComments
notification_versionStringtrue[trust_notifications_v1]trust_notifications_v1
notification_typeStringtrue[notification, dialog, video, banner]notification
valuesArraytrue[]Must be a empty array

Data

Este campo configura el contenido principal del mensaje, tener cuidado con las imagenes/videos y los colores. Imagenes: Deben ser https y accesible desde cualquier red, formatos permitidos .png y .jpg. Videos: Deben ser https y accesible desde cualquier red, formatos permitidos .mp4 y deben tener un peso ligero para evitar problemas de lentitud al mostrar el video. Color: Precaución con el formato, enviar un color en formato incorrecto causa problemas al mostrar la notificacion, formatos soportado RGB hexadecimal sin transparencia.

FieldTypeRequiredDefaultCommentsExamples
titleStringtrueTitle of message
messageStringtrueBody of message
media_urlString, UrltrueMust be video o image url with httpshttps://trust-assets.s3.amazonaws.com/enrollment/dialogo_covid.png
action_colorString, ColortrueColor of buttons#9E2626

Buttons

Define los botones que se mostrarán en los mensajes, por ahora solo se utilizaran button_1 y button_2 siendo este último opcional

FieldTypeRequiredDefaultValuesCommentsExamples
actionString, UrltrueOnly 'high' or 'normal'https://google.cl
colorString, ColorfalseRGB Hex color#9E2626
textStringtruePresione Aquí
typetypetrue[url, call, mail]url

Config

FieldTypeRequiredDefaultCommentsExamples
priorityStringfalsehighOnly 'high' or 'normal'high
persistentBooleanfalsefalsetrue
cancelableBooleanfalsefalsefalse
play_timeIntfalse05
open_appBooleanfalseNoneField that indicates whether the "open_app" button is available. It only works for notification type messages.true

Metadata

FieldTypeRequiredDefaultCommentsExamples
reactionsArray of stringsfalseNoneArray of strings than contains the "reaction_name" of emojis. Max 5, min 1reactions: [ "smile", "blush", "joy" ]
info

Revisar la lista de emojis permitidos para este endpoint

Emojis permitidos

Code Examples

curl --location --request POST 'https://api.trust.lat/message-persistance/api/v1/factory' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer LVwuk3_oug0D6...' \
--data-raw '{
"notification_version": "trust_notifications_v1",
"notification_type": "notification",
"data": {
"title": "titulo prueba",
"message": "body prueba",
"media_url": "https://.google.cl/photo.svg",
"action_color": "x0x0000x0"
},
"buttons": {
"button_1": {
"action": "https://www.google.cl",
"color": "#ff00ff",
"text": "Ir al sitio",
"type": "url"
},
"button_2": {
"action": "https://www.google.cl",
"color": "#ff00ff",
"text": "Ir al sitio",
"type": "url"
}
},
"config": {
"priority": "normal",
"persistent": true,
"cancelable": false,
"play_time": 1,
"open_app": true
},
"values": [],
"metadata": {
"reactions": [
"smile", "heart_eyes", "heart_eyes", "heart_eyes", "heart_eyes"
]
},
}'

Responses

HTTP Code: 201 Created

{
"code": 201,
"resource": "message",
"data": {
"id": 1,
"uuid": "bdcaa73a-61de...",
"custom_notification": {
"priority": "normal",
"data": {
"type": "notification",
"reactions": "[{\"reaction_name\":\"smile\",\"emoji_hex\":\"U+1F604\"},{\"reaction_name\":\"heart_eyes\",\"emoji_hex\":\"U+1F60D\"},{\"reaction_name\":\"blush\",\"emoji_hex\":\"U+1F60A\"}]",
"notificationBody": "{\"text_title\":\"titulo prueba\",\"text_body\":\"body prueba\",\"image_url\":\"https://.google.cl/photo.svg\",\"isPersistent\":true,\"isCancelable\":false,\"min_play_time\":\"1\",\"buttons\":[{\"action\":\"none\",\"color\":\"#000000\",\"text\":\"none\",\"type\":\"open_app\"},{\"action\":\"https://www.google.cl\",\"color\":\"#ff00ff\",\"text\":\"Ir al sitio\",\"type\":\"url\"},{\"action\":\"https://www.google.cl\",\"color\":\"#ff00ff\",\"text\":\"Ir al sitio\",\"type\":\"url\"}]}"
},
"apns": {
"payload": {
"aps": {
"sound": "default",
"category": "url-url",
"mutable-content": 1,
"alert": {
"title": "titulo prueba",
"body": "body prueba"
},
"badge": 1
},
"data": {
"type": "notification",
"reactions": "[{\"reaction_name\":\"smile\",\"emoji_hex\":\"U+1F604\"},{\"reaction_name\":\"heart_eyes\",\"emoji_hex\":\"U+1F60D\"},{\"reaction_name\":\"blush\",\"emoji_hex\":\"U+1F60A\"}]",
"notificationBody": "{\"text_title\":\"titulo prueba\",\"text_body\":\"body prueba\",\"image_url\":\"https://.google.cl/photo.svg\",\"isPersistent\":true,\"isCancelable\":false,\"min_play_time\":\"1\",\"buttons\":[{\"action\":\"none\",\"color\":\"#000000\",\"text\":\"none\",\"type\":\"open_app\"},{\"action\":\"https://www.google.cl\",\"color\":\"#ff00ff\",\"text\":\"Ir al sitio\",\"type\":\"url\"},{\"action\":\"https://www.google.cl\",\"color\":\"#ff00ff\",\"text\":\"Ir al sitio\",\"type\":\"url\"}]}"
}
}
}
},
"values": [],
"created_at": "2020-05-26T22:21:39.701Z",
"updated_at": "2020-05-26T22:21:39.701Z",
"status": true,
"type_notification": "trust_notification",
"disposable": false,
"factory_message": {
"type": "notification",
"data": {
"title": "titulo test 4",
"message": "body prueba 4",
"media_url": "https://.google.cl/photo.svg",
"action_color": "#348dfc"
},
"config": {
"priority": "normal",
"persistent": true,
"cancelable": true,
"play_time": 1,
"portrait": true,
"auto_play": true,
"is_sound": true,
"open_app": true
},
"buttons": {
"button_1": {
"action": "https://www.google.cl",
"color": "#348dfc",
"text": "Ir al sitio",
"type": "url"
},
"button_2": {
"action": "https://www.google.cl",
"color": "#348dfc",
"text": "Ir al sitio",
"type": "url"
}
},
"metadata": {
"reactions": [
"smile",
"heart_eyes",
"blush"
]
}
},
"company_uuid": null
},
"message": "Created"
}

HTTP Code: 422 Unprocessable Entity

{
"code": 422,
"resource": "message",
"message": "Fail",
"errors": "invalid notification_version, only [trust_notifications_v1] are valid"
}

HTTP Code: 422 Unprocessable Entity (reactions errors)

{
"code": 422,
"resource": "message",
"message": "Fail",
"errors": {
"metadata": {
"reactions": [
"Min 1 and no more than 5 reactions are allowed"
]
}
}
}