隐私保护通话 PrivateNumber隐私保护通话 PrivateNumber

计算
弹性云服务器 ECS
裸金属服务器 BMS
云手机 CPH
专属主机 DeH
弹性伸缩 AS
镜像服务 IMS
函数工作流 FunctionGraph
云耀云服务器 HECS
VR云渲游平台 CVR
特惠算力专区
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
弹性文件服务 SFS
存储容灾服务 SDRS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
专属企业存储服务
云存储网关 CSG
专属分布式存储服务 DSS
CDN与智能边缘
内容分发网络 CDN
智能边缘云 IEC
智能边缘小站 IES
智能边缘平台 IEF
人工智能
AI开发平台ModelArts
华为HiLens
图引擎服务 GES
图像识别 Image
文字识别 OCR
自然语言处理 NLP
内容审核 Moderation
图像搜索 ImageSearch
医疗智能体 EIHealth
园区智能体 CampusGo
企业级AI应用开发专业套件 ModelArts Pro
人脸识别服务 FRS
对话机器人服务 CBS
视频分析服务 VAS
语音交互服务 SIS
知识图谱 KG
人证核身服务 IVS
IoT物联网
设备接入 IoTDA
设备管理 IoTDM(联通用户专用)
全球SIM联接 GSL
IoT数据分析 IoTA
路网数字化服务 DRIS
IoT边缘 IoTEdge
设备发放 IoTDP
IoT行业生态工作台
开发与运维
软件开发平台 DevCloud
项目管理 ProjectMan
代码托管 CodeHub
流水线 CloudPipeline
代码检查 CodeCheck
编译构建 CloudBuild
部署 CloudDeploy
云测 CloudTest
发布 CloudRelease
移动应用测试 MobileAPPTest
CloudIDE
Classroom
开源镜像站 Mirrors
应用魔方 AppCube
云性能测试服务 CPTS
应用管理与运维平台 ServiceStage
云应用引擎 CAE
视频
实时音视频 SparkRTC
视频直播 Live
视频点播 VOD
媒体处理 MPC
视频接入服务 VIS
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
资源管理服务 RMS
应用身份管理服务 OneAccess
区块链
区块链服务 BCS
可信跨链服务 TCS
可信分布式身份服务
智能协作
IdeaHub
开发者工具
SDK开发指南
API签名指南
DevStar
HCloud CLI
Terraform
Ansible
云生态
云市场
合作伙伴中心
华为云培训中心
其他
管理控制台
消息中心
产品价格详情
系统权限
我的凭证
客户关联华为云合作伙伴须知
公共问题
宽限期保留期
奖励推广计划
活动
容器
云容器引擎 CCE
云容器实例 CCI
容器镜像服务 SWR
应用编排服务 AOS
多云容器平台 MCP
基因容器 GCS
容器洞察引擎 CIE
云原生服务中心 OSC
容器批量计算 BCE
容器交付流水线 ContainerOps
应用服务网格 ASM
网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
数据库
云数据库 RDS
数据复制服务 DRS
文档数据库服务 DDS
分布式数据库中间件 DDM
云数据库 GaussDB (for openGauss)
云数据库 GaussDB(for MySQL)
云数据库 GaussDB NoSQL
数据管理服务 DAS
数据库和应用迁移 UGO
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
可信智能计算服务 TICS
推荐系统 RES
云搜索服务 CSS
数据可视化 DLV
数据湖治理中心 DGC
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
API网关 APIG
分布式缓存服务 DCS
分布式消息服务RocketMQ版
企业应用
域名注册服务 Domains
云解析服务 DNS
云速建站 CloudSite
网站备案
商标注册
华为云WeLink
会议
隐私保护通话 PrivateNumber
语音通话 VoiceCall
消息&短信 MSGSMS
云管理网络
SD-WAN 云服务
边缘数据中心管理 EDCM
云桌面 Workspace
应用与数据集成平台 ROMA Connect
ROMA资产中心 ROMAExchange
API全生命周期管理 ROMA API
安全与合规
安全技术与应用
DDoS防护 ADS
Web应用防火墙 WAF
云防火墙 CFW
应用信任中心 ATC
企业主机安全 HSS
容器安全服务 CGS
云堡垒机 CBH
数据库安全服务 DBSS
数据加密服务 DEW
数据安全中心 DSC
云证书管理服务 CCM
SSL证书管理 SCM
漏洞扫描服务 VSS
态势感知 SA
威胁检测服务 MTD
管理检测与响应 MDR
安全治理云图 Compass
认证测试中心 CTC
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
专属云
专属计算集群 DCC
解决方案
高性能计算 HPC
SAP
混合云灾备
华为工业云平台 IMC
价格
成本优化最佳实践
专属云商业逻辑
用户服务
帐号中心
费用中心
成本中心
资源中心
企业管理
工单管理
客户运营能力
国际站常见问题
支持计划
专业服务
合作伙伴支持计划
更新时间:2021-12-01 GMT+08:00
分享

