URL Schemes
The Communic8 platform includes a mobile app, typically installed via the Apple or Google Play stores.
When installed, the Communic8 mobile app registers one or more URI / URL Schemes on the device to facilitate programmatic interaction. For example, when a person opens an email from the Communic8 platform and clicks on a link in that email, URL Schemes are involved in the process of automatically opening of the Communic8 mobile app to the correct state.
An example URL for a Communic8 URL Scheme is:
c8internal://about
Where c8internal is the scheme indicating the Communic8 mobile app and about is the path within the app (in this case the app about page).
Schemas
| App Name | Environment | Restriction | Specific Scheme |
|---|---|---|---|
| Communic8 | Production | N.A | c8 |
| WorkforceX | Production | N.A | workforcex |
| C8 Test | Test | N.A | c8test |
| C8 Pentest | Custom | Custom Pentesting Env | c8pentest |
| C8 Development | Test / Custom | c8development | |
| C8 Hotfix | Hotfix | N.A | c8hotfix |
| C8 Staging | Test | N.A | c8stage |
All of the above applications register:
c8internalwfxinternal
These "internal" URL Schemes are (despite their names) registered system-wide. These are used when you (the link creator) doesn't mind which application the end user has installed. Since multiple apps register these two schemes you can get a race condition when launching via the system in multi-app conditions. As such, it's recommended to either launch the internal schemes from within a C8 application, from the in-app QR Code Scanner or use an app-specific scheme outlined above.
The app specific schemes are unique to each application. These are schemes that should be used when launching system-wide or where you require the URL to be handled by a specific app (this is used internally... this is the basis for how inter-app communication is performed).
Operations
All the above schemes (internal & app specific) all support the same "operations" or paths.
| Path | Params | Example |
|---|---|---|
bookmark | c8internal://bookmark | |
feed | One of campaignID, broadcastID or publicCampaignID are required | c8internal://feed?publicCampaignID=xxxx |
about | ||
url | scheme and path are required. message, title, continueButtonLabel and inapp are optional | c8internal://url?scheme=https&path=google.com&message=Take%20me%20to%20Google&title=Example&continueButtonLabel=launch%20me&inapp=true |
message | title & message are required | c8internal://message?title=Example%20Alert&message=Just%20a%20heads%20up |
contacts | ||
medialibrary | ||
internalappbuilder | ||
internalshowlogs | ||
internaleventlog | ||
internalenabledebug | ||
internaldisabledebug | ||
internalchangeicon | name required | c8internal://internalchangeicon?name=xxxxxx |
internalclearcache | ||
triggerapplicationcrash | ||
changehubsystem | ||
generateloginqrcode | ||
addaccount | ||
debug | ||
profile | clearCache optional. As of 8.8.2 a new editProfile=true param was added to take the user directly to the Edit Profile Page | c8internal://profile?clearCache=true or c8internal://profile?editProfile=true |
int-report | id or code required (as of >=6.2.1, pre 6.2.1 - just id required) | c8internal://int-report?id=xxxx |
category | name required | c8internal://category?name=xxxx |
collection | name required | c8internal://collection?name=xxxx |
contact | id required. If >=6.2.1, either id or email is required. | c8internal://contact?id=xxxx |
scanqrcode | ||
sysdiaghelp | c8internal://sysdiaghelp | |
addtocalendar | title, startDate and endDate are required. location and description are optional. Only supported in 7.3.0 and above. | c8internal://addtocalendar?title=Example%20Event&description=Exmple%20Event%20Description&loction=Example%20Location&startDate=2023-07-06%2020%3A00%3A00Z&endDate=2023-07-06%2021%3A00%3A00Z |
logevent | name is the only required parameter. Any additional parameters will be passed through into the log event. Only supported in v8.1.0 and above. | c8internal://logevent?name=Example%20Event&id=123 |
dialog | title, message, icon, qrData and showShareButton are all optional. Supported in 8.3.0 and above. | c8internal://dialog?title=Scan%20me&message=Just%20an%20example%20message&icon=solid%20qrcode&qrData=c8internal%3A%2F%2Fabout&showShareButton=true |
channel | id is optional, changes behaviour to launch a specific channel not list of channels. In 8.7.0 support for chatOnly to hide channel feed. | c8internal://channel |
launchbusinessapp | id is required. Supported in 8.6.0 | c8internal://launchbusinessapp?id=123 |
chat | ids or channelId are required. ids is expected to be a JSON string of recipient ids for a group chat or channelId for channel chat. | c8internal://chat?ids=["123", "456"] or c8internal://chat?channelId=123 |
campaigneditor | id is required, added in 8.8.0 | c8internal://campaigneditor?campaignId=xxxxx |
Additionally, there are some properties that can be added to any of the above operations:
| Parameter Key | Example | Purpose |
|---|---|---|
clientId | c8internal://about?clientId=team | Ensures the correct instance handles the request. In >=6.3.0 this will prompt the user to sign in if the instance isn't already setup. |
localAuth | c8internal://about?localAuth=true | Prompts the user to authenticate with their biometrics or device passcode before executing the action of the URL. Only available in v>=8.1.0 and on instances configured with local authentication options eventDriven, enabled or required. |