Building a Purple Experience
...
Action URLs and Deep linking
List of Action URLs
59 min
app menu open native app menu purple //app/menu/close this action url opens the native app menu if the app menu is already open, it stays open this action url has no parameters close native app menu purple //app/menu/open this action url closes the native app menu if the app menu is already closed, it stays closed this action url has no parameters toggle native app menu purple //app/menu/toggle this action url opens the native app menu when it is closed and when it's open, it is closed this action url has no parameters app interaction with operating system open feedback mail purple //app/feedback/mail/open this action url opens a pre filled email for feedback as configured within the dynamic resources this action url has no parameters open external url purple //app/open/external/url/< url encoded url url encoded url > this action url opens the given url by handing it over to the underlying os true false 174,88false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type the following url must be url encoded https //www example com/ https //www example com/ which results in the following url encoded url https%3a%2f%2fwww example com%2f https%3a%2f%2fwww example com%2f to finally insert that in the action url purple //app/open/external/url/ https%3a%2f%2fwww example com%2f https%3a%2f%2fwww example com%2f register app for push this action url does not work below android 13 purple //app/push/register this action url triggers the push registration for the application this will display a system dialog asking for permission to receive push notifications this action url has no parameters content note that all content related action urls starting with purple //content/ purple //content/ only work within the opened issue open issue purple //kiosk/issue/< issue id issue id >/open this action url opens an issue using the given issue id true false 180,88false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type open issue by external issue id purple //kiosk/issue/by external id/< external issue id external issue id >/open? fallback url fallback url = < url encoded url url encoded url >& target target =< target target > this action url opens an issue using the given external issue id the external issue id may be part of your cms true false 181,88false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type true false 181,88false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type add bookmark for content related information you can configure your own view for created bookmarks under the following setting in purple manager " your app your app " => " app design app design " => " general general " => " advanced settings advanced settings " => " bookmarks bookmarks " => " custom bookmarks ui url custom bookmarks ui url " that configured view can be opened by using this list of action urls /#show custom html view from dynamic resources purple //content/bookmark/add this action url adds a new bookmark this action url has no parameters open page in content by page id purple //content/page/< page id page id >/open this action url opens a page by the given page id true false 174,88false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type open page in content by page alias purple //content/page/alias/< page alias page alias >/open this action url opens a page by the given page alias true false 174,88false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type open page in content by page index purple //content/page/index/< page index page index >/open this action url opens a page by the given page index true false 174,88false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type share page in content by page alias in order for this action url to work, " content share content share " must be activated in purple manager " your app your app " => " sharing sharing " => " general general " => " basic settings basic settings " => " sharing sharing " => " content share enabled content share enabled " purple //content/page/alias/< page alias page alias >/share this action url shares a page by the given page alias true false 174,88false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type open the toc from the content purple //content/toc/open this action url opens the toc of the issue this action url has no parameters entitlement start oauth entitlement flow purple //kiosk/entitlement/login/oauth/start? success url success url =< url encoded url url encoded url > this action url starts the oauth login flow if the oauth login flow was successful completed, the success url success url will be opened true false 181,88false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type show entitlement login view in order for this action url to work, " custom ui login url custom ui login url " must be activated in purple manager " your app your app " => " entitlement entitlement " => " app configuration app configuration " => " basic settings basic settings " => " entitlement entitlement " => " custom ui login url custom ui login url " purple //kiosk/entitlement/login/open this action url opens the entitlement login view this action url has no parameters perform logout for user purple //kiosk/entitlement/logout/perform? success url success url =< url encoded url url encoded url > this action url performs the entitlement logout if the logout was successful completed, the success url success url will be opened true false 181,88false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type in app purchases purchase product by product id purple //kiosk/products/< product id product id >/purchase this action url starts an in app purchase for the given product id the product id must be either from the apple app store or from the google play store true false 174,88false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type restore purchases on device purple //kiosk/products/restore this action url restores purchases on the device this action url has no parameters show code redemption view this action url is for ios only purple //store/coderedemption/open this action url opens the code redemption view this action url has no parameters privacy show att flow with optional custom html view this action url is for ios only the flow is only shown if the app user has not seen the att system dialog before and has selected one of the provided options purple //app/consent/privacy info/open this action url starts the att flow this flow consists of two steps depending of the app configuration within the purple manager step 1 show a custom html info view before the att dialog is shown this step is optional and must be configured within the purple manager " your app your app " => " consent/push/analytics consent/push/analytics " => " privacy privacy " => " ios ios " => " basic settings basic settings " => " app tracking transparency (att) app tracking transparency (att) " step 2 show the att dialog (this is a system dialog from ios) this action url has no parameters show privacy settings view from cmp the cmp itself must be configured in purple manager if no cmp is configured, this action url will not work " your app your app " => " consent/push/analytics consent/push/analytics " => " consent management consent management " => " general general " => " basic settings basic settings " purple //app/consent/privacy manager/open this action url opens the settings view from your configured cmp this action url has no parameters sharing share app or issue in order for this action url to work, " app share app share " must be activated in purple manager " your app your app " => " sharing sharing " => " general general " => " basic settings basic settings " => " sharing sharing " => " app share enabled app share enabled " purple //app/share app or issue this action url shares the current issue if one is open otherwise the app is shared this action url has no parameters share app or issue or page in order for this action url to work, " app share app share " or " content share content share " must be activated in purple manager " your app your app " => " sharing sharing " => " general general " => " basic settings basic settings " => " sharing sharing " => " app share enabled app share enabled " " your app your app " => " sharing sharing " => " general general " => " basic settings basic settings " => " sharing sharing " => " content share enabled content share enabled " purple //app/share app or issue or page this action url shares the current page if an issue is open and "content sharing" is activated in purple manager if the above case does not apply the current issue will be shared if it is open, otherwise the app will be shared this action url has no parameters views open home view this action url can be customized by " custom html start point custom html start point " in purple manager once configured and released to your app ensure that the website keeps valid at the configured location " your app your app " => " basic settings basic settings " => " general general " => " basic settings basic settings " => " custom html start point custom html start point " purple //app/home/open this action url opens the home view of the app the home view itself is any html file within the dynamic resources this action url has no parameters open onboarding view in order for this action url to work, " html onboarding html onboarding " must be activated in purple manager " your app your app " => " basic settings basic settings " => " general general " => " basic settings basic settings " => " html onboarding html onboarding " purple //app/onboarding/app start/open this action url opens the onboarding view which is shown on first app start this action url has no parameters open app info view purple //app/info/open this action url opens the app information view this action url has no parameters open app settings view purple //app/settings/open this action url opens the app settings view this action url has no parameters show custom html view from dynamic resources the following two variants each open an existing html file from the dynamic resources the two variants differ only in one point that comes into play in an android app for android's app behavior please read the red warning below as a suggestion for good structuring, always use the storefront variant if you want to reference a view from the storefront and the app variant for all storefront independent views such as a faq page or a privacy policy page androids app behavior for both variants the app variant opens the html file on top of the current view context while the storefront variant navigates to a kiosk view context before opening the html open app related html files purple //app/resource/dynamic/< path path >? display mode display mode =< display mode display mode >& title bar title bar =< title bar title bar >& controls controls =< controls controls >& force status bar force status bar =< force status bar force status bar >& app logo app logo =< app logo app logo >& bounces bounces =< bounces bounces > this action url opens a hml file within an in app browser the appearance of the in app browser can be configured by params note the bounces bounces url parameter is for ios only true false 174,88false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type true false 174,88false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type open storefront related html files purple //storefront/resource/dynamic/< path path >? display mode display mode =< display mode display mode >& title bar title bar =< title bar title bar >& controls controls =< controls controls >& force status bar force status bar =< force status bar force status bar >& app logo app logo =< app logo app logo >& bounces bounces =< bounces bounces > this action url opens a hml file within an in app browser the appearance of the in app browser can be configured by params note the bounces bounces url parameter is for ios only true false 174,88false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type true false 174,88false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type standard system protocols open mail app mailto this action url opens the default mail app from your device to write and send an email this official scheme has many parameters for its use, please inform yourself at the appropriate place for example in rfc 6068 open phone app to start a call tel this action url opens the default phone app from your device for a call this official scheme has many parameters for its use, please inform yourself at the appropriate place for example in rfc 3966