Nexmo Получение SMS Java

Мне было интересно, какой подход я должен использовать, чтобы иметь возможность получать сообщения через Nexmo. Есть ли у кого-нибудь опыт по этой проблеме, потому что Nexmo, похоже, не имеет четкой документации о том, как получать сообщения через библиотеки. Любая помощь будет замечательной.


person beastlyCoder    schedule 22.05.2017    source источник
comment
Раньше я использовал Nexmo в приложении узла. Вам нужно создать учетную запись и добавить свой номер, и вы получите смс с кодом для проверки, затем добавьте до 10 номеров для отправки, и все эти номера также должны быть проверены, а затем используйте очень простой API для отправка   -  person Fady Saad    schedule 22.05.2017
comment
Я могу очень легко отправлять сообщения, но можно ли добиться такой же простоты и при получении сообщений?   -  person beastlyCoder    schedule 22.05.2017


Ответы (1)


Для каждого номера Nexmo, которым вы владеете, вы можете настроить URL-адрес, который будет вызываться Nexmo при получении SMS на этот номер. Запрос GET будет содержать информацию о полученном SMS в качестве параметров запроса.

Добавляется небольшая сложность (пока вы разрабатываете), потому что Nexmo должен иметь возможность доступа к URL-адресу, размещенному на вашем компьютере для разработки, который, вероятно, не является общедоступным в Интернете! Для этого вам нужно запустить что-то вроде Ngrok, который обеспечит туннель к порту на вашем локальном компьютере с общедоступный URL-адрес.

Я бы рекомендовал начать с простого сервлета, который выводит свои параметры:

public class InboundSMSServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req,
                         HttpServletResponse resp)
            throws ServletException,
                   java.io.IOException {
        System.out.println("Received: " + req.getMethod());
        for (String param : Collections.list(req.getParameterNames())) {
            String value = req.getParameter(param);
            System.out.println(param + ": " + value);
        }
    }
}

... настроить его на удобный URL ...

<servlet>
    <servlet-name>inbound-sms</servlet-name>
    <servlet-class>getstarted.InboundSMSServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>inbound-sms</servlet-name>
    <url-pattern>/inbound</url-pattern>
</servlet-mapping>

Запустите контейнер сервлетов и ngrok одновременно и убедитесь, что URL-адрес ngrok с /YOUR_PROJECT_NAME/inbound в конце работает должным образом. Затем перейдите на панель инструментов Nexmo, выберите Ваши номера и нажмите "Изменить" на номере, который вы хотите получить. СМС-сообщения на. Введите URL-адрес Ngrok, который вы протестировали выше.

Теперь отправьте SMS на номер, который вы настроили, и вы должны увидеть содержимое вашего сообщения, напечатанное на консоли; что-то типа:

Received: GET
messageId: 0B0000004A2D09D9
to: 447520666777
text: Hello Nexmo!
msisdn: 447720123123
type: text
keyword: HELLO
message-timestamp: 2017-04-27 14:41:32

Подробная информация о том, как это работает, задокументирована на сайте Nexmo.

person Judy2K    schedule 26.05.2017