隐私保护通话 PrivateNumber-AXE模式绑定信息修改接口:请求参数

时间:2025-02-12 15:00:54

请求参数

表2 请求Headers参数说明

参数名称

是否必选

参数类型

说明

Content-Type

String

固定填写为application/json;charset=UTF-8。

Authorization

String

固定填写为AKSK realm="SDP",profile="UsernameToken",type="Appkey"。

X-AKSK

String

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

参数名称

参数类型

说明

virtualNum

String(1-32)

X号码,携带为全局号码格式(包含国家码),如:+86170****0021。

该参数必须与extendNum同时携带,指定唯一一组绑定关系。

extendNum

String(1-4)

分机号E,最大4位,如:1234。

该参数必须与virtualNum同时携带,指定唯一一组绑定关系。

subscriptionId

String(0-64)

指定“AXE模式绑定接口”返回的绑定ID查询绑定关系

携带该参数时系统以该参数为准,可不关注virtualNum和extendNum参数。

displayNumMode

String(枚举)

非隐私号用户呼叫X号码时,隐私号用户看到的主显号码。

  • 0:X号码;
  • 1:真实主叫号码;

不携带时,表示不修改该参数值。

说明:

由于运营商管控,当前平台要求该参数必须设置为0,否则呼叫会被运营商拦截。

recordFlag

String(枚举)

录音标识。

  • false:表示不录音
  • true:表示录音

该参数仅当添加应用时申请开通了录音功能才有效。

不携带时,表示不修改该参数值。

recordHintTone

String(0-128)

此参数在recordFlag为true时才有效。

此字段用于修改使用录音功能的提示音。参数取值为指定的放音文件名,可在放音文件管理页面查看。

不携带时,表示不修改该参数值。

说明:

因隐私协议及运营商管控,录音的呼叫必须携带该参数,否则呼叫会被运营商拦截。

callbackTone

String(0-128)

隐私号用户回呼时,如果不存在回呼记录,则播放该参数指定的语音文件,参数取值为指定的放音文件名,如:callbackTone.wav。请提前制作放音文件并提交到放音文件管理,审核通过后才能使用。

参数callbackTone和callbackNum为二选一关系,两者都携带时以callbackNum为准,两者都不携带表示不修改该参数值。

当修改值为“”时清空该字段配置。

callbackNum

String(0-32)

隐私号用户回呼时,如果不存在回呼记录,则转接到该参数指定的号码。

参数取值填写为全局号码格式(包含国家码),如:+86170****0021。

参数callbackTone和callbackNum为二选一关系,两者都携带时以callbackNum为准,两者都不携带表示不修改该参数值。

当修改值为“”时清空该字段配置。

timeUnit

String(枚举)

时间单位。

  • 0:小时
  • 1:分钟

携带该参数时,必须同时携带bindExpiredTime和callbackExpiredTime。

不携带时,表示不修改该参数值。

bindExpiredTime

Integer

绑定关系的有效时间,过期后系统会自动解除绑定关系,该绑定关系下的主叫和回呼都不可达。单位:由timeUnit控制。

  • 携带timeUnit参数时,参数取值范如下:
    • 当timeUnit取值为0(小时)时:0~720(小时)
    • 当timeUnit取值为1(分钟)时:0~43200(分钟)
  • 不携带timeUnit参数时,参数取值范围为0~720(小时)。不携带此参数时,表示不修改该参数值。

0代表绑定关系永不过期。

说明:

该参数取值须大于等于callbackExpiredTime。

callbackExpiredTime

Integer

回呼记录有效时间,过期后系统会自动清除回呼记录,回呼将转接到callbackNum或播放callbackTone提示音。单位:由timeUnit控制。

  • 携带timeUnit参数时,参数取值范如下:
    • 当timeUnit取值为0(小时)时:0~168(小时)
    • 当timeUnit取值为1(分钟)时:0~10080(分钟)
  • 不携带timeUnit参数时,参数取值范围为0~168(小时)。不携带此参数时,表示不修改该参数值。

0代表绑定有效期内回呼一直有效。当绑定关系失效时,回呼记录有效时间无论是否已经到达失效时间都会被清除。

说明:

该参数取值须小于等于bindExpiredTime。当bindExpiredTime为0时,callbackExpiredTime可设置为适用范围的任意值。

support.huaweicloud.com/api-PrivateNumber/privatenumber_02_0023_1.html