SMS和MMS处理的2向命令(2014年新增功能)

张贴者 于2014年6月2日在 支持博客

主题关键字: , ,

NowSMS中的2-Way命令功能可用于构建自动化的SMS和MMS应用程序。收到SMS或MMS消息后,NowSMS将评估消息的内容,并可以基于消息的内容执行程序或连接到HTTP URL。程序或脚本可以根据消息内容执行操作,并有选择地返回回复。

对于NowSMS 2014版本,我们使2-Way命令更易于处理SMS和MMS消息。

双向命令可能执行的任务示例包括:

  • 数据库查询和更新
  • 处理图像或视频提交
  • 基于关键字的相关内容或图像(例如房地产或产品信息)的检索
  • 允许最终用户注册移动警报
  • 将收到的邮件转发到电子邮件地址

“2-Way” 配置对话框包含与创建2向应用程序相关的设置。

2路配置1

“处理收到的短信” 必须选中此复选框,以使网关能够接收和处理SMS消息(以及可选的MMS消息)。

“收到的短信命令表” 列出所有已定义的命令。使用“Add”按钮以添加新的2向命令,或使用“Edit” or “Remove”按钮来操作先前定义的命令。

如何处理收到的消息的决定是基于收到的SMS消息的第一个单词,称为 “Keyword”。 (NowSMS的先前版本将此关键字称为“ 短信Command Prefix”。)基于此关键字,NowSMS将执行与该关键字关联的命令。如果接收到的消息与任何已定义的关键字都不匹配,则将其视为特殊通配符关键字的匹配项,表示为*

2路配置2

2路配置22路配置3

2向命令处理器还会查看消息所寻址到的电话号码,换句话说,就是接收(或接收者)电话号码。例如,如果消息是由连接到NowSMS服务器的GSM调制解调器接收的,则 “Receive Phone Number” 将是与该调制解调器关联的电话号码。或者,如果连接到SMS服务提供商,则这可能是与您的服务关联的短代码号。这样,可以定义不同的2向命令来处理通过不同SMSC连接到达的消息。的“Receive Phone Number”如果命令适用于所有电话号码,则可以保留为空白。

可以采取以下一项或多项操作来处理收到的消息:

“Send Text Reply” –处理邮件时,使用此选项发送简单的自动响应。

“在回覆中包含图片” –使用此选项发送带有响应的GIF,PNG或JPEG格式的图像。这将强制将响应作为MMS消息而不是SMS消息发送出去。

“Forward To 电子邮件加ress” –使用此选项将收到的邮件转发到电子邮件地址。请注意,为使此设置正常工作,必须配置电子邮件设置。有关电子邮件配置的更多信息,请参阅 http://www.zgbianpofanghuwang.com/tag/e-mail.

“添加到通讯组列表” –使用此选项可将发件人地址添加到指定的公共分发列表中。 (如果通讯组列表不存在,则将在处理第一个请求时将其添加。)

“从通讯组列表中删除” –使用此选项可将发件人地址从指定的公共分发列表中删除。 (如果删除后通讯组列表为空,则将其删除。)

“运行HTTP或本地命令” –使用此选项可以运行本地程序(EXE)或连接到HTTP URL以处理消息内容。

当基于入站消息的接收来执行命令时,用于程序或HTTP请求的命令行可以包括来自SMS消息内容的可替换参数。支持以下可替换参数:

@@ SENDER @@ SMS消息的发件人的电话号码。
@@ SMSPREFIX @@ SMS消息的第一个单词。
@@短信@@ SMS消息的内容(消息的第一个单词除外)。
@@ FULLSMS @@ SMS消息的完整内容。
@@ RECIP @@ 如果有的话,打算接收(或已经接收到的电话号码,如果该消息是通过GSM调制解调器连接收到的)电话号码。
@@ MESSAGEID @@ SMS-IN目录中消息文件的本地NowSMS定义的ID。
@@ RECEIPTMESSAGEID @@ 如果此消息是送达回执,则这是原始发送的消息的消息ID。否则,此参数为空。
@@服务类型@@ 如果通过SMPP接收到此消息,则它将包含与该消息关联的service_type值。否则,此参数为空。
@@ SMSCROUTE @@ 标识从其接收此消息的SMSC连接。这将是SMSC连接的名称(例如,蓝牙调制解调器或SMPP – abcd:xyz),或者如果SMSGW.INI的SMSC特定部分具有与SMSC关联的RouteName =设置,则此参数将具有值的RouteName =设置。
@@ MSGDATE @@ NowSMS以YYYYMMDD格式接收消息的日期。
@@ MSGTIME @@ NowSMS以HHMMSS格式接收消息的时间。
注意:当通过专用(非Android)GSM调制解调器接收到SMS消息时,NowSMS会保留SMSC时间戳,并为2路命令占位符@@ MSGDATE @@和@@ MSGTIME @@返回此时间值。
@@ BINARY @@ 设置“1”如果消息是二进制格式,“0”除此以外。 (注意:只有在以下情况下,二进制消息才会被路由到2向命令:“Command to Execute” is HTTP based, and @@ BINARY @@ is present in the “Command to Execute” field.)
@@ UDH @@ 收到消息的用户数据标题。 (仅对于二进制消息,请参阅 @@ BINARY @@ 参数定义。)
@@ PID @@ 接收到的消息的协议ID字段(PID)。 (仅对于二进制消息,请参阅 @@ BINARY @@ 参数定义。)
@@ DCS @@ 接收到的消息的数据编码方案(DCS)。 (仅对于二进制消息,请参阅 @@ BINARY @@ 参数定义。)

