Abrar Kazi Ответов: 1

Как решить проблему API sms gateway?


Я хочу вставить журнал в таблицу журналов при успешной отправке sms-сообщения.

string uid = "xxxx";
string password = "xxxx";
string SenderId = "xxxx";
string message = "Confirm Order No " + OrderNo + ". This Order Confirmation has been sent to you for your Ref. Order No: " + PoRefNo + ".";
string phoneNos = CustomerContact;
               
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("http://xxxx.com/Xxxsms/xxxsms.aspx?user=" + uid + "&password=" + password + "&msisdn=" + phoneNos + "&sid=" + SenderId + "&msg=" + message + "&fl=0&gwid=2");
               
HttpWebResponse myResp = (HttpWebResponse)myReq.GetResponse();
               System.IO.StreamReader respStreamReader = new System.IO.StreamReader(myResp.GetResponseStream());
               
string responseString = respStreamReader.ReadToEnd();            
respStreamReader.Close();
myResp.Close();

               if (responseString != "Failed#Invalid Mobile Numbers")
               {
                   B2B_Order_Master_SAP_BAL objOrderBAL = new B2B_Order_Master_SAP_BAL();
                   DataSet dsMessage = objOrderBAL.uspB2BCustomerPortal_InsertOrderSMSLog(hfCustomerId.Value.ToString(), CustomerContact, OrderNo, message, "Customer Care", "UploadOrder_CustCare");
               }


Что я уже пробовал:

Я проверяю значение в "string responseString = respStreamReader. ReadToEnd(); "

если (responseString != "Ошибка#Ошибка Мобильных Номеров")
{
// Вставить Журнал
}

Теперь проблема в том, что я знаю только один вывод:"Failed#Invalid Mobile Numbers", который генерируется при отправке неверного номера в api.

Я хочу знать, какие еще Ответы будут даны api с точки зрения сбоя sms.

1 Ответов

Рейтинг:
8

Afzaal Ahmad Zeeshan

Во-первых: разве их API не разделял эти строки? Их API должен заручиться значениями ошибок, поступающих с серверов.

Во-вторых, я бы написал это немного по-другому, Вот так,

if (!responseString.Contains("Failed")) {
   // Success
} else {
   // Error handling
   var errorMessage = responseString.Split('#')[1]; 
   // Get the Invalid Mobile Number part

   // Save it to the database, show it to the user or whatever. 
}

Я бы все же рекомендовал прочитать их руководства по API и документацию, чтобы узнать больше об ошибках и о том, как они возвращаются.

Просто мое собственное мнение Я считаю, что использование кодов ошибок-это лучший способ рассказать клиентам об ошибках, а не отправлять строки.


Abrar Kazi

Спасибо :)