class Telerivet::Group
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 - vars (Hash) * Custom variables stored for this group * Updatable via API - project_id * ID of the project this group belongs to * Read-only
Public Instance Methods
delete()
click to toggle source
Deletes this group (Note: no contacts are deleted.)
# File lib/telerivet/group.rb, line 176 def delete() @api.do_request("DELETE", get_base_api_path()) end
dynamic()
click to toggle source
# File lib/telerivet/group.rb, line 192 def dynamic get('dynamic') end
get_base_api_path()
click to toggle source
# File lib/telerivet/group.rb, line 208 def get_base_api_path() "/projects/#{get('project_id')}/groups/#{get('id')}" end
id()
click to toggle source
# File lib/telerivet/group.rb, line 180 def id get('id') end
name()
click to toggle source
# File lib/telerivet/group.rb, line 184 def name get('name') end
name=(value)
click to toggle source
# File lib/telerivet/group.rb, line 188 def name=(value) set('name', value) end
num_members()
click to toggle source
# File lib/telerivet/group.rb, line 196 def num_members get('num_members') end
project_id()
click to toggle source
# File lib/telerivet/group.rb, line 204 def project_id get('project_id') end
query_contacts(options = nil)
click to toggle source
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[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[ne], 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[ne], 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[ne], 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)
# File lib/telerivet/group.rb, line 116 def query_contacts(options = nil) require_relative 'contact' @api.cursor(Contact, get_base_api_path() + "/contacts", options) end
query_scheduled_messages(options = nil)
click to toggle source
Queries scheduled messages to the given group.
Arguments:
- options (Hash) - message_type * Filter scheduled messages by message_type * Allowed values: sms, mms, ussd, call, service - 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[ne], next_time[min], next_time[max], next_time[exists] - 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 500) * Default: 50 - offset (int) * Number of items to skip from beginning of result set * Default: 0
Returns:
Telerivet::APICursor (of Telerivet::ScheduledMessage)
# File lib/telerivet/group.rb, line 161 def query_scheduled_messages(options = nil) require_relative 'scheduledmessage' @api.cursor(ScheduledMessage, get_base_api_path() + "/scheduled", options) end
save()
click to toggle source
Saves any fields that have changed for this group.
Calls superclass method
Telerivet::Entity#save
# File lib/telerivet/group.rb, line 169 def save() super end
time_created()
click to toggle source
# File lib/telerivet/group.rb, line 200 def time_created get('time_created') end