Updated on 2023-09-27 GMT+08:00

Modifying an Outbound Campaign (V2)

Scenario

This interface is invoked to modify the configurations of an outbound campaign.

Usage Description

  • Prerequisites
    • You have applied for a developer account.
    • The ID of the outbound campaign to be modified has been obtained.
    • The outbound campaign task must exist and is not complete.
  • Restrictions
    • After an outbound campaign is created, the device type cannot be changed.

Method

This interface supports only the PUT method.

URI

https://ip:port/rest/isales/v2/openapi/campaigns/{vdnId}/{campaignId}

In the URL, ip indicates the IP address of the CC-iSales server, and port indicates the HTTPS port number of the CC-iSales server.

Table 1 Parameters in the URL

No.

Parameter

Type

Mandatory or Not

Description

1

vdnId

Integer

Yes

VDN ID.

The value is an integer ranging from 1 to 9999.

2

campaignId

Integer

Yes

Outbound campaign task ID.

Request Description

Table 2 Request header parameters

No.

Parameter

Type

Mandatory or Not

Description

1

Content-Type

String

Yes

The value is fixed to application/json; charset=UTF-8.

2

Authorization

String

Yes

For details about the generation mode, see C2 Monitoring, System Outbound Call, CDR, and Knowledge Base Interface Authentication.

Table 3 Request body parameters

No.

Parameter

Type

Mandatory or Not

Description

1

name

String

Yes

Name of an outbound campaign.

The name must be unique.

The value can contain a maximum of 32 characters.

2

description

String

No

Description of an outbound campaign.

The value can contain a maximum of 200 characters, excluding the following special characters: "[]=;<>

3

strBeginTime

String

Yes

Time when an outbound campaign starts.

The format is yyyy-MM-dd HH:mm:ss. The time cannot be earlier than 00:00 of the current day.

4

strEndTime

String

Yes

Time when an outbound campaign ends.

The format is yyyy-MM-ddHH:mm:ss.

5

deviceType

Integer

Yes

Type of an outbound device.

The options are as follows:

  • 1: IVR in intelligent outbound calls (available in the SaaS environment when the intelligent feature is enabled)
  • 2: skill queue in predicted outbound calls
  • 3: IVR in automatic outbound calls
  • 5: skill queue in previewed outbound calls
  • 6: skill queue in preempted outbound calls

    The default value is the value set during creation and cannot be changed.

6

callerNo

List

Yes

Multiple calling numbers are supported.

For details about the parameters of this object, see Table 13.

7

maxAlertingTime

Integer

Yes

Maximum ringing duration for no answer. If the ringing duration exceeds the value of this parameter, the call is released.

The value ranges from 5 to 60, in seconds.

8

priority

Integer

No

Task priority.

The value ranges from 1 to 5. A smaller value indicates a higher priority.

9

scheduleParam

Object

Yes

Outbound call time segment.

For details about the parameters of this object, see Table 4.

10

ivrParam

Object

No

This parameter is mandatory when deviceType is set to 1 or 3 (IVR).

For details about the parameters of this object, see Table 5.

11

skillParam

Object

No

This parameter is mandatory when deviceType is set to 2, 5, or 6 (skill queue).

For details about the parameters of this object, see Table 6.

12

initStatus

Integer

No

Campaign status after addition. The default value is 0.

The options are as follows:

  • 0: The campaign is in started status after being added.
  • 1: The campaign is in suspended status after being added.

13

callBackUrl

String

Yes

Callback notification address of the outbound call result.

The URL must start with https:// or http.

NOTE:

HTTP is an insecure protocol, which may bring risks to the system. Therefore, it is not recommended. The secure HTTPS protocol is recommended.

14

retryPolicy

Object

Yes

Outbound call result policy.

For details about the parameters of this object, see Table 14.

15

callPolicy

Object

No

Call policy.

For details about the parameters of this object, see Table 19.

If the value of callPolciy is not empty and the value of callType is 1 (round call), the value of policyType in the outbound call result policy retryPolicy can only be 1, that is, the number type policy.

Table 4 Parameter description of scheduleParam

No.

Parameter

Type

Mandatory or Not

Description

9.1

workdayBeginTime1

String

No

Start time of outbound call time segment 1 on workdays, in HH:mm format.

9.2

workdayEndTime1

String

No

End time of outbound call time segment 1 on workdays, in HH:mm format.

9.3

workdayBeginTime2

String

No

Start time of outbound call time segment 2 on workdays, in HH:mm format.

9.4

workdayEndTime2

String

No

End time of outbound call time segment 2 on workdays, in HH:mm format.

9.5

workdayBeginTime3

String

No

Start time of outbound call time segment 3 on workdays, in HH:mm format.

9.6

workdayEndTime3

String

No

End time of outbound call time segment 3 on workdays, in HH:mm format.

9.7

holidayBeginTime1

String

No

Start time of outbound call time segment 1 on holidays, in HH:mm format.

9.8

holidayEndTime1

String

No

End time of outbound call time segment 1 on holidays, in HH:mm format.

9.9

holidayBeginTime2

String

No

Start time of outbound call time segment 2 on holidays, in HH:mm format.

9.10

holidayEndTime2

String

No

End time of outbound call time segment 2 on holidays, in HH:mm format.

9.11

holidayBeginTime3

String

No

Start time of outbound call time segment 3 on holidays, in HH:mm format.

9.12

holidayEndTime3

String

No

End time of outbound call time segment 3 on holidays, in HH:mm format.

  1. Among the outbound call time segments 1, 2, and 3 on workdays, at least one segment must be specified.

  2. The start time and end time must be specified or left empty at the same time.

  3. The start time must be earlier than the end time.

  4. Outbound calls are made by workday unless a date or a day in a week is specified as a holiday.

  5. For the compatibility with the AICC-isales page, after the holiday time segment is configured, the interface in "6.2 Adding a Holiday for an Outbound Campaign" must be invoked to specify the relationship between the outbound call campaign and the holiday. Otherwise, the interface is incompatible with the page.
Table 5 Parameter description of ivrParam

No.

Parameter

Type

Mandatory or Not

Description

10.1

deviceSign

String

Yes

When deviceType is set to 1, the value is an intelligent IVR flow code (oifde-flowcode).

To obtain the flow code, sign in to the AICC as a tenant administrator and choose Configuration Center > Flow Configuration > Intelligent IVR > Flow Management > Flow Orchestration.

When deviceType is set to 3, the value is a common IVR flow access code.

To obtain the flow access code, choose Configuration Center > Flow Configuration > Intelligent IVR > Chatbot Management.

10.2

callCount

Integer

Yes

Number of outbound calls that are made in an outbound task each time.

The value ranges from 1 to 100.

10.3

callInterval

Integer

Yes

Interval for executing an outbound campaign task.

The value ranges from 1 to 9999, in seconds.

For example, if an outbound campaign task requires 60 outbound calls in one minute, you are advised to set callInterval to 3 and callCount to 3.

When the device type is IVR and outbound calls are made, the number of outbound calls is calculated as follows: (Value of callCount/Value of callInterval) x 3, rounded up. Outbound calls are made only when the result is greater than 1. If the value of callInterval is greater than 3, 3 is used for calculation. If the value of callInterval is less than 3, the actual value is used.

Table 6 Parameter description of skillParam

No.

Parameter

Type

Mandatory or Not

Description

11.1

skillId

Integer

Yes

ID of a skill queue.

The value ranges from 1 to 1000.

11.2

skillName

String

No

Skill queue name.

The value can contain a maximum of 100 characters.

11.3

outBoundType

Integer

Yes

Outbound call mode.

The options are as follows:

  • 2: predicted outbound call
  • 5: previewed outbound call
  • 6: preempted outbound call

11.4

predictParam

Object

No

Parameter settings for predicted outbound calls. This parameter is mandatory when outBoundType is set to 2.

For details about the parameters of this object, see Table 8.

11.5

previewParam

Object

No

Parameter settings for previewed outbound calls. This parameter is mandatory when outBoundType is set to 5.

For details about the parameters of this object, see Table 7.

Table 7 Parameter description of previewParam

No.

Parameter

Type

Mandatory or Not

Description

11.5.1

failInterval

Integer

Yes

Outbound call interval, in seconds. The value ranges from 3 to 60.

11.5.2

obCallCount

Integer

Yes

Number of outbound calls each time. The value ranges from 1 to 100.

11.5.3

autoCallTime

Integer

Yes

Duration of a previewed outbound call, in seconds. The value ranges from 5 to the value of maxAlertingTime minus 3.

Table 8 Parameter description of predictParam

No.

Parameter

Type

Mandatory or Not

Description

11.4.1

predictMethod

Integer

Yes

Algorithm for predicted outbound calls.

The options are as follows:

1: Algorithm for empirical prediction

2: Algorithm for agent usage prediction

3: Algorithm for predicting the outbound call completion rate

5: Algorithm for off-hook rate prediction

11.4.2

expPredictParam

Object

No

Parameter settings of the algorithm for empirical prediction. This parameter is mandatory when predictMethod is set to 1.

For details about the parameters of this object, see Table 9.

11.4.3

agentPredictParam

Object

No

Parameter settings of the algorithm for agent usage prediction. This parameter is mandatory when predictMethod is set to 2.

For details about the parameters of this object, see Table 10.

11.4.4

connectPredictParam

Object

No

Parameter settings of the algorithm for predicting the outbound call completion rate. This parameter is mandatory when predictMethod is set to 3.

For details about the parameters of this object, see Table 11.

11.4.5

offhookPredictParam

Object

No

Parameter settings of the algorithm for off-hook rate prediction. This parameter is mandatory when predictMethod is set to 5.

For details about the parameters of this object, see Table 12.

Table 9 Parameter description of expPredictParam

No.

Parameter

Type

Mandatory or Not

Description

11.4.2.1

maxAvgCallTime

Integer

Yes

Maximum average call duration, in seconds. The value is a positive integer. The value ranges from 50 to 200.

11.4.2.2

minAvgCallTime

Integer

Yes

Minimum average call duration, in seconds. The value is a positive integer. The value ranges from 50 to 200. The value must be less than or equal to the value of maxAvgCallTime.

11.4.2.3

outBoundRate

Integer

Yes

Outbound call rate.

The value ranges from 0 to 100. The default value is 70.

Table 10 Parameter description of agentPredictParam

No.

Parameter

Type

Mandatory or Not

Description

11.4.3.1

maxAvgCallTime

Integer

Yes

Maximum average call duration, in seconds. The value is a positive integer. The value ranges from 50 to 200.

11.4.3.2

minAvgCallTime

Integer

Yes

Minimum average call duration, in seconds. The value is a positive integer. The value ranges from 50 to 200. The value must be less than or equal to the value of maxAvgCallTime.

11.4.3.3

lossRate

Integer

Yes

Minimum call loss rate.

The value ranges from 0 to 100. The default value is 3.

11.4.3.4

utilRate

Integer

Yes

Agent usage.

The value ranges from 0 to 100. The default value is 70.

11.4.3.5

utilRateMethod

Integer

Yes

Algorithm for agent usage.

The options are as follows:

1: Agent usage = Total call duration/Total login duration

2: Agent usage = (Total call duration + Work state duration)/Total login duration

Table 11 Parameter description of connectPredictParam

No.

Parameter

Type

Mandatory or Not

Description

11.4.4.1

maxAvgCallTime

Integer

Yes

Maximum average call duration, in seconds. The value is a positive integer. The value ranges from 50 to 200.

11.4.4.2

minAvgCallTime

Integer

Yes

Minimum average call duration, in seconds. The value is a positive integer. The value ranges from 50 to 200. The value must be less than or equal to the value of maxAvgCallTime.

11.4.4.3

lossRate

Integer

Yes

Minimum call loss rate.

The value ranges from 0 to 100. The default value is 3.

11.4.4.4

waitTime

Integer

Yes

Called party's waiting time.

The value ranges from 0 to 16, in seconds. The default value is 5.

11.4.4.5

connRate

Integer

Yes

Outbound call connection rate.

The value ranges from 0 to 100.

Table 12 Parameter description of offhookPredictParam

No.

Parameter

Type

Mandatory or Not

Description

11.4.5.1

offHookRate

Integer

Yes

Off-hook rate.

The value ranges from 50 to 200. The default value is 100.

Table 13 Parameter description of callerNo

No.

Parameter

Type

Mandatory or Not

Description

6.1

accessCode

String

Yes

Calling number.

Number displayed on the phone of a customer after a call is connected.

The value can contain a maximum of 32 characters, including only digits.

6.2

priority

Integer

Yes

Calling number priority.

The value ranges from 1 to 5. A smaller value indicates a higher priority.

Table 14 Parameter description of retryPolicy

No.

Parameter

Type

Mandatory or Not

Description

14.1

retryPolicyId

String

Yes

Retry policy ID.

14.2

retryDay

Integer

--

Maximum number of days for call attempts.

