Class: Twilio::REST::Api::V2010::AccountContext::CallList

Inherits:
ListResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/api/v2010/account/call.rb,
lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb

Defined Under Namespace

Classes: FeedbackSummaryContext, FeedbackSummaryInstance, FeedbackSummaryList, FeedbackSummaryPage

Instance Method Summary collapse

Constructor Details

#initialize(version, account_sid: nil) ⇒ CallList

Initialize the CallList

Parameters:

  • version (Version)

    Version that contains the resource

  • account_sid (String) (defaults to: nil)

    The unique id of the Account responsible for creating this Call



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/twilio-ruby/rest/api/v2010/account/call.rb', line 19

def initialize(version, account_sid: nil)
  super(version)

  # Path Solution
  @solution = {
      account_sid: 
  }
  @uri = "/Accounts/#{@solution[:account_sid]}/Calls.json"

  # Components
  @feedback_summaries = nil
end

Instance Method Details

#create(to: nil, from: nil, method: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_event: :unset, status_callback_method: :unset, send_digits: :unset, if_machine: :unset, timeout: :unset, record: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, machine_detection: :unset, machine_detection_timeout: :unset, url: :unset, application_sid: :unset) ⇒ CallInstance

Retrieve a single page of CallInstance records from the API. Request is executed immediately.

Parameters:

  • to (String) (defaults to: nil)

    The phone number, SIP address or client identifier to call.

  • from (String) (defaults to: nil)

    The phone number or client identifier to use as the caller id. If using a phone number, it must be a Twilio number or a Verified outgoing caller id for your account.

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

    The HTTP method Twilio should use when requesting the URL. Defaults to ‘POST`. If an `ApplicationSid` was provided, this parameter is ignored.

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

    A URL that Twilio will request if an error occurs requesting or executing the TwiML at ‘Url`. If an `ApplicationSid` was provided, this parameter is ignored.

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

    The HTTP method that Twilio should use to request the ‘FallbackUrl`. Must be either `GET` or `POST`. Defaults to `POST`. If an `ApplicationSid` was provided, this parameter is ignored.

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

    A URL that Twilio will request when the call ends to notify your app. If an ‘ApplicationSid` was provided, this parameter is ignored.

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

    The status_callback_event

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

    The HTTP method that Twilio should use to request the ‘StatusCallback`. Defaults to `POST`. If an `ApplicationSid` was provided, this parameter is ignored.

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

    A string of keys to dial after connecting to the number. Valid digits in the string include: any digit (‘0`-`9`), ’‘#`’, ‘`*`’ and ‘`w`’ (to insert a half second pause). For example, if you connected to a company phone number, and wanted to pause for one second, dial extension 1234 and then the pound key, use ‘ww1234#`.

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

    Tell Twilio to try and determine if a machine (like voicemail) or a human has answered the call. Possible value are ‘Continue` and `Hangup`.

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

    The integer number of seconds that Twilio should allow the phone to ring before assuming there is no answer. Default is ‘60` seconds, the maximum is `999` seconds. Note, you could set this to a low value, such as `15`, to hangup before reaching an answering machine or voicemail.

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

    Set this parameter to true to record the entirety of a phone call. The RecordingUrl will be sent to the StatusCallback URL. Defaults to false.

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

    The recording_channels

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

    The recording_status_callback

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

    The recording_status_callback_method

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

    The sip_auth_username

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

    The sip_auth_password

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

    Twilio will try to detect if a human, fax machine or answering machine has answered the call. Possible value are ‘Enable` and `DetectMessageEnd`.

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

    The integer number of miliseconds that Twilio should wait while machine_detection is performned before timing out.

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

    The fully qualified URL that should be consulted when the call connects. Just like when you set a URL on a phone number for handling inbound calls.

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

    The 34 character sid of the application Twilio should use to handle this phone call. If this parameter is present, Twilio will ignore all of the voice URLs passed and use the URLs set on the application.

Returns:



88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# File 'lib/twilio-ruby/rest/api/v2010/account/call.rb', line 88

def create(to: nil, from: nil, method: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_event: :unset, status_callback_method: :unset, send_digits: :unset, if_machine: :unset, timeout: :unset, record: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, machine_detection: :unset, machine_detection_timeout: :unset, url: :unset, application_sid: :unset)
  data = Twilio::Values.of({
      'To' => to,
      'From' => from,
      'Url' => url,
      'ApplicationSid' => application_sid,
      'Method' => method,
      'FallbackUrl' => fallback_url,
      'FallbackMethod' => fallback_method,
      'StatusCallback' => status_callback,
      'StatusCallbackEvent' => status_callback_event,
      'StatusCallbackMethod' => status_callback_method,
      'SendDigits' => send_digits,
      'IfMachine' => if_machine,
      'Timeout' => timeout,
      'Record' => record,
      'RecordingChannels' => recording_channels,
      'RecordingStatusCallback' => recording_status_callback,
      'RecordingStatusCallbackMethod' => recording_status_callback_method,
      'SipAuthUsername' => sip_auth_username,
      'SipAuthPassword' => sip_auth_password,
      'MachineDetection' => machine_detection,
      'MachineDetectionTimeout' => machine_detection_timeout,
  })

  payload = @version.create(
      'POST',
      @uri,
      data: data
  )

  CallInstance.new(
      @version,
      payload,
      account_sid: @solution[:account_sid],
  )
end

#eachObject

When passed a block, yields CallInstance records from the API. This operation lazily loads records as efficiently as possible until the limit is reached.



211
212
213
214
215
216
217
218
219
220
221
# File 'lib/twilio-ruby/rest/api/v2010/account/call.rb', line 211

def each
  limits = @version.read_limits

  page = self.page(
      page_size: limits[:page_size],
  )

  @version.stream(page,
                  limit: limits[:limit],
                  page_limit: limits[:page_limit]).each {|x| yield x}
end

#feedback_summaries(sid = :unset) ⇒ FeedbackSummaryList, FeedbackSummaryContext

Access the feedback_summaries

Parameters:

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

    The sid

Returns:

Raises:

  • (ArgumentError)


283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
# File 'lib/twilio-ruby/rest/api/v2010/account/call.rb', line 283

def feedback_summaries(sid=:unset)
  raise ArgumentError, 'sid cannot be nil' if sid.nil?

  if sid != :unset
    return FeedbackSummaryContext.new(
        @version,
        @solution[:account_sid],
        sid,
    )
  end

    @feedback_summaries ||= FeedbackSummaryList.new(
        @version,
        account_sid: @solution[:account_sid],
    )
end

#get_page(target_url) ⇒ Page

Retrieve a single page of CallInstance records from the API. Request is executed immediately.

Parameters:

  • target_url (String)

    API-generated URL for the requested results page

Returns:

  • (Page)

    Page of CallInstance



270
271
272
273
274
275
276
# File 'lib/twilio-ruby/rest/api/v2010/account/call.rb', line 270

def get_page(target_url)
  response = @version.domain.request(
      'GET',
      target_url
  )
  CallPage.new(@version, response, @solution)
end

#list(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time_before: :unset, start_time: :unset, start_time_after: :unset, end_time_before: :unset, end_time: :unset, end_time_after: :unset, limit: nil, page_size: nil) ⇒ Array

Lists CallInstance records from the API as a list. Unlike stream(), this operation is eager and will load ‘limit` records into memory before returning.

