Class: Twilio::REST::Taskrouter::V1::WorkspaceContext::TaskContext::ReservationInstance

Inherits:
InstanceResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, workspace_sid: nil, task_sid: nil, sid: nil) ⇒ ReservationInstance

Initialize the ReservationInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • account_sid (String)

    The SID of the Account that created this Reservation resource.

  • sid (String) (defaults to: nil)

    The SID of the Call resource to fetch.



408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb', line 408

def initialize(version, payload , workspace_sid: nil, task_sid: nil, sid: nil)
    super(version)
    
    # Marshaled Properties
    @properties = { 
        'account_sid' => payload['account_sid'],
        'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
        'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
        'reservation_status' => payload['reservation_status'],
        'sid' => payload['sid'],
        'task_sid' => payload['task_sid'],
        'worker_name' => payload['worker_name'],
        'worker_sid' => payload['worker_sid'],
        'workspace_sid' => payload['workspace_sid'],
        'url' => payload['url'],
        'links' => payload['links'],
    }

    # Context
    @instance_context = nil
    @params = { 'workspace_sid' => workspace_sid  || @properties['workspace_sid']  ,'task_sid' => task_sid  || @properties['task_sid']  ,'sid' => sid  || @properties['sid']  , }
end

Instance Method Details

#account_sidString

Returns The SID of the [Account](www.twilio.com/docs/iam/api/account) that created the TaskReservation resource.

Returns:



444
445
446
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb', line 444

def 
    @properties['account_sid']
end

#contextReservationContext

Generate an instance context for the instance, the context is capable of performing various actions. All instance actions are proxied to the context

Returns:



435
436
437
438
439
440
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb', line 435

def context
    unless @instance_context
        @instance_context = ReservationContext.new(@version , @params['workspace_sid'], @params['task_sid'], @params['sid'])
    end
    @instance_context
end

#date_createdTime

Returns The date and time in GMT when the resource was created specified in [ISO 8601](en.wikipedia.org/wiki/ISO_8601) format.

Returns:



450
451
452
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb', line 450

def date_created
    @properties['date_created']
end

#date_updatedTime

Returns The date and time in GMT when the resource was last updated specified in [ISO 8601](en.wikipedia.org/wiki/ISO_8601) format.

Returns:



456
457
458
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb', line 456

def date_updated
    @properties['date_updated']
end

#fetchReservationInstance

Fetch the ReservationInstance

Returns:



511
512
513
514
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb', line 511

def fetch

    context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



697
698
699
700
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb', line 697

def inspect
    values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
    "<Twilio.Taskrouter.V1.ReservationInstance #{values}>"
end

Returns The URLs of related resources.

Returns:

  • (Hash)

    The URLs of related resources.



504
505
506
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb', line 504

def links
    @properties['links']
end

#reservation_statusStatus

Returns:

  • (Status)


462
463
464
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb', line 462

def reservation_status
    @properties['reservation_status']
end

#sidString

Returns The unique string that we created to identify the TaskReservation resource.

Returns:

  • (String)

    The unique string that we created to identify the TaskReservation resource.



468
469
470
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb', line 468

def sid
    @properties['sid']
end

#task_sidString

Returns The SID of the reserved Task resource.

Returns:

  • (String)

    The SID of the reserved Task resource.



474
475
476
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb', line 474

def task_sid
    @properties['task_sid']
end

#to_sObject

Provide a user friendly representation



690
691
692
693
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb', line 690

def to_s
    values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
    "<Twilio.Taskrouter.V1.ReservationInstance #{values}>"
end

#update(reservation_status: :unset, worker_activity_sid: :unset, instruction: :unset, dequeue_post_work_activity_sid: :unset, dequeue_from: :unset, dequeue_record: :unset, dequeue_timeout: :unset, dequeue_to: :unset, dequeue_status_callback_url: :unset, call_from: :unset, call_record: :unset, call_timeout: :unset, call_to: :unset, call_url: :unset, call_status_callback_url: :unset, call_accept: :unset, redirect_call_sid: :unset, redirect_accept: :unset, redirect_url: :unset, to: :unset, from: :unset, status_callback: :unset, status_callback_method: :unset, status_callback_event: :unset, timeout: :unset, record: :unset, muted: :unset, beep: :unset, start_conference_on_enter: :unset, end_conference_on_exit: :unset, wait_url: :unset, wait_method: :unset, early_media: :unset, max_participants: :unset, conference_status_callback: :unset, conference_status_callback_method: :unset, conference_status_callback_event: :unset, conference_record: :unset, conference_trim: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, conference_recording_status_callback: :unset, conference_recording_status_callback_method: :unset, region: :unset, sip_auth_username: :unset, sip_auth_password: :unset, dequeue_status_callback_event: :unset, post_work_activity_sid: :unset, supervisor_mode: :unset, supervisor: :unset, end_conference_on_customer_exit: :unset, beep_on_customer_entrance: :unset, if_match: :unset) ⇒ ReservationInstance

