Request a Quote

8x8 U.S. 8x8 Solutions U.K. Request a Quote  1-866-879-8647
Sign In  Account Manager >    Virtual Office Online >

Back >

External IVR API

Overview

The 8x8 External IVR API is a HTTP API that provides tenants the ability to integrate with an external IVR system. The feature is embedded in the current 8x8 virtual contact center IVR server. Once a customer call enters the 8x8 IVR server, a tenant administrator has the capability to configure the IVR script to relay a call to an external IVR server.

This document describes the supported parameters for using the External IVR API. Examples are provided for references.

All API requests are authenticated using a token that is issued to a valid 8x8 tenant.

For security reasons, the External IVR API only accepts request using HTTPS, so that request headers and response data are encrypted.

Authentication

In order to make an API request, you must first obtain an authentication token that has been issued for your tenant. This token combines username and password into a single long string. To get your token, log into the Configuration Manager, select "Integration", and click the "API Token" tab. The "Action Request Token" needs to be used in all API requests. Next, click the "New Token" button. This generates a new private token for your tenant. You will use this token in all requests to this API. You may generate a new token at any time; however, once a new token is generated, the old token becomes invalid.

Configuration

Setting up an incoming call channel to route a call to external IVR:

Step 1:

Add new "Forward to External IVR" node to an existing IVR script

Step 2:

Assign label name and access phone number of the external IVR server.

Step 3:

Add resume action when external IVR server terminate the call without sending API request via this API interface or fail to connect the external IVR server. If an external IVR request was successfully submitted before the call the terminated, the resume action will have no effect and the call will be routed base on the API request.

 

Query Parameters

GET/POST Parameters

The following parameters are allowed parameters that can be passed along with the External IVR URL using GET or POST method.

Parameter Name
Description
Accepted value
Mandatory
tenant
Tenant name
System provided tenant id

Yes

token
Authentication token

Yes

sip_id

Unique sip call id

The unique sip call id of the call, which is defined in Call-ID header of a SIP message

Yes

action

Type of call routing action to be executed

wForwardACD

wForwardAgent (not yet available)

Yes

param

Action parameter. The parameter will be defined base on action type.

wForwardACD – a valid queue id

wForwardAgent – a valid agent id

Yes

extIvrData

This attribute can be used to pass name value pairs that will be used for populating the transaction panel when an agent is offered the interaction. Each name value pair is enclosed by [ ] and the name/value are separated by "|".

 

There is a limit of 500 characters.

No

Tenant name

Tenant name can be found in Configuration Manager under "Home >> Profile" panel

Queue Id

The per-tenant unique queue id can be obtained under "Queues" panel in Configuration Manager

 

External Data

External call data to be passed back to 8x8 Virtual Contact Center platform, which will then be available for agent to view in AGUI call transaction panel.

The data should be in name value pair separated by | character. And each name value pair should be enclosed with open and close square brackets, such as [name|value]

Example:

extIvrData=[First Name|John][Last Name|Smith]

Sample API Request URL

The web callback API makes it easy to submit a query, for experimentation, testing or debugging purposes. From a web browser, simply enter the URL. For example,

https://mycontactual.com/SC/externalIvrAction.php?tenant=klvm2&token=92bd5cbf9ab120b3a47bdef9284b323d&
sip_id=MDc5ZGI5ZDgyYjY2NGRiNjNjMjQ3ZjkyMGQyMzljMzY&action=wForwardACD&param=102

The request above will try to route to call to queue with id 102 after the call is terminated from the external IVR system.

Revise your query URL based on the login URL of your tenant:

https://na1.mycontactual.com/SC/externalIvrAction.php
https://na2.mycontactual.com/SC/externalIvrAction.php
https://na3.mycontactual.com/SC/externalIvrAction.php
https://na4.mycontactual.com/SC/externalIvrAction.php
https://vcc-na7.8x8.com/SC/externalIvrAction.php
For tenants in Cananda: https://www.mycontactual.ca/SC/externalIvrAction.php For tenants in UK: https://www.mycontactual.co.uk/SC/externalIvrAction.php

Examples

VoiceXML Example:

The following script will redirect a call to queue with id 114 once the IVR server hangs up the call.

<callxml version="3.0">
  <do label="mainmenu" choices="1" repeat="10">
    <say>
      Welcome to the 8 by 8 External IVR Demo.
      To redirect your call to an ACD queue, press 1.
    </say>
    <wait value="5s"/>
    <on event="choice:1" next="#redirectQ"/>
    <on event="choice:nomatch">
        <say>Invalid choice. Please try again.</say>
    </on>
  </do>
  <do label="redirectQ">
    <assign var="tenant" value="klvm2"/>
    <assign var="token" value="92bd5cbf9ab120b3a47bdef9284b323d"/>
    <assign var="action" value="wForwardACD"/>
    <assign var="sip_id" value="$session.SIPCallID;"/>
    <assign var="param" value="114"/>
    <assign var="extIvrData" value="[First Name|John][Last Name|Smith][Account
 ID|12345678]"/>
 
    <prompt>
    Please wait while we redirect your call.
    </prompt>
    <fetch value="https://8x8.com/SC/externalIvrAction.php" submit="sip_id, tenant, 
token, action, param, extIvrData" method="post" var="retValue" />
    <prompt>
    thank you for waiting. your call is being redirected to queue $param;.
    </prompt>
    <hangup/>
  </do>
</callxml>