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

时间:2024-11-12 09:38:07

请求参数

表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参数说明

参数名称

是否必选

参数类型

说明

callerNum

String(4-31)

AXB中的A号码。

填写为全局号码格式。

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

说明:
  • 因运营商管控,固话号码只能接收来自X号码的呼叫,不能作为主叫呼叫X号码。即当A号码为固话号码时,B(手机号码)可以拨打X号码联系A,但A无法通过拨打X号码联系B。
  • 若需双向呼叫,A和B号码都必须是手机号码。

relationNum

String(4-31)

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

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

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

  • 当callerNum(A号码)是手机号码时:
    • 同时携带relationNum和areaCode时系统以relationNum为准。
    • 当relationNum和areaCode都未携带时,隐私保护通话平台会从客户应用下已申请到的X号码中,优先选择与A号码同城市的X号码进行绑定。
  • 当callerNum(A号码)是固话号码时:
    • 该参数与areaCode是二选一关系。
    • 同时携带relationNum和areaCode时系统以relationNum为准。

areaCode

String(0-32)

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

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

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

  • 当callerNum(A号码)是手机号码时:
    • 同时携带relationNum和areaCode时系统以relationNum为准。
    • 当relationNum和areaCode都未携带时,隐私保护通话平台会从客户应用下已申请到的X号码中,优先选择与A号码同城市的X号码进行绑定。
  • 当callerNum(A号码)是固话号码时:
    • 该参数与relationNum是二选一关系。
    • 同时携带relationNum和areaCode时系统以relationNum为准。

areaMatchMode

String(枚举)

号码筛选方式。当指定areaCode或根据callerNum(A号码)区号选择X号码(relationNum和areaCode都不携带)时,此参数生效。

  • 当指定areaCode时:
    • 0:严格匹配,应用下无对应areaCode的X号码时,号码分配失败。
    • 1:非严格匹配,应用下无对应areaCode的X号码时,会优先选择该应用下与areaCode对应区域同省份的号码,若也没有同省份的号码,则从该应用下全部X号码中随机选择。
  • 根据A号码区号选择X号码时:
    • 0:严格匹配,应用下没有和A号码同区域的X号码时,号码分配失败。
    • 1:非严格匹配,应用下没有和A号码同区域的X号码时,会优先选择该应用下与A号码所属区域同省份的号码,若也没有同省份的号码,则从该应用下全部X号码中随机选择。

不携带该参数时,系统默认为严格匹配模式。

calleeNum

String(4-31)

AXB中的B号码。

填写为全局号码格式。

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

说明:
  • 因运营商管控,固话号码只能接收来自X号码的呼叫,不能作为主叫呼叫X号码。即当B号码为固话号码时,A(手机号码)可以拨打X号码联系B,但B无法通过拨打X号码联系A。
  • 若需双向呼叫,A和B号码都必须是手机号码。

callDirection

Integer

表示该绑定关系允许的呼叫方向,取值范围:

  • 0:bidirectional,表示callerNum和calleeNum都可以通过X号码呼叫对方。
  • 1:caller to callee,表示只允许callerNum通过X号码呼叫calleeNum。
  • 2:callee to caller,表示只允许calleeNum通过X号码呼叫callerNum。

如果不携带该参数,系统默认允许双向呼叫。

duration

Integer

绑定关系保持时间,单位为秒。

取值范围:0~7776000(90天)。

绑定关系过期后会被系统自动解除。

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

recordFlag

String(枚举)

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

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

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

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

recordHintTone

String(1-128)

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

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

不携带该参数表示录音前不播放提示音。

说明:

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

preVoice

ApiPlayInfo

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

maxDuration

Integer

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

取值范围:0~1440

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

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

lastMinVoice

String(0-128)

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

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

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

privateSms

String(枚举)

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

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

取值范围:

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

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

userData

String(1-256)

用户自定义数据。

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

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

表5 ApiPlayInfo定义

参数名称

是否必选

参数类型

说明

callerHintTone

String(0-128)

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

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

calleeHintTone

String(0-128)

设置B拨打X号码时的通话前等待音,填写为放音文件名,可在放音文件管理页面查看。

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

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