隐私保护通话 PRIVATENUMBER-AX模式绑定接口:请求参数

时间:2024-12-30 16:28:46

请求参数

表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。不同编程语言中将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参数说明

参数名称

是否必选

参数类型

说明

origNum

String(1-32)

AX中的A号码。

填写为全局号码格式。

  • 手机号码格式为国家码(如+86)+手机号码(11位数字的手机号码如138****0001),填写为"+86138****0001"。
  • 固话号码为国家码(如+86)+不带前置0的区号(如755)+本地固话号码(7或8位数字的固话号码,以实际号码为准,如28****01),填写为"+8675528****01"。

说明:

因运营商管控,固话号码只能接收来自X号码的呼叫,不能作为主叫呼叫X号码。即当A号码为固话号码时,其他用户(手机号码)可以拨打X号码联系A,但A无法通过拨打X号码联系其他用户。

privateNum

String(1-32)

指定已申请到的X号码进行绑定。

可在 隐私保护通话 控制台的“号码管理”页面或订购号码成功后返回的号码表中查看已申请到的X号码。

填写为全局号码格式(国家码+11位数字的手机号码),如:+86138****0021。

说明:
  • 该参数与areaCode是二选一关系。
  • 同时携带privateNum和areaCode时系统以privateNum为准。

areaCode

String(0-32)

指定城市码,由隐私保护通话平台从客户已申请到的X号码中选择可用号码进行绑定。

填写为标准格式的城市码,如:0755、010等。

X号码对应城市码可在订购号码成功后返回的号码表中查看,点击查看如何下载号码表

说明:
  • 该参数与privateNum是二选一关系,但携带该参数时必须同时携带privateNumType。
  • 同时携带privateNum和areaCode时系统以privateNum为准。

privateNumType

String(枚举)

固定填写为mobile-virtual。

说明:

当参数privateNum为空时必须携带该参数。

areaMatchMode

String(枚举)

号码筛选方式。

  • 0:严格匹配
  • 1:非严格匹配
说明:
  • 不携带该参数时,系统默认为严格匹配模式。
  • 携带该参数时,必须同时携带areaCode。
    • 当该参数为0,应用下无对应areaCode的号码时,号码分配失败。
    • 当该参数为1,应用下无对应areaCode的号码时,会优先选择该应用下与areaCode对应区域同省份的号码,若也没有同省份的号码,则从该应用下全部X号码中随机选择。

recordFlag

String(枚举)

是否需要针对该绑定关系产生的所有通话录音。

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

如果不携带该参数,系统默认不录音。

说明:

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

recordHintTone

String(1-128)

该参数仅在recordFlag为true时有效。

该参数用于设置录音提示音,填写为放音文件名,可在放音文件管理页面查看。

说明:

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

preVoice

ApiPlayInfo

设置个性化通话前等待音,即主叫听到的回铃音。

calleeNumDisplay

String(枚举)

设置非A用户呼叫X时,A接到呼叫时的主显号码。

取值:

  • 0:显示X号码;
  • 1:显示真实主叫号码。
说明:

使用该参数的场景请联系华为云客服获取。由于运营商管控,当前平台要求该参数必须设置为0,否则绑定会失败、呼叫会被运营商拦截。

privateSms

String(枚举)

设置该绑定关系是否支持短信功能。

若客户添加应用时未开通短信功能,请勿携带此参数。

取值范围:

  • false:不支持短信
  • true:支持短信

如果客户添加应用时开通了短信功能,不携带该参数时系统默认支持短信。

maxDuration

Integer(0~1440)

设置允许单次通话进行的最长时间,单位为分钟。通话时间从接通被叫的时刻开始计算。

  • 0:系统不主动结束通话,由主被叫双方结束通话。
  • 1~1440:当通话时长达到此配置值,系统主动结束通话。

不携带时,参数值默认为0。

lastMinVoice

String(0-128)

设置通话剩余最后一分钟时的提示音,填写为放音文件名,可在放音文件管理页面查看。

当maxDuration字段设置为非0时此参数有效。

不携带该参数表示通话剩余最后一分钟时不放音。

userData

String(1-256)

用户自定义数据。

  • 不允许携带以下字符:“{”,“}”(即大括号)。
  • 不允许包含中文字符,如果包含中文字符请采用Base64编码。
说明:

若在设置绑定关系时携带该参数,绑定关系对应的呼叫、话单和短信通知消息中也会携带该参数。

turnFlag

String(枚举)

设置隐私号开关机状态。

取值范围:

  • on:开机状态
  • off:关机状态

不携带该参数时默认为开机状态。

callDirection

Integer

呼叫方向控制。表示该绑定关系允许的呼叫方向。

取值范围如下:

  • 0:允许双向呼叫。
  • 1:只允许A呼叫X号码。
  • 2:只允许其他号码呼叫X号码。

如果不携带该参数,系统默认该参数为0。

表5 ApiPlayInfo定义

参数名称

是否必选

参数类型

说明

callerHintTone

String(0-128)

设置A呼叫X时的通话前等待音,填写为放音文件名,可在放音文件管理页面查看。

不携带该参数时A会听到真实被叫的回铃音。

calleeHintTone

String(0-128)

设置非A用户呼叫X时的通话前等待音,填写为放音文件名,可在放音文件管理页面查看。

不携带该参数时用户会听到A的回铃音。

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