Parameters:

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

    Only show calls to this phone number or Client identifier

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

    Only show calls from this phone number or Client identifier

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

    Only show calls spawned by the call with this Sid

  • status (feedback_summary.Status) (defaults to: :unset)

    Only show calls currently in this status

  • start_time_before (Time) (defaults to: :unset)

    StartTime to filter on

  • start_time (Time) (defaults to: :unset)

    StartTime to filter on

  • start_time_after (Time) (defaults to: :unset)

    StartTime to filter on

  • end_time_before (Time) (defaults to: :unset)

    EndTime to filter on

  • end_time (Time) (defaults to: :unset)

    EndTime to filter on

  • end_time_after (Time) (defaults to: :unset)

    EndTime to filter on

  • limit (Integer) (defaults to: nil)

    Upper limit for the number of records to return. stream() guarantees to never return more than limit. Default is no limit

  • page_size (Integer) (defaults to: nil)

    Number of records to fetch per request, when not set will use the default value of 50 records. If no page_size is defined but a limit is defined, stream() will attempt to read the limit with the most efficient page size, i.e. min(limit, 1000)

Returns:

  • (Array)

    Array of up to limit results



148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
# File 'lib/twilio-ruby/rest/api/v2010/account/call.rb', line 148

def list(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time_before: :unset, start_time: :unset, start_time_after: :unset, end_time_before: :unset, end_time: :unset, end_time_after: :unset, limit: nil, page_size: nil)
  self.stream(
      to: to,
      from: from,
      parent_call_sid: parent_call_sid,
      status: status,
      start_time_before: start_time_before,
      start_time: start_time,
      start_time_after: start_time_after,
      end_time_before: end_time_before,
      end_time: end_time,
      end_time_after: end_time_after,
      limit: limit,
      page_size: page_size
  ).entries
end

#page(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time_before: :unset, start_time: :unset, start_time_after: :unset, end_time_before: :unset, end_time: :unset, end_time_after: :unset, page_token: :unset, page_number: :unset, page_size: :unset) ⇒ Page

