Class: Zavudev::Resources::Contacts
- Inherits:
-
Object
- Object
- Zavudev::Resources::Contacts
- Defined in:
- lib/zavudev/resources/contacts.rb,
lib/zavudev/resources/contacts/channels.rb
Defined Under Namespace
Classes: Channels
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#create(channels:, display_name: nil, metadata: nil, request_options: {}) ⇒ Zavudev::Models::Contact
Create a new contact with one or more communication channels.
-
#dismiss_merge_suggestion(contact_id, request_options: {}) ⇒ nil
Dismiss the merge suggestion for a contact.
-
#initialize(client:) ⇒ Contacts
constructor
private
A new instance of Contacts.
-
#list(cursor: nil, limit: nil, phone_number: nil, request_options: {}) ⇒ Zavudev::Internal::Cursor<Zavudev::Models::Contact>
List contacts with their communication channels.
-
#merge(contact_id, source_contact_id:, request_options: {}) ⇒ Zavudev::Models::Contact
Some parameter documentations has been truncated, see Models::ContactMergeParams for more details.
-
#retrieve(contact_id, request_options: {}) ⇒ Zavudev::Models::Contact
Get contact.
-
#retrieve_by_phone(phone_number, request_options: {}) ⇒ Zavudev::Models::Contact
Get contact by phone number.
-
#update(contact_id, default_channel: nil, metadata: nil, request_options: {}) ⇒ Zavudev::Models::Contact
Update contact.
Constructor Details
#initialize(client:) ⇒ Contacts
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Contacts.
176 177 178 179 |
# File 'lib/zavudev/resources/contacts.rb', line 176 def initialize(client:) @client = client @channels = Zavudev::Resources::Contacts::Channels.new(client: client) end |
Instance Attribute Details
#channels ⇒ Zavudev::Resources::Contacts::Channels (readonly)
7 8 9 |
# File 'lib/zavudev/resources/contacts.rb', line 7 def channels @channels end |
Instance Method Details
#create(channels:, display_name: nil, metadata: nil, request_options: {}) ⇒ Zavudev::Models::Contact
Create a new contact with one or more communication channels.
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/zavudev/resources/contacts.rb', line 24 def create(params) parsed, = Zavudev::ContactCreateParams.dump_request(params) @client.request( method: :post, path: "v1/contacts", body: parsed, model: Zavudev::Contact, options: ) end |
#dismiss_merge_suggestion(contact_id, request_options: {}) ⇒ nil
Dismiss the merge suggestion for a contact.
115 116 117 118 119 120 121 122 |
# File 'lib/zavudev/resources/contacts.rb', line 115 def dismiss_merge_suggestion(contact_id, params = {}) @client.request( method: :delete, path: ["v1/contacts/%1$s/merge-suggestion", contact_id], model: NilClass, options: params[:request_options] ) end |
#list(cursor: nil, limit: nil, phone_number: nil, request_options: {}) ⇒ Zavudev::Internal::Cursor<Zavudev::Models::Contact>
List contacts with their communication channels.
92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/zavudev/resources/contacts.rb', line 92 def list(params = {}) parsed, = Zavudev::ContactListParams.dump_request(params) query = Zavudev::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: "v1/contacts", query: query.transform_keys(phone_number: "phoneNumber"), page: Zavudev::Internal::Cursor, model: Zavudev::Contact, options: ) end |
#merge(contact_id, source_contact_id:, request_options: {}) ⇒ Zavudev::Models::Contact
Some parameter documentations has been truncated, see Models::ContactMergeParams for more details.
Merge a source contact into this contact. All channels from the source contact will be moved to the target contact, and the source contact will be marked as merged.
142 143 144 145 146 147 148 149 150 151 |
# File 'lib/zavudev/resources/contacts.rb', line 142 def merge(contact_id, params) parsed, = Zavudev::ContactMergeParams.dump_request(params) @client.request( method: :post, path: ["v1/contacts/%1$s/merge", contact_id], body: parsed, model: Zavudev::Contact, options: ) end |
#retrieve(contact_id, request_options: {}) ⇒ Zavudev::Models::Contact
Get contact
45 46 47 48 49 50 51 52 |
# File 'lib/zavudev/resources/contacts.rb', line 45 def retrieve(contact_id, params = {}) @client.request( method: :get, path: ["v1/contacts/%1$s", contact_id], model: Zavudev::Contact, options: params[:request_options] ) end |
#retrieve_by_phone(phone_number, request_options: {}) ⇒ Zavudev::Models::Contact
Get contact by phone number
164 165 166 167 168 169 170 171 |
# File 'lib/zavudev/resources/contacts.rb', line 164 def retrieve_by_phone(phone_number, params = {}) @client.request( method: :get, path: ["v1/contacts/phone/%1$s", phone_number], model: Zavudev::Contact, options: params[:request_options] ) end |
#update(contact_id, default_channel: nil, metadata: nil, request_options: {}) ⇒ Zavudev::Models::Contact
Update contact
69 70 71 72 73 74 75 76 77 78 |
# File 'lib/zavudev/resources/contacts.rb', line 69 def update(contact_id, params = {}) parsed, = Zavudev::ContactUpdateParams.dump_request(params) @client.request( method: :patch, path: ["v1/contacts/%1$s", contact_id], body: parsed, model: Zavudev::Contact, options: ) end |