# Class: CustomerCobrowse

  Customer cobrowse API

## Methods

#### addClassSelForPseudoElemtAfter(urlProperties, selectors) → {void}

  Set the class using the pseudo element ::After having URL property e,g
  For a selector class using pseudo element ::After having URL property for content passes as ("content", ".icon-header[_ngcontent-wwx-c0]")
  This replaces selector's URL property path from relative to absolute path

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `urlProperties` | String |
  `selectors` | String |

  ##### Returns:

  { void }

#### addElementIDToRemove(elementID) → {void}

  add the element id not to be synchronize with agent view

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `elementID` | string | Id of the element to be excluded for sharing with Agent.

  ##### Returns:

  { void }

#### addUrlPropertySelectors(urlProperties, selectors) → {void}

  Set the CSS Styles for the Selectors having URL property e,g
  For a selector say span having URL property for content, background-image pass the argument as ("content,background-image", "span,div")
  This replaces selector's URL property path from relative to absolute path

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `urlProperties` | String |
  `selectors` | String |

  ##### Returns:

  { void }

#### clearAllCustomerAnnotations() → {void}

  clear all the customer annotations on the webpage.

  ##### Returns:

  { void }

#### clearAllMarkers() → {void}

  Clear all markers on the webpage

  ##### Returns:

  { void }

#### denyControl() → {AvayaCoBrowseClientServices.Base.CobrowsePromise}

  deny control request from agent

  ##### Returns:

  { AvayaCoBrowseClientServices.Base.CobrowsePromise }

  On success the promise will be resolved with {void}
  On error the promise will be rejected with an AvayaCoBrowseClientServices.Base.CoBrowseError.

#### disableElementHighlight() → {void}

  disable Element highlight feature

  ##### Returns:

  { void }

#### disableHighlight() → {void}

  disable highlight text feature

  ##### Returns:

  { void }

#### disableMarker() → {void}

  disable data marker feature

  ##### Returns:

  { void }

#### disableTitle() → {void}

  disable Title feature of element to be co-browsed, default is enabled

  ##### Returns:

  { void }

#### dropdownSupport() → {void}

  ##### Parameters:

  Type | Description
  --- | ---
  void |

  ##### Returns:

  { void }

#### enableChildNodeSync()

  Sync child textnode of an element with the agent.

#### enableElementHighlight() → {void}

  enable highlight Element feature

  ##### Returns:

  { void }

#### enableHighlight() → {void}

  enable highlight text feature

  ##### Returns:

  { void }

#### enableMarker() → {void}

  enable data marker feature

  ##### Returns:

  { void }

#### enableTitle() → {void}

  enable Title feature of element to be co-browsed, default is enabled.

  ##### Returns:

  { void }

#### getCustomerData() → {AvayaCoBrowseClientServices.Base.CobrowseSessionInfo}

  get the customer cobrowse session data

  ##### Returns:

  { AvayaCoBrowseClientServices.Base.CobrowseSessionInfo }

#### grantControl() → {AvayaCoBrowseClientServices.Base.CobrowsePromise}

  grant control for the agent request

  ##### Returns:

  { AvayaCoBrowseClientServices.Base.CobrowsePromise }

  On success the promise will be resolved with {void}
  On error the promise will be rejected with an AvayaCoBrowseClientServices.Base.CoBrowseError.

#### hideAllAgentAnnotations() → {AvayaCoBrowseClientServices.Base.CobrowsePromise}

  hide agent's annotations.

  ##### Returns:

  { AvayaCoBrowseClientServices.Base.CobrowsePromise }

  On success the promise will be resolved with {String}
  On error the promise will be rejected with an AvayaCoBrowseClientServices.Base.CoBrowseError.

#### hideAllAgentMarkers() → {void}

  Hide agent's markers on the webpage

  ##### Returns:

  { void }

#### hideAllCustomerAnnotations() → {AvayaCoBrowseClientServices.Base.CobrowsePromise}

  hide customer's annotations.

  ##### Returns:

  { AvayaCoBrowseClientServices.Base.CobrowsePromise }

  On success the promise will be resolved with {String}
  On error the promise will be rejected with an AvayaCoBrowseClientServices.Base.CoBrowseError.

#### hideAllCustomerMarkers() → {void}

  Hide customer's markers on the webpage

  ##### Returns:

  { void }