This parameter is mandatory for common policies under the global policy. The value ranges from 1 to 5.

14.3

retryTimes

Integer

--

Maximum number of call attempts per day.

This parameter is mandatory for common policies under the global policy. The value ranges from 1 to 6.

14.4

policyType

Integer

Yes

Retry policy type.

0: global policy; 1: number type matching policy.

14.5

callInterval

Integer

--

Outbound call interval, in seconds.

This parameter is mandatory for common policies under the global policy. The value ranges from 1 to 86400.

14.6

resultRetry

String

--

JSON string of the result policy.

This parameter is mandatory for result policies under the global policy.

For details about the parameters of this object, see Table 18.

14.7

policyJson

String

--

JSON string of the number type matching policy.

This parameter is mandatory for number type matching policies.

For details about the parameters of this object, see Table 16.

14.8

busiPolicy

String

No

Business result policy.

For details about the parameters of this object, see Table 15.

14.9

noRetryPolicy

List <String>

No (This parameter cannot be set when policyType is set to 1.)

Result codes for which no retry policy is configured. The result codes come from the resultCode field in the data attribute of the interface for querying the definitions of outbound call results.

Table 15 Parameter description of busiPolicy

No.

Parameter

Type

Mandatory or Not

Description

14.8.1

busiResultCode

String

Yes

Business result code.

14.8.2

busiResultSubCode

String

--

Business result subcode. (This parameter is associated with the business result code.)

14.8.3

busiResultPolicy

Integer

Yes

Call policy for a business result.

0: Stop calling. 1: Call the next number. 2: Call the current number.

14.8.4

callInterval

Integer

--

Outbound call interval, in seconds.

If the call policy is set to 0, you do not need to set this parameter. Otherwise, this parameter is mandatory. The value ranges from 1 to 3600.

Table 16 Parameter description of policyJson

No.

Parameter

Type

Mandatory or Not

Description

14.7.1

dataType

String

Yes

Number type.

The value can contain a maximum of 20 characters, excluding special characters.

14.7.2

type

Integer

Yes

Retry logic policy type.

  • 0: common policy
  • 1: result policy

14.7.3

policy

String

Yes

Policy configuration information.

For details about the parameters of this object, see Table 17.

Table 17 Parameter description of policy

No.

Parameter

Type

Mandatory or Not

Description

14.7.3.1

retryDay

Integer

--

Maximum number of days for call attempts.

This parameter is mandatory for common policies that are matched based on the number type. The value ranges from 1 to 5.

14.7.3.2

retryTimes

Integer

--

Maximum number of call attempts per day.

This parameter is mandatory for common policies that are matched based on the number type. The value ranges from 1 to 6.

14.7.3.3

result

Integer

--

Result type.

This parameter is mandatory for result policies that are matched based on the number type. The value ranges from 0 to 9.

The options are as follows: 1: The customer is busy. 2: The customer does not answer the call. 3: The customer rejects the call. 4: The number does not exist. 5: The customer's phone is powered off. 6: The customer is out of the service area. 7: Fax or switchboard. 8: The call times out. 9: The call fails. 0: Others.

The retry policy is also determined based on the specific failure code (failCode).

For details about failure codes, see Table 4.

14.7.3.4

callInterval

Integer

--

Outbound call interval, in seconds.

This parameter is mandatory for common policies and result policies that are matched based on the number type. The value ranges from 1 to 86400.

14.7.3.5

retryNumber

Integer

--

Number of retry times.

This parameter is mandatory for result policies that are matched based on the number type. The value ranges from 0 to 9.

Table 18 Parameter description of resultRetry

No.

Parameter

Type

Mandatory or Not

Description

14.6.1

result

Integer

--

Result type.

This parameter is mandatory for result policies under the global policy. The value ranges from 0 to 9.

14.6.2

callInterval

Integer

--

Outbound call interval, in seconds.

This parameter is mandatory for result policies under the global policy. The value ranges from 1 to 86400.

14.6.3

retryNumber

Integer

--

Number of retry times.

This parameter is mandatory for result policies under the global policy. The value ranges from 0 to 9.

Table 19 Parameter description of callPolicy

No.

Parameter

Type

Mandatory or Not

Description

15.1

callPolicyId

String

--

ID of a call policy.

This parameter is mandatory for modifying a call policy.

15.2

callType

Integer

No

Call mode.

The options are 0 (by sequence) and 1 (by round). The default value is 0.

