Class: Telerivet::Group
Overview
Represents a group used to organize contacts within Telerivet.
Fields:
- id (string, max 34 characters)
* ID of the group
* Read-only
- name
* Name of the group
* Updatable via API
- num_members (int)
* Number of contacts in the group
* Read-only
- time_created (UNIX timestamp)
* Time the group was created in Telerivet
* Read-only
- vars (Hash)
* Custom variables stored for this group
* Updatable via API
- project_id
* ID of the project this group belongs to
* Read-only
Instance Method Summary collapse
-
#delete ⇒ Object
Deletes this group (Note: no contacts are deleted.).
- #get_base_api_path ⇒ Object
- #id ⇒ Object
- #name ⇒ Object
- #name=(value) ⇒ Object
- #num_members ⇒ Object
- #project_id ⇒ Object
-
#query_contacts(options = nil) ⇒ Object
Queries contacts that are members of the given group.
-
#query_scheduled_messages(options = nil) ⇒ Object
Queries scheduled messages to the given group.
-
#save ⇒ Object
Saves any fields that have changed for this group.
- #time_created ⇒ Object
Methods inherited from Entity
#get, #initialize, #load_data, #set, #set_data, #to_s, #vars
Constructor Details
This class inherits a constructor from Telerivet::Entity
Instance Method Details
#delete ⇒ Object
Deletes this group (Note: no contacts are deleted.)
147 148 149 |
# File 'lib/telerivet/group.rb', line 147 def delete() @api.do_request("DELETE", get_base_api_path()) end |
#get_base_api_path ⇒ Object
175 176 177 |
# File 'lib/telerivet/group.rb', line 175 def get_base_api_path() "/projects/#{get('project_id')}/groups/#{get('id')}" end |
#id ⇒ Object
151 152 153 |
# File 'lib/telerivet/group.rb', line 151 def id get('id') end |
#name ⇒ Object
155 156 157 |
# File 'lib/telerivet/group.rb', line 155 def name get('name') end |
#name=(value) ⇒ Object
159 160 161 |
# File 'lib/telerivet/group.rb', line 159 def name=(value) set('name', value) end |
#num_members ⇒ Object
163 164 165 |
# File 'lib/telerivet/group.rb', line 163 def num_members get('num_members') end |
#project_id ⇒ Object
171 172 173 |
# File 'lib/telerivet/group.rb', line 171 def project_id get('project_id') end |
#query_contacts(options = nil) ⇒ Object
Queries contacts that are members of the given group.
Arguments:
- options (Hash)
- name
* Filter contacts by name
* Allowed modifiers: name[ne], name[prefix], name[not_prefix], name[gte], name[gt],
name[lt], name[lte]
- phone_number
* Filter contacts by phone number
* Allowed modifiers: phone_number[ne], phone_number[prefix],
phone_number[not_prefix], phone_number[gte], phone_number[gt], phone_number[lt],
phone_number[lte]
- time_created (UNIX timestamp)
* Filter contacts by time created
* Allowed modifiers: time_created[ne], time_created[min], time_created[max]
- last_message_time (UNIX timestamp)
* Filter contacts by last time a message was sent or received
* Allowed modifiers: last_message_time[exists], last_message_time[ne],
last_message_time[min], last_message_time[max]
- vars (Hash)
* Filter contacts by value of a custom variable (e.g. vars[email], vars[foo], etc.)
* Allowed modifiers: vars[foo][exists], vars[foo][ne], vars[foo][prefix],
vars[foo][not_prefix], vars[foo][gte], vars[foo][gt], vars[foo][lt], vars[foo][lte],
vars[foo][min], vars[foo][max]
- sort
* Sort the results based on a field
* Allowed values: default, name, phone_number, last_message_time
* Default: default
- sort_dir
* Sort the results in ascending or descending order
* Allowed values: asc, desc
* Default: asc
- page_size (int)
* Number of results returned per page (max 200)
* Default: 50
- offset (int)
* Number of items to skip from beginning of result set
* Default: 0
Returns:
Telerivet::APICursor (of Telerivet::Contact)
87 88 89 90 |
# File 'lib/telerivet/group.rb', line 87 def query_contacts( = nil) require_relative 'contact' @api.cursor(Contact, get_base_api_path() + "/contacts", ) end |
#query_scheduled_messages(options = nil) ⇒ Object
Queries scheduled messages to the given group.
Arguments:
- options (Hash)
- message_type
* Filter scheduled messages by message_type
* Allowed values: sms, mms, ussd, call
- time_created (UNIX timestamp)
* Filter scheduled messages by time_created
* Allowed modifiers: time_created[ne], time_created[min], time_created[max]
- next_time (UNIX timestamp)
* Filter scheduled messages by next_time
* Allowed modifiers: next_time[exists], next_time[ne], next_time[min],
next_time[max]
- sort
* Sort the results based on a field
* Allowed values: default, name
* Default: default
- sort_dir
* Sort the results in ascending or descending order
* Allowed values: asc, desc
* Default: asc
- page_size (int)
* Number of results returned per page (max 200)
* Default: 50
- offset (int)
* Number of items to skip from beginning of result set
* Default: 0
Returns:
Telerivet::APICursor (of Telerivet::ScheduledMessage)
132 133 134 135 |
# File 'lib/telerivet/group.rb', line 132 def ( = nil) require_relative 'scheduledmessage' @api.cursor(ScheduledMessage, get_base_api_path() + "/scheduled", ) end |
#save ⇒ Object
Saves any fields that have changed for this group.
140 141 142 |
# File 'lib/telerivet/group.rb', line 140 def save() super end |
#time_created ⇒ Object
167 168 169 |
# File 'lib/telerivet/group.rb', line 167 def time_created get('time_created') end |