sendgrid-ruby 3.0.5 → 3.0.6
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/USAGE.md +137 -1
- data/examples/contactdb/contactdb.rb +1 -1
- data/examples/senders/senders.rb +98 -0
- data/lib/sendgrid/version.rb +1 -1
- data/test/sendgrid/test_sendgrid-ruby.rb +76 -2
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d87e0ebd7948408c1716659ae622d2be7f95f59a
|
4
|
+
data.tar.gz: bc8f0d2d86daa5fea84161a044aac3f0960825cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd419b14d5b9b113b7860a4dc0683c70cb051dfa6494d225b28c6998b12b1dc025ab3fc53dce71a962044dc8dce15d23b815b4d3ec503d9f6d35d0978a9ccb64
|
7
|
+
data.tar.gz: e651ea89308ba59e482cd6fdc26058a3638a9ff0cc692daa294f2078c53e0c01040fd9d75a1c874c86fda2dcc4151dd29aeac8c99227c363de19ac56c8372b8d
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
# Change Log
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
|
4
|
+
## [3.0.6] - 2016-07-05 ##
|
5
|
+
### Added
|
6
|
+
- Update docs, unit tests and examples to include Sender ID
|
7
|
+
|
4
8
|
## [3.0.5] - 2016-07-05 ##
|
5
9
|
### Added
|
6
10
|
- Accept: application/json header per https://sendgrid.com/docs/API_Reference/Web_API_v3/How_To_Use_The_Web_API_v3/requests.html
|
data/USAGE.md
CHANGED
@@ -28,6 +28,7 @@ sg = SendGrid::API.new(api_key: ENV['SENDGRID_API_KEY'])
|
|
28
28
|
* [MAILBOX PROVIDERS](#mailbox_providers)
|
29
29
|
* [PARTNER SETTINGS](#partner_settings)
|
30
30
|
* [SCOPES](#scopes)
|
31
|
+
* [SENDERS](#senders)
|
31
32
|
* [STATS](#stats)
|
32
33
|
* [SUBUSERS](#subusers)
|
33
34
|
* [SUPPRESSION](#suppression)
|
@@ -1469,7 +1470,7 @@ The contactdb is a database of your contacts for [SendGrid Marketing Campaigns](
|
|
1469
1470
|
|
1470
1471
|
|
1471
1472
|
```ruby
|
1472
|
-
params = JSON.parse('{"
|
1473
|
+
params = JSON.parse('{"{field_name}": "test_string"}')
|
1473
1474
|
response = sg.client.contactdb.recipients.search.get(query_params: params)
|
1474
1475
|
puts response.status_code
|
1475
1476
|
puts response.body
|
@@ -2698,6 +2699,141 @@ puts response.status_code
|
|
2698
2699
|
puts response.body
|
2699
2700
|
puts response.headers
|
2700
2701
|
```
|
2702
|
+
<a name="senders"></a>
|
2703
|
+
# SENDERS
|
2704
|
+
|
2705
|
+
## Create a Sender Identity
|
2706
|
+
|
2707
|
+
**This endpoint allows you to create a new sender identity.**
|
2708
|
+
|
2709
|
+
*You may create up to 100 unique sender identities.*
|
2710
|
+
|
2711
|
+
Sender Identities are required to be verified before use. If your domain has been whitelabeled it will auto verify on creation. Otherwise an email will be sent to the `from.email`.
|
2712
|
+
|
2713
|
+
### POST /senders
|
2714
|
+
|
2715
|
+
|
2716
|
+
```ruby
|
2717
|
+
data = JSON.parse('{
|
2718
|
+
"address": "123 Elm St.",
|
2719
|
+
"address_2": "Apt. 456",
|
2720
|
+
"city": "Denver",
|
2721
|
+
"country": "United States",
|
2722
|
+
"from": {
|
2723
|
+
"email": "from@example.com",
|
2724
|
+
"name": "Example INC"
|
2725
|
+
},
|
2726
|
+
"nickname": "My Sender ID",
|
2727
|
+
"reply_to": {
|
2728
|
+
"email": "replyto@example.com",
|
2729
|
+
"name": "Example INC"
|
2730
|
+
},
|
2731
|
+
"state": "Colorado",
|
2732
|
+
"zip": "80202"
|
2733
|
+
}')
|
2734
|
+
response = sg.client.senders.post(request_body: data)
|
2735
|
+
puts response.status_code
|
2736
|
+
puts response.body
|
2737
|
+
puts response.headers
|
2738
|
+
```
|
2739
|
+
## Get all Sender Identities
|
2740
|
+
|
2741
|
+
**This endpoint allows you to retrieve a list of all sender identities that have been created for your account.**
|
2742
|
+
|
2743
|
+
Sender Identities are required to be verified before use. If your domain has been whitelabeled it will auto verify on creation. Otherwise an email will be sent to the `from.email`.
|
2744
|
+
|
2745
|
+
### GET /senders
|
2746
|
+
|
2747
|
+
|
2748
|
+
```ruby
|
2749
|
+
response = sg.client.senders.get()
|
2750
|
+
puts response.status_code
|
2751
|
+
puts response.body
|
2752
|
+
puts response.headers
|
2753
|
+
```
|
2754
|
+
## Update a Sender Identity
|
2755
|
+
|
2756
|
+
**This endpoint allows you to update a sender identity.**
|
2757
|
+
|
2758
|
+
Updates to `from.email` require re-verification. If your domain has been whitelabeled it will auto verify on creation. Otherwise an email will be sent to the `from.email`.
|
2759
|
+
|
2760
|
+
Partial updates are allowed, but fields that are marked as "required" in the POST (create) endpoint must not be nil if that field is included in the PATCH request.
|
2761
|
+
|
2762
|
+
### PATCH /senders/{sender_id}
|
2763
|
+
|
2764
|
+
|
2765
|
+
```ruby
|
2766
|
+
data = JSON.parse('{
|
2767
|
+
"address": "123 Elm St.",
|
2768
|
+
"address_2": "Apt. 456",
|
2769
|
+
"city": "Denver",
|
2770
|
+
"country": "United States",
|
2771
|
+
"from": {
|
2772
|
+
"email": "from@example.com",
|
2773
|
+
"name": "Example INC"
|
2774
|
+
},
|
2775
|
+
"nickname": "My Sender ID",
|
2776
|
+
"reply_to": {
|
2777
|
+
"email": "replyto@example.com",
|
2778
|
+
"name": "Example INC"
|
2779
|
+
},
|
2780
|
+
"state": "Colorado",
|
2781
|
+
"zip": "80202"
|
2782
|
+
}')
|
2783
|
+
sender_id = "test_url_param"
|
2784
|
+
response = sg.client.senders._(sender_id).patch(request_body: data)
|
2785
|
+
puts response.status_code
|
2786
|
+
puts response.body
|
2787
|
+
puts response.headers
|
2788
|
+
```
|
2789
|
+
## View a Sender Identity
|
2790
|
+
|
2791
|
+
**This endpoint allows you to retrieve a specific sender identity.**
|
2792
|
+
|
2793
|
+
Sender Identities are required to be verified before use. If your domain has been whitelabeled it will auto verify on creation. Otherwise an email will be sent to the `from.email`.
|
2794
|
+
|
2795
|
+
### GET /senders/{sender_id}
|
2796
|
+
|
2797
|
+
|
2798
|
+
```ruby
|
2799
|
+
sender_id = "test_url_param"
|
2800
|
+
response = sg.client.senders._(sender_id).get()
|
2801
|
+
puts response.status_code
|
2802
|
+
puts response.body
|
2803
|
+
puts response.headers
|
2804
|
+
```
|
2805
|
+
## Delete a Sender Identity
|
2806
|
+
|
2807
|
+
**This endoint allows you to delete one of your sender identities.**
|
2808
|
+
|
2809
|
+
Sender Identities are required to be verified before use. If your domain has been whitelabeled it will auto verify on creation. Otherwise an email will be sent to the `from.email`.
|
2810
|
+
|
2811
|
+
### DELETE /senders/{sender_id}
|
2812
|
+
|
2813
|
+
|
2814
|
+
```ruby
|
2815
|
+
sender_id = "test_url_param"
|
2816
|
+
response = sg.client.senders._(sender_id).delete()
|
2817
|
+
puts response.status_code
|
2818
|
+
puts response.body
|
2819
|
+
puts response.headers
|
2820
|
+
```
|
2821
|
+
## Resend Sender Identity Verification
|
2822
|
+
|
2823
|
+
**This enpdoint allows you to resend a sender identity verification email.**
|
2824
|
+
|
2825
|
+
Sender Identities are required to be verified before use. If your domain has been whitelabeled it will auto verify on creation. Otherwise an email will be sent to the `from.email`.
|
2826
|
+
|
2827
|
+
### POST /senders/{sender_id}/resend_verification
|
2828
|
+
|
2829
|
+
|
2830
|
+
```ruby
|
2831
|
+
sender_id = "test_url_param"
|
2832
|
+
response = sg.client.senders._(sender_id).resend_verification.post()
|
2833
|
+
puts response.status_code
|
2834
|
+
puts response.body
|
2835
|
+
puts response.headers
|
2836
|
+
```
|
2701
2837
|
<a name="stats"></a>
|
2702
2838
|
# STATS
|
2703
2839
|
|
@@ -240,7 +240,7 @@ puts response.headers
|
|
240
240
|
# Retrieve recipients matching search criteria #
|
241
241
|
# GET /contactdb/recipients/search #
|
242
242
|
|
243
|
-
params = JSON.parse('{"
|
243
|
+
params = JSON.parse('{"{field_name}": "test_string"}')
|
244
244
|
response = sg.client.contactdb.recipients.search.get(query_params: params)
|
245
245
|
puts response.status_code
|
246
246
|
puts response.body
|
@@ -0,0 +1,98 @@
|
|
1
|
+
require 'sendgrid-ruby'
|
2
|
+
|
3
|
+
|
4
|
+
sg = SendGrid::API.new(api_key: ENV['SENDGRID_API_KEY'])
|
5
|
+
|
6
|
+
|
7
|
+
##################################################
|
8
|
+
# Create a Sender Identity #
|
9
|
+
# POST /senders #
|
10
|
+
|
11
|
+
data = JSON.parse('{
|
12
|
+
"address": "123 Elm St.",
|
13
|
+
"address_2": "Apt. 456",
|
14
|
+
"city": "Denver",
|
15
|
+
"country": "United States",
|
16
|
+
"from": {
|
17
|
+
"email": "from@example.com",
|
18
|
+
"name": "Example INC"
|
19
|
+
},
|
20
|
+
"nickname": "My Sender ID",
|
21
|
+
"reply_to": {
|
22
|
+
"email": "replyto@example.com",
|
23
|
+
"name": "Example INC"
|
24
|
+
},
|
25
|
+
"state": "Colorado",
|
26
|
+
"zip": "80202"
|
27
|
+
}')
|
28
|
+
response = sg.client.senders.post(request_body: data)
|
29
|
+
puts response.status_code
|
30
|
+
puts response.body
|
31
|
+
puts response.headers
|
32
|
+
|
33
|
+
##################################################
|
34
|
+
# Get all Sender Identities #
|
35
|
+
# GET /senders #
|
36
|
+
|
37
|
+
response = sg.client.senders.get()
|
38
|
+
puts response.status_code
|
39
|
+
puts response.body
|
40
|
+
puts response.headers
|
41
|
+
|
42
|
+
##################################################
|
43
|
+
# Update a Sender Identity #
|
44
|
+
# PATCH /senders/{sender_id} #
|
45
|
+
|
46
|
+
data = JSON.parse('{
|
47
|
+
"address": "123 Elm St.",
|
48
|
+
"address_2": "Apt. 456",
|
49
|
+
"city": "Denver",
|
50
|
+
"country": "United States",
|
51
|
+
"from": {
|
52
|
+
"email": "from@example.com",
|
53
|
+
"name": "Example INC"
|
54
|
+
},
|
55
|
+
"nickname": "My Sender ID",
|
56
|
+
"reply_to": {
|
57
|
+
"email": "replyto@example.com",
|
58
|
+
"name": "Example INC"
|
59
|
+
},
|
60
|
+
"state": "Colorado",
|
61
|
+
"zip": "80202"
|
62
|
+
}')
|
63
|
+
sender_id = "test_url_param"
|
64
|
+
response = sg.client.senders._(sender_id).patch(request_body: data)
|
65
|
+
puts response.status_code
|
66
|
+
puts response.body
|
67
|
+
puts response.headers
|
68
|
+
|
69
|
+
##################################################
|
70
|
+
# View a Sender Identity #
|
71
|
+
# GET /senders/{sender_id} #
|
72
|
+
|
73
|
+
sender_id = "test_url_param"
|
74
|
+
response = sg.client.senders._(sender_id).get()
|
75
|
+
puts response.status_code
|
76
|
+
puts response.body
|
77
|
+
puts response.headers
|
78
|
+
|
79
|
+
##################################################
|
80
|
+
# Delete a Sender Identity #
|
81
|
+
# DELETE /senders/{sender_id} #
|
82
|
+
|
83
|
+
sender_id = "test_url_param"
|
84
|
+
response = sg.client.senders._(sender_id).delete()
|
85
|
+
puts response.status_code
|
86
|
+
puts response.body
|
87
|
+
puts response.headers
|
88
|
+
|
89
|
+
##################################################
|
90
|
+
# Resend Sender Identity Verification #
|
91
|
+
# POST /senders/{sender_id}/resend_verification #
|
92
|
+
|
93
|
+
sender_id = "test_url_param"
|
94
|
+
response = sg.client.senders._(sender_id).resend_verification.post()
|
95
|
+
puts response.status_code
|
96
|
+
puts response.body
|
97
|
+
puts response.headers
|
98
|
+
|
data/lib/sendgrid/version.rb
CHANGED
@@ -30,7 +30,7 @@ class TestAPI < Minitest::Test
|
|
30
30
|
')
|
31
31
|
assert_equal(test_headers, sg.request_headers)
|
32
32
|
assert_equal("v3", sg.version)
|
33
|
-
assert_equal("3.0.
|
33
|
+
assert_equal("3.0.6", SendGrid::VERSION)
|
34
34
|
assert_instance_of(SendGrid::Client, sg.client)
|
35
35
|
end
|
36
36
|
|
@@ -659,7 +659,7 @@ class TestAPI < Minitest::Test
|
|
659
659
|
end
|
660
660
|
|
661
661
|
def test_contactdb_recipients_search_get
|
662
|
-
params = JSON.parse('{"
|
662
|
+
params = JSON.parse('{"{field_name}": "test_string"}')
|
663
663
|
headers = JSON.parse('{"X-Mock": 200}')
|
664
664
|
response = @sg.client.contactdb.recipients.search.get(query_params: params, request_headers: headers)
|
665
665
|
self.assert_equal(response.status_code, "200")
|
@@ -1242,6 +1242,80 @@ class TestAPI < Minitest::Test
|
|
1242
1242
|
self.assert_equal(response.status_code, "200")
|
1243
1243
|
end
|
1244
1244
|
|
1245
|
+
def test_senders_post
|
1246
|
+
data = JSON.parse('{
|
1247
|
+
"address": "123 Elm St.",
|
1248
|
+
"address_2": "Apt. 456",
|
1249
|
+
"city": "Denver",
|
1250
|
+
"country": "United States",
|
1251
|
+
"from": {
|
1252
|
+
"email": "from@example.com",
|
1253
|
+
"name": "Example INC"
|
1254
|
+
},
|
1255
|
+
"nickname": "My Sender ID",
|
1256
|
+
"reply_to": {
|
1257
|
+
"email": "replyto@example.com",
|
1258
|
+
"name": "Example INC"
|
1259
|
+
},
|
1260
|
+
"state": "Colorado",
|
1261
|
+
"zip": "80202"
|
1262
|
+
}')
|
1263
|
+
headers = JSON.parse('{"X-Mock": 201}')
|
1264
|
+
response = @sg.client.senders.post(request_body: data, request_headers: headers)
|
1265
|
+
self.assert_equal(response.status_code, "201")
|
1266
|
+
end
|
1267
|
+
|
1268
|
+
def test_senders_get
|
1269
|
+
headers = JSON.parse('{"X-Mock": 200}')
|
1270
|
+
response = @sg.client.senders.get(request_headers: headers)
|
1271
|
+
self.assert_equal(response.status_code, "200")
|
1272
|
+
end
|
1273
|
+
|
1274
|
+
def test_senders__sender_id__patch
|
1275
|
+
data = JSON.parse('{
|
1276
|
+
"address": "123 Elm St.",
|
1277
|
+
"address_2": "Apt. 456",
|
1278
|
+
"city": "Denver",
|
1279
|
+
"country": "United States",
|
1280
|
+
"from": {
|
1281
|
+
"email": "from@example.com",
|
1282
|
+
"name": "Example INC"
|
1283
|
+
},
|
1284
|
+
"nickname": "My Sender ID",
|
1285
|
+
"reply_to": {
|
1286
|
+
"email": "replyto@example.com",
|
1287
|
+
"name": "Example INC"
|
1288
|
+
},
|
1289
|
+
"state": "Colorado",
|
1290
|
+
"zip": "80202"
|
1291
|
+
}')
|
1292
|
+
sender_id = "test_url_param"
|
1293
|
+
headers = JSON.parse('{"X-Mock": 200}')
|
1294
|
+
response = @sg.client.senders._(sender_id).patch(request_body: data, request_headers: headers)
|
1295
|
+
self.assert_equal(response.status_code, "200")
|
1296
|
+
end
|
1297
|
+
|
1298
|
+
def test_senders__sender_id__get
|
1299
|
+
sender_id = "test_url_param"
|
1300
|
+
headers = JSON.parse('{"X-Mock": 200}')
|
1301
|
+
response = @sg.client.senders._(sender_id).get(request_headers: headers)
|
1302
|
+
self.assert_equal(response.status_code, "200")
|
1303
|
+
end
|
1304
|
+
|
1305
|
+
def test_senders__sender_id__delete
|
1306
|
+
sender_id = "test_url_param"
|
1307
|
+
headers = JSON.parse('{"X-Mock": 204}')
|
1308
|
+
response = @sg.client.senders._(sender_id).delete(request_headers: headers)
|
1309
|
+
self.assert_equal(response.status_code, "204")
|
1310
|
+
end
|
1311
|
+
|
1312
|
+
def test_senders__sender_id__resend_verification_post
|
1313
|
+
sender_id = "test_url_param"
|
1314
|
+
headers = JSON.parse('{"X-Mock": 204}')
|
1315
|
+
response = @sg.client.senders._(sender_id).resend_verification.post(request_headers: headers)
|
1316
|
+
self.assert_equal(response.status_code, "204")
|
1317
|
+
end
|
1318
|
+
|
1245
1319
|
def test_stats_get
|
1246
1320
|
params = JSON.parse('{"aggregated_by": "day", "limit": 1, "start_date": "2016-01-01", "end_date": "2016-04-01", "offset": 1}')
|
1247
1321
|
headers = JSON.parse('{"X-Mock": 200}')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sendgrid-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elmer Thomas
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-07-
|
13
|
+
date: 2016-07-12 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: ruby_http_client
|
@@ -74,6 +74,7 @@ files:
|
|
74
74
|
- examples/mailsettings/mailsettings.rb
|
75
75
|
- examples/partnersettings/partnersettings.rb
|
76
76
|
- examples/scopes/scopes.rb
|
77
|
+
- examples/senders/senders.rb
|
77
78
|
- examples/stats/stats.rb
|
78
79
|
- examples/subusers/subusers.rb
|
79
80
|
- examples/suppression/suppression.rb
|