Retrieve a single page of CallInstance records from the API. Request is executed immediately.

Parameters:

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

    Only show calls to this phone number or Client identifier

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

    Only show calls from this phone number or Client identifier

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

    Only show calls spawned by the call with this Sid

  • status (feedback_summary.Status) (defaults to: :unset)

    Only show calls currently in this status

  • start_time_before (Time) (defaults to: :unset)

    StartTime to filter on

  • start_time (Time) (defaults to: :unset)

    StartTime to filter on

  • start_time_after (Time) (defaults to: :unset)

    StartTime to filter on

  • end_time_before (Time) (defaults to: :unset)

    EndTime to filter on

  • end_time (Time) (defaults to: :unset)

    EndTime to filter on

  • end_time_after (Time) (defaults to: :unset)

    EndTime to filter on

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

    PageToken provided by the API

  • page_number (Integer) (defaults to: :unset)

    Page Number, this value is simply for client state

  • page_size (Integer) (defaults to: :unset)

    Number of records to return, defaults to 50

Returns:

  • (Page)

    Page of CallInstance



241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# File 'lib/twilio-ruby/rest/api/v2010/account/call.rb', line 241

def page(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time_before: :unset, start_time: :unset, start_time_after: :unset, end_time_before: :unset, end_time: :unset, end_time_after: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
  params = Twilio::Values.of({
      'To' => to,
      'From' => from,
      'ParentCallSid' => parent_call_sid,
      'Status' => status,
      'StartTime<' => Twilio.serialize_iso8601_datetime(start_time_before),
      'StartTime' => Twilio.serialize_iso8601_datetime(start_time),
      'StartTime>' => Twilio.serialize_iso8601_datetime(start_time_after),
      'EndTime<' => Twilio.serialize_iso8601_datetime(end_time_before),
      'EndTime' => Twilio.serialize_iso8601_datetime(end_time),
      'EndTime>' => Twilio.serialize_iso8601_datetime(end_time_after),
      'PageToken' => page_token,
      'Page' => page_number,
      'PageSize' => page_size,
  })
  response = @version.page(
      'GET',
      @uri,
      params
  )
  CallPage.new(@version, response, @solution)
end

#stream(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time_before: :unset, start_time: :unset, start_time_after: :unset, end_time_before: :unset, end_time: :unset, end_time_after: :unset, limit: nil, page_size: nil) ⇒ Enumerable

Streams CallInstance records from the API as an Enumerable. This operation lazily loads records as efficiently as possible until the limit is reached.

Parameters:

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

    Only show calls to this phone number or Client identifier

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

    Only show calls from this phone number or Client identifier

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

    Only show calls spawned by the call with this Sid

  • status (feedback_summary.Status) (defaults to: :unset)

    Only show calls currently in this status

  • start_time_before (Time) (defaults to: :unset)

    StartTime to filter on

  • start_time (Time) (defaults to: :unset)

    StartTime to filter on

  • start_time_after (Time) (defaults to: :unset)

    StartTime to filter on

  • end_time_before (Time) (defaults to: :unset)

    EndTime to filter on

  • end_time (Time) (defaults to: :unset)

    EndTime to filter on

  • end_time_after (Time) (defaults to: :unset)

    EndTime to filter on

  • limit (Integer) (defaults to: nil)

    Upper limit for the number of records to return. stream() guarantees to never return more than limit. Default is no limit.

  • page_size (Integer) (defaults to: nil)

    Number of records to fetch per request, when not set will use the default value of 50 records. If no page_size is defined but a limit is defined, stream() will attempt to read the limit with the most efficient page size, i.e. min(limit, 1000)

Returns:

  • (Enumerable)

    Enumerable that will yield up to limit results



187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
# File 'lib/twilio-ruby/rest/api/v2010/account/call.rb', line 187

def stream(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time_before: :unset, start_time: :unset, start_time_after: :unset, end_time_before: :unset, end_time: :unset, end_time_after: :unset, limit: nil, page_size: nil)
  limits = @version.read_limits(limit, page_size)

  page = self.page(
      to: to,
      from: from,
      parent_call_sid: parent_call_sid,
      status: status,
      start_time_before: start_time_before,
      start_time: start_time,
      start_time_after: start_time_after,
      end_time_before: end_time_before,
      end_time: end_time,
      end_time_after: end_time_after,
      page_size: limits[:page_size],
  )

  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
end

#to_sObject

Provide a user friendly representation



302
303
304
# File 'lib/twilio-ruby/rest/api/v2010/account/call.rb', line 302

def to_s
  '#<Twilio.Api.V2010.CallList>'
end