Update the ReservationInstance

Parameters:

  • reservation_status (Status) (defaults to: :unset)
  • worker_activity_sid (String) (defaults to: :unset)

    The new worker activity SID if rejecting a reservation.

  • instruction (String) (defaults to: :unset)

    The assignment instruction for reservation.

  • dequeue_post_work_activity_sid (String) (defaults to: :unset)

    The SID of the Activity resource to start after executing a Dequeue instruction.

  • dequeue_from (String) (defaults to: :unset)

    The Caller ID of the call to the worker when executing a Dequeue instruction.

  • dequeue_record (String) (defaults to: :unset)

    Whether to record both legs of a call when executing a Dequeue instruction or which leg to record.

  • dequeue_timeout (String) (defaults to: :unset)

    Timeout for call when executing a Dequeue instruction.

  • dequeue_to (String) (defaults to: :unset)

    The Contact URI of the worker when executing a Dequeue instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination.

  • dequeue_status_callback_url (String) (defaults to: :unset)

    The Callback URL for completed call event when executing a Dequeue instruction.

  • call_from (String) (defaults to: :unset)

    The Caller ID of the outbound call when executing a Call instruction.

  • call_record (String) (defaults to: :unset)

    Whether to record both legs of a call when executing a Call instruction or which leg to record.

  • call_timeout (String) (defaults to: :unset)

    Timeout for call when executing a Call instruction.

  • call_to (String) (defaults to: :unset)

    The Contact URI of the worker when executing a Call instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination.

  • call_url (String) (defaults to: :unset)

    TwiML URI executed on answering the worker’s leg as a result of the Call instruction.

  • call_status_callback_url (String) (defaults to: :unset)

    The URL to call for the completed call event when executing a Call instruction.

  • call_accept (Boolean) (defaults to: :unset)

    Whether to accept a reservation when executing a Call instruction.

  • redirect_call_sid (String) (defaults to: :unset)

    The Call SID of the call parked in the queue when executing a Redirect instruction.

  • redirect_accept (Boolean) (defaults to: :unset)

    Whether the reservation should be accepted when executing a Redirect instruction.

  • redirect_url (String) (defaults to: :unset)

    TwiML URI to redirect the call to when executing the Redirect instruction.

  • to (String) (defaults to: :unset)

    The Contact URI of the worker when executing a Conference instruction. Can be the URI of the Twilio Client, the SIP URI for Programmable SIP, or the [E.164](www.twilio.com/docs/glossary/what-e164) formatted phone number, depending on the destination.

  • from (String) (defaults to: :unset)

    The Caller ID of the call to the worker when executing a Conference instruction.

  • status_callback (String) (defaults to: :unset)

    The URL we should call using the ‘status_callback_method` to send status information to your application.

  • status_callback_method (String) (defaults to: :unset)

    The HTTP method we should use to call ‘status_callback`. Can be: `POST` or `GET` and the default is `POST`.

  • status_callback_event (Array[CallStatus]) (defaults to: :unset)

    The call progress events that we will send to ‘status_callback`. Can be: `initiated`, `ringing`, `answered`, or `completed`.

  • timeout (String) (defaults to: :unset)

    Timeout for call when executing a Conference instruction.

  • record (Boolean) (defaults to: :unset)

    Whether to record the participant and their conferences, including the time between conferences. The default is ‘false`.

  • muted (Boolean) (defaults to: :unset)

    Whether the agent is muted in the conference. The default is ‘false`.

  • beep (String) (defaults to: :unset)

    Whether to play a notification beep when the participant joins or when to play a beep. Can be: ‘true`, `false`, `onEnter`, or `onExit`. The default value is `true`.

  • start_conference_on_enter (Boolean) (defaults to: :unset)

    Whether to start the conference when the participant joins, if it has not already started. The default is ‘true`. If `false` and the conference has not started, the participant is muted and hears background music until another participant starts the conference.

  • end_conference_on_exit (Boolean) (defaults to: :unset)

    Whether to end the conference when the agent leaves.

  • wait_url (String) (defaults to: :unset)

    The URL we should call using the ‘wait_method` for the music to play while participants are waiting for the conference to start. The default value is the URL of our standard hold music. [Learn more about hold music](www.twilio.com/labs/twimlets/holdmusic).

  • wait_method (String) (defaults to: :unset)

    The HTTP method we should use to call ‘wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.

  • early_media (Boolean) (defaults to: :unset)

    Whether to allow an agent to hear the state of the outbound call, including ringing or disconnect messages. The default is ‘true`.

  • max_participants (String) (defaults to: :unset)

    The maximum number of participants in the conference. Can be a positive integer from ‘2` to `250`. The default value is `250`.

  • conference_status_callback (String) (defaults to: :unset)

    The URL we should call using the ‘conference_status_callback_method` when the conference events in `conference_status_callback_event` occur. Only the value set by the first participant to join the conference is used. Subsequent `conference_status_callback` values are ignored.

  • conference_status_callback_method (String) (defaults to: :unset)

    The HTTP method we should use to call ‘conference_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.

  • conference_status_callback_event (Array[ConferenceEvent]) (defaults to: :unset)

    The conference status events that we will send to ‘conference_status_callback`. Can be: `start`, `end`, `join`, `leave`, `mute`, `hold`, `speaker`.

  • conference_record (String) (defaults to: :unset)

    Whether to record the conference the participant is joining or when to record the conference. Can be: ‘true`, `false`, `record-from-start`, and `do-not-record`. The default value is `false`.

  • conference_trim (String) (defaults to: :unset)

    How to trim the leading and trailing silence from your recorded conference audio files. Can be: ‘trim-silence` or `do-not-trim` and defaults to `trim-silence`.

  • recording_channels (String) (defaults to: :unset)

    The recording channels for the final recording. Can be: ‘mono` or `dual` and the default is `mono`.

  • recording_status_callback (String) (defaults to: :unset)

    The URL that we should call using the ‘recording_status_callback_method` when the recording status changes.

  • recording_status_callback_method (String) (defaults to: :unset)

    The HTTP method we should use when we call ‘recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.

  • conference_recording_status_callback (String) (defaults to: :unset)

    The URL we should call using the ‘conference_recording_status_callback_method` when the conference recording is available.

  • conference_recording_status_callback_method (String) (defaults to: :unset)

    The HTTP method we should use to call ‘conference_recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.

  • region (String) (defaults to: :unset)

    The [region](support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) where we should mix the recorded audio. Can be:‘us1`, `ie1`, `de1`, `sg1`, `br1`, `au1`, or `jp1`.

  • sip_auth_username (String) (defaults to: :unset)

    The SIP username used for authentication.

  • sip_auth_password (String) (defaults to: :unset)

    The SIP password for authentication.

  • dequeue_status_callback_event (Array[String]) (defaults to: :unset)

    The Call progress events sent via webhooks as a result of a Dequeue instruction.

  • post_work_activity_sid (String) (defaults to: :unset)

    The new worker activity SID after executing a Conference instruction.

  • supervisor_mode (SupervisorMode) (defaults to: :unset)
  • supervisor (String) (defaults to: :unset)

    The Supervisor SID/URI when executing the Supervise instruction.

  • end_conference_on_customer_exit (Boolean) (defaults to: :unset)

    Whether to end the conference when the customer leaves.

  • beep_on_customer_entrance (Boolean) (defaults to: :unset)

    Whether to play a notification beep when the customer joins.

  • if_match (String) (defaults to: :unset)

    The If-Match HTTP request header

