2

现在我已经解决了我之前关于 clickatell 的问题:

使用 C#.NET 在 ASP.NET 中实现 Clickatell 回调

我已经注册了 clickatell 双向消息,我正在等待 clickatell 分配一个虚拟手机号码 (VMN)。

不幸的是,我刚刚阅读了clickatell论坛帖子:

http://forums.clickatell.com/index.php?topic=8192.msg9880#msg9880

那:

“不幸的是,您无法使用 Clickatell API 匹配传入和传出消息。只有消息 ID 会从操作员传回。”

休斯顿,我们有一个问题!

我注册 clickatell 双向消息传递和 VMN 的主要原因是接收对出站 SMS 消息的响应并将响应与出站消息相关联。现在clickatell说我不能这样做。

据我了解,当 clickatell 收到一条短信到我的 VMN 时,他们会向我的应用程序发送一个回调,其中包含查询字符串中的以下详细信息:

· Api_id (api_id=)
· MO 消息 ID (moMsgId)
· 始发 ISDN (from=)
· 目的地 ISDN (to=)
· 日期和时间 [MySQL 格式,GMT + 0200] (timestamp=)
· DCS 字符编码 (charset= ) [适用时]
· 标题数据 [例如 UDH 等] (udh=) [适用时]
· 消息数据 (text=)

我希望使用 moMsgId 将响应与出站消息匹配,但这不起作用,因为它只是与移动发起 (MO) 消息关联的 ID,即从手机发送(发起)到通过 Clickatell 应用程序。

原始 ISDN(我理解为发送消息的手机的手机号码)不会帮助我将响应与出站消息进行唯一匹配,因为在一段时间内,我可以发送多条消息到一部手机,所以我的出站消息表中有多行包含相同的始发 ISDN。

我希望这是有道理的。基本上,我想要实现的是:将响应(传入)消息与出站消息匹配。我以为我可以使用 clickatell API 来实现这一点,但显然不是。

除非我遗漏了某些东西,或者我很困惑或者只是愚蠢,否则任何人都可以帮助我使用 clickatell API 将响应(传入)消息与出站消息匹配吗?

或者,有谁知道一个可靠的 SMS 网关可以让我这样做吗?所谓“可靠”,我的意思是一种服务,它只需要我的最小或零输入(一旦配置)。它可能是免费的,但我愿意付钱。

我的应用程序最初需要与英国和爱尔兰的移动电话网络提供商合作,并在短期内扩展到欧洲大陆和世界其他地区。

谁能帮助我。对于为 SMS Gateway 公司工作或代表 SMS Gateway 公司的任何人来说,这将是一个非常容易/便宜的销售。

谢谢。

亲切的问候

沃尔特

4

2 回答 2

2

不幸的是,当手机回复 SMS 时,它不包含有关原始消息的任何信息。

由于这个原因,将移动发起 (MO) 消息与移动终止 (MT) 消息进行匹配的任何尝试都是最好的猜测。

我看到的只有两种方法可以尝试解决这个问题,但都有问题。

第一种方法是拥有多个虚拟手机号码,每次将消息发送到特定的手机号码 (MSISDN) 时,您都会在 VMN 列表中循环以用作回复地址。这样做的问题是,您与特定移动设备进行的对话只能与您拥有的 VMN 一样多。此外,人们倾向于将 VMN 保存在手机的联系人列表中,如果他们通过使用联系人而不是单击消息上的回复来回复消息,他们实际上是在回复错误消息。

第二种方法是在 MT 消息文本中包含唯一编号(或关键字),并在回复指令中包含唯一编号(或关键字)。这显然很容易出现用户错误。

由于与它们相关的问题,我不知道提供这些的 SMS 网关。

于 2011-02-08T14:57:33.117 回答
1

CDYNE 声称能够做到这一点。您可以发送一个唯一的 ID,他们会将其与回复一起发回。

于 2012-03-14T21:44:28.380 回答