Class: Twilio::REST::Conversations::V1::ServiceContext::ConversationContext::ParticipantContext

Inherits:
InstanceContext
  • Object
show all
Defined in:
lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, chat_service_sid, conversation_sid, sid) ⇒ ParticipantContext

Initialize the ParticipantContext

Parameters:



270
271
272
273
274
275
276
277
278
279
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb', line 270

def initialize(version, chat_service_sid, conversation_sid, sid)
    super(version)
    

    # Path Solution
    @solution = { chat_service_sid: chat_service_sid, conversation_sid: conversation_sid, sid: sid,  }
    @uri = "/Services/#{@solution[:chat_service_sid]}/Conversations/#{@solution[:conversation_sid]}/Participants/#{@solution[:sid]}"

    
end

Instance Method Details

#delete(x_twilio_webhook_enabled: :unset) ⇒ Boolean

Delete the ParticipantInstance

Parameters:

  • x_twilio_webhook_enabled (ServiceConversationParticipantEnumWebhookEnabledType) (defaults to: :unset)

    The X-Twilio-Webhook-Enabled HTTP request header

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



284
285
286
287
288
289
290
291
292
293
294
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb', line 284

def delete(
    x_twilio_webhook_enabled: :unset
)

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
    
    
    

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

#delete_with_metadata(x_twilio_webhook_enabled: :unset) ⇒ Boolean

Delete the ParticipantInstanceMetadata

Parameters:

  • x_twilio_webhook_enabled (ServiceConversationParticipantEnumWebhookEnabledType) (defaults to: :unset)

    The X-Twilio-Webhook-Enabled HTTP request header

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb', line 300

def (
  x_twilio_webhook_enabled: :unset
)

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
    
    
    
      response = @version.('DELETE', @uri, headers: headers)
      participant_instance = ParticipantInstance.new(
          @version,
          response.body,
          account_sid: @solution[:account_sid],
          sid: @solution[:sid],
      )
      .new(@version, participant_instance, response.headers, response.status_code)
end

#fetchParticipantInstance

Fetch the ParticipantInstance

Returns:



321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb', line 321

def fetch

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    payload = @version.fetch('GET', @uri, headers: headers)
    ParticipantInstance.new(
        @version,
        payload,
        chat_service_sid: @solution[:chat_service_sid],
        conversation_sid: @solution[:conversation_sid],
        sid: @solution[:sid],
    )
end

#fetch_with_metadataParticipantInstance

Fetch the ParticipantInstanceMetadata

Returns:



342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb', line 342

def 

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    response = @version.('GET', @uri, headers: headers)
    participant_instance = ParticipantInstance.new(
        @version,
        response.body,
        chat_service_sid: @solution[:chat_service_sid],
        conversation_sid: @solution[:conversation_sid],
        sid: @solution[:sid],
    )
    .new(
        @version,
        participant_instance,
        response.headers,
        response.status_code
    )
end

#inspectObject

Provide a detailed, user friendly representation



490
491
492
493
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb', line 490

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

#to_sObject

Provide a user friendly representation



483
484
485
486
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb', line 483

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

#update(date_created: :unset, date_updated: :unset, identity: :unset, attributes: :unset, role_sid: :unset, messaging_binding_proxy_address: :unset, messaging_binding_projected_address: :unset, last_read_message_index: :unset, last_read_timestamp: :unset, x_twilio_webhook_enabled: :unset) ⇒ ParticipantInstance

Update the ParticipantInstance

