static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/console
        // To set up environmental variables, see http://twil.io/secure
        const string accountSid     = Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID");
        const string authToken      = Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN");
        const string workspaceSid   = "WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string taskSid        = "WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string reservationSid = "WRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

        TwilioClient.Init(accountSid, authToken);

        // Update a Reservation with a Call instruction
        var reservation = ReservationResource.Fetch(
            workspaceSid, taskSid, reservationSid);

        Console.WriteLine(reservation.ReservationStatus);
        Console.WriteLine(reservation.WorkerName);

        ReservationResource.Update(
            workspaceSid, taskSid, reservationSid, instruction: "call",
            callFrom: "+19876543210",
            callUrl: new Uri("http://example.com/agent_answer"),
            callStatusCallbackUrl:
            new Uri("http://example.com/agent_answer_status_callback"),
            callAccept: true);
    }
Beispiel #2
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/console
        const string accountSid     = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken      = "your_auth_token";
        const string workspaceSid   = "WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string taskSid        = "WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string reservationSid = "WRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

        TwilioClient.Init(accountSid, authToken);

        // Update a Reservation with a Call instruction
        var reservation = ReservationResource.Fetch(
            workspaceSid, taskSid, reservationSid);

        Console.WriteLine(reservation.ReservationStatus);
        Console.WriteLine(reservation.WorkerName);

        ReservationResource.Update(
            workspaceSid, taskSid, reservationSid, instruction: "call",
            callFrom: "+19876543210",
            callUrl: new Uri("http://example.com/agent_answer"),
            callStatusCallbackUrl:
            new Uri("http://example.com/agent_answer_status_callback"),
            callAccept: true);
    }
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/console
        const string accountSid     = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken      = "your_auth_token";
        const string workspaceSid   = "WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string taskSid        = "WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string reservationSid = "WRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

        TwilioClient.Init(accountSid, authToken);

        // Update a Reservation with a Conference instruction
        var reservation = ReservationResource.Fetch(
            workspaceSid, taskSid, reservationSid);

        Console.WriteLine(reservation.ReservationStatus);
        Console.WriteLine(reservation.WorkerName);

        ReservationResource.Update(
            workspaceSid, taskSid, reservationSid,
            instruction: "conference",
            from: "+18001231234",
            conferenceStatusCallback: "https://www.example.com/ConferenceEvents",
            conferenceStatusCallbackEvent: new List <ReservationResource.ConferenceEventEnum>
        {
            ReservationResource.ConferenceEventEnum.Start,
            ReservationResource.ConferenceEventEnum.End,
            ReservationResource.ConferenceEventEnum.Join,
            ReservationResource.ConferenceEventEnum.Leave,
            ReservationResource.ConferenceEventEnum.Mute,
            ReservationResource.ConferenceEventEnum.Hold
        }
            );
    }
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/console
        // To set up environmental variables, see http://twil.io/secure
        const string accountSid     = Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID");
        const string authToken      = Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN");
        const string workspaceSid   = "WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string taskSid        = "WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string reservationSid = "WRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

        TwilioClient.Init(accountSid, authToken);

        // Update a Reservation with a Conference instruction
        var reservation = ReservationResource.Fetch(
            workspaceSid, taskSid, reservationSid);

        Console.WriteLine(reservation.ReservationStatus);
        Console.WriteLine(reservation.WorkerName);

        ReservationResource.Update(
            workspaceSid, taskSid, reservationSid,
            instruction: "conference",
            from: "+18001231234",
            conferenceStatusCallback: "https://www.example.com/ConferenceEvents",
            conferenceStatusCallbackEvent: new List <ReservationResource.ConferenceEventEnum>
        {
            ReservationResource.ConferenceEventEnum.Start,
            ReservationResource.ConferenceEventEnum.End,
            ReservationResource.ConferenceEventEnum.Join,
            ReservationResource.ConferenceEventEnum.Leave,
            ReservationResource.ConferenceEventEnum.Mute,
            ReservationResource.ConferenceEventEnum.Hold
        }
            );
    }
