【问题标题】:Nexmo Inbound message trackingNexmo 入站邮件跟踪
【发布时间】:2018-09-19 04:39:57
【问题描述】:

我使用以下代码使用 Nexmo 发送消息。它运行成功,我得到了唯一的 messageId 作为响应。

$url = 'https://rest.nexmo.com/sms/json?' . http_build_query(
                [
                    'api_key' => env("NEXMO_API_KEY"),
                    'api_secret' => env("NEXMO_API_SECRET"),
                    'to' => $data['to'],
                    'from' => $data['from'],
                    'text' => 'Hi I am sending the message',
                    'callback' => $data['callbackUrl']
                ]
            );
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $response = curl_exec($ch);
        $data = json_decode($response);

响应:“message_id”:“0D000000890273B7”。

发送短信后,我的客户回复了短信。我正在尝试跟踪消息并存储到数据库中。 我在 Nexmo 设置中设置了 webhooks 回调 URL。它也在运行并转储响应。

[msisdn] => 121#######
[message_id] => 0B000000CB352009
[to] => 1#########
[message_timestamp] => 2018-04-09 15:04:45
[keyword] => YES
[text] => Hello I am replying the message.

这里我注意到 messageId 不同了,那么我们如何跟踪回复的消息与这个 messageId “0D000000890273B7”相关?请帮帮我。我无法匹配电话号码,因为我们没有使用唯一的电话号码。

【问题讨论】:

    标签: curl laravel-5 nexmo


    【解决方案1】:

    没有办法完美关联 SMS 的“回复”,因为 SMS 规范中没有回复的概念,当用户在他们的手机上发送回复时,他们实际上是在为他们的消息的 senderID 撰写新消息收到但没有数据在消息之间共享,您在 SMS 中只有 TO、FROM、TEXT 和 TIMESTAMP。其他一切都是手机操作系统本地的

    【讨论】:

    • 所以我们如何区分消息是为特定客户回复的聊天系统。
    • 正如我所说,没有完美的方法来识别短信中的回复,通常的方法是为客户的每次对话使用单独的电话号码。
    • 好的,我们可以在发送短信的同时发送额外的参数并在callBack URL中返回吗?
    • 不行,因为发送的消息和用户发回的消息之间没有关系。他的回调url只用于收货
    猜你喜欢
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    • 2012-09-07
    • 2017-07-05
    • 2011-06-30
    • 2014-03-22
    • 2020-04-22
    • 2018-09-19
    相关资源
    最近更新 更多