Ejemplo n.º 1
0
        public async Task <IHttpActionResult> Send(IdeaMartResponse ideaMartresponse)
        {
            //there are two constructors available
            //we will use the simplest one here
            //Only app id and the password sent as params
            UssdAPI ussdApi = new UssdAPI("APP_000001", "password");

            //when you are ready to go with production change below to true
            ussdApi.IsInProduction = false;
            //we check first if the request from ideamart is initiation
            if (ideaMartresponse.ussdOperation == "mo-init")
            {
                //supprissed ?
                //Yes! its that simple to check the operation type

                //All right
                //here comes the magical part
                IdeaMartStatusResponse statusResponse = new IdeaMartStatusResponse();
                statusResponse = await ussdApi.SendRequestAsync("Hello world! \r\n 1. Press one to do something.", ideaMartresponse.sessionId, UssdAPI.UssdOperation.mt_cont, ideaMartresponse.sourceAddress);

                return(Ok(statusResponse));
            }

            //Happy?
            //let's implement continue operation
            if (ideaMartresponse.ussdOperation == "mo-cont")
            {
                switch (ideaMartresponse.message)
                {
                case "1":
                    IdeaMartStatusResponse statusresponse = new IdeaMartStatusResponse();
                    statusresponse = await ussdApi.SendRequestAsync("You pressed one", ideaMartresponse.sessionId, UssdAPI.UssdOperation.mt_cont, ideaMartresponse.sourceAddress);

                    return(Ok(statusresponse));

                default:
                    break;
                }

                //TO-DO your self
                //manage page navigation
                //store data into a database if you need them
            }

            return(BadRequest());
        }
Ejemplo n.º 2
0
        public async Task <IHttpActionResult> Send(IdeaMartResponse ideaMartResponse)
        {
            //SIMULATOR Application Data:
            //URL: http://localhost:2513/api/v1/Ussd/Send

            var     appId   = "App_000001";
            var     pwd     = "password";
            UssdAPI ussdApi = new UssdAPI(appId, pwd);

            ussdApi.IsInProduction = false;

            if (ideaMartResponse.ussdOperation == "mo-init")
            {
                IdeaMartStatusResponse statusResponse = new IdeaMartStatusResponse();
                statusResponse = await ussdApi.SendRequestAsync("My first app. \r\n 1.Press one to OK \r\n 2. Press two to cancel"
                                                                , ideaMartResponse.sessionId, UssdAPI.UssdOperation.mt_cont, ideaMartResponse.sourceAddress);

                return(Ok(statusResponse));
            }
            else if (ideaMartResponse.ussdOperation == "mo-cont" && ideaMartResponse.message == "1")
            {
                IdeaMartStatusResponse statusResponse = new IdeaMartStatusResponse();
                statusResponse = await ussdApi.SendRequestAsync("You Pressed 1."
                                                                , ideaMartResponse.sessionId, UssdAPI.UssdOperation.mt_cont, ideaMartResponse.sourceAddress);

                return(Ok(statusResponse));
            }
            else if (ideaMartResponse.ussdOperation == "mo-cont" && ideaMartResponse.message == "2")
            {
                IdeaMartStatusResponse statusResponse = new IdeaMartStatusResponse();
                statusResponse = await ussdApi.SendRequestAsync("You Pressed 2."
                                                                , ideaMartResponse.sessionId, UssdAPI.UssdOperation.mt_cont, ideaMartResponse.sourceAddress);

                return(Ok(statusResponse));
            }
            return(BadRequest());
        }