Beispiel #5
0
        public void TestUpdateResponse()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();

            twilioRestClient.AccountSid.Returns("ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            twilioRestClient.Request(Arg.Any <Request>())
            .Returns(new Response(
                         System.Net.HttpStatusCode.OK,
                         "{\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"date_created\": \"2014-05-14T10:50:02Z\",\"date_updated\": \"2014-05-15T16:03:42Z\",\"links\": {\"task\": \"https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Tasks/WTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"worker\": \"https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/WKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"workspace\": \"https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"},\"reservation_status\": \"accepted\",\"sid\": \"WRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"task_sid\": \"WTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"url\": \"https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Tasks/WTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Reservations/WRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"worker_name\": \"Doug\",\"worker_sid\": \"WKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"workspace_sid\": \"WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"}"
                         ));

            var response = ReservationResource.Update("WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "WTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "WRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", client: twilioRestClient);

            Assert.NotNull(response);
        }
        public void TestReadEmptyResponse()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();

            twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
            twilioRestClient.Request(Arg.Any <Request>())
            .Returns(new Response(
                         System.Net.HttpStatusCode.OK,
                         "{\"meta\": {\"first_page_url\": \"https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/WKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Reservations?PageSize=50&Page=0\",\"key\": \"reservations\",\"next_page_url\": null,\"page\": 0,\"page_size\": 50,\"previous_page_url\": null,\"url\": \"https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/WKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Reservations?PageSize=50&Page=0\"},\"reservations\": []}"
                         ));

            var response = ReservationResource.Read("WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "WKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient);

            Assert.NotNull(response);
        }
        public void TestReadFullResponse()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();

            twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
            twilioRestClient.Request(Arg.Any <Request>())
            .Returns(new Response(
                         System.Net.HttpStatusCode.OK,
                         "{\"meta\": {\"first_page_url\": \"https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/WKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Reservations?PageSize=50&Page=0\",\"key\": \"reservations\",\"next_page_url\": null,\"page\": 0,\"page_size\": 50,\"previous_page_url\": null,\"url\": \"https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/WKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Reservations?PageSize=50&Page=0\"},\"reservations\": [{\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"date_created\": \"2014-05-14T10:50:02Z\",\"date_updated\": \"2014-05-15T16:03:42Z\",\"links\": {\"task\": \"https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Tasks/WTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"worker\": \"https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/WKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"workspace\": \"https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"},\"reservation_status\": \"accepted\",\"sid\": \"WRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"task_sid\": \"WTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"url\": \"https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/WKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Reservations/WRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"worker_name\": \"Doug\",\"worker_sid\": \"WKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"workspace_sid\": \"WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"}]}"
                         ));

            var response = ReservationResource.Read("WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "WKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient);

            Assert.NotNull(response);
        }
Beispiel #8
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Token at twilio.com/console
        const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken  = "your_auth_token";

        TwilioClient.Init(accountSid, authToken);

        var reservation = ReservationResource.Fetch(
            pathWorkspaceSid: "WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
            pathWorkerSid: "WKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
            pathSid: "WRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
            );

        Console.WriteLine(reservation.WorkerName);
    }
Beispiel #9
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/console
        const string accountSid     = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken      = "your_auth_token";
        const string workspaceSid   = "WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string taskSid        = "WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string reservationSid = "WRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

        TwilioClient.Init(accountSid, authToken);

        var reservation = ReservationResource.Fetch(workspaceSid, taskSid, reservationSid);

        Console.WriteLine(reservation.ReservationStatus);
        Console.WriteLine(reservation.WorkerName);
    }
        public ActionResult assignment_callback()
        {
            Contract.Ensures(Contract.Result <ActionResult>() != null);
            TwilioClient.Init(_accountSid, _authToken);


            var task               = Request.Params.Get("TaskSid");
            var reservation        = Request.Params.Get("ReservationSid");
            var reservation_update = ReservationResource.Update(
                _workspaceSid,
                task,
                reservation, ReservationResource.StatusEnum.Accepted);

            var ret = "{\"instruction\":\"dequeue\",\"from\":\"" + _called_id + "\", \"post_work_activity_sid\": \"" + _wrap_up_activity + "\"}";

            return(Content(ret.ToString(), contentType: "application/json"));
        }
Beispiel #11
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/console
        const string accountSid     = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken      = "your_auth_token";
        const string workspaceSid   = "WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string taskSid        = "WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string reservationSid = "WRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

        TwilioClient.Init(accountSid, authToken);

        // reject a reservation
        var reservation = ReservationResource.Update(
            workspaceSid, taskSid, reservationSid, ReservationResource.StatusEnum.Rejected);

        Console.WriteLine(reservation.ReservationStatus);
    }
Beispiel #12
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/console
        // To set up environmental variables, see http://twil.io/secure
        const string accountSid     = Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID");
        const string authToken      = Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN");
        const string workspaceSid   = "WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string taskSid        = "WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string reservationSid = "WRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

        TwilioClient.Init(accountSid, authToken);

        var reservation = ReservationResource.Fetch(workspaceSid, taskSid, reservationSid);

        Console.WriteLine(reservation.ReservationStatus);
        Console.WriteLine(reservation.WorkerName);
    }
