Show / Hide Table of Contents

    Buzzeasy Callback API


    > WARNING: This API is no longer actively worked on and will be deprecated in the near future. Please use Buzzeasy - Unified API

    Introduction

    Document Purpose

    The purpose of this document is to provide the Web Service Interface Contract for the "buzzeasy" solution.

    Audience

    This document is intended for the readership of all parties concerned with the design and implementation of the solution.

    Overview

    Buzzeasy provides a Web Service for use to integrate with the Buzzeasy platform. This exposes functionality to request different types of call backs depending on requirement. The functions available are detailed in Section "Request Callback Service" onwards.

    Endpoints

    The Buzzeasy web services provide a SOAP endpoint|to provide inter-operability across all technologies.

    Alternatively, a REST endpoint|is available for integration so requests can also be made via HTTPS GET.

    Security

    Please consult with Buzzeasy team regarding access to the web service.

    Request Callback Service

    RequestCallWhenAvailable

    This sends a request to call the user when an agent has been retrieved. The function allows the authorized user to input the destination number with 10 optional fields

    Method header

    ResponseMessage RequestCallWhenAvailable(string|name, string|phoneNo, int
    serviceQueue, int|company, string|password, string|region = null, string|field1 =
    null, string|field2 = null, string|field3 = null, string|field4 = null, string|field
    = null, string|field6 = null, string|field7 = null, string|field8 = null, string
    field9 = null, string|field10 = null)
    

    Parameters

    Name Type Description
    name string The full name of the requestor.
    phoneNo string The phone number the requestor would like to be reached on. This must be in E.164 format if the region is not supplied.
    serviceQueue int The service queue (ID) that the call wishes to use. This is supplied by Buzzeasy during the setup phase.
    company int The company (ID) the call wishes to use. This is supplied by Buzzeasy during the setup phase.
    password string The password associated with the company. This is supplied by Buzzeasy during the setup phase.
    region string The region of the phone number. This region will be used if the phone number has not been formatted in E.164 format. Please see Appendix A for list of valid regions
    field1 string An optional field that can be used to include further information regarding the request/call
    field2 string An optional field that can be used to include further information regarding the request/call
    field3 string An optional field that can be used to include further information regarding the request/call
    field4 string An optional field that can be used to include further information regarding the request/call
    field5 string An optional field that can be used to include further information regarding the request/call
    field6 string An optional field that can be used to include further information regarding the request/call
    field7 string An optional field that can be used to include further information regarding the request/call
    field8 string An optional field that can be used to include further information regarding the request/call
    field9 string An optional field that can be used to include further information regarding the request/call
    field10 string An optional field that can be used to include further information regarding the request/call

    Returns

    Name Type Description
    ConfirmationCode string The confirmation code (reference no.) of the request. This can be used to amend or cancel the request. If there is no confirmation code, the request failed.
    ResultCode int The result code of the request. ( Please see below for result code table)

    Result codes

    Result Code Description
    0 Request successful
    1 Invalid format number
    2 Unable to connect to remote location
    3 Out of hours
    4 Not in white list
    5 Is in black list
    -1 Authentication Failed

    Method Body

    The method requires an object in JSON with the properties mentioned in the parameters section e.g:

    {
       "name":"User",
       "phoneNo":"+4477794531150",
       "serviceQueue":"1",
       "company":"1",
       "password":"Password",
       "field1":"test"
    }
    

    Type

    The method is of HTTP POST type.

    REST URL

    The following URL format is required to call the REST endpoint;

    https://testservice.buzzeasy.com/RequestCallbackService/Service.svc/rest/RequestCallWhenAvailable

    Please Note: Any parameters are not supplied will be passed as NULL, so if field parameters are not required then they do not need to be included in the body.

    GetAvailableTimes

    This requests the time slots for the requested date from the server after a given time. It returns all values in an array

    Method header

    TimeSlot[] GetAvailableTimes(int|serviceQueue, int|company, string|password, DateTime requestedDate);
    

    Parameters

    Name Type Description
    serviceQueue int The service queue (ID) that the call wishes to use. This is supplied by Buzzeasy during the setup phase.
    requestedDate DateTime The date and time after which the timeslots are being requested
    company int The company (ID) the call wishes to use. This is supplied by Buzzeasy during the setup phase.
    password string The password associated with the company. This is supplied by Buzzeasy during the setup phase.

    Returns

    An Array of Timeslot objects which have the following fields.

    Name Type Description
    TimeSlotID int Database ID of the timeslot
    TimeTo string string representation of the end date and time of the slot (yyyy-MM-dd HH-mm-ss)
    TimeFrom string string representation of the start date and time of the slot (yyyy-MM-dd HH-mm-ss)
    Available Bool Whether the slot is usable (should always be true)

    Method body

    The method requires an object in JSON with the properties mentioned in the parameters section e.g.:

    {
       "serviceQueue": "1",
       "requestedDate": "2017-04-11 09:00:00",
       "company": "1",
       "password": "P@ssword"
    }
    

    Type

    The method is of HTTP POST type.

    REST URL

    https://testservice.buzzeasy.com/RequestCallbackService/Service.svc/rest/GetAvailableTimes

    Please Note: Any parameters are not supplied will be passed as NULL, so if field parameters are not required then they do not need to be included in the URL.

    GetNextThreeTimeslots

    This requests the next three available timeslots from the server after a given time. It returns up to three values in an array

    Method header

    TimeSlot[] GetNextThreeTimeSlots(int|serviceQueue, DateTime time, int|company, string
    password)
    

    Parameters

    Name Type Description
    serviceQueue int The service queue (ID) that the call wishes to use. This is supplied by Buzzeasy during the setup phase.
    time DateTime The date and time after which the timeslots are being requested
    company int The company (ID) the call wishes to use. This is supplied by Buzzeasy during the setup phase.
    password string The password associated with the company. This is supplied by Buzzeasy during the setup phase.

    Returns

    An Array (size 3 or less) of Timeslot objects which have the following fields.

    Name Type Description
    TimeSlotID int Database ID of the timeslot
    TimeTo string String representation of the end date and time of the slot (yyyy-MM-dd HH-mm-ss)
    TimeFrom string String representation of the start date and time of the slot (yyyy-MM-dd HH-mm-ss)
    Available Bool Whether the slot is usable (should always be true)

    Method body

    The method requires a object in JSON with the properties mentioned in the parameters section e.g.:

    {
       "serviceQueue":"1",
       "requestedDate":"2017-04-11 09:00:00",
       "company":"1",
       "password":"P@ssword"
    }
    

    Type

    The method is of HTTP POST type.

    REST URL

    https://testservice.buzzeasy.com/RequestCallbackService/Service.svc/rest/GetNextThreeTimeSlots

    Please Note: Any parameters are not supplied will be passed as NULL, so if field parameters are not required then they do not need to be included in the URL.

    UpdateEWTRecord

    This function sets the current EWT record for the given service queue. It returns whether the request was successful or not.

    Method Header

    bool UpdateEWTRecord(int|serviceQueue, int|ewt, int|company, string|password)
    

    Parameters

    Name Type Description
    serviceQueue int The service queue (ID) that the call wishes to use. This is supplied by Buzzeasy during the setup phase.
    ewt int Value of current EWT in minutes
    company int The company (ID) the call wishes to use. This is supplied by Buzzeasy during the setup phase.
    password string The password associated with the company. This is supplied by Buzzeasy during the setup phase.

    Returns

    Boolean representing whether the update was performed successfully or not.

    Method body

    The method requires an object in JSON with the properties mentioned in the parameters section e.g.:

    {
       "serviceQueue":"1",
       "ewt":"1",
       "company":"1",
       "password":"P@ssword"
    }
    

    Type

    The method is of HTTP POST type.

    REST URL

    https://testservice.buzzeasy.com/RequestCallbackService/Service.svc/rest/UpdateEWTRecord

    Please Note: Any parameters are not supplied will be passed as NULL, so if field parameters are not required then they do not need to be included in the URL.

    GetEWTByServiceID

    Returns the EWT of the given service queue in minutes

    Method Header

    int|GetEWTByServiceID(int|serviceQueueID, int|companyID, string|password)
    

    Parameters

    Name Type Description
    serviceQueueID int The service queue (ID) that the call wishes to use. This is supplied by Buzzeasy during the setup phase.
    companyID int The company (ID) the call wishes to use. This is supplied by Buzzeasy during the setup phase.
    password string The password associated with the company. This is supplied by Buzzeasy during the setup phase.

    Returns

    int representing the current EWT for the service queue in minutes

    Method body

    The method requires an object in JSON with the properties mentioned in the parameters section

    {
       "serviceQueue":"1",
       "company":"1",
       "password":"P@ssword"
    }
    

    Type

    The method is of HTTP POST type.

    REST URL

    https://testservice.buzzeasy.com/RequestCallbackService/Service.svc/rest/GetEWTByServiceID

    Please Note: Any parameters are not supplied will be passed as NULL, so if field parameters are not required then they do not need to be included in the URL.

    RequestCallSchedule

    This sends a request to call the user at a specific time slot when an agent has been retrieved. The timeslot must be collected from the TimeSlot web method. The function allows the authorized user to input the destination number with 10 optional fields

    Method Header

    ResponseMessage RequestCallSchedule(string|name, string|phoneNo, int|timeslot, DateTime date, int|serviceQueue, int|company, string|password, string|region = null, string|field1 = null, string|field2 = null, string|field3 = null, string|field4 = null, string|field5 = null, string|field6 = null, string|field7 = null, string|field = null, string|field9 = null, string|field10 = null);
    

    Parameters

    Name Type Description
    name string The full name of the requestor.
    phoneNo string The phone number the requestor would like to be reached on. This must be in E.164 format if the region is not supplied.
    timeslot int The timeslot identity returned from retrieval of available timeslots e.g. 09:30 – 10:00 = 4
    date datetime the date of the schedule call request. This will be used with the timeslot to determine the time of call.
    serviceQueue int The service queue (ID) that the call wishes to use. This is supplied by Buzzeasy during the setup phase.
    company int The company (ID) the call wishes to use. This is supplied by Buzzeasy during the setup phase.
    password string The password associated with the company. This is supplied by Buzzeasy during the setup phase.
    region string The region of the phone number. This region will be used if the phone number has not been formatted in E.164 format. Please see Appendix A for list of valid regions
    field1 string An optional field that can be used to include further information regarding the request/call
    field2 string An optional field that can be used to include further information regarding the request/call
    field3 string An optional field that can be used to include further information regarding the request/call
    field4 string An optional field that can be used to include further information regarding the request/call
    field5 string An optional field that can be used to include further information regarding the request/call
    field6 string An optional field that can be used to include further information regarding the request/call
    field7 string An optional field that can be used to include further information regarding the request/call
    field8 string An optional field that can be used to include further information regarding the request/call
    field9 string An optional field that can be used to include further information regarding the request/call
    field10 string An optional field that can be used to include further information regarding the request/call

    Returns

    Name Type Description
    ConfirmationCode string The confirmation code (reference no.) of the request. This can be used to amend or cancel the request. If there is no confirmation code, the request failed.
    ResultCode int The result code of the request.

    Please see below for result code table

    Result Code Description
    0 Request successful
    1 Invalid format number
    2 Unable to connect to remote location
    3 Out of hours
    4 Not in white list
    5 Is in black list
    -1 Authentication Failed

    Method body

    The method requires a object in JSON with the properties mentioned in the parameters section e.g.:

    {
       "name":"User",
       "phoneNo":"+4477794531150",
       "serviceQueue":"1",
       "company":"1",
       "password":"Password",
       "field1":"test",
       "date":"2017-04-11 00:00:00",
       "timeslot":"1"
    }
    

    Type

    The method is of HTTP POST type.

    REST URL

    The following URL format is required to call the REST endpoint;

    https://testservice.buzzeasy.com/RequestCallbackService/Service.svc/rest/RequestCallSchedule

    Please Note: Any parameters are not supplied will be passed as NULL, so if field parameters are not required then they do not need to be included in the URL.

    Event Notification Service

    Buzzeasy provide a service for applications to track the progress of the request in real time to a web application. The following diagram shows the architecture and flow for the event notification service;

    1. Client sends a connect command to the Service.
    2. Client sends a subscribe request to the service. The request should include the confirmation code desired to subscribe to. When this has been requested, all status updates relating to the confirmation code will be sent to the client.
    3. Every status update related to clients subscription, the service will call a method called "UpdateStatus(string|confCode, string|status)" in your javascript code. This will happen many times depending on status of call.
    4. When call has been completed or events are no longer required, send a disconnect request to the service to unsubscribe.

    Integration

    In order to integrate to the service, the following Javascript (or similar) is required to be inserted into your web page; (the highlighted fields will be sent to you by Buzzeasy)

    <!--Script references. -->
        <!--Reference the jQuery library. -->
        <script src="Scripts/jquery-1.9.1.min.js" ></script>
        <!--Reference the SignalR library. -->
        <script src="Scripts/jquery.signalR-2.1.2.min.js"></script>
        <!--Add script to update the page and send messages.--> 
        <script type="text/javascript">
            jQuery.support.cors = true;
    
            $(function () {
                // connect to the hubs 
                var connection = $.hubConnection("http://localhost:64819");
                var notifyme = connection.createHubProxy('NotifyMe');
    
                // Create a function that the hub can call to update the status of call
                notifyme.on("updateStatus", function (confcode, callstatus) {
                   /*
                    *
                    *  YOUR CODE GOES HERE
                    *
                    */
                });
                notifyme.on("closeConnection", function () {
                    connection.stop();
                });
    
                // Start the connection.
                connection.start().done(function () {
                    $('#subscribecode').click(function () {
                        // Call the Subscribe method on the hub using confirmation code. 
                        notifyme.invoke("Subscribe",confirmationCode);
                        // Clear text box and reset focus for next comment. 
                }).fail(function () {
                   /* 
                     YOUR CODE GOES HERE
                   */
    
                });
            });
        </script>
    

    Events

    CallingUser

    Buzzeasy is currently calling the user (the requested caller).

    UserConnected

    The requested caller is now connected.

    CallingUserFailed

    The requested caller has not been able to be reached. Various reasons could be not picked up, voicemail or no network coverage.

    CallingAgent

    Buzzeasy is currently calling the queue/agent

    AgentConnected

    The queue/agent has connected and the call is waiting for a representative to become available.

    CallAccepted

    The agent has accepted to take the call. This status may be ignored in most circumstances.

    CallSucceeded

    The call has been completed.

    CallFailed

    The call has failed. It has exceeded the configured timeout or exceeded the retry attempts.

    Rescheduled

    The user could not be reached and the call has been rescheduled.

    BuzzMeInfo Service

    Buzzeasy provides an interface to collect additional data from the current request. This is used when the call has arrived but further information such as inputted data is required for a screen pop to an agent.

    GetCallDataByNumber

    This sends a request to retrieve information regarding a call using the queue presented number (CLI).

    Method Header

    CallData GetCallDataByNumber(string|presentedNumber, int|companyId, string|password);
    

    Parameters

    Name Type Description
    presentedNumber string The full presented number / CLI of the call placed into the queue.
    companyId int The company (ID) the call wishes to use. This is supplied by buzzeasy during the setup phase.
    password string The password associated with the company. This is supplied by buzzeasy during the setup phase.

    Returns

    Name Type Description
    CustomerName string The full name of the requestor.
    UserPhoneNo string The phone number the requestor would like to be reached on
    serviceQueueName string The Service Queue name the callback originated from
    Retries int The retry attempt number of the request.
    field1 string Data inputted into field1. This will return in the format FieldName | FieldValue
    field2 string Data inputted into field2. This will return in the format FieldName | FieldValue
    field3 string Data inputted into field3. This will return in the format FieldName | FieldValue
    field4 string Data inputted into field4. This will return in the format FieldName | FieldValue
    field5 string Data inputted into field5. This will return in the format FieldName | FieldValue
    field6 string Data inputted into field6. This will return in the format FieldName | FieldValue
    field7 string Data inputted into field7. This will return in the format FieldName | FieldValue
    field8 string Data inputted into field8. This will return in the format FieldName | FieldValue
    field9 string Data inputted into field9. This will return in the format FieldName | FieldValue
    field10 string Data inputted into field10. This will return in the format FieldName,FieldValue
    ConfirmationCode string The confirmation code of the request made. This is supplied to the user on completion of request
    ScheduledTime string The Time the callback was scheduled for

    REST

    The following URL format is required to call the REST endpoint;

    https://testinfo.buzzeasy.com/BuzzMeInfo/InfoService.svc/rest/GetCallDataByNumber?presentedNumber=<presentedNumber>&companyId=<companyId>&password=<password>

    Please Note: Any parameters are not supplied will be passed as NULL, so if field parameters are not required then they do not need to be included in the URL.

    GetCallDataByPin

    This sends a request to retrieve information regarding a call using a short PIN.

    Method Header

    CallData GetCallDataByPin(string|pin, int|companyId, string|password);
    

    Parameters

    Name Type Description
    pin string The pin number of the request
    companyId int The company (ID) the call wishes to use. This is supplied by buzzeasy during the setup phase.
    password string The password associated with the company. This is supplied by buzzeasy during the setup phase.

    Returns

    Name Type Description
    CustomerName string The full name of the requestor.
    UserPhoneNo string The phone number the requestor would like to be reached on
    serviceQueue int The service queue (ID) that the call wishes to use. This is supplied by buzzeasy during the setup phase.
    Retries int The retry attempt number of the request.
    field1 string Data inputted into field1. This will return in the format FieldName,FieldValue
    field2 string Data inputted into field2. This will return in the format FieldName,FieldValue
    field3 string Data inputted into field3. This will return in the format FieldName,FieldValue
    field4 string Data inputted into field4. This will return in the format FieldName,FieldValue
    field5 string Data inputted into field5. This will return in the format FieldName,FieldValue
    field6 string Data inputted into field6. This will return in the format FieldName,FieldValue
    field7 string Data inputted into field7. This will return in the format FieldName,FieldValue
    field8 string Data inputted into field8. This will return in the format FieldName,FieldValue
    field9 string Data inputted into field9. This will return in the format FieldName,FieldValue
    field10 string Data inputted into field10. This will return in the format FieldName,FieldValue
    ConfirmationCode string The confirmation code of the request made. This is supplied to the user on completion of request
    TimeCalled string The Time the request has been made.

    REST

    The following URL format is required to call the REST endpoint;

    https://testinfo.buzzeasy.com/BuzzMeInfo/InfoService.svc/rest/GetCallDataByPin?pin=<pin>&companyId=<companyId>&password=<password>

    Please Note: Any parameters are not supplied will be passed as NULL, so if field parameters are not required then they do not need to be included in the URL.

    Appendix A – Regions

    The following table states the available regions able to pass into call requests;

    Region Code
    Great Britain GB
    Ireland IE
    Sorry, your browser does not support inline SVG. article updatedarticle updated6/23/2020 9:06:53 AM (UTC)6/23/2020 9:06:53 AM (UTC)
    Feedback     Back to top Copyright © Geomant