2013-12-04 2 views
0

Мы используем TropoSharp для отправки SMS-сообщения на мой телефон. Странная часть заключается в том, что я не получил SMS-сообщения, вместо этого я получил телефонный звонок, и он очень короткий, и я не мог понять, что говорит человек по телефону.не удалось отправить СМС-сообщение через Tropo

Глядя на код, мы не могли понять, что случилось:

  string voiceToken = "xxx"; 
     string messagingToken = "xxx"; 
     IDictionary<string, string> parameters = new Dictionary<String, String>(); 
     parameters.Add("sendToNumber", "xxx"); 
     parameters.Add("sendFromNumber", "+1 201-xxx-04xx"); 
     string channel = Channel.Text; 
     parameters.Add("channel", channel); 
     string network = Network.SMS; 
     parameters.Add("network", network); 
     parameters.Add("msg", HttpUtility.UrlEncode("This is a test message from C#.")); 
     Tropo tropo = new Tropo(); 
     XmlDocument doc = new XmlDocument(); 
     string token = channel == Channel.Text ? messagingToken : voiceToken; 
     doc.Load(tropo.CreateSession(token, parameters)); 
     Console.WriteLine("Result: " + doc.SelectSingleNode("session/success").InnerText.ToUpper()); 
     Console.WriteLine("Token: " + doc.SelectSingleNode("session/token").InnerText); 
     Console.ReadKey(); 

Вот запрос HTTP (удалены некоторые секретная информация)

GET http://api.tropo.com/1.0/sessions?action=create&token=xxxxx&sendToNumber=xxx&sendFromNumber=+1%20201-xxx-xxxx&channel=TEXT&network=SMS&msg=This+is+a+test+message+from+C%23.& HTTP/1.1 
Host: api.tropo.com 
Connection: Keep-Alive 

здесь ответ (я думаю, это только означает, что запрос представляется успешным):

<session><success>true</success><token>xxxx</token><id>5c994e73ab85ff47fd1af4ffd4002e00 

Любая идея, где мы здесь ошибались? Спасибо

ответ

0

Вы используете подход сценариев, а не WebAPI, правильно? Можете ли вы разместить сценарий, который использует ваше приложение? Насколько я понимаю, при создании сеанса вы просто передаете переменные до вашего скрипта. Ваш скрипт может полностью игнорировать эти переменные и просто делать голосовые звонки.

Я согласен с вашим последним пунктом. Этот ответ просто говорит вам, что ему удалось создать сеанс. Он не возвращает никакой дополнительной информации о других этапах процесса.

+0

выше - наш код C# и формат запроса http. Я бы подумал, что это веб-апи, верно? – windfly2006

+0

Не обязательно. Код, который вы используете, выглядит так, как будто он предназначен для сценариев. Имена не на 100% очевидны. Вы все еще обращаетесь к серверу Tropo с помощью веб-api. Но подход WebAPI означает, что ваш сервер получает команды от Tropo. Чтобы узнать, откройте свою учетную запись в Tropo, нажмите кнопку «Приложения» в заголовке и посмотрите на отображаемое имя вашего приложения. Например, мой говорит «Prod API - Main (WebAPI)» – TheWooPeople

0

Для вашего приложения есть два токена: один для голоса и один для обмена сообщениями. Используете ли вы один для обмена сообщениями? Кроме того, исходящая передача сообщений не включена по умолчанию для вашего приложения. Вы должны связаться с поддержкой Tropo, чтобы включить его для разработки. Они могут потребовать от вас внести деньги в свой аккаунт, но они не будут взимать с вас плату, если вы не начнете злоупотреблять этой функцией во время разработки.