修改呼叫记忆数据API
典型场景
语音回呼应用开启了呼叫记忆功能,SP调用“语音回呼场景API”进行呼叫后,若需要更改被叫用户回呼时接听的号码,可调用“修改呼叫记忆数据API”。
接口功能
若语音回呼应用开启了呼叫记忆功能,调用语音回呼场景API进行呼叫时,平台会保存呼叫记忆数据(最大168小时,即7天),被叫用户可直接回呼到原主叫用户。调用“修改呼叫记忆数据API”可修改平台保存的呼叫记忆数据中的主叫用户。
如果重复调用该接口,接口参数值会覆盖前一次调用时的参数值。
使用说明
- 前提条件
- 已通过“应用管理”页面获取该语音回呼能力的APP_Key,APP_Secret和APP接入地址。
- 创建语音回呼应用时已开启呼叫记忆功能,并已调用语音回呼场景API进行呼叫。
接口类型
请求方法 |
POST |
|
---|---|---|
访问URI |
/rest/caas/callrecord/callbacknumber/v1.0 |
|
通信协议 |
HTTPS |
请求参数
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
Content-Type |
是 |
String |
固定填写为application/json;charset=UTF-8。 |
Authorization |
是 |
String |
固定填写为WSSE realm="SDP",profile="UsernameToken",type="Appkey"。 |
X-WSSE |
是 |
String |
取值为UsernameToken Username="APP_Key的值", PasswordDigest="PasswordDigest的值", Nonce="随机数", Created="随机数生成时间"。
|
编程语言 |
时间格式 |
---|---|
Java |
yyyy-MM-dd'T'HH:mm:ss'Z' |
PHP |
Y-m-d\TH:i:s\Z |
Python |
%Y-%m-%dT%H:%M:%SZ |
C# |
yyyy-MM-ddTHH:mm:ssZ |
Node.js |
toISOString().replace(/.[0-9]+\Z/, 'Z') 注:Node.js中,使用toISOString()转换后的时间格式去除毫秒后即为本接口要求的时间格式。 |
参数名称 |
是否必选 |
参数类型 |
默认值 |
说明 |
---|---|---|---|---|
callerNbr |
是 |
String(1-32) |
无 |
呼叫记忆数据中的原主叫号码,即调用“语音回呼场景API”发起呼叫中的主叫号码。
|
changedCallerNbr |
是 |
String(1-32) |
无 |
呼叫记忆数据中修改后的主叫号码,调用“语音回呼场景API”发起呼叫中的被叫号码回呼时,会呼叫该号码。
|
validTime |
否 |
Integer |
需联系华为云客服确认 |
此字段为修改主叫号码的有效时间,超过有效时间后,修改后的主叫号码失效,回呼会转接到原主叫号码。 取值范围:1~168,单位为小时。默认时长需联系华为云客服确认。 |
响应参数
参数名称 |
是否必选 |
参数类型 |
默认值 |
说明 |
---|---|---|---|---|
resultcode |
是 |
String(1-32) |
无 |
请求返回的结果码。 |
resultdesc |
是 |
String(1-128) |
无 |
请求返回的结果描述。 |
结果码
请根据以下结果码进行调测,如果有疑问,可联系管理员进行确认。
响应码 |
结果码 |
英文描述 |
中文描述 |
处理方法 |
---|---|---|---|---|
200 |
0 |
Success. |
成功。 |
无需处理。 |
400 |
1023006 |
Authorization not contained in the HTTP header. |
鉴权失败,请检查鉴权请求正确性。 |
请检查消息头中是否携带了Authorization,PasswordDigest字段填写是否正确,携带的app_key填写是否正确,且生成随机数的时间与发送请求时的本地时间不能相差太大。 |
1023007 |
realm not contained in Authorization. |
Authorization字段中未找到realm属性。 |
请检查Authorization字段中的是否携带了realm属性。 |
|
1023008 |
profile not contained in Authorization. |
Authorization字段中未找到profile属性。 |
请检查Authorization字段中的是否携带了profile属性。 |
|
1023009 |
The value of realm in Authorization must be SDP. |
Authorization中realm属性值应该为“SDP”。 |
请检查Authorization字段中的realm属性值是否为“SDP”。 |
|
1023010 |
The value of profile in Authorization must be UsernameToken. |
Authorization中profile属性值应该为“UsernameToken”。 |
请检查Authorization字段中的profile属性值是否为“UsernameToken”。 |
|
1023011 |
The value of type in Authorization must be app_key. |
Authorization中type属性值应该为“Appkey”。 |
请检查Authorization字段中的type属性值是否为“Appkey”。 |
|
1023012 |
type not contained in Authorization. |
Authorization字段中未找到type属性。 |
请检查Authorization字段中是否携带了type属性。 |
|
1023013 |
WSSE not contained in Authorization. |
Authorization中没有携带WSSE。 |
请检查Authorization字段中是否携带了WSSE。 |
|
1023026 |
X-WSSE not contained in the HTTP header. |
HTTP头未找到X-WSSE字段。 |
请检查HTTP消息头中是否携带了X-WSSE字段。 |
|
1023027 |
Username not contained in X-WSSE. |
X-WSSE字段中未找到Username属性。 |
请检查X-WSSE字段中的是否携带了Username属性。 |
|
1023028 |
Nonce not contained in X-WSSE. |
X-WSSE字段中未找到Nonce属性。 |
请检查X-WSSE字段中的是否携带了Nonce属性。 |
|
1023029 |
Created not contained in X-WSSE. |
X-WSSE字段中未找到Created属性。 |
请检查X-WSSE字段中的是否携带了Created属性。 |
|
1023030 |
PasswordDigest not contained in X-WSSE. |
X-WSSE字段中未找到PasswordDigest属性。 |
请检查X-WSSE字段中的是否携带了PasswordDigest属性。 |
|
1023031 |
The format of Created is incorrect. |
Created属性格式错误。 |
请检查X-WSSE字段中的Created属性格式是否正确。 |
|
1023032 |
UsernameToken not contained in X-WSSE. |
X-WSSE字段中未找到UsernameToken属性。 |
请检查X-WSSE字段中的是否携带了UsernameToken属性。 |
|
401 |
1010010 |
Invalid digest. |
PasswordDigest校验失败。 |
请检查PasswordDigest字段填写是否正确。 |
1010013 |
Time out limit. |
时间超出限制。 |
请确认X-WSSE鉴权时,生成随机数的时间与发送请求时的本地时间不能相差太大(具体差值请与管理员确认)。 |
|
403 |
1010002 |
Invalid request. |
非法请求。 |
检查请求携带的参数格式是否都合法。 |
1010003 |
Invalid app_key. |
无效的app_key。 |
检查请求携带的app_key是否填写正确,app_key从应用管理页面获取,若填写正确,请在应用管理页面检查请求携带的app_key所属应用状态是否正常。 |
|
1010040 |
The app_key is not allowed to invoke the API. |
app_key没有调用本API的权限。 |
请联系管理员确认该app_key对应的应用是否具有语音回呼能力。 |
|
1016001 |
The record does not exist. |
记录不存在。 |
检查请求携带的callerNbr和app_key是否填写正确(app_key从应用管理页面获取),并确保使用该callerNbr和app_key调用过“语音回呼场景API”。 |
|
1020166 |
The app client ip is not in ip white list. |
请求发送方app IP不在白名单列表中。 |
联系管理员检查IP白名单是否配置正确。 |
|
1020176 |
Authentication failed, try again later |
鉴权失败,稍后重试 |
IP因鉴权失败次数过多导致被拉黑,请30分钟后重试,或联系管理员放通该IP。 |
|
500 |
1010001 |
Internal system error. |
系统错误。 |
请联系管理员处理。 |
接口示例
- 请求示例
POST /rest/caas/callrecord/callbacknumber/v1.0 HTTP1.1 content-type: application/json;charset=UTF-8 authorization: WSSE realm="SDP",profile="UsernameToken",type="Appkey" x-wsse: UsernameToken Username="ZRBRz4bAXoFgEH7o4Ew308eXc1RA",PasswordDigest="****",Nonce="ac1c911c4792492687f8f6b2264a491e",Created="2018-05-26T00:35:30Z" content-length:xx { "callerNbr":"+86138****0021", "changedCallerNbr":"+8675528****08", "validTime":72 }
- 响应示例
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8 Content-Length: 46 { "resultcode":"0", "resultdesc":"Success" }