AXYB模式绑定接口

接口功能

该接口用于SP向隐私保护通话平台申请设置以下绑定关系:

  • 用户A和隐私号码X的绑定关系
  • AX、用户B和隐私号码Y的绑定关系

请求方向

客户应用(客户端) → 隐私保护通话平台(服务端)

使用说明

前提条件
  • 已创建隐私保护通话应用,获取了APP_Key,APP_Secret和APP接入地址。
  • 已申请到至少两个隐私保护号码。
  • 若需要使用自定义放音,需要提前在放音文件管理页面上传并等待审核通过。
使用限制
  1. 一个X号码同时只能绑定一个A号码,一个A号码可以同时绑定5个X号码。
  2. 一个Y号码在同一个应用下可绑定多次,但绑定的AX关系不可重复。例如,允许同时绑定A1X1Y1B1和A2X2Y1B2,但不允许同时绑定A1X1Y1B1和A1X1Y1B2。
  3. Y号码可绑定的最大关系数量为1000(Y号码绑定一个AX关系计为一次绑定关系)。
注意事项
  • AXYB模式支持分别设置AXYB绑定关系有效时长(通过duration和ybDuration参数设置)。AX绑定关系过期后,系统自动解绑AX和YB的绑定关系;YB绑定关系过期后,仅解绑YB绑定关系
  • 若只设置了AX绑定关系(未绑定YB),B拨打X时隐私保护通话平台会自动给B分配一个Y号码。形成AXYB的绑定关系后,A才能拨打Y联系B。此时的YB关系过期时间为绑定AX时携带的ybDuration参数值;若未携带ybDuration,则随AX解绑时解绑。
  • 若要使用录音功能,需要完成以下两个步骤:
    1. 创建隐私保护通话应用时,“是否开通录音”选择“是”。

    2. 调用本接口设置归属该应用的隐私号码绑定关系时设置“recordFlag”为“true”。

      注:如果是在控制台设置归属该应用的隐私号码绑定关系,需在设置绑定关系时勾选“支持录音”。

接口类型

表1 请求说明

请求方法

POST

访问URI

/rest/omp/xyrelationnumber/v1.0

通信协议

HTTPS

请求参数

表2 请求URL参数说明

参数名称

是否必选

参数类型

说明

app_key

String(1-128)

AXYB能力标识,登录控制台,从“应用管理”页获取。

表3 请求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。不同编程语言中的时间格式转换方式不同,部分语言可参考表4
表4 不同编程语言的时间格式

编程语言

时间格式

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