Parameters:

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

    The date on which this resource was created.

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

    The date on which this resource was last updated.

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

    A unique string identifier for the conversation participant as [Conversation User](www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the [Conversation SDK](www.twilio.com/docs/conversations/sdk-overview) to communicate. Limited to 256 characters.

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

    An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. Note that if the attributes are not set ‘{}` will be returned.

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

    The SID of a conversation-level [Role](www.twilio.com/docs/conversations/api/role-resource) to assign to the participant.

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

    The address of the Twilio phone number that the participant is in contact with. ‘null’ value will remove it.

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

    The address of the Twilio phone number that is used in Group MMS. ‘null’ value will remove it.

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

    Index of last “read” message in the [Conversation](www.twilio.com/docs/conversations/api/conversation-resource) for the Participant.

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

    Timestamp of last “read” message in the [Conversation](www.twilio.com/docs/conversations/api/conversation-resource) for the Participant.

  • x_twilio_webhook_enabled (ServiceConversationParticipantEnumWebhookEnabledType) (defaults to: :unset)

    The X-Twilio-Webhook-Enabled HTTP request header

Returns:



379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb', line 379

def update(
    date_created: :unset, 
    date_updated: :unset, 
    identity: :unset, 
    attributes: :unset, 
    role_sid: :unset, 
    messaging_binding_proxy_address: :unset, 
    messaging_binding_projected_address: :unset, 
    last_read_message_index: :unset, 
    last_read_timestamp: :unset, 
    x_twilio_webhook_enabled: :unset
)

    data = Twilio::Values.of({
        'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
        'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
        'Identity' => identity,
        'Attributes' => attributes,
        'RoleSid' => role_sid,
        'MessagingBinding.ProxyAddress' => messaging_binding_proxy_address,
        'MessagingBinding.ProjectedAddress' => messaging_binding_projected_address,
        'LastReadMessageIndex' => last_read_message_index,
        'LastReadTimestamp' => last_read_timestamp,
    })

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
    
    
    
    
    
    payload = @version.update('POST', @uri, data: data, headers: headers)
    ParticipantInstance.new(
        @version,
        payload,
        chat_service_sid: @solution[:chat_service_sid],
        conversation_sid: @solution[:conversation_sid],
        sid: @solution[:sid],
    )
end

#update_with_metadata(date_created: :unset, date_updated: :unset, identity: :unset, attributes: :unset, role_sid: :unset, messaging_binding_proxy_address: :unset, messaging_binding_projected_address: :unset, last_read_message_index: :unset, last_read_timestamp: :unset, x_twilio_webhook_enabled: :unset) ⇒ ParticipantInstance

Update the ParticipantInstanceMetadata

Parameters:

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

    The date on which this resource was created.

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

    The date on which this resource was last updated.

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

    A unique string identifier for the conversation participant as [Conversation User](www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the [Conversation SDK](www.twilio.com/docs/conversations/sdk-overview) to communicate. Limited to 256 characters.

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

    An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. Note that if the attributes are not set ‘{}` will be returned.

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

    The SID of a conversation-level [Role](www.twilio.com/docs/conversations/api/role-resource) to assign to the participant.

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

    The address of the Twilio phone number that the participant is in contact with. ‘null’ value will remove it.

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

    The address of the Twilio phone number that is used in Group MMS. ‘null’ value will remove it.

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

    Index of last “read” message in the [Conversation](www.twilio.com/docs/conversations/api/conversation-resource) for the Participant.

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

    Timestamp of last “read” message in the [Conversation](www.twilio.com/docs/conversations/api/conversation-resource) for the Participant.

  • x_twilio_webhook_enabled (ServiceConversationParticipantEnumWebhookEnabledType) (defaults to: :unset)

    The X-Twilio-Webhook-Enabled HTTP request header

Returns:



433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb', line 433

def (
  date_created: :unset, 
  date_updated: :unset, 
  identity: :unset, 
  attributes: :unset, 
  role_sid: :unset, 
  messaging_binding_proxy_address: :unset, 
  messaging_binding_projected_address: :unset, 
  last_read_message_index: :unset, 
  last_read_timestamp: :unset, 
  x_twilio_webhook_enabled: :unset
)

    data = Twilio::Values.of({
        'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
        'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
        'Identity' => identity,
        'Attributes' => attributes,
        'RoleSid' => role_sid,
        'MessagingBinding.ProxyAddress' => messaging_binding_proxy_address,
        'MessagingBinding.ProjectedAddress' => messaging_binding_projected_address,
        'LastReadMessageIndex' => last_read_message_index,
        'LastReadTimestamp' => last_read_timestamp,
    })

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
    
    
    
    
    
    response = @version.('POST', @uri, data: data, headers: headers)
    participant_instance = ParticipantInstance.new(
        @version,
        response.body,
        chat_service_sid: @solution[:chat_service_sid],
        conversation_sid: @solution[:conversation_sid],
        sid: @solution[:sid],
    )
    .new(
        @version,
        participant_instance,
        response.headers,
        response.status_code
    )
end