# Class: CustomerManagement

## Constructor

#### new CustomerManagement(csConfig)

  Customer Management API

  ##### Parameters:

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

## Methods

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

  Create Journey Element

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `body` | Object |
  `authorization` | String | Authorization Header

  ##### Returns:

  { Object }

  response with JSON Object

#### getCustomerDetails(workrequestId, customerId) → {Object}

  Get Customer Details from Customer Management via work Request Id or Customer ID

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `workrequestId` | String | workrequestId of data object
  `customerId` | String | Customer ID

  ##### Returns:

  { Object }

  response with JSON Object

#### getCustomerHistory(workrequestId) → {Object}

  Get Customer History from Customer Management via work Request Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `workrequestId` | String | workrequestId of data object

  ##### Returns:

  { Object }

  response with JSON Object

#### getCustomerHistoryOnCustomer(customerId) → {Object}

  Get Customer History from Customer Management via customer Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `customerId` | String | customerId of data object

  ##### Returns:

  { Object }

  response with JSON Object

#### getCustomerId(crmId, phone, email, social, platform, accountId, accountType) → {Object}

  Get Customer Id from Customer Management via email or phone

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `crmId` | String | Customer Record ID
  `phone` | String | phone of Customer
  `email` | String | email of Customer
  `social` | String | social media details of Customer
  `platform` | String | social media platform associated with the social media details of Customer
  `accountId` | String | account id
  `accountType` | String | account type

  ##### Returns:

  { Object }

  response with JSON Object

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

  Get Customer Journey from Customer Management via work Request Id

  ##### Parameters:

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

  ##### Returns:

  { Object }

  response with JSON Object

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

  Get Customer Journey from Customer Management 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

#### getCustomerManagementStatus(csConfig) → {String}

  Get Customer Management Status

  ##### Parameters:

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

  ##### Returns:

  { String }

  response with String

#### getCustomerRecord(custId, crmId, phone, email, social, platform, accountId, accountType, summaryDataOnly, authorization) → {Object}

  Get Customer Record from Customer Management via Customer Id

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `custId` | String | Customer ID
  `crmId` | String | Customer Record ID
  `phone` | String | phone of Customer
  `email` | String | email of Customer
  `social` | String | social media details of Customer
  `platform` | String | social media platform associated with the social media details of Customer
  `accountId` | String | account id
  `accountType` | String | account type
  `summaryDataOnly` | Boolean | When set to true, only a data summary is shown
  `authorization` | String | Authorization

  ##### Returns:

  { Object }

  response with JSON Object

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

  Update Journey Element

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `elementId` | String | Journey Element Id
  `body` | Object |
  `authorization` | String | Authorization Header

  ##### Returns:

  { Object }

  response with JSON Object