Use this API to validate the caller account_id and return the call-flow

The IVR Action Start Web Service is called when the caller enters the IVR to validate the customer account-id

A Call-Flow is returned by the Web Service.

This interface could only be accessed by the IVR host. All other access will be blocked. IP whitelisting will ensure only traffic from the merchant backend could access this endpoint.

The interface provided is an HTTP POST request containing XML content and XML response.

The access_token obtained via the Authentication API will need to be supplied in the header as an Authorization key value, preceded by the word Bearer.

HTTP Request
POST https:///ivr/v1/actionStart

Request body

NameTypeMandatoryDescriptionComment
traceIdstring(100)yesThis will be the ZCC PABX Reference number associated with the call.

The Trace id must be globally unique across all transactions

contain only alphanumeric characters, hyphens and underscores, and have a length less than 100 characters
mobileNumbernumeric(11)yesThis is the 11-digit CLID of the caller. The format will be country code + mobile numberExample: 61412777555
DDIstring(20)yesThe incoming DDI of the caller.Example: 444
IVRHoststring(64)yesThe IVR host that the script is running from

Request headers

ParameterMandatoryDescription
Content-Typeyesapplication/xml
AuthorizationyesBearer Access-web-ivr-oauth-token (Refer Authentication)

Sample Example

curl -v -X POST 'https://<ivr-host-env>/ivr/v1/actionStart' \
-H "Content-Type: application/xml" \
-H "Authorization: Bearer lkgheflkjjdafkjfkjfkhgdddjhdljgkjlfljkkjasdlkjdffkj" \
-d '<IVRActionStartRequest>
	<traceId>Testflexplus12</traceId>
	<mobileNumber>61465376450</mobileNumber>
	<DDI>444</DDI>
	<IVRHost>abc</IVRHost>
</IVRActionStartRequest>'

Response body

NameTypeMandatoryDescriptionComment
traceIdstring(100)yesThis will be the ZCC PABX Reference number associated with the call.

The Trace id must be globally unique across all transactions

contain only alphanumeric characters, and have a length less than 100 characters
errorGroupNumericyesThis number indicates occurrence of an error and the type of error that has occurred.

0 = Success
1 = Transient gateway error - Try again later 5 = Transaction breached velocity rules
99 = Other unspecified error
callflowxmlyesthe callflow for the callwill contain empty on error

Sample Example

Status: 200 OK
<?xml version='1.0' encoding='UTF-8'?>
<IVRActionStartResponse>
    <traceId>Testflexplus12</traceId>
    <errorGroup>0</errorGroup>
    <callflow>
        <callflowContent language="en">
            <message>
                <prompt>Welcome_Optus</prompt>
            </message>
            <setup enableDeleteToken="false"/>
            <menu prompt="Main_Menu">
                <menuItem key="1" prompt="For 5Dollars Press1">
                    <subMenu prompt="Select">
                        <subMenuItem key="1" prompt="For 5_300_Mins_International_Add_On Press1" confirm="Selected 5_300_Mins_International_Add_On_Confirmation" value="{'uvt':'680','rechargeAmount':'500','payment':'500'}"/>
                        <subMenuItem key="2" prompt="For 5_Unlimited_Data_Day_Add_On Press2" confirm="Selected 5_Unlimited_Data_Day_Add_On_Confirmation" value="{'uvt':'652','rechargeAmount':'500','payment':'500'}"/>
                        <subMenuItem key="3" prompt="For 5_Roaming_Add_On Press3" confirm="Selected 5_Roaming_AddOn_Confirmation" value="{'uvt':'901','rechargeAmount':'500','payment':'500'}"/>
                    </subMenu>
                </menuItem>
                <menuItem key="2" prompt="For 10Dollars Press2">
                    <subMenu prompt="Select">
                        <subMenuItem key="1" prompt="For 10_Extras_Credit_Add_On Press1" confirm="Selected 10_Extras_Credit_Add_On_Confirmation" value="{'uvt':'100','rechargeAmount':'1000','payment':'1000'}"/>
                        <subMenuItem key="2" prompt="For 10_Data_Add_On Press2" confirm="Selected 10_Data_Add_On_Confirmation" value="{'uvt':'110','rechargeAmount':'1000','payment':'1000'}"/>
                    </subMenu>
                </menuItem>
                <menuItem key="3" prompt="For 12_Flex_Plus Press3" confirm="Selected 12_Flex_Plus" value="{'rechargeAmount':'1200','payment':'1200'}"/>
                <menuItem key="4" prompt="For 35_Flex_Plus Press4">
                    <subMenu prompt="Select">
                        <subMenuItem key="1" prompt="For 35_Flex_Plus Press1" confirm="Selected 35_Flex_Plus" value="{'rechargeAmount':'3500','payment':'3500'}"/>
                        <subMenuItem key="2" prompt="For 35_Roaming_Add_On Press2" confirm="Selected 35_Roaming_AddOn_Confirmation" value="{'uvt':'902','rechargeAmount':'3500','payment':'3500'}"/>
                    </subMenu>
                </menuItem>
                <menuItem key="5" prompt="For 45_Flex_Plus Press5" confirm="Selected 45_Flex_Plus" value="{'rechargeAmount':'4500','payment':'4500'}"/>
                <menuItem key="6" prompt="For 55_Flex_Plus Press6" confirm="Selected 55_Flex_Plus" value="{'rechargeAmount':'5500','payment':'5500'}"/>
            </menu>
            <captcha required="true"/>
            <payment allowToken="false"/>
            <finalise></finalise>
        </callflowContent>
    </callflow>
</IVRActionStartResponse>
Language
Click Try It! to start a request and see the response here!