文档首页 > > API参考> 语音回呼API> 修改呼叫记忆数据API

修改呼叫记忆数据API

分享
更新时间:2020/07/30 GMT+08:00

典型场景

语音回呼应用开启了呼叫记忆功能,SP调用“语音回呼场景API”进行呼叫后,若需要更改被叫用户回呼时接听的号码,可调用“修改呼叫记忆数据API”。

接口功能

语音回呼应用开启了呼叫记忆功能,调用语音回呼场景API进行呼叫时,平台会保存呼叫记忆数据(最大168小时,即7天),被叫用户可直接回呼到原主叫用户。调用“修改呼叫记忆数据API”可修改平台保存的呼叫记忆数据中的主叫用户。

如果重复调用该接口,接口参数值会覆盖前一次调用时的参数值。

使用说明

  • 前提条件
    1. 已通过“应用管理”页面获取该语音回呼能力的APP_Key,APP_Secret和APP接入地址。
    2. 创建语音回呼应用时已开启呼叫记忆功能,并已调用语音回呼场景API进行呼叫。
  • 注意事项

    无。

  • 使用限制

    无。

接口类型

表1 接口类型说明

请求方法

POST

访问URI

/rest/caas/callrecord/callbacknumber/v1.0

通信协议

HTTPS

请求参数

表2 请求Headers参数说明

参数名称

是否必选

参数类型

说明

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="随机数生成时间"。
  • PasswordDigest:根据PasswordDigest = Base64 (SHA256 (Nonce + Created + Password))生成。其中,Password为APP_Secret的值。Nonce、Created、Password直接进行字符串拼接即可,无需包含+号和空格。
  • Nonce:客户发送请求时生成的一个随机数,长度为1~128位,可包含数字和大小写字母。例如:66C92B11FF8A425FB8D4CCFE0ED9ED1F。
  • Created:随机数生成时间。采用标准UTC格式,例如:2018-02-12T15:30:20Z。不同编程语言中将UTC时间戳转换为普通时间时使用的格式不同,部分语言可参考表3
表3 不同编程语言的时间格式

编程语言

时间格式

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()转换后的时间格式去除毫秒后即为本接口要求的时间格式。

表4 请求Body参数说明

参数名称

是否必选

参数类型

默认值

说明

callerNbr

String(1-32)

呼叫记忆数据中的原主叫号码,即调用“语音回呼场景API”发起呼叫中的主叫号码。

  • 手机号码格式:国家码+手机号码。示例:+8613800000001
  • 固话格式:国家码+区号+固话,其中区号需去掉首位的0。示例:国家码+86,区号0755,固话号码28000001,填写为+8675528000001。

changedCallerNbr

String(1-32)

呼叫记忆数据中修改后的主叫号码,调用“语音回呼场景API”发起呼叫中的被叫号码回呼时,会呼叫该号码。

  • 手机号码格式:国家码+手机号码。示例:+8613800000008
  • 固话格式:国家码+区号+固话,其中区号需去掉首位的0。示例:国家码+86,区号0755,固话号码28000008,填写为+8675528000008。

validTime

Integer

联系华为云客服确认

此字段为修改主叫号码的有效时间,超过有效时间后,修改后的主叫号码失效,回呼会转接到原主叫号码。

取值范围:1~168,单位为小时。默认时长需联系华为云客服确认。

响应参数

表5 响应消息参数说明

参数名称

是否必选

参数类型

默认值

说明

resultcode

String(1-32)

请求返回的结果码。

resultdesc

String(1-128)

请求返回的结果描述。

结果码

请根据以下结果码进行调测,如果有疑问,可联系管理员进行确认。

表6 结果码说明

响应码

结果码

英文描述

中文描述

处理方法

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" 
    }
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问