Я хочу ответить на смс-сообщение twilio простым текстом и в то же время переслать его на какой-нибудь emailId - PullRequest
0 голосов
/ 15 мая 2018

Настроил URL-адрес webhook, который вызывает следующий код :::

String body = request.getParameter("Body");
    String fromNumber = request.getParameter("From");
    String message;
    Message sms = new Message.Builder().body(new Body(message)).build();
    // Create a TwiML response and add our friendly message.
    MessagingResponse twiml = new MessagingResponse.Builder().message(sms).build();
    response.setContentType("application/xml");
    try {
        response.getWriter().print(twiml.toXml());
        return twiml.toXml();
        final TwilioEmailContextDTO twilioEmailContextDTO = new TwilioEmailContextDTO();
        twilioEmailContextDTO.setBody(body);
        twilioEmailContextDTO.setFromNumber(fromNumber);
        forwardTwilioSMSToMail(twilioEmailContextDTO);
    } 

Q1: String fromNumber = request.getParameter("From"); дает мне номер от.

Q2: Также я получаю The constructor Body(String) is undefined" ошибку компиляции.

В3: Я использую обычный способ Hybris для пересылки SMS-сообщений по почте (с помощью emailService), у нас есть два способа сделать это?

обновление с кодом

{Пожалуйста, посмотрите на метод, который я использую. Использование Spring, аннотации.

@RequestMapping(value = "/twilioReply", method = RequestMethod.POST)  
@ResponseBody  
public void TwilioReplies(HttpServletRequest request, HttpServletResponse response) throws IOException {  
    String body = request.getParameter("Body");   
    String fromNumber = request.getParameter("From");  
    String messageBody = this.configurationService.getConfiguration().getString(TWILIO_REPLY);  
    Body smsBody = new Body.Builder(messageBody).build();  
    Message message = new Message.Builder().body(smsBody).build();  
    // Create a TwiML response and add our message.  
    MessagingResponse twiml = new MessagingResponse.Builder().message(message).build();  
    response.setContentType("application/xml");  
    try {  
        response.getWriter().print(twiml.toXml());  
    } catch (TwiMLException e) {  
        LOG.error("Exception Occured while twiml Email :",e);  
    }
} 

1 Ответ

0 голосов
/ 16 мая 2018

Евангелист разработчика Twilio здесь.

A1: Параметр From - это тот, который Twilio отправляет на номер, отправивший сообщение.Так что да, request.getParameter("From") должно быть этим числом.

A2: Body также построен, как в этот пример в документации :

Body body = new Body.Builder("Store Location: 123 Easy St.").build();
Message message = new Message.Builder().body(body).build();

A3: Twilio не имеет мнения о том, как вы отправляете электронные письма на свой собственный сервер.Если это работает для вас, тогда сделайте это!

...