Beispiel #13
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Token at twilio.com/console
        // DANGER! This is insecure. See http://twil.io/secure
        const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken  = "your_auth_token";

        TwilioClient.Init(accountSid, authToken);

        var reservation = ReservationResource.Update(
            reservationStatus: ReservationResource.StatusEnum.Pending,
            pathWorkspaceSid: "WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
            pathWorkerSid: "WKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
            pathSid: "WRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
            );

        Console.WriteLine(reservation.WorkerName);
    }
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/console
        const string accountSid   = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken    = "your_auth_token";
        const string workspaceSid = "WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string WorkerSid    = "WKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

        TwilioClient.Init(accountSid, authToken);

        var reservations = ReservationResource.Read(workspaceSid, WorkerSid);

        foreach (var reservation in reservations)
        {
            Console.WriteLine(reservation.ReservationStatus);
            Console.WriteLine(reservation.WorkerName);
        }
    }
Beispiel #15
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Token at twilio.com/console
        const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken  = "your_auth_token";

        TwilioClient.Init(accountSid, authToken);

        var reservations = ReservationResource.Read(
            pathWorkspaceSid: "WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
            pathWorkerSid: "WKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
            );

        foreach (var record in reservations)
        {
            Console.WriteLine(record.Sid);
        }
    }
        public void TestFetchRequest()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();
            var request          = new Request(
                HttpMethod.Get,
                Twilio.Rest.Domain.Taskrouter,
                "/v1/Workspaces/WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Workers/WKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Reservations/WRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
                ""
                );

            twilioRestClient.Request(request).Throws(new ApiException("Server Error, no content"));

            try
            {
                ReservationResource.Fetch("WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "WKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "WRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient);
                Assert.Fail("Expected TwilioException to be thrown for 500");
            }
            catch (ApiException) {}
            twilioRestClient.Received().Request(request);
        }
Beispiel #17
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/console
        const string accountSid     = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken      = "your_auth_token";
        const string workspaceSid   = "WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string taskSid        = "WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string reservationSid = "WRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

        TwilioClient.Init(accountSid, authToken);

        // Update a Reservation with a Conference instruction
        var reservation = ReservationResource.Fetch(
            workspaceSid, taskSid, reservationSid);

        Console.WriteLine(reservation.ReservationStatus);
        Console.WriteLine(reservation.WorkerName);

        ReservationResource.Update(
            workspaceSid, taskSid, reservationSid, instruction: "conference",
            dequeueFrom: "+18001231234");
    }
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/console
        const string accountSid     = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken      = "your_auth_token";
        const string workspaceSid   = "WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string taskSid        = "WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string reservationSid = "WRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

        TwilioClient.Init(accountSid, authToken);

        // Update a Reservation with a Redirect instruction
        var reservation = ReservationResource.Fetch(
            workspaceSid, taskSid, reservationSid);

        Console.WriteLine(reservation.ReservationStatus);
        Console.WriteLine(reservation.WorkerName);

        ReservationResource.Update(
            workspaceSid, taskSid, reservationSid, instruction: "Redirect",
            redirectCallSid: "CA123456789",
            redirectUrl: new Uri("http://example.com/assignment_redirect"));
    }
Beispiel #19
0
        public async Task <IActionResult> AddReservationAsync([FromBody] ReservationResource resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("some inputs is not valid"));
            }

            if (await _unitOfWork.Reservations.AnyAsync(resource.Email))
            {
                return(Conflict(new
                {
                    message = "This reservation has been booked"
                }));
            }

            var reserv = _mapper.Map <ReservationResource, Reservation>(resource);
            await _unitOfWork.Reservations.AddAsync(reserv);

            await _unitOfWork.CommitAsync();

            var reserved = _mapper.Map <Reservation, ReservationResource>(reserv);

            return(Ok(reserved));
        }
Beispiel #20
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/console
        // To set up environmental variables, see http://twil.io/secure
        const string accountSid     = Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID");
        const string authToken      = Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN");
        const string workspaceSid   = "WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string taskSid        = "WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string reservationSid = "WRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

        TwilioClient.Init(accountSid, authToken);

        // Update a Reservation with a Redirect instruction
        var reservation = ReservationResource.Fetch(
            workspaceSid, taskSid, reservationSid);

        Console.WriteLine(reservation.ReservationStatus);
        Console.WriteLine(reservation.WorkerName);

        ReservationResource.Update(
            workspaceSid, taskSid, reservationSid, instruction: "Redirect",
            redirectCallSid: "CA123456789",
            redirectUrl: new Uri("http://example.com/assignment_redirect"));
    }