• 沒有找到結果。

典型场景

当应用要实现语音回呼功能时,可以调用语音回呼场景API。

接口功能

主叫用户通过应用拨打被叫用户,语音通话平台呼叫主叫和被叫,使主叫和被叫能够 互相通话。

2-1 语音回呼体验流程

语音回呼业务体验描述:

1. 用户A通过应用呼叫用户B,请求上报到SP。

2. SP调用语音回呼场景API。

4. 语音通话平台呼叫用户B的号码。

5. 用户B接听,用户A和用户B通话。

使用说明

● 前提条件

a. 已通过“应用管理”页面获取该语音回呼能力的APP_Key,APP_Secret和APP 接入地址。

b. 已通过“号码订购”页面向语音通话平台申请以下号码:

若使用定制化主叫端来电显示号码,请确认已申请固话号码

(displayNbr)。

若需隐藏主叫号码,使用定制化被叫端来电显示号码,请确认已申请固 话号码(displayCalleeNbr)。

c. 若需使用通话录音功能,请确认已向语音通话平台申请该功能。

d. 若使用个性化放音,请确认已按要求制作并通过放音文件管理页面向语音通 话平台提交放音文件,包括最后一分钟提示音(lastMinVoice),主叫提示 音(preVoice),主叫等待音(waitVoice),录音提示音

(recordHintTone),回呼提示音(callBackTone)。

e. 若需订阅呼叫状态和话单通知,请确认已通过应用管理向语音通话平台提交 呼叫状态通知URL(statusUrl)和话单通知URL(feeUrl)。若未提交,调用 接口时填写也可以。

● 注意事项 无。

● 使用限制 无。

接口类型

2-1 接口类型说明 请求方法 POST

访问URI /rest/httpsessions/click2Call/v2.0 通信协议 HTTPS

请求参数

2-2 请求 Headers 参数说明 参数名称 是否

必选

参数类型 说明

Content-Type 是 String 固定填写为application/json;charset=UTF-8。

参数名称 是否 必选

参数类型 说明

Authoriza

tion 是 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。不同编程 语言中将UTC时间戳转换为普通时间时使用的 格式不同,部分语言可参考表2-3。

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

2-4 请求 Body 参数说明

参数名称 是否

必选

参数类 型

默认 值

说明

displayNbr 是 String(4

-31) 无 此字段定义主叫用户收到语音通话平台的 呼叫时,主叫用户手机终端的来电显示号 码。需提前在订购号码页面申请该号码。

号码格式(固话):国家码+区号+固话,

与号码管理页面的“固话号码”保持一 致。

若该号码为“暂停”状态,语音通话平台 会从该应用下随机选取一个其他可用的固 话号码进行外呼。

callerNbr 是 String(4

-31) 无 此字段定义用户在SP开发的应用中,通过 语音回呼功能发起呼叫时所使用的主叫号 码。

● 手机号码格式:+{国家码}{手机号 码}。示例:+86135***0002。

● 固话格式:+{国家码}{区号}{固话号 码},其中区号需去掉首位的0。示 例:国家码86,区号0755,固话号码 28****02,填写为+8675528****02。

displayCallee

Nbr 是 String(4

-31) 无 此字段定义被叫用户收到语音通话平台的 呼叫时,被叫用户终端的来电显示号码。

需提前在订购号码页面申请该号码。

该号码可以与displayNbr配置为同一个号 码,也可以配置为不同号码。

号码格式(固话):国家码+区号+固话,

与号码管理页面的“固话号码”保持一 致。

若该号码为“暂停”状态,语音通话平台 会从该应用下随机选取一个其他可用的固 话号码进行外呼。

calleeNbr 是 String(4

-31) 无 此字段定义终端用户在SP开发的应用中通 过语音回呼业务发起呼叫时所拨打的被叫 号码。

号码格式:

● 手机号码格式:+{国家码}{手机号 码}。示例:+86135****0004。

● 固话格式:+{国家码}{区号}{固话号 码},其中区号需去掉首位的0。示 例:国家码86,区号0755,固话号码 28****04,填写为+8675528****04。

参数名称 是否 必选

参数类 型

默认 值

说明

maxDuration 否 Integer 0 此字段用于设置允许单次通话进行的最长 时间,通话时间从被叫接通的时刻开始计 算。

取值范围:0~1440分钟

● 0:系统不主动结束通话,由主被叫双 方结束通话。

● 1~1440:当通话时长达到此配置值,

系统主动结束通话。

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

lastMinVoice 否 String(1

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

此参数用于设置最后一分钟放音提示音,

此值填写SP定制的放音文件名,例如 lastmin_voice1.wav,参数取值有以下两 种场景:

● SP无需定制个性化放音,无需配置此 参数,系统将使用默认放音文件,放 音内容为:“本次通话时长还剩1分 钟”。

● SP需要定制个性化放音,接口消息中 携带此参数,参数值携带定制的放音 文件名,请提前制作放音文件并通过 放音文件管理页面提交到语音通话平 台。

lastMinToUE 否 String

(枚 举)

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

此字段用于设置最后一分钟放音的播放对 象。

● toa:仅对主叫用户放音。

● tob:仅对被叫用户放音。

● both:同时给主叫和被叫用户放音。

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

playPreVoice 否 String

(枚 举)

false 此字段用于设置主叫(callerNbr)应答语 音回呼后,呼叫被叫(calleeNbr)前,

是否向主叫(callerNbr)播放提示音。

当该参数设置为true时,播放完主叫提示 音(preVoice)后才播放主叫等待音

(waitVoice)并呼叫被叫

(calleeNbr)。

● true:播放提示音。

● false:不播放提示音。

参数名称 是否 必选

参数类 型

默认 值

说明

preVoice 否 String(1

-128) 无 当playPreVoice字段设置为true时此参数 有效。

此字段用于设置主叫(callerNbr)应答语 音回呼后,呼叫被叫(calleeNbr)前向 主叫播放的提示音,此值填写放音文件 名,例如pre_voice1.wav。

● SP无需定制个性化放音文件,接口消 息中无需携带此参数,系统将使用默 认放音“正在为您转接中,请稍 后”。

● SP需要定制个性化放音文件,接口消 息中携带此参数,请提前制作放音文 件并通过放音文件管理页面提交到语 音通话平台。

waitVoice 否 String(1

-128) 无 此字段用于设置主叫应答语音回呼后的等 待音,此值填写放音文件名,例如 wait_voice1.wav。

● SP无需定制个性化放音文件,接口消 息中无需携带此参数,系统将使用默 认放音,系统边给主叫放音(循环放 音)边拨打被叫用户;被叫应答才中 止放音。

● SP需要定制个性化放音文件,接口消 息中携带此参数,请提前制作放音文 件并通过放音文件管理页面提交到语 音通话平台。

waitVoice可结合calleeMedia使用。

calleeMedia 否 String

(枚 举)

all 该参数用于指定被叫的媒体音播放方式,

参数取值范围如下:

● all:透传被叫端的所有放音。当被叫 端返回振铃音等媒体音,则终止主叫 的等待音,播放被叫的媒体音,如彩 铃音等。

● none:不透传被叫所有放音,一直播 放主叫的等待音,直到被叫应答或挂 机。

● fail:只有在被叫回失败放音时(带 reason原因值),才终止主叫的等待 音、播放被叫的失败放音。

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

参数名称 是否 必选

参数类 型

默认 值

说明

statusUrl 否 String(1

-128) 无 此参数请采用BASE64编码进行加密。

此字段用于设置SP接收状态上报的URL。

语音通话平台将业务触发过程中通话的状 态信息(包括呼出、振铃、摘机和挂机信 息)推送至此服务器,SP根据通话状态信 息确定用户状态。

URL可填写为http://IP:Port或域名,推荐 使用域名,支持http和https。且该域名对 应多个服务器,避免单点故障无法接收通 知。

URL只能由大小写字母(a-z、A-Z),数 字(0-9),中划线(-),英文冒号

(:),英文点号(.),以及英文斜杠

(/)组成,不支持其它字符。最大128字 节。

feeUrl 否 String(1

-128) 无 此参数请采用BASE64编码进行加密。

此参数用于设置SP接收话单上报的URL。

语音通话平台将业务产生的话单推送至此 服务器。

URL可填写为http://IP:Port或域名,推荐 使用域名,支持http和https。且该域名对 应多个服务器,避免单点故障无法接收话 单。

URL只能由大小写字母(a-z、A-Z),数 字(0-9),中划线(-),英文冒号

(:),英文点号(.),以及英文斜杠

(/)组成,不支持其它字符。最大128字 节。

recordFlag 否 String

(枚 举)

false 此字段设置语音回呼通话过程是否录音。

● true:开启录音,请在添加应用时开启 录音功能。

● false:不开启录音。

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

录音相关API包括“获取录音文件下载地 址API”。

参数名称 是否 必选

参数类 型

默认 值

说明

recordHintTo

ne 否 String(1

-128) 无 此字段在recordFlag为true时才有效。

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

参数传值为指定的放音文件名,例如 recordhint_voice1.wav。

● 无需定制个性化放音时,接口消息中 无需携带此参数,此时系统可能会放 默认提示音,也可能不放,请联系华 为云客服确认。

● 需要定制个性化放音文件时,接口消 息中携带此参数,请提前制作放音文 件并通过放音文件管理页面提交到语 音通话平台。

partyTypeRe quiredInDisc onnect

否 String(

枚举) fals

e 该参数用于指定语音通话平台给开发者发 送disconnect的呼叫状态时,通知消息是 否需要携带通话主动挂机的用户类型(主 叫挂机、被叫挂机、平台挂机)。

该参数取值范围如下:

● true:需要携带

● false:不需要携带

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

returnIdlePor

t 否 String(

枚举) fals

e 指示是否需要返回平台空闲呼叫端口数 量。

● true:需要返回

● false:不需要返回

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

userData 否 String(1

-256) 无 此字段用于SP开发者自定义呼叫发起时,

设置用户的附属信息,应用场景可以是当 开发者想要对每一次呼叫的用户进行跟踪 时,该参数可以携带用于标识用户的信 息,如customerId123.

语音通话平台不对此参数做强制要求,如 果开发者传入此参数,语音通话平台会在 后续发给SP的通知消息中携带该参数值。

语音通话平台不对此参数做强制要求,如 果开发者传入此参数,语音通话平台会在 后续发给SP的通知消息中携带该参数值。