# Class: CustomerJourney

## Constructor

#### new CustomerJourney(csConfig)

  Customer Journey API

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `csConfig` | AvayaDataStoreClient.Config.CsConfiguration |

## Methods

#### createJourneyElement(body) → {Object}

  Create Journey Element

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `body` | Object | Customer Journey data object containing key/value pairs

  ##### Returns:

  { Object }

  response with JSON Object

#### getCustomerJourney(customerId, topic) → {Object}

  Get Customer Journey via Customer Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `customerId` | String | customerId of data object
  `topic` | String | topic associated with the customer journey

  ##### Returns:

  { Object }

  response with JSON Object

#### getCustomerJourneyViaAccountId(accountId, topic) → {Object}

  Get Customer Journey via Account Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `accountId` | String | accountId of data object
  `topic` | String | topic associated with the customer journey

  ##### Returns:

  { Object }

  response with JSON Object

#### getCustomerJourneyViaElementId(elementId, topic, before) → {Object}

  Get Customer Journey via Element Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `elementId` | String | elementId of data object
  `topic` | String | topic associated with the customer journey
  `before` | String | only entries earlier than this time will be returned

  ##### Returns:

  { Object }

  response with JSON Object

#### getCustomerJourneyWithAdminDataViaElementId(elementId, topic, before) → {Object}

  Get Customer Journey with Admin data via Element Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `elementId` | String | elementId of data object
  `topic` | String | topic associated with the customer journey
  `before` | String | only entries earlier than this time will be returned

  ##### Returns:

  { Object }

  response with JSON Object

#### getLastJourneyElement(elementId, topic, before) → {Object}

  Get Last Journey Element via Element Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `elementId` | String | elementId of data object
  `topic` | String | topic associated with the customer journey
  `before` | String | only entries earlier than this time will be returned

  ##### Returns:

  { Object }

  response with JSON Object

#### updateAgentNote(interactionId, agentNote) → {Object}

  Update Agent Note

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `interactionId` | String | Interaction Id
  `agentNote` | Object | new value of Agent Note

  ##### Returns:

  { Object }

  response with JSON Object

#### updateIdentifiers(elementId, body) → {Object}

  Update Identifiers

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `elementId` | String | Element Id
  `body` | Object | identifiers: customerId, externalId, accountId

  ##### Returns:

  { Object }

  response with JSON Object

#### updateJourneyElement(elementId, body) → {Object}

  Update Journey Element

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `elementId` | String | Journey Element Id
  `body` | Object | Customer Journey data object containing key/value pairs

  ##### Returns:

  { Object }

  response with JSON Object