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
- dynamic (bool)
* Whether this is a dynamic or normal group
* Read-only
- num_members (int)
* Number of contacts in the group (null if the group is dynamic)
* Read-only
- time_created (UNIX timestamp)
* Time the group was created in Telerivet
* Read-only
- allow_sending (bool)
* True if messages can be sent to this group, false otherwise.
* Updatable via API
- add_time_variable (string)
* Variable name of a custom contact field that will automatically be set to the
current date/time on any contact that is added to the group. This variable will only
be set if the contact does not already have a value for this variable.
* Updatable via API
- vars (Hash)
* Custom variables stored for this group. Variable names may be up to 32 characters in
length and can contain the characters a-z, A-Z, 0-9, and _.
Values may be strings, numbers, or boolean (true/false).
String values may be up to 4096 bytes in length when encoded as UTF-8.
Up to 100 variables are supported per object.
Setting a variable to null will delete the variable.
* Updatable via API
- project_id
* ID of the project this group belongs to
* Read-only
Instance Method Summary collapse
- #add_time_variable ⇒ Object
- #add_time_variable=(value) ⇒ Object
- #allow_sending ⇒ Object
- #allow_sending=(value) ⇒ Object
-
#delete ⇒ Object
Deletes this group (Note: no contacts are deleted.).
- #dynamic ⇒ Object
- #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, #set, #set_data, #to_s, #vars
Constructor Details
This class inherits a constructor from Telerivet::Entity
Instance Method Details
#add_time_variable ⇒ Object
227 228 229 |
# File 'lib/telerivet/group.rb', line 227 def add_time_variable get('add_time_variable') end |
#add_time_variable=(value) ⇒ Object
231 232 233 |
# File 'lib/telerivet/group.rb', line 231 def add_time_variable=(value) set('add_time_variable', value) end |
#allow_sending ⇒ Object
219 220 221 |
# File 'lib/telerivet/group.rb', line 219 def allow_sending get('allow_sending') end |
#allow_sending=(value) ⇒ Object
223 224 225 |
# File 'lib/telerivet/group.rb', line 223 def allow_sending=(value) set('allow_sending', value) end |
#delete ⇒ Object
Deletes this group (Note: no contacts are deleted.)
191 192 193 |
# File 'lib/telerivet/group.rb', line 191 def delete() @api.do_request("DELETE", get_base_api_path()) end |
#dynamic ⇒ Object
207 208 209 |
# File 'lib/telerivet/group.rb', line 207 def dynamic get('dynamic') end |
#get_base_api_path ⇒ Object
239 240 241 |
# File 'lib/telerivet/group.rb', line 239 def get_base_api_path() "/projects/#{get('project_id')}/groups/#{get('id')}" end |
#id ⇒ Object
195 196 197 |
# File 'lib/telerivet/group.rb', line 195 def id get('id') end |
#name ⇒ Object
199 200 201 |
# File 'lib/telerivet/group.rb', line 199 def name get('name') end |
#name=(value) ⇒ Object
203 204 205 |
# File 'lib/telerivet/group.rb', line 203 def name=(value) set('name', value) end |
#num_members ⇒ Object
211 212 213 |
# File 'lib/telerivet/group.rb', line 211 def num_members get('num_members') end |
#project_id ⇒ Object
235 236 237 |
# File 'lib/telerivet/group.rb', line 235 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], phone_number[exists]
- time_created (UNIX timestamp)
* Filter contacts by time created
* Allowed modifiers: 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[min], last_message_time[max],
last_message_time[exists]
- last_incoming_message_time (UNIX timestamp)
* Filter contacts by last time a message was received
* Allowed modifiers: last_incoming_message_time[min],
last_incoming_message_time[max], last_incoming_message_time[exists]
- last_outgoing_message_time (UNIX timestamp)
* Filter contacts by last time a message was sent
* Allowed modifiers: last_outgoing_message_time[min],
last_outgoing_message_time[max], last_outgoing_message_time[exists]
- incoming_message_count (int)
* Filter contacts by number of messages received from the contact
* Allowed modifiers: incoming_message_count[ne], incoming_message_count[min],
incoming_message_count[max]
- outgoing_message_count (int)
* Filter contacts by number of messages sent to the contact
* Allowed modifiers: outgoing_message_count[ne], outgoing_message_count[min],
outgoing_message_count[max]
- send_blocked (bool)
* Filter contacts by blocked status
- vars (Hash)
* Filter contacts by value of a custom variable (e.g. vars[email], vars[foo], etc.)
* Allowed modifiers: 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], vars[foo][exists]
- 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 500)
* Default: 50
- offset (int)
* Number of items to skip from beginning of result set
* Default: 0
Returns:
Telerivet::APICursor (of Telerivet::Contact)
129 130 131 132 |
# File 'lib/telerivet/group.rb', line 129 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, ussd_session, call, chat, service
- time_created (UNIX timestamp)
* Filter scheduled messages by time_created
* Allowed modifiers: time_created[min], time_created[max]
- next_time (UNIX timestamp)
* Filter scheduled messages by next_time
* Allowed modifiers: next_time[min], next_time[max], next_time[exists]
- relative_scheduled_id
* Filter scheduled messages created for a relative scheduled message
- sort
* Sort the results based on a field
* Allowed values: default, next_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 500)
* Default: 50
- offset (int)
* Number of items to skip from beginning of result set
* Default: 0
Returns:
Telerivet::APICursor (of Telerivet::ScheduledMessage)
176 177 178 179 |
# File 'lib/telerivet/group.rb', line 176 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.
184 185 186 |
# File 'lib/telerivet/group.rb', line 184 def save() super end |
#time_created ⇒ Object
215 216 217 |
# File 'lib/telerivet/group.rb', line 215 def time_created get('time_created') end |