mandrill-api 1.0.47 → 1.0.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/mandrill.rb CHANGED
@@ -63,9 +63,11 @@ module Mandrill
63
63
  'Invalid_Reject' => InvalidRejectError,
64
64
  'Unknown_Sender' => UnknownSenderError,
65
65
  'Unknown_Url' => UnknownUrlError,
66
+ 'Unknown_TrackingDomain' => UnknownTrackingDomainError,
66
67
  'Invalid_Template' => InvalidTemplateError,
67
68
  'Unknown_Webhook' => UnknownWebhookError,
68
69
  'Unknown_InboundDomain' => UnknownInboundDomainError,
70
+ 'Unknown_InboundRoute' => UnknownInboundRouteError,
69
71
  'Unknown_Export' => UnknownExportError,
70
72
  'IP_ProvisionLimit' => IPProvisionLimitError,
71
73
  'Unknown_Pool' => UnknownPoolError,
data/lib/mandrill/api.rb CHANGED
@@ -16,9 +16,13 @@ module Mandrill
16
16
  # @param [String] code the HTML code for the template with mc:edit attributes for the editable elements
17
17
  # @param [String] text a default text part to be used when sending with this template
18
18
  # @param [Boolean] publish set to false to add a draft template without publishing
19
+ # @param [Array] labels an optional array of up to 10 labels to use for filtering templates
20
+ # - [String] labels[] a single label
19
21
  # @return [Hash] the information saved about the new template
20
22
  # - [String] slug the immutable unique code name of the template
21
23
  # - [String] name the name of the template
24
+ # - [Array] labels the list of labels applied to the template
25
+ # - [String] labels[] a single label
22
26
  # - [String] code the full HTML code of the template, with mc:edit attributes marking the editable elements - draft version
23
27
  # - [String] subject the subject line of the template, if provided - draft version
24
28
  # - [String] from_email the default sender address for the template, if provided - draft version
@@ -33,8 +37,8 @@ module Mandrill
33
37
  # - [String] published_at the date and time the template was last published as a UTC string in YYYY-MM-DD HH:MM:SS format, or null if it has not been published
34
38
  # - [String] created_at the date and time the template was first created as a UTC string in YYYY-MM-DD HH:MM:SS format
35
39
  # - [String] updated_at the date and time the template was last modified as a UTC string in YYYY-MM-DD HH:MM:SS format
36
- def add(name, from_email=nil, from_name=nil, subject=nil, code=nil, text=nil, publish=true)
37
- _params = {:name => name, :from_email => from_email, :from_name => from_name, :subject => subject, :code => code, :text => text, :publish => publish}
40
+ def add(name, from_email=nil, from_name=nil, subject=nil, code=nil, text=nil, publish=true, labels=[])
41
+ _params = {:name => name, :from_email => from_email, :from_name => from_name, :subject => subject, :code => code, :text => text, :publish => publish, :labels => labels}
38
42
  return @master.call 'templates/add', _params
39
43
  end
40
44
 
@@ -43,6 +47,8 @@ module Mandrill
43
47
  # @return [Hash] the requested template information
44
48
  # - [String] slug the immutable unique code name of the template
45
49
  # - [String] name the name of the template
50
+ # - [Array] labels the list of labels applied to the template
51
+ # - [String] labels[] a single label
46
52
  # - [String] code the full HTML code of the template, with mc:edit attributes marking the editable elements - draft version
47
53
  # - [String] subject the subject line of the template, if provided - draft version
48
54
  # - [String] from_email the default sender address for the template, if provided - draft version
@@ -70,9 +76,13 @@ module Mandrill
70
76
  # @param [String] code the new code for the template
71
77
  # @param [String] text the new default text part to be used
72
78
  # @param [Boolean] publish set to false to update the draft version of the template without publishing
79
+ # @param [Array] labels an optional array of up to 10 labels to use for filtering templates
80
+ # - [String] labels[] a single label
73
81
  # @return [Hash] the template that was updated
74
82
  # - [String] slug the immutable unique code name of the template
75
83
  # - [String] name the name of the template
84
+ # - [Array] labels the list of labels applied to the template
85
+ # - [String] labels[] a single label
76
86
  # - [String] code the full HTML code of the template, with mc:edit attributes marking the editable elements - draft version
77
87
  # - [String] subject the subject line of the template, if provided - draft version
78
88
  # - [String] from_email the default sender address for the template, if provided - draft version
@@ -87,8 +97,8 @@ module Mandrill
87
97
  # - [String] published_at the date and time the template was last published as a UTC string in YYYY-MM-DD HH:MM:SS format, or null if it has not been published