#### joinSession(name, sessionKey, emailId) → {AvayaCoBrowseClientServices.Base.CobrowsePromise}

  join existing cobrowse session created by agent

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `name` | String |  | Name of customer to join a cobrowse session.
  `sessionKey` | String |  | shared by Agent to join an existing co-browse session
  `emailId` | String | <optional> | email id to create a cobrowse session

  ##### Returns:

  { AvayaCoBrowseClientServices.Base.CobrowsePromise }

  On success the promise will be resolved with AvayaCoBrowseClientServices.Base.CobrowseSessionInfo
  On error the promise will be rejected with an AvayaCoBrowseClientServices.Base.CoBrowseError.

#### logoutSession(logoutReason) → {AvayaCoBrowseClientServices.Base.CobrowsePromise}

  stop the cobrowse session

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `logoutReason` | String | <optional> | Reason for Logout

  ##### Returns:

  { AvayaCoBrowseClientServices.Base.CobrowsePromise }

  On success the promise will be resolved with {void}
  On error the promise will be rejected with an AvayaCoBrowseClientServices.Base.CoBrowseError.

#### pause() → {AvayaCoBrowseClientServices.Base.CobrowsePromise}

  Pause the session for agent not having the live view of customer changes

  ##### Returns:

  { AvayaCoBrowseClientServices.Base.CobrowsePromise }

  On success the promise will be resolved with {void}
  On error the promise will be rejected with an AvayaCoBrowseClientServices.Base.CoBrowseError.

#### removeCrossOriginIFrameContent() → {void}

  ##### Parameters:

  Type | Description
  --- | ---
  void |

  ##### Returns:

  { void }

#### requestSession(name, locale, emailId) → {AvayaCoBrowseClientServices.Base.CobrowsePromise}

  request to create a cobrowse session

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `name` | String |  | Name of customer to initiate a cobrowse session.
  `locale` | AvayaCoBrowseClientServices.Services.Cobrowse.LocaleField |  | Locale for langualge selection
  `emailId` | String | <optional> | email id to create a cobrowse session

  ##### Returns:

  { AvayaCoBrowseClientServices.Base.CobrowsePromise }

  On success the promise will be resolved with AvayaCoBrowseClientServices.Base.CobrowseSessionInfo
  On error the promise will be rejected with an AvayaCoBrowseClientServices.Base.CoBrowseError.

#### resume() → {AvayaCoBrowseClientServices.Base.CobrowsePromise}

  Resume from the pause state and agent will have the live view of customer changes

  ##### Returns:

  { AvayaCoBrowseClientServices.Base.CobrowsePromise }

  On success the promise will be resolved with {void}
  On error the promise will be rejected with an AvayaCoBrowseClientServices.Base.CoBrowseError.

#### revokeControl() → {AvayaCoBrowseClientServices.Base.CobrowsePromise}

  take control back from agent

  ##### Returns:

  { AvayaCoBrowseClientServices.Base.CobrowsePromise }

  On success the promise will be resolved with {void}
  On error the promise will be rejected with an AvayaCoBrowseClientServices.Base.CoBrowseError.

#### setAgentViewSyncInterval(agentViewSyncInterval) → {void}

  set the dom synchronization interval to synchronize the customer page to agent.

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `agentViewSyncInterval` | number | <optional> | 500 | Interval in milli second to synchronize dom to agent page

  ##### Returns:

  { void }

#### setAnnotation(annotationShapeInfo) → {AvayaCoBrowseClientServices.Base.CobrowsePromise}

  Set annotation shape to draw on the webpage during the cobrowse session

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `annotationShapeInfo` | AvayaCoBrowseClientServices.Services.Cobrowse.Common.AnnotationShapeInfo | Set annotation shape info

  ##### Returns:

  { AvayaCoBrowseClientServices.Base.CobrowsePromise }

  On success the promise will be resolved with {String}
  On error the promise will be rejected with an AvayaCoBrowseClientServices.Base.CoBrowseError.

#### setCSSHoverFile(cssHoverFile) → {void}

  Set the CSS file name containing hover e,g
  For one CSS file {"css": "one.css"}
  For multiple CSS file {"css": "one.css, two.css, three.css"}
  For parsing all the CSS file {"css": ""}
  For parsing all the CSS file in a single page app
  With dynamic content {"css": "", "navigate" : "true"}

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `cssHoverFile` | String |

  ##### Returns:

  { void }

#### setCustomerConnectionRetryInterval(connectionRetryInterval) → {void}

  set the customer connection retry interval in milli seconds when disconnect from network

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `connectionRetryInterval` | number | <optional> | 10000 | Interval in milli second when try reconnect with server in case of connection failure.

  ##### Returns:

  { void }

#### setHighlightColor(highlightColor) → {void}

  set the color of highlight text when enabled

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `highlightColor` | string | <optional> | yellow | Set highlight color

  ##### Returns:

  { void }

