2013-10-25 1 views
2

Twilio 계정을 통해 SMS 메시지를 보내려면 parse.com 계정의 클라우드 코드로 작업하고 있습니다. Parse가 제공하는 통합 Twilio 클라우드 모듈을 사용하고 있습니다. 호출에 StatusCallback 매개 변수를 포함시키지 않으면 sendSMS 호출이 성공합니다. 나는 메시지를 송신 응답에 구문 분석에 저장하고 콜백을 사용하여 msg 상태를 보내거나 실패로 업데이트하려고합니다. 콜백 URL은 내 구문 분석 계정의 다른 클라우드 기능입니다. 나는 HTTPS 사이에 내 앱 키와 JS 키를 포함하는 URL의 구문 분석 형식을 사용하고 있습니다 : //와 API를 URL :Twilio SendSMS 파스 클라우드에서 거부 상태 콜백 URL

https : //로 APPID : 자바 스크립트 키 = jsKey @ api.parse.com/1/기능/callbackSMS
(단은 APPIDjsKey있다 파싱하여 제공된 키)

sendSMS를 호출 할 때이 URL을 StatusCallback 매개 변수로 포함 시키면 Twilio 서버가 호출을 거부합니다. 응답으로 21609 오류 (잘못된 URL)가 식별됩니다. 그러나 CURL을 사용하여 URL을 수동으로 호출 할 수 있습니다. 또한 정확한 URL 형식은 해당 번호의 메시징 요청 URL로 구성 할 때 올바르게 작동합니다. Twilio 웹 사이트에서 내 계정과 연결된 번호를 입력하면됩니다.

클라우드 기능의 Parse/Twilio 모듈을 사용하는 사람은 누구입니까? Parse 클라우드 코드에서 sendSMS를 호출하고 StatusCallback URL을 제공하여 다른 Parse 클라우드 기능에서 업데이트를 수신하여 Twilio에서 SMS를 보내면 msg 상태를 업데이트하는 방법은 무엇입니까? 내 sendSMS 구름 코드는 완전성을 위해서 :

client.sendSms({ 
    to:'+12223334444', 
    from:'+1222333555', 
    body:'msg body from db', 
    StatusCallback:'https://appID:[email protected]/1/functions/callbackSMS' 
    }, function (err, responseData) { 
     if (err) { 
      console.log(err); 
      response.error(err); 
     } else { 
      var SMSLog = Parse.Object.extend("Message"); 
      var smsLog = new SMSLog(); 

      smsLog.save({ 
       messageId: responseData['sid'], 
       dateCreated: responseData['dateCreated'], 
       dateUpdated: responseData['dateUpdated'], 
       dateSent: responseData['dateSent'], 
       accountSid: responseData['accountSid'], 
       to: responseData['to'], 
       from: responseData['from'], 
       body: responseData['body'], 
       status: responseData['status'] 
      }, { 
      success: function (smsLog) { 
       response.success(responseData); 
      }, 
      error: function (smsLog, error) { 
       response.error("failed to save sms msg"); 
      } 
      }); 
     } 
    }); 
+0

안녕 제프, 나는이 같은 오류를보고있다가 ... 혹시이 문제를 해결하는 방법을 알아낼 했습니까? 감사! 마이크 – MrMikeT

+0

나는 이것에 대한 해결책을 찾지 못했습니다 ... Twilio 콜백이 Parse에 필요한 StatusCallback 형식을 처리하지 않는 것 같습니다. 백그라운드 작업에서 모든 미해결 메시지의 상태를 폴링하는 것으로 돌아 섰습니다 ... 누군가가 StatusCallback 작업을 수행하는 방법을 알아 내면 여러분의 의견을 듣는 것이 좋을 것입니다. 감사! – MrMikeT

답변

2

Parse.com가 호스팅 된 클라우드 코드 솔루션은 실제로 노드를 실행하지 이후, 사용자 정의 모듈을 사용하고, 공공 노드 모듈을 사용할 수 없었다.

이제 Parse Server를 자신의 서버/로컬 호스트/클라우드 공급자에서 실행하고 official public Twilio npm module을 사용할 수 있습니다. https://github.com/parseplatform/parse-server

그리고 twilio의 NPM 모듈 : 여기에 구문 분석 서버 저장소 밖으로

확인 https://www.npmjs.com/package/twilio