表5 请求Body参数说明(设置AX绑定关系

参数名称

是否必选

参数类型

说明

origNum

String(1-32)

AXYB中的A号码。

填写为全局号码格式。

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

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

areaCode

String(1-32)

区号,标示隐私号码归属的区域。

填写为标准格式的区号,如:0755、010等。

需要与隐私保护通话平台定义的区号规则保持一致,请联系管理员获取区号规则。

areaMatchMode

String(枚举)

号码筛选方式。

  • 0:严格匹配
  • 1:非严格匹配

携带该参数时,必须同时携带areaCode。

当该参数为0,应用下无对应areaCode的号码时,号码分配失败。

当该参数为1,应用下无对应areaCode的号码时,会优先选择该应用下与areaCode对应区域的父区域下的号码,若父区域下也没有,号码分配失败。

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

callDirection

Integer

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

  • 0:bidirectional,表示A和B/C都可以通过与对方号码绑定的隐私号码呼叫对方。
  • 1:A to B,表示只允许A通过与隐私号码Y呼叫B/C。
  • 2:B to A,表示只允许B/C通过隐私号码X呼叫A。

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

duration

Integer

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

取值范围

  • 0:绑定关系永不过期。
  • 60~7776000(90天):绑定关系过期后会被系统自动解除。

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

ybDuration

Integer

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

取值范围:

  • 0:YB的绑定关系随AX解绑时解绑。
  • 60~7776000(90天):绑定关系过期后会被系统自动解除。

若在设置AX绑定关系和YB绑定关系时都不携带该参数,系统默认该参数为0。

注:

  • “ybDuration”取值必须小于或等于“duration”取值,大于则以“duration”取值为准(AX解绑时YB绑定关系也会解除)。
  • 若在设置AX绑定关系和YB绑定关系时都携带了该参数,以设置YB绑定关系时携带的“ybDuration”值为准。

recordFlag

String(枚举)

录音标识。

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

如果设置绑定关系时该参数为true,则本次绑定关系中的主叫和被叫所有通过隐私号码拨通的通话都会被录音。

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

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

recordHintTone

String(1-128)

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

此字段用于设置使用录音功能的提示音。

  • 无需定制个性化放音时,接口消息中无需携带此参数,此时系统可能会放默认提示音,也可能不放,请与管理员确认。
  • 需要定制个性化放音文件时,接口消息中携带此参数,参数取值为指定的放音文件名,如:recordHintTone.wav。请提前制作放音文件并提交到隐私保护通话业务平台。

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

preVoiceX

String(1-128)

设置对X号码播放的个性化通话前等待音,系统边给X号码绑定用户放音(只放一次音)边拨打Y号码绑定用户。

填写放音文件名,例如x_hint_tone1.wav,文件名只能由数字、字母、以及特殊字符-_.@组成。放音文件需提前提交给管理员。

不携带该参数或填写空字符串时,使用系统默认放音,例如“嘟…嘟…嘟…”。

userData

String(1-256)

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

  • 不允许携带以下字符:“{”,“}”(即大括号)。
  • 不允许包含中文字符,如果包含中文字符请采用Base64编码。
表6 请求Body参数说明(设置YB绑定关系

参数名称

是否必选

参数类型

说明

origNum

String(1-32)

AXYB中的B号码。

填写为全局号码格式。

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

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

subscriptionId

String(1-64)

填写为调用“AXYB模式绑定接口”绑定AX时返回的绑定ID。

areaCode

String(1-32)

区号,标示隐私号码归属的区域。

填写为标准格式的区号,如:0755、010等。

需要与隐私保护通话平台定义的区号规则保持一致,请联系管理员获取区号规则

areaMatchMode

String(枚举)

号码筛选方式。

  • 0:严格匹配
  • 1:非严格匹配

携带该参数时,必须同时携带areaCode。

当该参数为0,应用下无对应areaCode的号码时,号码分配失败。

当该参数为1,应用下无对应areaCode的号码时,会优先选择该应用下与areaCode对应区域的父区域下的号码,若父区域下也没有,号码分配失败。

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

ybDuration

Integer

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

取值范围:

  • 0:YB的绑定关系随AX解绑时解绑。
  • 60~7776000(90天):绑定关系过期后会被系统自动解除。

若在设置AX绑定关系和YB绑定关系时都不携带该参数,系统默认该参数为0。

注:

  • “ybDuration”取值必须小于或等于“duration”取值,大于则以“duration”取值为准(AX解绑时YB绑定关系也会解除)。
  • 若在设置AX绑定关系和YB绑定关系时都携带了该参数,以设置YB绑定关系时携带的“ybDuration”值为准。

preVoiceY

String(1-128)

设置对Y号码播放的个性化通话前等待音,系统边给Y号码绑定用户放音(只放一次音)边拨打X号码绑定用户。

填写放音文件名,例如y_hint_tone1.wav,文件名只能由数字、字母、以及特殊字符-_.@组成。放音文件需提前提交给管理员。

不携带该参数或填写空字符串时,使用系统默认放音,例如“嘟…嘟…嘟…”。

userData

String(1-256)

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

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

响应参数

表7 响应结果参数

参数名称

是否必选

参数类型

说明

resultcode

String(1-32)

请求返回的结果码。

resultdesc

String(1-256)

操作结果描述。

subscriptionId

String(1-64)

绑定ID,唯一标识一个绑定关系,由隐私保护通话平台自动分配。

在AXYB模式中,一个绑定关系是指将两个用户号码、两个隐私号码和呼叫方向等相关信息绑定起来的一组信息。

成功响应时必定返回。

relationNumber

String(1-32)

绑定的隐私号码,为全局号码格式(包含国家码),如:+86138****0021。

成功响应时必定返回。

结果码说明

表8 响应结果码

响应码

结果码

英文描述

中文描述

处理方法

200

0

Success.

成功。

-

400

1023006

Authorization not contained in the HTTP header.

HTTP消息头未找到Authorization字段。

请检查HTTP消息头中是否携带了Authorization字段。

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属性。

403

1010002

Invalid request.

无效请求。

参考各接口参数说明,检查请求携带的参数格式是否正确,如以下参数格式问题:

  • 绑定接口填写的号码参数需为全局号码格式,如+86138****0001或+8675528****01;
  • 放音文件需上传通过审核才可通过接口调用,点击查看如何上传审核
  • 参考接口参数说明,检查是否携带了不能同时携带的参数,如AXE模式绑定接口不能同时携带callbackTone和callbackNum,若是,请保留一个;
  • 参数长度或格式是否错误,如AXE模式分机号长度或timeUnit的格式是否正确。

1010003

Invalid app_key.

无效的app_key。

请检查请求携带的app_key填写是否正确。

1010008

The status of the app_key is unavailable.

app_key状态异常。

请联系管理员确认该app_key状态是否正常。应用状态可登录控制台后在“应用管理”界面查看。

1010010

The flow control upper limit is reached on the platform.

平台达到系统流控上限。

请稍等一分钟后再试。

1010029

The subscriber status is frozen.

用户账号已冻结。

  • 查看账户是否欠费。如欠费需充值后才能继续使用。
  • 若未欠费,请联系华为云客服处理。

1010040

The app_key is not allowed to invoke the API.

app_key没有调用本API的权限。

调用的接口和app_key所属的应用模式不一致。如添加应用时选择的AXB模式的应用,调用接口时只能调用AXB模式的接口,不能调用其他模式的接口。

1012008

Insufficient number of resources

资源不足。

没有可分配的X号码,请申请新的号码资源或修改areaCode的值。点击查看处理方法

1012012

Application does not open recording function.

应用未开启录音功能。

请确认app_key所属的应用是否开启了录音功能,点击查看如何开启录音功能

1012102

The number status is abnormal.

号码状态异常。

出现该错误码表示调用接口时指定的X号码因投诉或号码状态异常被隐私保护通话平台加入了黑名单,请查看订购号码时填写的邮箱是否有业务下线通知邮件,如果没有,请拨打400电话联系华为云客服处理。

1016001

The record does not exist.

记录不存在。

未查询到绑定关系,请检查subscriptionId参数的填写是否正确。

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.

系统错误。

请联系管理员处理。

1023001

Internal error.

内部错误。

1023002

Response timeout.

响应超时。

重新发送一次请求,若依然返回响应超时,请联系管理员处理。

接口示例

  • 请求示例
    POST /rest/omp/xyrelationnumber/v1.0  HTTP1.1 
    
    content-type: application/json;charset=UTF-8 
    authorization: WSSE realm="SDP",profile="UsernameToken",type="Appkey"
    x-wsse: UsernameToken Username="************",PasswordDigest="*************",Nonce="ac1c911c4792492687f8f6b2264a491e",Created="2018-05-26T00:35:30Z"
    content-length:xx 
    
    { 
    "origNum":"+86138****0001", 
    "areaCode":"0755", 
    "areaMatchMode":"1" 
    }
  • 响应示例
    HTTP/1.1 200 OK 
    Content-Type: application/json;charset=utf-8 
    Content-Length: xx 
    
    { 
    "resultcode":"0", 
    "resultdesc":"Success" ,
    "subscriptionId":"****",
    "relationNumber":"+86138****0021"
    }
分享:

    相关文档

    相关产品

关闭导读