#### setMarkerColor(markerColor) → {void}

  set the color to mark the selected text when enabled

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `markerColor` | string | <optional> | yellow | Set data marker color

  ##### Returns:

  { void }

#### setMouseAndScrollSyncInterval(mouseAndScrollSyncInterval) → {void}

  set Sync interval for synchronizing mouse and scroll to the Agent

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `mouseAndScrollSyncInterval` | number | <optional> | 900 | Interval in milli second to synchronize mouse and scroll to the Agent

  ##### Returns:

  { void }

#### start() → {void}

  Initialize the cobrowse module.

  ##### Returns:

  { void }

#### startAnnotation() → {AvayaCoBrowseClientServices.Base.CobrowsePromise}

  Enable user to start annotation on the webpage.
  api will allow user to annotate on the webpage, however user is restricted to change webpage fields.

  ##### Returns:

  { AvayaCoBrowseClientServices.Base.CobrowsePromise }

  On success the promise will be resolved with {String}
  On error the promise will be rejected with an AvayaCoBrowseClientServices.Base.CoBrowseError.

#### stopAnnotation() → {AvayaCoBrowseClientServices.Base.CobrowsePromise}

  Allow user to update the webpage fields
  call to this api will stop user to annotate on the webpage

  ##### Returns:

  { AvayaCoBrowseClientServices.Base.CobrowsePromise }

  On success the promise will be resolved with {String}
  On error the promise will be rejected with an AvayaCoBrowseClientServices.Base.CoBrowseError.

#### unHideAllAgentAnnotations() → {AvayaCoBrowseClientServices.Base.CobrowsePromise}

  unHide agent's annotations.

  ##### Returns:

  { AvayaCoBrowseClientServices.Base.CobrowsePromise }

  On success the promise will be resolved with {String}
  On error the promise will be rejected with an AvayaCoBrowseClientServices.Base.CoBrowseError.

#### unHideAllAgentMarkers() → {void}

  unHide agent's markers on the webpage

  ##### Returns:

  { void }

#### unHideAllCustomerAnnotations() → {AvayaCoBrowseClientServices.Base.CobrowsePromise}

  unHide customer's annotations.

  ##### Returns:

  { AvayaCoBrowseClientServices.Base.CobrowsePromise }

  On success the promise will be resolved with {String}
  On error the promise will be rejected with an AvayaCoBrowseClientServices.Base.CoBrowseError.

#### unHideAllCustomerMarkers() → {void}

  unHide customer's markers on the webpage

  ##### Returns:

  { void }

#### updateIdleTime(idleTime) → {void}

  update the idle time of customer

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `idleTime` | number | update the idle time of customer for reporting.

  ##### Returns:

  { void }

### Callbacks

#### addOnAgentDeadCallback(callback) → {void}

  Add a new addOnAgentDeadCallback, when agent closes the window in running cobrowse session

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnAgentDeadCallback |

  ##### Returns:

  { void }

#### addOnAgentJoinCallback(callback) → {void}

  Add a new addOnAgentJoinCallback, when agent joins the cobrowse session.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnAgentJoinCallback | Takes an Object as {agentName:{String}, cobrowseState:{boolean}, agentControlState:{boolean}, customerName:{String} }

  ##### Returns:

  { void }

#### addOnCancelRequestControlCallback(callback) → {void}

  Add a new addOnCancelRequestControlCallback, when agent cancel the control to edit/update.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnCancelRequestControlCallback |

  ##### Returns:

  { void }

#### addOnConnectionCallback(callback) → {void}

  Add a new addOnConnectionCallback, when connection establishes with cobrowse session resides on server.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnConnectionCallback | Takes an Object as {paused:{boolean},agentControl:{boolean} agentName:{String},customerName:{String},ctrlReqPending:{boolean},key:{String}}

  ##### Returns:

  { void }

#### addOnConnectionFailureCallback(callback) → {void}

  Add a new addOnConnectionFailureCallback, when connection fails to connect with cobrowse session resides on server.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnConnectionFailureCallback | Takes an Object as {msg:{String}}

  ##### Returns:

  { void }

#### addOnConnectionResetCallback(callback) → {void}

  Add a new addOnConnectionResetCallback, when connection reset with cobrowse session resides on server.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnConnectionResetCallback | Takes an Object as {resume:{boolean},msg:{String}}

  ##### Returns:

  { void }

#### addOnControlReleaseCallback(callback) → {void}

  Add a new addOnControlReleaseCallback, when agent releases the edit/update control.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnControlReleaseCallback |

  ##### Returns:

  { void }

