消息系统接口设计

  •  系统涉及的消息模块

总结:

  • 公众号订阅消息可以跳H5和小程序
  • 小程序的订阅消息只能跳到小程序
  • 公众号订阅消息只能通过公众号发送,如果用户取消了关注公众号,则通过服务通知发送
  • 小程序订阅消息是通过服务通知发送

短信业务分析

为了满足各个客户端短信发送情况的需求,根据短信的业务行为和场景分析,总结出短信3种功能属性,分别是处理模式,短信类型和短信服务提供商.具体如下图:

针对阿里云短信的发送,需要注意的问题:

  1. 新西兰、印尼、越南、中国台湾  From请求参数需填"Alirich"(如果不填,可能会发送失败或者收不到),并且发送台湾地区短信,需提工单给阿里云报备(台湾运营商的要求).
  2. 美国、加拿大需要填写10dlc注册后运营商提供的SenderID
  3. 新加坡须拥有新加坡实体号码,并完成Sender ID 注册 ,具体看(​​​https://help.aliyun.com/zh/sms/product-overview/announcement-on-the-enforcement-of-the-regulations-governing-the-imda?spm=a2c4g.11186623.0.0.42384bc2UUurWx​​), 不注册也可以发送,终端收到会显示成Likely-SCAM,如果需要注册,请您自行前往Singapore SMS Sender ID Registry (“SSIR”)注册, 具体步骤如下:

              3.1 在​​https://smsregistry.sg/web/login上创建一个账户;​

   3.2 填写公司的注册名称(基于ACRA ​​https://www.acra.gov.sg/)、注册地址、UEN、账户管理员的全名、联系电话和邮件地址;​

   3.3 合作的短信供应商名单选择Alibaba Cloud (Singapore) Private Limited. ;

   3.4 需注册的Sender ID(先到先得原则)

   3.5 公司的Corppass,用于公司验证。若无Corppass,则需提供公用事业账单或电信账单。

   3.6  费用说明:每个注册公司将收取500新元一次性注册费,每个sender id需要200新元年费(税前),从2023年2月1日开始计费。

短信接口设计

发送短信

URLhttps://域名/sms/sendSms

Type: POST

Content-Type: application/json

 1.接口说明

  • 此接口适用于短信单发场景,同时可支持群发(最多可向 1000 个手机号码发送同样内容的短信),但群发会有一定延迟。
  • 此接口只有发送短信的功能,其他业务操作需各端实现,比如滑块验证等.

 

2.请求参数

参数名称

类型

是否必须

描述

示例值

countryCode

String

国际区号

 phoneNumbers

String

接收短信的手机号码

发送多个手机号请以英文逗号分隔

code

String

验证码,定义为JSON格式,可传多个参数

{"code":"987456"}或者{"perid":"1","prizeValue":"888"}

templateId

String

业务code,针对每个客户端,每种发送的模版和短信服务提供商不同,都会有一个不同的TemplateId

比如:瘦吧APP使用阿里云短信,发送验证码会有一个TemplateId,如果发送春节奖品排行,又会有一个TemplateId.

注: 模版code设计

一个模版标识可能对应于多个短信服务提供商.针对多个短信服务提供商,提供相同模版,便于失败重试机制.

3.返回参数

参数名称

类型

描述

     示例值

 -

Object

    返回数据

code

String

请求状态码

200

msg

String

状态码的描述

 data

Object

响应数据

短信表设计

IM业务分析

IM聊天,服务端现在主要提供的功能是系统的提示,通过系统提示提醒用户消息内容或引导用户去完成某种行为。通过业务行为和场景分析,主要得出IM推送3种主要的功能属性,体如下:

IM接口设计

发送单聊普通消息

URL: https://域名/im/private/publish

Type: POST

Content-Type: application/json

1.接口说明

  • 此接口支持批量发送的功能,单次最多向1000个用户发送消息.
  • 每个消息服务提供商对发送频率有不同限制, 大批量推送消息时,需注意发送频率,否则可能会造成消息的丢失.(瘦吧APP 测试Appkey:4z3hlwrv4oeat 最大的qps是 6600 生产Appkey:25wehl3u2si9w 最大的qps是 42000)

2.请求参数

参数名称

类型

是否必须

描述

示例值

sender

String

发送者

 receiver

String

接受者

发送多个用户请以英文逗号分隔

50,600,1594

content

String

发送内容,定义为JSON格式

{"content":"xxx","nickName":"xxx"}

templateId

String

模版code,与消息服务提供商和消息类型有关

3.返回参数

参数名称

类型

描述

     示例值

 -

Object

    返回数据

code

String

请求状态码

200

msg

String

状态码的描述

 data

Object

响应数据

邮箱业务分析

发送邮箱业务比较简单,只需配置好邮件服务器,并配好账号密码,就可以发送邮箱.

邮箱接口设计

发送邮箱消息

URL: http://域名/mail/sendMail

Type: POST

Content-Type: application/json

1.接口说明

  • 瘦吧app使用的是阿里邮箱,要注意具体每天发送额度和发送频率,需根据邮箱域名咨询阿里云才能知道.

2.请求参数

参数名称

类型

是否必须

描述

示例值

 receiver

String

收件人

发送多个用户请以英文逗号分隔

title

String

标题

content

String

内容

3.返回参数

参数名称

类型

描述

     示例值

 -

Object

    返回数据

code

String

请求状态码

200

msg

String

状态码的描述

 data

Object

响应数据

微信公众号-模版消息接口设计

模版消息接口

URL: ​ https://域名/weChat/​officialAccount/sendTemplateMsg

Type: POST

Content-Type: application/json

1.接口说明

​2.请求参数

参数名称

类型

是否必须

描述

示例值

 receiver

String

接受者openid

发送多个用户请以英文逗号分隔

msgContent

String

发送内容,定义为JSON格式

{"serviceType":"问题咨询","serviceStatus":"待回复","time":"123655465"}

templateId

String

模版code,与消息服务提供商和消息类型有关

3.返回参数

参数名称

类型

描述

     示例值

 -

Object

    返回数据

code

String

请求状态码

200

msg

String

状态码的描述

 data

Object

响应数据

小程序-订阅消息接口设计

订阅消息接口

URL:  https://域名/weChat/applet/sendSubscribeMsg

Type: POST

Content-Type: application/json

1.接口说明

2.请求参数

参数名称

类型

是否必须

描述

示例值

 receiver

String

接受者openid

发送多个用户请以英文逗号分隔

        msgContent

String

发送内容,定义为JSON格式

{"serviceType":"问题咨询","serviceStatus":"待回复","time":"123655465"}

templateId

String

模版code,与消息服务提供商和消息类型有关

3.返回参数

参数名称

类型

描述

     示例值

 -

Object

    返回数据

code

String

请求状态码

200

msg

String

状态码的描述

 data

Object

响应数据

  • 32
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值