Class: VoiceML::ConversationsV1ServicesResource

Inherits:
Object
  • Object
show all
Defined in:
lib/voiceml/resources/conversations_v1.rb

Overview

============================================================================

/v1/Services + nested /Conversations

Constant Summary collapse

SERVICE_CONVERSATION_FIELDS =
{
  'FriendlyName' => :friendly_name,
  'UniqueName' => :unique_name,
  'MessagingServiceSid' => :messaging_service_sid,
  'Attributes' => :attributes,
  'State' => :state,
  'Timers.Inactive' => :timers_inactive,
  'Timers.Closed' => :timers_closed
}.freeze
SERVICE_CONVERSATION_UPDATE_FIELDS =
{
  'FriendlyName' => :friendly_name,
  'UniqueName' => :unique_name,
  'Attributes' => :attributes,
  'State' => :state,
  'Timers.Inactive' => :timers_inactive,
  'Timers.Closed' => :timers_closed
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(transport) ⇒ ConversationsV1ServicesResource

Returns a new instance of ConversationsV1ServicesResource.



633
634
635
# File 'lib/voiceml/resources/conversations_v1.rb', line 633

def initialize(transport)
  @transport = transport
end

Instance Method Details

#create(friendly_name:) ⇒ Object



643
644
645
646
647
# File 'lib/voiceml/resources/conversations_v1.rb', line 643

def create(friendly_name:)
  ConversationsV1Service.from_hash(
    @transport.request(:post, '/v1/Services', form: { 'FriendlyName' => friendly_name })
  )
end

#create_conversation(chat_service_sid, **kwargs) ⇒ Object



667
668
669
670
671
672
# File 'lib/voiceml/resources/conversations_v1.rb', line 667

def create_conversation(chat_service_sid, **kwargs)
  ConversationsV1ServiceConversation.from_hash(
    @transport.request(:post, "/v1/Services/#{chat_service_sid}/Conversations",
                       form: build_form(SERVICE_CONVERSATION_FIELDS, kwargs))
  )
end

#delete(chat_service_sid) ⇒ Object



653
654
655
656
# File 'lib/voiceml/resources/conversations_v1.rb', line 653

def delete(chat_service_sid)
  @transport.request(:delete, "/v1/Services/#{chat_service_sid}")
  nil
end

#delete_conversation(chat_service_sid, conversation_sid) ⇒ Object



687
688
689
690
# File 'lib/voiceml/resources/conversations_v1.rb', line 687

def delete_conversation(chat_service_sid, conversation_sid)
  @transport.request(:delete, "/v1/Services/#{chat_service_sid}/Conversations/#{conversation_sid}")
  nil
end

#fetch(chat_service_sid) ⇒ Object



649
650
651
# File 'lib/voiceml/resources/conversations_v1.rb', line 649

def fetch(chat_service_sid)
  ConversationsV1Service.from_hash(@transport.request(:get, "/v1/Services/#{chat_service_sid}"))
end

#fetch_conversation(chat_service_sid, conversation_sid) ⇒ Object



674
675
676
677
678
# File 'lib/voiceml/resources/conversations_v1.rb', line 674

def fetch_conversation(chat_service_sid, conversation_sid)
  ConversationsV1ServiceConversation.from_hash(
    @transport.request(:get, "/v1/Services/#{chat_service_sid}/Conversations/#{conversation_sid}")
  )
end

#list(page_size: nil) ⇒ Object



637
638
639
640
641
# File 'lib/voiceml/resources/conversations_v1.rb', line 637

def list(page_size: nil)
  params = {}
  params['PageSize'] = page_size unless page_size.nil?
  ConversationsV1ServiceList.new(@transport.request(:get, '/v1/Services', params: params))
end

#list_conversations(chat_service_sid, page_size: nil) ⇒ Object

--- /v1/Services/ChatServiceSid/Conversations ---



659
660
661
662
663
664
665
# File 'lib/voiceml/resources/conversations_v1.rb', line 659

def list_conversations(chat_service_sid, page_size: nil)
  params = {}
  params['PageSize'] = page_size unless page_size.nil?
  ConversationsV1ServiceConversationList.new(
    @transport.request(:get, "/v1/Services/#{chat_service_sid}/Conversations", params: params)
  )
end

#scope(chat_service_sid) ⇒ Object

Returns a scope object exposing the 48 Phase-4 sub-resource ops under /v1/Services/{chat_service_sid}/.... The scope binds chat_service_sid once so callers don't need to thread it through each call.



695
696
697
# File 'lib/voiceml/resources/conversations_v1.rb', line 695

def scope(chat_service_sid)
  ConversationsV1ServiceScopeResource.new(@transport, chat_service_sid)
end

#update_conversation(chat_service_sid, conversation_sid, **kwargs) ⇒ Object



680
681
682
683
684
685
# File 'lib/voiceml/resources/conversations_v1.rb', line 680

def update_conversation(chat_service_sid, conversation_sid, **kwargs)
  ConversationsV1ServiceConversation.from_hash(
    @transport.request(:post, "/v1/Services/#{chat_service_sid}/Conversations/#{conversation_sid}",
                       form: build_form(SERVICE_CONVERSATION_UPDATE_FIELDS, kwargs))
  )
end