Returns:



573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb', line 573

def update(
    reservation_status: :unset, 
    worker_activity_sid: :unset, 
    instruction: :unset, 
    dequeue_post_work_activity_sid: :unset, 
    dequeue_from: :unset, 
    dequeue_record: :unset, 
    dequeue_timeout: :unset, 
    dequeue_to: :unset, 
    dequeue_status_callback_url: :unset, 
    call_from: :unset, 
    call_record: :unset, 
    call_timeout: :unset, 
    call_to: :unset, 
    call_url: :unset, 
    call_status_callback_url: :unset, 
    call_accept: :unset, 
    redirect_call_sid: :unset, 
    redirect_accept: :unset, 
    redirect_url: :unset, 
    to: :unset, 
    from: :unset, 
    status_callback: :unset, 
    status_callback_method: :unset, 
    status_callback_event: :unset, 
    timeout: :unset, 
    record: :unset, 
    muted: :unset, 
    beep: :unset, 
    start_conference_on_enter: :unset, 
    end_conference_on_exit: :unset, 
    wait_url: :unset, 
    wait_method: :unset, 
    early_media: :unset, 
    max_participants: :unset, 
    conference_status_callback: :unset, 
    conference_status_callback_method: :unset, 
    conference_status_callback_event: :unset, 
    conference_record: :unset, 
    conference_trim: :unset, 
    recording_channels: :unset, 
    recording_status_callback: :unset, 
    recording_status_callback_method: :unset, 
    conference_recording_status_callback: :unset, 
    conference_recording_status_callback_method: :unset, 
    region: :unset, 
    sip_auth_username: :unset, 
    sip_auth_password: :unset, 
    dequeue_status_callback_event: :unset, 
    post_work_activity_sid: :unset, 
    supervisor_mode: :unset, 
    supervisor: :unset, 
    end_conference_on_customer_exit: :unset, 
    beep_on_customer_entrance: :unset, 
    if_match: :unset
)

    context.update(
        reservation_status: reservation_status, 
        worker_activity_sid: worker_activity_sid, 
        instruction: instruction, 
        dequeue_post_work_activity_sid: dequeue_post_work_activity_sid, 
        dequeue_from: dequeue_from, 
        dequeue_record: dequeue_record, 
        dequeue_timeout: dequeue_timeout, 
        dequeue_to: dequeue_to, 
        dequeue_status_callback_url: dequeue_status_callback_url, 
        call_from: call_from, 
        call_record: call_record, 
        call_timeout: call_timeout, 
        call_to: call_to, 
        call_url: call_url, 
        call_status_callback_url: call_status_callback_url, 
        call_accept: call_accept, 
        redirect_call_sid: redirect_call_sid, 
        redirect_accept: redirect_accept, 
        redirect_url: redirect_url, 
        to: to, 
        from: from, 
        status_callback: status_callback, 
        status_callback_method: status_callback_method, 
        status_callback_event: status_callback_event, 
        timeout: timeout, 
        record: record, 
        muted: muted, 
        beep: beep, 
        start_conference_on_enter: start_conference_on_enter, 
        end_conference_on_exit: end_conference_on_exit, 
        wait_url: wait_url, 
        wait_method: wait_method, 
        early_media: early_media, 
        max_participants: max_participants, 
        conference_status_callback: conference_status_callback, 
        conference_status_callback_method: conference_status_callback_method, 
        conference_status_callback_event: conference_status_callback_event, 
        conference_record: conference_record, 
        conference_trim: conference_trim, 
        recording_channels: recording_channels, 
        recording_status_callback: recording_status_callback, 
        recording_status_callback_method: recording_status_callback_method, 
        conference_recording_status_callback: conference_recording_status_callback, 
        conference_recording_status_callback_method: conference_recording_status_callback_method, 
        region: region, 
        sip_auth_username: sip_auth_username, 
        sip_auth_password: sip_auth_password, 
        dequeue_status_callback_event: dequeue_status_callback_event, 
        post_work_activity_sid: post_work_activity_sid, 
        supervisor_mode: supervisor_mode, 
        supervisor: supervisor, 
        end_conference_on_customer_exit: end_conference_on_customer_exit, 
        beep_on_customer_entrance: beep_on_customer_entrance, 
        if_match: if_match, 
    )
end

#urlString

Returns The absolute URL of the TaskReservation reservation.

Returns:

  • (String)

    The absolute URL of the TaskReservation reservation.



498
499
500
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb', line 498

def url
    @properties['url']
end

#worker_nameString

Returns The ‘friendly_name` of the Worker that is reserved.

Returns:

  • (String)

    The ‘friendly_name` of the Worker that is reserved.



480
481
482
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb', line 480

def worker_name
    @properties['worker_name']
end

#worker_sidString

Returns The SID of the reserved Worker resource.

Returns:

  • (String)

    The SID of the reserved Worker resource.



486
487
488
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb', line 486

def worker_sid
    @properties['worker_sid']
end

#workspace_sidString

Returns The SID of the Workspace that this task is contained within.

Returns:

  • (String)

    The SID of the Workspace that this task is contained within.



492
493
494
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb', line 492

def workspace_sid
    @properties['workspace_sid']
end