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

时间: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参数说明

参数名称

是否必选

参数类型

说明

virtualNum

String(0-32)

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

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

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

该参数与areaCode是二选一关系。

同时携带virtualNum和areaCode时系统以virtualNum为准。

areaCode

String(0-32)

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

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

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

该参数与virtualNum是二选一关系。

同时携带virtualNum和areaCode时系统以virtualNum为准。

areaMatchMode

String(枚举)

号码筛选方式。

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

bindNum

String(1-32)

AXE中的A号码。

填写为全局号码格式。

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

说明:

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

extendNum

String(1-4)

分机号,即AXE中的E。仅支持数字,最大4位 ,例如:1234。

取值范围:1-9,01-99,001-999,0001-9999。

该参数仅在指定virtualNum进行绑定时有效。

不携带该参数或取值为空时,则系统自动分配分机号E。

displayNumMode

String(枚举)

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

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

如不携带此参数,系统默认值为0。

说明:

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

recordFlag

String(枚举)

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

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

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

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

recordHintTone

String(1-128)

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

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

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

说明:

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

callbackTone

String(1-128)

A呼叫X时,如果不存在回呼记录,则播放该参数指定的语音文件。填写为放音文名,可在放音文件管理页面查看。

参数callbackTone和callbackNum为二选一关系,两者不能同时携带,两者都不携带时以添加应用时的配置为准。

callbackNum

String(1-32)

A呼叫X时,如果不存在回呼记录,则转接到该参数指定的号码。填写为全局号码格式(包含国家码),如:+86170****0021或+8675528****08。

参数callbackTone和callbackNum为二选一关系,两者不能同时携带,两者都不携带时以添加应用时的配置为准。

timeUnit

String(枚举)

时间单位。

  • 0:小时
  • 1:分钟

携带该参数时,必须同时携带bindExpiredTime和callbackExpiredTime。如不携带此参数,则系统默认为小时。

bindExpiredTime

Integer

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

  • 携带timeUnit参数时,参数取值范如下:
    • 当timeUnit取值为0(小时)时:0~720(小时)
    • 当timeUnit取值为1(分钟)时:0~43200(分钟)
  • 不携带timeUnit参数时,参数取值范围为0~720(小时)。不携带此参数时,系统默认为168小时。

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

说明:

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

callbackExpiredTime

Integer

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

  • 携带timeUnit参数时,参数取值范如下:
    • 当timeUnit取值为0(小时)时:0~168(小时)
    • 当timeUnit取值为1(分钟)时:0~10080(分钟)
  • 不携带timeUnit参数时,参数取值范围为0~168(小时)。不携带此参数时,系统默认为48小时。

0代表绑定有效期内回呼一直有效。

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

说明:

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

userData

String(1-256)

用户自定义数据,会在响应消息中原样返回。

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

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

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