文档首页 > > API参考> X模式> 短信通知接口

短信通知接口

分享
更新时间: 2020/05/29 GMT+08:00

接口功能

隐私保护通话平台通过此接口向客户服务器推送隐私号短信通知。

通知模式分为Notify和Block模式:

  • Notify:通知模式,Notify模式的短信通知会被推送到客户添加应用时填写的短信通知地址,客户收到通知后返回HTTP状态码为200的空消息即可。
  • Block:控制模式,Block模式的短信通知会被推送到客户添加应用时填写的短信控制地址,客户收到通知后需按照Block模式响应参数返回响应,指示隐私保护通话平台转发或丢弃短信。

X模式发送小号短信的流程如下:

A发送短信给X,隐私保护通话平台推送Block模式的小号短信通知给客户服务器,此时客户服务器必须返回响应参数对短信事件进行控制。隐私保护通话平台根据客户服务器返回的结果转发或丢弃小号短信;如果操作是转发,转发成功后推送Notify模式的小号短信通知给客户服务器。

请求方向

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

使用说明

前提条件

  • 客户添加应用时需设置短信通知接收地址,并确保提供的地址能够正常处理隐私保护通话平台发送的通知消息。
  • 若需要接收用户发送的短信内容,请参考如何设置才能收到短信内容?进行设置
  • 如果需要开启短信事件通知重传功能,需提前向系统管理员申请。该功能开启后,当隐私保护通话平台推送短信事件通知给客户服务器失败时,隐私保护通话平台会重传事件通知给客户服务器。最多重传6次,每次重传时间间隔可由系统管理员设置。

接口类型

表1 请求说明

请求方法

POST

访问URI

客户应用设置的接收短信通知的URL

通信协议

HTTPS

请求参数

表2 请求Body参数说明

参数名称

是否必选

参数类型

说明

appKey

String(1-32)

隐私保护通话应用的APP_Key。

smsEvent

SMSEventInfoType

短信状态事件。

表3 SMSEventInfoType定义

参数名称

是否必选

参数类型

说明

smsIdentifier

String(1-64)

短信唯一标识。

若用户发送的是长短信,隐私保护通话平台会将长短信的多个分片合并为一个通知上报。

notificationMode

String(1-8)

通知模式:

  • Notify:通知模式。
  • Block:控制模式。

calling

String(1-32)

真实发送方号码。

号码为全局号码格式(包含国家码),比如+8613866887021。

called

String(1-32)

真实接收方号码。

仅在隐私保护通话平台转发短信成功后携带。

号码为全局号码格式(包含国家码),比如+8613866887022。

virtualNumber

String(1-32)

X号码。

号码为全局号码格式(包含国家码),比如+8613800000001。

event

String(1-16)

短信状态事件。

TextSMS:文本短信

timeStamp

String(1-32)

短信事件发生的系统时间戳,UTC时间。

格式:yyyy-MM-dd'T'HH:mm:ss.SSS'Z'

其中SSS是毫秒,“T”和“Z”为固定字符。

extInfo

ExtensionInfoType

拓展信息。

subscriptionId

String(1-64)

绑定ID。

smsContent

String(1-2000)

用户发送的短信内容。

请参考如何设置才能收到短信内容?开通该功能。

sendResult

Integer

发送结果。

  • 0:成功
  • 1:因用户账户冻结,发送失败。
  • 2:因绑定关系不存在,发送失败。
  • 3:因X号码被暂停,发送失败。
  • 4:非商用APP,发送失败。
  • 5:因系统内部错误,发送失败。
  • 8:黑名单管控,发送失败。
  • 9:部分发送成功
  • 10:全部发送失败
表4 ExtensionInfoType定义

参数名称

是否必选

参数类型

说明

extParas

JsonArray

扩展信息(Key-Value)列表。

格式如下:

"extParas": [{"key": "splitNum","value": "value1"},{"key": "direction","value": "value2"}]

Key、Value取值分别不能超过32个字节。

“key”取值为“splitNum”时表示实际短信发送成功数量,即长短信拆分后的短信数量。value1表示“splitNum”的取值。

“key”取值为“direction”时表示短信发送方向。value2表示“direction”取值,固定取值为1。

响应参数

客户服务器接收到隐私保护通话平台的短信事件通知后,根据不同的模式返回不同响应消息。

  • Notify模式

    返回无消息体的200响应。

  • Block模式

    响应必须参照表5携带消息体,返回对短信事件的处理操作。

    表5 响应消息参数说明

    参数名称

    是否必选

    参数类型

    说明

    actions

    SMSActionType[]

    短信操作指示。

    表6 SMSActionType定义

    参数名称

    是否必选

    参数类型

    说明

    operation

    String(1-32)

    操作类型:

    • vNumberRoute:转发短信。
    • DiscardMessage:丢弃短信。

    message

    MessageInfo

    短信操作信息。

    仅当operation取值为“vNumberRoute”时有效。

    extParas

    JsonArray

    预留参数,当前版本无需关注。

    表7 MessageInfo定义

    参数名称

    是否必选

    参数类型

    说明

    called

    String(1-64)

    真实接收方号码。

    号码仅支持全局号码格式(包含国家码),比如+8613866887022。

    calling

    String(1-64)

    真实发送方号码。

    和请求参数中的calling参数的取值保持一致。

    号码仅支持全局号码格式(包含国家码),比如+8613866887021。

接口示例

接口示例仅供参考,请以实际消息为准。

  • 请求示例
    POST /block HTTP/1.1 
    
    content-type: application/json;charset=UTF-8
    authorization: WSSE realm="SDP",profile="UsernameToken",type="Appkey"
    x-wsse: UsernameToken Username="ZRBRz4bAXoFgEH7o4Ew308eXc1RA",PasswordDigest="NDA1MWIwNjI2ZTkyNWFlM2FhMTE5NDE1YTk5NjU1YWE4NjNlZTY1MmRhYzkxZGViNzczZjdjMjkzZWQ4ZjAwNA==",Nonce="ac1c911c4792492687f8f6b2264a491e",Created="2018-05-26T00:35:30Z"
    content-length:xx
     
      
    {
    "appKey":"S368k6Y31w4kNuI6X1gsne5n09gA",
    "smsEvent":{"smsIdentifier":"db2e7744804f4c5aa7d923aeddb42443",
                "notificationMode":"Block",
                "calling":"+8613800000001",
                "virtualNumber":"+8613800000000",
                "event":"TextSMS",
                "timeStamp":"2018-09-13T09:46:16.023Z",
                
                "sendResult":0
                }
    }
  • 响应示例

    请求为Notify模式时

    HTTP/1.1 200 OK 

    请求为Block模式时

    HTTP/1.1 200 OK 
    
     Content-Type: application/JSON;charset=UTF-8 
     Content-Length: xx 
      
    { 
    "actions":[{ 
                "operation":"vNumberRoute", 
                "message":{"called":"+8613800000002", 
                           "calling":"+8613800000001"
                          } 
               }] 
     }
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问