Personal Callback API

Use the Personal Callback API to configure your Outbound Option campaign to handle personal callbacks. The Personal Callback feature allows an agent to schedule a callback to a customer for a specific date and time.

URL

https://<server>/unifiedconfig/config/personalcallback

Operations

  • create: Creates a single PersonalCallback record and stores it in the BA database.

  • create (bulk): Creates PersonalCallback records in bulk and stores them in the BA database using the URL https://<server>/unifiedconfig/config/personalcallback/import.

  • delete: Deletes one or more PersonalCallback records from the PersonalCallback list using the URL https://<server>/unifiedconfig/config/personalcallback/<id>.

  • get (template): Retrieves a sample CSV template for contacts, which is provided by the API, using the URL https://<server>/unifiedconfig/config/personalcallback/template.

  • get (record): Retrieves one PersonalCallback record from the database using the URL https://<server>/unifiedconfig/config/personalcallback/<id>.

  • list: Retrieves a list of PersonalCallback records from the database.

  • update: Updates one PersonalCallback record in the database using the URL https://<server>/unifiedconfig/config/personalcallback/<id>.

Parameters

Parameters for create (single record), get, and update operations:

  • campaign: A reference to a specific campaign, including the refURL and campaign ID.

  • agent: A reference to a specific agent, including the refURL and agent ID.

  • campaignId: Read only. The ID for the campaign.

  • peripheralId: Read only. ID for the peripheral on which the agent would be available.

  • agentId: Read only. ID of the agent to whom to connect the call.

  • campaignDn: The Dialed Number (DN) to use if the original agent is not available.

  • phone: Required. The phone number to call back. Can contain digits 0 to 9, pound sign (3), and asterisk (*). Maximum length of 20 bytes.

  • accountNumber: The customer's account number. Internationalized characters are allowed. Maximum length of 30 bytes.

  • maxAttempts: Required. The maximum number of times to attempt a call (decrements at each attempt). An attempt is the Dialer's attempt to reserve the agent and call the customer. Because the Dialer places multiple customer call attempts (such as busy, no answer), individual call attempts are not tracked here; only the result at the end of the callback time range. After this parameter is set to 0, no more attempts are made. Must be a positive integer value.

  • callbackDateTime: Required. The time to attempt the customer callback is normalized to the logger GMT zone. For example, the Campaign Manager is in Boston and the customer is in California. The customer wants to be called back at 3 p.m. The time in this column is 6 p.m. The format for this parameter is yyyy-MM-ddTHH:mm:ss (for example, 2016-03-13T04:50:31).

    The following rules apply to the callbackDateTime parameter:

    • The callbackDateTime that is used is local to the time zone of the Logger. You need to consider this if the client machine on which you are using this API is in a different time zone than the Logger machine.

    • The setting of the callbackDateTime by this API reads the CallbackDateTimeLimit in the registry. For more information, see the Registry Settings section of the Outbound Option Guide for Unified Contact Center Enterprise at https://www.cisco.com/c/en/us/support/customer-collaboration/unified-contact-center-enterprise/products-user-guide-list.html.

    • The Campaign Manager uses the CallbackDateTimeLimit registry value to select Personal Callback records to queue to the Dialer.

    • The default CallbackDateTimeLimit in the registry is 15 minutes. For create and update operations, you cannot set the callbackDateTime to 15 minutes or more before the current time. For example, if it is currently 4:00, you cannot set the callbackDateTime to 3:30.

    • For update operations, the new callbackDateTime value can only be set if the current callbackDateTime is 15 minutes or more after the current Logger time. For example, if the current Logger time is 4:00 and the current callbackDateTime is 4:30, the new callbackDateTime can be set to 4:10. However, if the current callbackDateTime is 4:10, it cannot be set to 4:00.

  • callStatus: The status of the personal callback. Possible values include the following:

    • active (A)

    • callbackRequested (B)

    • closed (C)

    • agentRejected (J)

    • maxAttemptsReached (M)

    • pending (P)

    • retry (R)

    • personalCallbackRequested (S)

    • unknown (U)

    • agentNotAvailable (X)

    For more information about these values, see the CallStatusZone Values section of the Outbound Option Guide for Unified Contact Center Enterprise at https://www.cisco.com/c/en/us/support/customer-collaboration/unified-contact-center-enterprise/products-user-guide-list.html.

  • callResult: Read only. Corresponds to the CallResult value in the Dialer_Detail table.

    For more information about possible callResult values, see the CallResult Codes and Values section of the Outbound Option Guide for Unified Contact Center Enterprise at https://www.cisco.com/c/en/us/support/customer-collaboration/unified-contact-center-enterprise/products-user-guide-list.html.

  • lastName: The customer's last name. Internationalized characters are allowed. Maximum length of 50 characters.

  • firstName: The customer's first name. Internationalized characters are allowed. Maximum length of 50 characters.

Bulk parameters:

  • fileContent: Comma-separated or pipe-separated list of data embedded within a CDATA section.

  • overwriteData: True or false. If set to true, the existing personal callback data in the database is overwritten by the new personal callback data. If set to false, the new personal callback data is appended to the existing data. Default is false.

    Note

    You cannot modify or remove existing fields or append a new field to existing data.

    If overwriteData is set to true, any agent scheduled personal callback records are also overwritten.

    Note

    Avoid performing a bulk job transaction during a maintainence window.

  • delimiter: Comma (,) or pipe (|). Default is comma (,).

Bulk fileContent parameters:

Note

The descriptions for these parameters are the same as the descriptions for the parameters for create (single record), get, and update operations. Only the case is different.

  • CampaignId (must be a valid campaign ID in the database)

  • AgentSkillTargetId (must be a valid SkillTargetID in the database)

  • CampaignDn

  • Phone

  • AccountNumber

  • MaxAttempts

  • CallbackDateTime

  • LastName

  • FirstName

Search and Sort Values

The following table shows the parameters that are searched and the parameters that are sortable.

Search parameters Sort parameters
  • agentId
  • accountNumber
  • firstName
  • lastName
  • agentId
  • accountNumber
  • firstName
  • lastName

See Search and Sort.

Advanced search parameters

There are several advanced searches you can perform on the Personal Callback API, including agentId, accountNumber, firstName, and lastName. All search terms are case-insensitive.

  • agentId:<ID> finds all personal callback records where the agent ID contains a specified ID. For example, agentId:123 returns all records where the agent ID contains the string "123".

  • lastName:<name> finds all personal callback records where the last name contains the specified name. For example, lastName:smith returns all records where the last name includes "smith".

  • firstName:<name> finds all personal callback records where the firstName contains the specified name. For example, firstName:John returns all records where the first name includes "john".

  • accountNumber:<number> finds all personal callback records where the accountNumber contains the specified number. For example, accountNumber:456 returns all records where the account number includes "456".

Example Create Request (Single Record)

Code Snippet
Copy
<personalCallback>
    <campaign>
        <refURL>/unifiedconfig/config/campaign/5000</refURL>
    </campaign>
    <agent>
        <refURL>/unifiedconfig/config/agent/5050</refURL>
    </agent>
    <campaignDn>222222</campaignDn>
    <phone>999333</phone>
    <accountNumber>23334343334</accountNumber>
    <maxAttempts>1</maxAttempts>
    <callbackDateTime>2016-01-15T11:37:00</callbackDateTime>
    <callStatus>pending</callStatus>
    <lastName>Kumar</lastName>
    <firstName>Akshaya</firstName>
</personalCallback>

Example Create Request (Bulk)

Code Snippet
Copy
<personalCallback>
    <fileContent>
        <![CDATA[
        AccountNumber,FirstName,LastName,Phone,AgentSkillTargetId,CampaignId,CampaignDn, 
        CallbackDateTime,MaxAttempts
        6782,Henry,Martin,2225554444,1004,5000,2222222221,2016-01-25T05:12:00,1
        3444,Thomas,Edison,2225554555,1004,5000,2222222222,2016-01-25T05:23:00,1
        5444,Tom,Hilfiger,2225554666,1004,5000,2222222223,2016-01-25T05:37:00,1
        ]]>
    </fileContent>
</personalCallback>

Example Get (Record) Response

Code Snippet
Copy
<personalCallback>
    <changeStamp>48</changeStamp>
    <refURL>/unifiedconfig/config/campaign/personalcallback/2</refURL>
    <campaign>
        <refURL>/unifiedconfig/config/campaign/5000</refURL>
    </campaign>
    <agent>
        <refURL>/unifiedconfig/config/agent/5050</refURL>
    </agent>
    <campaignId>5000</campaignId>
    <peripheralId>5000</peripheralId>
    <agentId>1001</agentId>
    <campaignDn>222222</campaignDn>
    <phone>999333</phone>
    <accountNumber>23334343334</accountNumber>
    <maxAttempts>1</maxAttempts>
    <callbackDateTime>2016-01-15T11:37:00</callbackDateTime>
    <callStatus>pending</callStatus>
    <callResult>0</callResult>
    <lastName>Kumar</lastName>
    <firstName>Akshaya</firstName>
</personalCallback>