88
98
  # - [String] created_at the date and time the template was first created as a UTC string in YYYY-MM-DD HH:MM:SS format
89
99
  # - [String] updated_at the date and time the template was last modified as a UTC string in YYYY-MM-DD HH:MM:SS format
90
- def update(name, from_email=nil, from_name=nil, subject=nil, code=nil, text=nil, publish=true)
91
- _params = {:name => name, :from_email => from_email, :from_name => from_name, :subject => subject, :code => code, :text => text, :publish => publish}
100
+ def update(name, from_email=nil, from_name=nil, subject=nil, code=nil, text=nil, publish=true, labels=nil)
101
+ _params = {:name => name, :from_email => from_email, :from_name => from_name, :subject => subject, :code => code, :text => text, :publish => publish, :labels => labels}
92
102
  return @master.call 'templates/update', _params
93
103
  end
94
104
 
@@ -97,6 +107,8 @@ module Mandrill
97
107
  # @return [Hash] the template that was published
98
108
  # - [String] slug the immutable unique code name of the template
99
109
  # - [String] name the name of the template
110
+ # - [Array] labels the list of labels applied to the template
111
+ # - [String] labels[] a single label
100
112
  # - [String] code the full HTML code of the template, with mc:edit attributes marking the editable elements - draft version
101
113
  # - [String] subject the subject line of the template, if provided - draft version
102
114
  # - [String] from_email the default sender address for the template, if provided - draft version
@@ -121,6 +133,8 @@ module Mandrill
121
133
  # @return [Hash] the template that was deleted
122
134
  # - [String] slug the immutable unique code name of the template
123
135
  # - [String] name the name of the template
136
+ # - [Array] labels the list of labels applied to the template
137
+ # - [String] labels[] a single label
124
138
  # - [String] code the full HTML code of the template, with mc:edit attributes marking the editable elements - draft version
125
139
  # - [String] subject the subject line of the template, if provided - draft version
126
140
  # - [String] from_email the default sender address for the template, if provided - draft version
@@ -141,10 +155,13 @@ module Mandrill
141
155
  end
142
156
 
143
157
  # Return a list of all the templates available to this user
158
+ # @param [String] label an optional label to filter the templates
144
159
  # @return [Array] an array of structs with information about each template
145
160
  # - [Hash] return[] the information on each template in the account
146
161
  # - [String] slug the immutable unique code name of the template
147
162
  # - [String] name the name of the template
163
+ # - [Array] labels the list of labels applied to the template
164
+ # - [String] labels[] a single label
148
165
  # - [String] code the full HTML code of the template, with mc:edit attributes marking the editable elements - draft version
149
166
  # - [String] subject the subject line of the template, if provided - draft version
150
167
  # - [String] from_email the default sender address for the template, if provided - draft version
@@ -159,8 +176,8 @@ module Mandrill
159
176
  # - [String] published_at the date and time the template was last published as a UTC string in YYYY-MM-DD HH:MM:SS format, or null if it has not been published
160
177
  # - [String] created_at the date and time the template was first created as a UTC string in YYYY-MM-DD HH:MM:SS format
161
178
  # - [String] updated_at the date and time the template was last modified as a UTC string in YYYY-MM-DD HH:MM:SS format
162
- def list()
163
- _params = {}
179
+ def list(label=nil)
180
+ _params = {:label => label}
164
181
  return @master.call 'templates/list', _params
165
182
  end
166
183
 
@@ -486,10 +503,44 @@ module Mandrill
486
503
  return @master.call 'inbound/domains', _params
487
504
  end
488
505
 
506
+ # Add an inbound domain to your account
507
+ # @param [String] domain a domain name
508
+ # @return [Hash] information about the domain
509
+ # - [String] domain the domain name that is accepting mail
510
+ # - [String] created_at the date and time that the inbound domain was added as a UTC string in YYYY-MM-DD HH:MM:SS format
511
+ # - [Boolean] valid_mx true if this inbound domain has successfully set up an MX record to deliver mail to the Mandrill servers
512
+ def add_domain(domain)
513
+ _params = {:domain => domain}
514
+ return @master.call 'inbound/add-domain', _params
515
+ end
516
+
517
+ # Check the MX settings for an inbound domain. The domain must have already been added with the add-domain call
518
+ # @param [String] domain an existing inbound domain
519
+ # @return [Hash] information about the inbound domain
520
+ # - [String] domain the domain name that is accepting mail
521
+ # - [String] created_at the date and time that the inbound domain was added as a UTC string in YYYY-MM-DD HH:MM:SS format
522
+ # - [Boolean] valid_mx true if this inbound domain has successfully set up an MX record to deliver mail to the Mandrill servers
523
+ def check_domain(domain)
524
+ _params = {:domain => domain}
525
+ return @master.call 'inbound/check-domain', _params
526
+ end
527
+
528
+ # Delete an inbound domain from the account. All mail will stop routing for this domain immediately.
529
+ # @param [String] domain an existing inbound domain
530
+ # @return [Hash] information about the deleted domain
531
+ # - [String] domain the domain name that is accepting mail
532
+ # - [String] created_at the date and time that the inbound domain was added as a UTC string in YYYY-MM-DD HH:MM:SS format
533
+ # - [Boolean] valid_mx true if this inbound domain has successfully set up an MX record to deliver mail to the Mandrill servers
534
+ def delete_domain(domain)
535
+ _params = {:domain => domain}
536
+ return @master.call 'inbound/delete-domain', _params
537
+ end
538
+
489
539
  # List the mailbox routes defined for an inbound domain
