Class: Twilio::REST::Preview::Understand::AssistantContext

Inherits:
InstanceContext
  • Object
show all
Defined in:
lib/twilio-ruby/rest/preview/understand/assistant.rb,
lib/twilio-ruby/rest/preview/understand/assistant/task.rb,
lib/twilio-ruby/rest/preview/understand/assistant/query.rb,
lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb,
lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb,
lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb,
lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb,
lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb,
lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb,
lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb,
lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb,
lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb,
lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb,
lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb

Overview

PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact [email protected].

Defined Under Namespace

Classes: AssistantFallbackActionsContext, AssistantFallbackActionsInstance, AssistantFallbackActionsList, AssistantFallbackActionsPage, AssistantInitiationActionsContext, AssistantInitiationActionsInstance, AssistantInitiationActionsList, AssistantInitiationActionsPage, DialogueContext, DialogueInstance, DialogueList, DialoguePage, FieldTypeContext, FieldTypeInstance, FieldTypeList, FieldTypePage, ModelBuildContext, ModelBuildInstance, ModelBuildList, ModelBuildPage, QueryContext, QueryInstance, QueryList, QueryPage, StyleSheetContext, StyleSheetInstance, StyleSheetList, StyleSheetPage, TaskContext, TaskInstance, TaskList, TaskPage

Instance Method Summary collapse

Constructor Details

#initialize(version, sid) ⇒ AssistantContext

Initialize the AssistantContext

Parameters:

  • version (Version)

    Version that contains the resource

  • sid (String)

    A 34 character string that uniquely identifies this resource.



175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
# File 'lib/twilio-ruby/rest/preview/understand/assistant.rb', line 175

def initialize(version, sid)
    super(version)

    # Path Solution
    @solution = { sid: sid,  }
    @uri = "/Assistants/#{@solution[:sid]}"

    # Dependents
    @field_types = nil
    @assistant_fallback_actions = nil
    @tasks = nil
    @dialogues = nil
    @assistant_initiation_actions = nil
    @model_builds = nil
    @style_sheet = nil
    @queries = nil
end

Instance Method Details

#assistant_fallback_actionsAssistantFallbackActionsList, AssistantFallbackActionsContext

Access the assistant_fallback_actions



277
278
279
280
281
282
# File 'lib/twilio-ruby/rest/preview/understand/assistant.rb', line 277

def assistant_fallback_actions
    AssistantFallbackActionsContext.new(
            @version,
            @solution[:sid]
            )
end

#assistant_initiation_actionsAssistantInitiationActionsList, AssistantInitiationActionsContext

Access the assistant_initiation_actions



325
326
327
328
329
330
# File 'lib/twilio-ruby/rest/preview/understand/assistant.rb', line 325

def assistant_initiation_actions
    AssistantInitiationActionsContext.new(
            @version,
            @solution[:sid]
            )
end

#deleteBoolean

Delete the AssistantInstance

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



195
196
197
198
# File 'lib/twilio-ruby/rest/preview/understand/assistant.rb', line 195

def delete

    @version.delete('DELETE', @uri)
end

#dialogues(sid = :unset) ⇒ DialogueList, DialogueContext

Access the dialogues

Returns:

Raises:

  • (ArgumentError)


306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
# File 'lib/twilio-ruby/rest/preview/understand/assistant.rb', line 306

