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"
]
}
}
}
Last updated on by Claudio-Franco