Multiple Journey Definitions for Customer Journey – GBG IDscan Documentation

Multiple Journey Definitions for Customer Journey

This allows selecting specific journeys on the mobile channel.

There are 3 ways how we can access specific journey select one best fitting your case:

1. Provide journey GUID when creating a customer journey intent

Kotlin

val config = CustomerJourneyConfig.Builder(
                baseUrl = baseUrl,
                credentials = Credentials(username, password),
                journeyDefinitionId = journeyDefinitionGUID // Add hardcoded or retrieved journeyDefinitionId
        ).build()
// Call to open Customer Journey
        val customerJourney = Intent(this, CustomerJourneyActivity::class.java)
        customerJourney.putExtra(CustomerJourneyActivity.EXTRA_CONFIG, config)
        startActivity(customerJourney)

2. Fetch possible journeys on the mobile channel and ask customer journey to use the selected one.

Kotlin

private val callback = object : OnJourneyDefinitionCallback {
        override fun onError(code: Int, message: String) {
            // Returns server error, check section: Web errors
        }
 
        override fun onSuccess(list: List<JourneyDefinition>) {
            // Returns list of JourneyDefinitions
        }
}
enterpriseService.getPossibleJourneyDefinitions(callback)

Follow starting intent from 1 example.

3. Select journey on the go from a listener if there is more that one choice it will return selection if not it will skip callback.

Kotlin

private val multipleJourneyDefinitionEventReceiver = object : MultipleJourneyDefinitionEventReceiver() {
        override fun onList(list: List<JourneyDefinition>): String {
            Toast.makeText(this@CustomerJourneySample, "Name: ${list.last().name}", LENGTH_LONG).show()
            // Parse list and select journey definition id you are interested in and return it.
            // For more information on JourneyDefinition check section:
            return list.last().journeyDefinitionId
        }
}
 
//Register for callbacks - this activates the server call
MultipleJourneyDefinitionService.registerEventReceiver(this, multipleJourneyDefinitionEventReceiver)
 
// Unregister from the callbacks when done
MultipleJourneyDefinitionService.unregisterEventReceiver(this, multipleJourneyDefinitionEventReceiver)

Launch Customer Journey as normal

Was this page helpful?