490
540
  # @param [String] domain the domain to check
491
541
  # @return [Array] the routes associated with the domain
492
542
  # - [Hash] return[] the individual mailbox route
543
+ # - [String] id the unique identifier of the route
493
544
  # - [String] pattern the search pattern that the mailbox name should match
494
545
  # - [String] url the webhook URL where inbound messages will be published
495
546
  def routes(domain)
@@ -497,6 +548,43 @@ module Mandrill
497
548
  return @master.call 'inbound/routes', _params
498
549
  end
499
550
 
551
+ # Add a new mailbox route to an inbound domain
552
+ # @param [String] domain an existing inbound domain
553
+ # @param [String] pattern the search pattern that the mailbox name should match
554
+ # @param [String] url the webhook URL where the inbound messages will be published
555
+ # @return [Hash] the added mailbox route information
556
+ # - [String] id the unique identifier of the route
557
+ # - [String] pattern the search pattern that the mailbox name should match
558
+ # - [String] url the webhook URL where inbound messages will be published
559
+ def add_route(domain, pattern, url)
560
+ _params = {:domain => domain, :pattern => pattern, :url => url}
561
+ return @master.call 'inbound/add-route', _params
562
+ end
563
+
564
+ # Update the pattern or webhook of an existing inbound mailbox route. If null is provided for any fields, the values will remain unchanged.
565
+ # @param [String] id the unique identifier of an existing mailbox route
566
+ # @param [String] pattern the search pattern that the mailbox name should match
567
+ # @param [String] url the webhook URL where the inbound messages will be published
568
+ # @return [Hash] the updated mailbox route information
569
+ # - [String] id the unique identifier of the route
570
+ # - [String] pattern the search pattern that the mailbox name should match
571
+ # - [String] url the webhook URL where inbound messages will be published
572
+ def update_route(id, pattern=nil, url=nil)
573
+ _params = {:id => id, :pattern => pattern, :url => url}
574
+ return @master.call 'inbound/update-route', _params
575
+ end
576
+
577
+ # Delete an existing inbound mailbox route
578
+ # @param [String] id the unique identifier of an existing route
579
+ # @return [Hash] the deleted mailbox route information
580
+ # - [String] id the unique identifier of the route
581
+ # - [String] pattern the search pattern that the mailbox name should match
582
+ # - [String] url the webhook URL where inbound messages will be published
583
+ def delete_route(id)
584
+ _params = {:id => id}
585
+ return @master.call 'inbound/delete-route', _params
586
+ end
587
+
500
588
  # Take a raw MIME document destined for a domain with inbound domains set up, and send it to the inbound hook exactly as if it had been sent over SMTP
501
589
  # @param [String] raw_message the full MIME document of an email message
502
590
  # @param [Array, nil] to optionally define the recipients to receive the message - otherwise we'll use the To, Cc, and Bcc headers provided in the document
@@ -1523,6 +1611,54 @@ module Mandrill
1523
1611
  return @master.call 'urls/time-series', _params
1524
1612
  end
1525
1613
 
