You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// Saas API// Send the message to SMS.
rpc SendSms(SendSmsRequest) returns (SendSmsResponse) {}
------
// SendSmsRequest is the message send to sms.messageSendSmsRequest {
// The invoke Id.stringid=1;
// The saas service name, like 'aliyun.sms'/'aws.pinpoint'/'...'stringsaas_name=2;
// The unique identifier for the SMS application.stringapplication_id=3;
// The SMS sender tag.stringsender_id=4;
// The SMS receive phone numbers.repeatedstringphone_numbers=5;
// The SMS message type, like 'text'/'voice'/'...'stringmessage_type=6;
// The SMS message data.bytesmessage_data=7;
// The metadata which will be sent to SMS components.map<string, string> metadata=8;
}
messageSendSmsResponse {
// The saas requestId.stringrequest_id=1;
// The data response from SMS service.bytesdata=2;
// The metadata returned from SMS service.map<string, string> metadata=3;
}
This issue has been automatically marked as stale because it has not had recent activity in the last 30 days. It will be closed in the next 7 days unless it is tagged (pinned, good first issue or help wanted) or other activity occurs. Thank you for your contributions.
Hi, This is
SMS notify API
proposal.What would you like to be added:
saas api: SMS notify api
Why is this needed:
#712
Support situation:
API spec:
字段设计考虑:
1. SMS原生API非常复杂,难取交集
aliyun/aws/tencent/...,在原生API设计上都有很多自己独特的请求参数,这取决于云SMS自身的一些设计。
例如:
2. SMS具有弱移植性
一个公司,如果SMS的目的是做通知(数量较少,对内),而不是大规模的对客营销/通知(这种场景应该自行部署一个服务,而不是使用runtime提供的saas能力),那么大概率也只会使用一种SMS工具(申请、维护、成本、管理、地域等各方面)。
所以本身SMS代码就不需要很强的可移植性,那么对于一些特有的字段,可以接受放在metadata中。
3. Runtime API取核心字段,其他字段放metadata
尽可能取多种SMS都有的一些概念,将这些字段放在API中,其他字段放metadata。
对于一次SMS发送,有几个字段是必需的:
application_id
:SMS属于比较重量级的资源,同时可能具备一定的社会影响,所以资源监管比较严格。往往需要提前审核SMS模板等,会赋予一个application_id,作为该模板的标识。sender_id
:sms场景有时可以传入senderIdphone_numbers
:接收手机号列表message_type
:SMS多媒体支持(语音/彩信等),使用该字段标识消息类型message_data
:对应message_type的消息体以及,设计两个基础字段:
id
:用于进行一定的标识,从而可以实现基于id获取配置的功能。往往SMS的配置相对静态,可以通过id获取SMS的相关配置,减少在metadata中的字段saas_name
:多SMS场景时使用,保留这样的可拓展性。当用到该场景时,由于不同SMS的发送参数有巨大差异,如果在代码中传递metadata等字段,则可能无法移植,这时候就需要上述的 id 功能。The text was updated successfully, but these errors were encountered: