Module: Mailblastr::Segments
- Defined in:
- lib/mailblastr/segments.rb
Overview
Segments are DOMAIN-FIRST: domain is required on create and list. Names
are unique within a domain (reusable across domains); every domain also
carries an auto-created "General" (all contacts) segment.
Class Method Summary collapse
-
.contacts(segment_id) ⇒ Object
Preview the contacts a segment currently resolves to.
-
.create(params) ⇒ Object
POST /segments Mailblastr::Segments.create({ domain: "yourdomain.com", name: "VIP", filter: { status: "subscribed" } }).
-
.delete(segment_id) ⇒ Object
DELETE /segments/:id.
-
.get(segment_id) ⇒ Object
GET /segments/:id.
-
.list(params) ⇒ Object
List a domain's segments (
domainrequired). -
.update(segment_id, params) ⇒ Object
PATCH /segments/:id.
Class Method Details
.contacts(segment_id) ⇒ Object
Preview the contacts a segment currently resolves to. GET /segments/:id/contacts
29 30 31 |
# File 'lib/mailblastr/segments.rb', line 29 def contacts(segment_id) Client.request(:get, "/segments/#{Client.path_escape(segment_id)}/contacts") end |
.create(params) ⇒ Object
POST /segments Mailblastr::Segments.create({ domain: "yourdomain.com", name: "VIP", filter: { status: "subscribed" } })
12 13 14 15 |
# File 'lib/mailblastr/segments.rb', line 12 def create(params) Client.require_domain!(params, "Segments.create") Client.request(:post, "/segments", body: params) end |
.delete(segment_id) ⇒ Object
DELETE /segments/:id
39 40 41 |
# File 'lib/mailblastr/segments.rb', line 39 def delete(segment_id) Client.request(:delete, "/segments/#{Client.path_escape(segment_id)}") end |
.get(segment_id) ⇒ Object
GET /segments/:id
18 19 20 |
# File 'lib/mailblastr/segments.rb', line 18 def get(segment_id) Client.request(:get, "/segments/#{Client.path_escape(segment_id)}") end |
.list(params) ⇒ Object
List a domain's segments (domain required). GET /segments?domain=
23 24 25 26 |
# File 'lib/mailblastr/segments.rb', line 23 def list(params) domain = Client.require_domain!(params, "Segments.list") Client.request(:get, "/segments", query: { domain: domain }.merge(Client.pagination(params))) end |
.update(segment_id, params) ⇒ Object
PATCH /segments/:id
34 35 36 |
# File 'lib/mailblastr/segments.rb', line 34 def update(segment_id, params) Client.request(:patch, "/segments/#{Client.path_escape(segment_id)}", body: params) end |