To accommodate the following options, which all are pretty much about short-circuiting some interactions:
enabled_languages: Limit language choice without asking the user
i.e.: "enabled_languages": [ "en_US", "hu_HU" ]
default: "enabled_languages": null (no filtering applied)
👉 These languages are to be used only as a filter over the ones reported by the API service. If a language mentioned in this directive is not offered by the Platform API, then it shouldn't appear as a choice to the user.
⚠️ If there is only one possible language left for the user to choose, no choice screen should be presented in chat.
⚠️ If applying this filter would result in no available choices for the reporting user, then filtering should be avoided completely, the original choices presented to the user, as well as a warning message printed on this service's log.
enabled_surveys: Limit which surveys are offered to the user
default: "enabled_surveys": null (no filtering applied)
⚠️ If there is only one possible language left for the user to choose, no choice screen should be presented in chat.
⚠️⚠️ If applying this filter would result in no available choices for the reporting user, then filtering should be avoided completely, the original choices presented to the user, as well as a warning message printed on this service's log.
when_default_values: Handling of default values for fields
may contain three properties according to which sort of field is to be configured: title, description and other
possibilities for each property:
skip: don't ask the user to fill fields that have default values setup. The default value will be used without causing any interaction.
use: use the default value if the user doesn't provide any value.
NOTE: need to check, I don't quite recall now, but the API MAY not be able to fill in the default values itself. The USSD engine may be forced to send these default values when appropriate.
The source for these as a JSON configuration file deployed along with the USSD-engine for now. Over time the USSD-engine may retrieve this from the Platform API , as user-configured settings.
To accommodate the following options, which all are pretty much about short-circuiting some interactions:
enabled_languages
: Limit language choice without asking the user"enabled_languages": [ "en_US", "hu_HU" ]
"enabled_languages": null
(no filtering applied)enabled_surveys
: Limit which surveys are offered to the user"enabled_surveys": [ {"id": 4} , {"id": 5}, {"id": 9} ]
"enabled_surveys": null
(no filtering applied)when_default_values
: Handling of default values for fieldstitle
,description
andother
skip
: don't ask the user to fill fields that have default values setup. The default value will be used without causing any interaction.use
: use the default value if the user doesn't provide any value.ignore
: ignore the default value configurationignore
(which is the current behavior)The source for these as a JSON configuration file deployed along with the USSD-engine for now. Over time the USSD-engine may retrieve this from the Platform API , as user-configured settings.