Skip to main content

Communication preferences

User Communication Preferences allows a user to select how communication should be done regarding a couple of communication reasons.

There are three different communication channels supported in Future Ordering platform - e-mail, push notifications and SMS. Push alternative is only activated if a tenant is using Mobile App.

There are several types of communication reasons - some of them are default communication reasons in Future Ordering platform, for instance login notifications, password reset and order confirmation. A tenant can add other types of communication reasons if desired. Contact Future Ordering Support in order to add tenant specific configuration.

Example of how communication preferences are shown in the user interface.

Communication Preferences

Endpoints

There are three endpoints regarding User Communication Preferences.

  • GET communication preferences for a specific user (service token is required)
  • GET communication preferences for me (user token is required)
  • PATCH communication preferences for me (user token is required)

If a user has not made a choice, the Future Ordering or Tenant default values will be in the response of the GET-endpoints.

If a user requires to be deleted from Future Ordering - the user specific communication preferences will also be deleted.

API parameters overview

For a more detailed description of every object/property - check the API documentation.

CommunicationChannels - the different types of channels supported by Future Ordering. Each type will have a title and optional description supported in different cultures with one default alternative.

CommunicationReasons - the reason for communicating with a customer. Some reasons are not possible to deselect by the user - such as password reset and order confirmations.

  • key: Unique key to the specific communication reason
  • title: Friendly name shown in the User Interface. Consist of a default value and a translation object.
  • description: More detailed description regarding the communication reason. Consist of a default value and a translation object.
  • supportedCommunicationMethods: Which communication channels that are supported for this specific reason.
    • isActive: A boolean that informs whether it is ok to communicate with the user or not regarding this specific reason and channel.
    • canBeOverriden: A boolean that implies whether "isActive-bool" can be overridden by the user or not. If canBeOverriden = false - the box will be "grey" in the user interface (see picture above) and the user cannot deselect/select this.
    • isDefault: Indicates if this is a default value or not. If the user changes the value of "isActive"- default is changed to false.

Example response data from GET endpoints.

{
"communicationChannels": [
{
"type": "email",
"title": {
"value": "E-mail",
"translations": {
"en-GB": "E-mail",
"en-US": "E-mail",
"sv-SE": "E-post"
}
},
"description": {}
},
{
"type": "sms",
"title": {
"value": "SMS",
"translations": {
"en-GB": "SMS",
"en-US": "Text",
"sv-SE": "SMS"
}
},
"description": {}
},
{
"type": "push",
"title": {
"value": "Push notice",
"translations": {
"en-GB": "Push",
"en-US": "Push",
"sv-SE": "Push"
}
},
"description": {}
}
],
"communicationReasons": [
{
"key": "orderUpdates",
"title": {
"value": "Order updates",
"translations": {
"sv-SE": "Orderuppdateringar",
"en-GB": "Order updates",
"en-US": "Order updates"
}
},
"description": {
"value": "Updates about the order status",
"translations": {
"sv-SE": "Uppdateringar om orderns status",
"en-GB": "Updates about the order status",
"en-US": "Updates about the order status"
}
},
"supportedCommunicationMethods": [
{
"key": "email",
"canBeOverridden": false,
"isDefault": false,
"isActive": false
},
{
"key": "sms",
"canBeOverridden": true,
"isDefault": false,
"isActive": false
},
{
"key": "push",
"canBeOverridden": true,
"isDefault": true,
"isActive": true
}
]
},
{
"key": "orderConfirmation",
"title": {
"value": "Order confirmation",
"translations": {
"sv-SE": "Orderbekräftelse",
"en-GB": "Order confirmation",
"en-US": "Order confirmation"
}
},
"description": {},
"supportedCommunicationMethods": [
{
"key": "email",
"canBeOverridden": false,
"isDefault": false,
"isActive": true
},
{
"key": "sms",
"canBeOverridden": false,
"isDefault": false,
"isActive": false
},
{
"key": "push",
"canBeOverridden": false,
"isDefault": false,
"isActive": false
}
]
},
{
"key": "news",
"title": {
"value": "News",
"translations": {
"sv-SE": "Nyheter",
"en-GB": "News",
"en-US": "News"
}
},
"description": {},
"supportedCommunicationMethods": [
{
"key": "email",
"canBeOverridden": false,
"isDefault": true,
"isActive": false
},
{
"key": "sms",
"canBeOverridden": false,
"isDefault": true,
"isActive": false
},
{
"key": "push",
"canBeOverridden": true,
"isDefault": false,
"isActive": false
}
]
},
{
"key": "offers",
"title": {
"value": "Offers",
"translations": {
"sv-SE": "Erbjudanden",
"en-GB": "Offers",
"en-US": "Offers"
}
},
"description": {},
"supportedCommunicationMethods": [
{
"key": "email",
"canBeOverridden": false,
"isDefault": true,
"isActive": false
},
{
"key": "sms",
"canBeOverridden": false,
"isDefault": true,
"isActive": false
},
{
"key": "push",
"canBeOverridden": true,
"isDefault": true,
"isActive": true
}
]
}
],
"userId": "5d9f043a-e20f-48d8-a454-507094248aad"
}