#### addOnControlRequestCallback(callback) → {void}

  Add a new addOnControlRequestCallback, when Agent request a control to edit/update.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnControlRequestCallback |

  ##### Returns:

  { void }

#### addOnfireInactivityCallback(callback) → {void}

  Add a new addOnfireInactivityCallback, when inactivity occurs.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnfireInactivityCallback | Takes an Object as {msg:{String}}

  ##### Returns:

  { void }

#### addOnMouseMoveCallback(callback) → {void}

  Add a new addOnMouseMoveCallback when Agent is in control and moving mouse

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnMouseMoveCallback |

  ##### Returns:

  { void }

#### addOnSessionCloseCallback(callback) → {void}

  Add a new addOnSessionCloseCallback, when the session gets closed due to network issue or inactive timeout.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnSessionCloseCallback | Takes an Object as {msg:{String}}

  ##### Returns:

  { void }

#### addOnStopInactivityTimerCallback(callback) → {void}

  Add a new addOnStopInactivityTimerCallback, when inactivity time needs to reset.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnStopInactivityTimerCallback | Takes an Object as {msg:{String}}

  ##### Returns:

  { void }

#### addOnUpdateHtmlBodyImageCallback(callback) → {void}

  Callback to process the src for image tag within the body addOnUpdateHtmlBodyImageCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnUpdateHtmlBodyImageCallback |

  ##### Returns:

  { void }

#### addOnUpdateHtmlBodyLinkCallback(callback) → {void}

  Callback to process the href for link tag within the body addOnUpdateHtmlBodyLinkCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnUpdateHtmlBodyLinkCallback |

  ##### Returns:

  { void }

#### addOnUpdateHtmlHeadCallback(callback) → {void}

  Callback to process the href for link tag addOnUpdateHtmlHeadCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnUpdateHtmlHeadCallback |

  ##### Returns:

  { void }

#### removeOnAgentDeadCallback(callback) → {void}

  Remove existing addOnAgentDeadCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnAgentDeadCallback |

  ##### Returns:

  { void }

#### removeOnAgentJoinCallback(callback) → {void}

  Remove existing addOnAgentJoinCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnAgentJoinCallback |

  ##### Returns:

  { void }

#### removeOnCancelRequestControlCallback(callback) → {void}

  Remove existing addOnCancelRequestControlCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnCancelRequestControlCallback |

  ##### Returns:

  { void }

#### removeOnConnectionCallback(callback) → {void}

  Remove existing addOnConnectionCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnConnectionCallback |

  ##### Returns:

  { void }

#### removeOnConnectionFailureCallback(callback) → {void}

  Remove existing addOnConnectionFailureCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnConnectionFailureCallback |

  ##### Returns:

  { void }

#### removeOnConnectionResetCallback(callback) → {void}

  Remove existing addOnConnectionResetCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnConnectionResetCallback |

  ##### Returns:

  { void }

#### removeOnControlReleaseCallback(callback) → {void}

  Remove existing addOnControlReleaseCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnControlReleaseCallback |

  ##### Returns:

  { void }

#### removeOnControlRequestCallback(callback) → {void}

  Remove existing addOnControlRequestCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnControlRequestCallback |

  ##### Returns:

  { void }

#### removeOnfireInactivityCallback(callback) → {void}

  Remove existing addOnfireInactivityCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnfireInactivityCallback |

  ##### Returns:

  { void }

#### removeOnMouseMoveCallback(callback) → {void}

  Remove existing addOnCustomerMouseMoveCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~removeOnMouseMoveCallback |

  ##### Returns:

  { void }

#### removeOnSessionCloseCallback(callback) → {void}

  Remove existing addOnSessionCloseCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnSessionCloseCallback |

  ##### Returns:

  { void }

#### removeOnStopInactivityTimerCallback(callback) → {void}

  Remove existing addOnStopInactivityTimerCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~addOnStopInactivityTimerCallback |

  ##### Returns:

  { void }

#### removeOnUpdateHtmlBodyImageCallback(callback) → {void}

  remove existing addOnUpdateHtmlBodyImageCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~removeOnUpdateHtmlBodyImageCallback |

  ##### Returns:

  { void }

#### removeOnUpdateHtmlBodyLinkCallback(callback) → {void}

  remove existing addOnUpdateHtmlBodyLinkCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~removeOnUpdateHtmlBodyLinkCallback |

  ##### Returns:

  { void }

#### removeOnUpdateHtmlHeadCallback(callback) → {void}

  remove existing addOnUpdateHtmlHeadCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaCoBrowseClientServices.Services.Cobrowse.Customer~removeOnUpdateHtmlHeadCallback |

  ##### Returns:

  { void }