要将结果返回给用户,该命令可以直接将简单文本响应返回给网关(“使用命令输出回复发件人” 选中),否则该命令可以通过对网关的单独HTTP请求生成对网关的更复杂的响应。可执行程序通过将结果打印到屏幕上来将简单的文本响应返回到网关,网关在该屏幕上捕获屏幕输出,并生成SMS响应以通过SMS将屏幕输出文本发送回发送方。 HTTP请求通过返回MIME类型的内容将简单的文本响应返回到网关“text/plain”.

可以在以下位置找到运行本地VBScript的示例2向命令,该脚本创建接收到的消息的日志文件 http://www.zgbianpofanghuwang.com/discus/messages/1/333.html.

要指定HTTP命令,该命令应以前缀http://开头…例如,http:// server:port / path?sender = @@ SENDER @@&message=@@FULLSMS@@.

NowSMS将使用命令定义中指定的变量名称发出HTTP GET请求。 NowSMS还可以使用标准的URL编码的HTTP POST格式。指定httppost://而不是http://,并在?之后指定变量。将使用HTTP POST而不是HTTP GET进行联网。

使用HTTP命令时,如果该命令是直接将响应返回给发件人,则HTTP响应必须为MIME内容类型“text/plain”.

可以在以下位置找到一些有用的示例 http://www.zgbianpofanghuwang.com/discus/messages/1/4520.html.

如果通配符SMS关键字未与任何命令关联,则任何与关键字不匹配的入站SMS消息都将保存到SMS-IN目录,文件扩展名为“.SMS”,并且它们可以由独立于NowSMS的另一个应用程序处理。

 

2向命令和彩信

使用2向命令处理MMS消息更加困难,因为它们可能包含图像,视频或其他附加内容类型。

NowSMS支持使用HTTP文件上传格式,该格式使用HTTP POST将整个MMS消息内容发布到应用程序。可以在以下文章中找到演示此接口的PHP脚本: 使用PHP脚本接收MMS消息.

根据客户反馈,从2014年5月30日发布的NowSMS开始,提供了一个附加选项,该选项允许使用相同的2向命令将MMS消息与SMS消息一起处理。在以下情况下启用此选项“处理收到的MMS消息” and “使用SMS 2种方法命令” are both checked.

用于检索任何图像或其他内容对象的URL引用将使用变量AttachFile1,AttachFile2,AttachFile3等自动添加到2-way命令中。文件附件的URL引用将仅包含路径。

最好用一个例子来解释。考虑下面的2向命令:

http://nowsmslocal/php/log.php?sender=@@SENDER@@&text=@@FULLSMS@@

收到包含图像的MMS消息时,生成的2向命令将类似于以下内容:

http://nowsmslocal/php/log.php?sender=%2B447777777777&text=Test%20Message&AttachFile1=/SMSAttachFile/534E8AEE/IMG_6815.jpg

要检索此对象,请连接到NowSMS Web界面端口,包括IP地址或主机名,例如:

http://127.0.0.1:8800/SMSAttachFile/534E8AEE/IMG_6815.jpg

如果附加了多个文件,则将使用序列AttachFile2,AttachFile3等添加其他URL参数。

 

在没有单独的Web服务器的情况下使用PHP脚本

的PHP脚本通常用于2路SMS或MMS处理,提供了一种方便的机制来处理应用程序中接收到的消息内容,并可选地回复接收到的消息,更新或查询数据库或对消息采取其他操作这可能涉及向另一方发送一个或多个消息。

NowSMS通过HTTP接口与PHP脚本进行接口,该接口通常需要安装PHP的单独HTTP Web服务器。 NowSMS还具有无需本地Web服务器即可与PHP本地连接的功能。可以在下面的文章中找到有关此功能的更多信息: http://www.zgbianpofanghuwang.com/now-sms-native-php-scripts

如有评论和更多讨论,请单击此处访问NowSMS技术论坛(讨论板)...