15.3

chooseType

Integer

--

Round mode.

The options are 0 (by number category) and 1 (by number sequence). This parameter is mandatory when the call mode is by round.

15.4

turns

List

--

Round information.

This parameter is mandatory when the call mode is by round.

For details about the parameters of this object, see Table 20.

Table 20 Parameter description of turns

No.

Parameter

Type

Mandatory or Not

Description

15.4.1

turnType

String

--

Number type.

The value can contain a maximum of 20 characters, excluding special characters.

This parameter is mandatory when the round mode is by number category.

15.4.2

turnOrder

Integer

--

Number sequence.

The value ranges from 1 to 10. This parameter is mandatory when the round mode is by number sequence.

Response Description

Table 21 Response body parameters

No.

Parameter

Type

Description

1

resultCode

String

Error code. The value 0200000 indicates success, and other values indicate failure.

For details, see Table 22.

2

resultDesc

String

Description.

3

returnCode

String

Error code. The value 0200000 indicates success, and other values indicate failure.

For details, see Table 22.

4

returnDesc

String

Description.

Triggered Event

None

Error Codes

Table 22 Error code description

No.

Error Code

Description

1

0200001

Parameter error. For details about the error, see resultDesc.

2

0200002

The start time of an outbound campaign is earlier than the early morning of the current day.

3

0200005

The outbound campaign name must be unique.

4

0200007

The outbound campaign does not exist.

5

0200016

The outbound campaign has expired.

6

0200017

The skill queue ID does not exist.

7

02000001

Empty parameter.

8

02000002

The parameter contains invalid characters.

9

02000003

The parameter length cannot exceed the maximum length.

10

02000004

The parameter length cannot be less than the minimum length.

11

02000005

The parameter length must be within the specified range.

12

02000006

Incorrect parameter type.

13

02000007

Incorrect parameter value.

14

02000008

Parameter conversion error. Check the request parameters.

15

02000009

Incorrect parameter combination. Check the request parameters.

16

02000010

The hour and minute parameters must be set at the same time.

17

02000011

The number of parameters cannot exceed the specified number.

Example

  • The following provides an example of the request body of this interface:
    {
    	"name": "test0827shwocase1",
    	"description": "long0825",
    	"strBeginTime": "2021-08-27 00:00:00",
    	"strEndTime": "2021-08-28 23:59:59",
    	"deviceType": 2,
    	"callerNo": [
    		{
    			"accessCode": "88889527",
    			"priority": 3
    		}
    	],
    	"maxAlertingTime": 20,
    	"priority": 4,
    	"scheduleParam": {
    		"workdayBeginTime1": "00:00",
    		"workdayEndTime1": "23:59",
    		"workdayBeginTime2": "",
    		"workdayEndTime2": "",
    		"workdayBeginTime3": "",
    		"workdayEndTime3": "",
    		"holidayBeginTime1": "",
    		"holidayEndTime1": "",
    		"holidayBeginTime2": "",
    		"holidayEndTime2": ""
    		"holidayBeginTime3": "",
    		"holidayEndTime3": ""
    	},
    	"skillParam": {
    		"skillId": 2,
    		"skillName": "defaultAudioSkill",
    		"outBoundType": 2,
    		"predictParam": {
    			"predictMethod": 1,
    			"expPredictParam": {
    				"maxAvgCallTime": 100,
    				"minAvgCallTime": 50,
    				"outBoundRate": 50
    			}
    		}
    	},
    	"retryPolicy": {
    		"retryPolicyId": "163005925789859991571901887599",
    		"policyType": 1,
    		"policyJson": "[{'dataType':'SI','type':1,'policy':[{'result':2,'retryNumber':4,'callInterval':600}]}]",
    		"busiPolicy": "[{'busiResultCode':'14376596','busiResultSubCode':'14963248','busiResultPolicy':1,'callInterval':300}]"
    	},
    	"callPolicy": {
    		"callPolicyId": "163005925791583092505770074569",
    		"callType": 1,
    		"chooseType": 0,
    		"turns": [
    			{
    				"turnType": "SI"
    			}
    		]
    	},
    	"initStatus": 0,
    	"callBackUrl": "https://10.10.10.10/xxx/xxx/xxx"
    }
  • The following provides an example of the response body of this interface:
    {
        "resultCode": "0200000",
        "resultDesc": "",
        "returnCode": "0200000",
        "returnDesc": ""
    }