1614
+ # Get the list of tracking domains set up for this account
1615
+ # @return [Array] the tracking domains and their status
1616
+ # - [Hash] return[] the individual tracking domain
1617
+ # - [String] domain the tracking domain name
1618
+ # - [String] created_at the date and time that the tracking domain was added as a UTC string in YYYY-MM-DD HH:MM:SS format
1619
+ # - [String] last_tested_at when the domain's DNS settings were last tested as a UTC string in YYYY-MM-DD HH:MM:SS format
1620
+ # - [Hash] cname details about the domain's CNAME record
1621
+ # - [Boolean] valid whether the domain's CNAME record is valid for use with Mandrill
1622
+ # - [String] valid_after when the domain's CNAME record will be considered valid for use with Mandrill as a UTC string in YYYY-MM-DD HH:MM:SS format. If set, this indicates that the record is valid now, but was previously invalid, and Mandrill will wait until the record's TTL elapses to start using it.
1623
+ # - [String] error an error describing the CNAME record, or null if the record is correct
1624
+ # - [Boolean] valid_tracking whether this domain can be used as a tracking domain for email.
1625
+ def tracking_domains()
1626
+ _params = {}
1627
+ return @master.call 'urls/tracking-domains', _params
1628
+ end
1629
+
1630
+ # Add a tracking domain to your account
1631
+ # @param [String] domain a domain name
1632
+ # @return [Hash] information about the domain
1633
+ # - [String] domain the tracking domain name
1634
+ # - [String] created_at the date and time that the tracking domain was added as a UTC string in YYYY-MM-DD HH:MM:SS format
1635
+ # - [String] last_tested_at when the domain's DNS settings were last tested as a UTC string in YYYY-MM-DD HH:MM:SS format
1636
+ # - [Hash] cname details about the domain's CNAME record
1637
+ # - [Boolean] valid whether the domain's CNAME record is valid for use with Mandrill
1638
+ # - [String] valid_after when the domain's CNAME record will be considered valid for use with Mandrill as a UTC string in YYYY-MM-DD HH:MM:SS format. If set, this indicates that the record is valid now, but was previously invalid, and Mandrill will wait until the record's TTL elapses to start using it.
1639
+ # - [String] error an error describing the CNAME record, or null if the record is correct
1640
+ # - [Boolean] valid_tracking whether this domain can be used as a tracking domain for email.
1641
+ def add_tracking_domain(domain)
1642
+ _params = {:domain => domain}
1643
+ return @master.call 'urls/add-tracking-domain', _params
1644
+ end
1645
+
1646
+ # Checks the CNAME settings for a tracking domain. The domain must have been added already with the add-tracking-domain call
1647
+ # @param [String] domain an existing tracking domain name
1648
+ # @return [Hash] information about the tracking domain
1649
+ # - [String] domain the tracking domain name
1650
+ # - [String] created_at the date and time that the tracking domain was added as a UTC string in YYYY-MM-DD HH:MM:SS format
1651
+ # - [String] last_tested_at when the domain's DNS settings were last tested as a UTC string in YYYY-MM-DD HH:MM:SS format
1652
+ # - [Hash] cname details about the domain's CNAME record
1653
+ # - [Boolean] valid whether the domain's CNAME record is valid for use with Mandrill
1654
+ # - [String] valid_after when the domain's CNAME record will be considered valid for use with Mandrill as a UTC string in YYYY-MM-DD HH:MM:SS format. If set, this indicates that the record is valid now, but was previously invalid, and Mandrill will wait until the record's TTL elapses to start using it.
1655
+ # - [String] error an error describing the CNAME record, or null if the record is correct
1656
+ # - [Boolean] valid_tracking whether this domain can be used as a tracking domain for email.
1657
+ def check_tracking_domain(domain)
1658
+ _params = {:domain => domain}
1659
+ return @master.call 'urls/check-tracking-domain', _params
1660
+ end
1661
+
1526
1662
  end
1527
1663
  class Webhooks
1528
1664
  attr_accessor :master
@@ -23,12 +23,16 @@ module Mandrill
23
23
  end
24
24
  class UnknownUrlError < Error
25
25
  end
26
+ class UnknownTrackingDomainError < Error
27
+ end
26
28
  class InvalidTemplateError < Error
27
29
  end
28
30
  class UnknownWebhookError < Error
29
31
  end
30
32
  class UnknownInboundDomainError < Error
31
33
  end
34
+ class UnknownInboundRouteError < Error
35
+ end
32
36
  class UnknownExportError < Error
33
37
  end
34
38
  class IPProvisionLimitError < Error
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mandrill-api
3
3
  version: !ruby/object:Gem::Version
4
- hash: 73
4
+ hash: 119
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 47
10
- version: 1.0.47
9
+ - 48
10
+ version: 1.0.48
11
11
  platform: ruby
12
12
  authors:
13
13
  - Mandrill Devs
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2013-09-13 00:00:00 Z
18
+ date: 2013-10-11 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: json
@@ -104,9 +104,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
104
  requirements: []
105
105
 
106
106
  rubyforge_project:
107
- rubygems_version: 1.8.15
107
+ rubygems_version: 1.8.24
108
108
  signing_key:
109
109
  specification_version: 3
110
110
  summary: A Ruby API library for the Mandrill email as a service platform.
111
111
  test_files: []
112
112
 
113
+ has_rdoc: