static void TestUssd() { Ussd ussd = new Ussd(ACCESS_TOKEN); Console.WriteLine("Send ussd request:"); dynamic response = ussd .SetAddress("9065272450") .SetSenderAddress(SHORT_CODE) .SetUssdMessage("Simple USSD \n1: Hello \n2: Hello") .SetFlash(false) .SendUssdRequest() .GetDynamicResponse(); Console.WriteLine("Response: -->"); string sessionId = response["outboundUSSDMessageRequest"]["receiptRequest"]["sessionID"]; Console.WriteLine("Session ID:" + sessionId); Console.WriteLine(response); Console.WriteLine("Reply ussd request:"); try { response = ussd .SetAddress("9065272450") .SetSessionId(sessionId) .SetSenderAddress(SHORT_CODE) .SetUssdMessage("Simple USSD \n1: Foo \n1: Foo") .SetFlash(false) .ReplyUssdRequest() .GetDynamicResponse(); Console.WriteLine("Response: -->"); Console.WriteLine(response); } catch (WebException e) { Console.WriteLine(new System.IO.StreamReader(e.Response.GetResponseStream()).ReadToEnd()); } }