def dialogues(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

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

    unless @dialogues
        @dialogues = DialogueList.new(
            @version, assistant_sid: @solution[:sid],  )
    end

 @dialogues
end

#fetchAssistantInstance

Fetch the AssistantInstance

Returns:



203
204
205
206
207
208
209
210
211
# File 'lib/twilio-ruby/rest/preview/understand/assistant.rb', line 203

def fetch

    payload = @version.fetch('GET', @uri)
    AssistantInstance.new(
        @version,
        payload,
        sid: @solution[:sid],
    )
end

#field_types(sid = :unset) ⇒ FieldTypeList, FieldTypeContext

Access the field_types

Returns:

Raises:

  • (ArgumentError)


258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
# File 'lib/twilio-ruby/rest/preview/understand/assistant.rb', line 258

def field_types(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

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

    unless @field_types
        @field_types = FieldTypeList.new(
            @version, assistant_sid: @solution[:sid],  )
    end

 @field_types
end

#inspectObject

Provide a detailed, user friendly representation



389
390
391
392
# File 'lib/twilio-ruby/rest/preview/understand/assistant.rb', line 389

def inspect
    context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
    "#<Twilio.Preview.Understand.AssistantContext #{context}>"
end

#model_builds(sid = :unset) ⇒ ModelBuildList, ModelBuildContext

Access the model_builds

Returns:

Raises:

  • (ArgumentError)


335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'lib/twilio-ruby/rest/preview/understand/assistant.rb', line 335

def model_builds(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

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

    unless @model_builds
        @model_builds = ModelBuildList.new(
            @version, assistant_sid: @solution[:sid],  )
    end

 @model_builds
end

#queries(sid = :unset) ⇒ QueryList, QueryContext

Access the queries

Returns:

Raises:

  • (ArgumentError)


364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
# File 'lib/twilio-ruby/rest/preview/understand/assistant.rb', line 364

def queries(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

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

    unless @queries
        @queries = QueryList.new(
            @version, assistant_sid: @solution[:sid],  )
    end

 @queries
end

#style_sheetStyleSheetList, StyleSheetContext

Access the style_sheet



354
355
356
357
358
359
# File 'lib/twilio-ruby/rest/preview/understand/assistant.rb', line 354

def style_sheet
    StyleSheetContext.new(
            @version,
            @solution[:sid]
            )
end

#tasks(sid = :unset) ⇒ TaskList, TaskContext

Access the tasks

Returns:

Raises:

  • (ArgumentError)


287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# File 'lib/twilio-ruby/rest/preview/understand/assistant.rb', line 287

def tasks(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

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

    unless @tasks
        @tasks = TaskList.new(
            @version, assistant_sid: @solution[:sid],  )
    end

 @tasks
end

#to_sObject

Provide a user friendly representation



382
383
384
385
# File 'lib/twilio-ruby/rest/preview/understand/assistant.rb', line 382

def to_s
    context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
    "#<Twilio.Preview.Understand.AssistantContext #{context}>"
end

#update(friendly_name: :unset, log_queries: :unset, unique_name: :unset, callback_url: :unset, callback_events: :unset, fallback_actions: :unset, initiation_actions: :unset, style_sheet: :unset) ⇒ AssistantInstance

Update the AssistantInstance

Parameters:

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

    A text description for the Assistant. It is non-unique and can up to 255 characters long.

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

    A boolean that specifies whether queries should be logged for 30 days further training. If false, no queries will be stored, if true, queries will be stored for 30 days and deleted thereafter. Defaults to true if no value is provided.

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

    A user-provided string that uniquely identifies this resource as an alternative to the sid. Unique up to 64 characters long.

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

    A user-provided URL to send event callbacks to.

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

    Space-separated list of callback events that will trigger callbacks.

  • fallback_actions (Object) (defaults to: :unset)

    The JSON actions to be executed when the user’s input is not recognized as matching any Task.

  • initiation_actions (Object) (defaults to: :unset)

    The JSON actions to be executed on inbound phone calls when the Assistant has to say something first.

  • style_sheet (Object) (defaults to: :unset)

    The JSON object that holds the style sheet for the assistant

Returns:



224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
# File 'lib/twilio-ruby/rest/preview/understand/assistant.rb', line 224

def update(
    friendly_name: :unset, 
    log_queries: :unset, 
    unique_name: :unset, 
    callback_url: :unset, 
    callback_events: :unset, 
    fallback_actions: :unset, 
    initiation_actions: :unset, 
    style_sheet: :unset
)

    data = Twilio::Values.of({
        'FriendlyName' => friendly_name,
        'LogQueries' => log_queries,
        'UniqueName' => unique_name,
        'CallbackUrl' => callback_url,
        'CallbackEvents' => callback_events,
        'FallbackActions' => Twilio.serialize_object(fallback_actions),
        'InitiationActions' => Twilio.serialize_object(initiation_actions),
        'StyleSheet' => Twilio.serialize_object(style_sheet),
    })

    payload = @version.update('POST', @uri, data: data)
    AssistantInstance.new(
        @version,
        payload,
        sid: @solution[:sid],
    )
end