mailinator_client 1.0.5 → 1.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/docs/messages.md +21 -2
- data/docs/stats.md +13 -0
- data/docs/webhooks.md +0 -56
- data/lib/mailinator_client/client.rb +3 -1
- data/lib/mailinator_client/messages.rb +46 -4
- data/lib/mailinator_client/stats.rb +26 -3
- data/lib/mailinator_client/version.rb +1 -1
- data/lib/mailinator_client/webhooks.rb +17 -126
- data/test/mailinator_client_api_test.rb +28 -14
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d61079f915251b975bf65147de21720b5fb852cc9c7bf332b1683180c0dfaec2
|
4
|
+
data.tar.gz: 10a01b3d925703e33ac2b9273bd3c47d3e25488e0ae432fa39e8e758a9a97d48
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ae1050498f67e632586b7ff037d9f37785119370819012c872a49aa30012cd02edd5e5715cf6979b3353442b4599d14f05797727c20792790f5903f942223a6a
|
7
|
+
data.tar.gz: a782fc068b13f790c1974c48542435b73ce270edcec4f6087fe366e97c7e6cf7a3590a45d1b1fe3598de2c200d1d16d22f86cfd9cb722aa7c2b46dc40d822d9a
|
data/docs/messages.md
CHANGED
@@ -12,6 +12,7 @@ Details on the various actions that can be performed on the Messages resource, i
|
|
12
12
|
* [FetchMessageAttachments](#fetchmessageattachments)
|
13
13
|
* [FetchInboxMessageAttachment](#fetchinboxmessageattachment)
|
14
14
|
* [FetchMessageAttachment](#fetchmessageattachment)
|
15
|
+
* [FetchMessageLinksFull](#fetchmessagelinksfull)
|
15
16
|
* [FetchMessageLinks](#fetchmessagelinks)
|
16
17
|
* [FetchInboxMessageLinks](#fetchinboxmessagelinks)
|
17
18
|
* [DeleteAllDomainMessages](#deletealldomainmessages)
|
@@ -38,7 +39,11 @@ result = client.messages.fetch_inbox(
|
|
38
39
|
skip: my_skip
|
39
40
|
limit: my_limit
|
40
41
|
sort: my_sort
|
41
|
-
decodeSubject: my_decode_subject
|
42
|
+
decodeSubject: my_decode_subject,
|
43
|
+
cursor: my_cursor,
|
44
|
+
full: my_full,
|
45
|
+
delete: my_delete,
|
46
|
+
wait: my_wait)
|
42
47
|
|
43
48
|
puts result
|
44
49
|
```
|
@@ -67,7 +72,8 @@ Retrieves a specific message by id
|
|
67
72
|
```ruby
|
68
73
|
result = client.messages.fetch_message(
|
69
74
|
domainId: my_domain_id
|
70
|
-
messageId: my_message_id
|
75
|
+
messageId: my_message_id,
|
76
|
+
delete: my_delete)
|
71
77
|
|
72
78
|
puts result
|
73
79
|
```
|
@@ -151,6 +157,19 @@ puts result
|
|
151
157
|
|
152
158
|
<br/>
|
153
159
|
|
160
|
+
## FetchMessageLinksFull
|
161
|
+
|
162
|
+
Retrieves all links full found within a given email
|
163
|
+
|
164
|
+
```ruby
|
165
|
+
result = client.messages.fetch_message_links_full(
|
166
|
+
domainId: my_domain_id
|
167
|
+
messageId: my_message_id)
|
168
|
+
|
169
|
+
puts result
|
170
|
+
```
|
171
|
+
|
172
|
+
<br/>
|
154
173
|
|
155
174
|
## FetchMessageLinks
|
156
175
|
|
data/docs/stats.md
CHANGED
@@ -4,11 +4,24 @@ Details on the various actions that can be performed on the Stats resource, incl
|
|
4
4
|
|
5
5
|
##### Contents
|
6
6
|
|
7
|
+
* [GetTeamInfo](#getteaminfo)
|
7
8
|
* [GetTeamStats](#getteamstats)
|
8
9
|
* [GetTeam](#getteam)
|
9
10
|
|
10
11
|
<br/>
|
11
12
|
|
13
|
+
## GetTeamInfo
|
14
|
+
|
15
|
+
Retrieves info of team
|
16
|
+
|
17
|
+
```ruby
|
18
|
+
result = client.stats.get_team_info()
|
19
|
+
|
20
|
+
puts result
|
21
|
+
```
|
22
|
+
|
23
|
+
<br/>
|
24
|
+
|
12
25
|
## GetTeamStats
|
13
26
|
|
14
27
|
Retrieves stats of team
|
data/docs/webhooks.md
CHANGED
@@ -4,10 +4,6 @@ Details on the various actions that can be performed on the Webhooks resource, i
|
|
4
4
|
|
5
5
|
##### Contents
|
6
6
|
|
7
|
-
* [PublicWebhook](#publicwebhook)
|
8
|
-
* [PublicInboxWebhook](#publicinboxwebhook)
|
9
|
-
* [PublicCustomServiceWebhook](#publiccustomservicewebhook)
|
10
|
-
* [PublicCustomServiceInboxWebhook](#publiccustomserviceinboxwebhook)
|
11
7
|
* [PrivateWebhook](#privatewebhook)
|
12
8
|
* [PrivateInboxWebhook](#privateinboxwebhook)
|
13
9
|
* [PrivateCustomServiceWebhook](#privatecustomservicewebhook)
|
@@ -15,58 +11,6 @@ Details on the various actions that can be performed on the Webhooks resource, i
|
|
15
11
|
|
16
12
|
<br/>
|
17
13
|
|
18
|
-
## PublicWebhook
|
19
|
-
|
20
|
-
This command will deliver the message to the :to inbox that was set into request object
|
21
|
-
|
22
|
-
```ruby
|
23
|
-
result = client.webhooks.public_webhook()
|
24
|
-
|
25
|
-
puts result
|
26
|
-
```
|
27
|
-
|
28
|
-
<br/>
|
29
|
-
|
30
|
-
## PublicInboxWebhook
|
31
|
-
|
32
|
-
This command will deliver the message to the :inbox inbox
|
33
|
-
Note that if the Mailinator system cannot determine the destination inbox via the URL or a "to" field in the payload, the message will be rejected.
|
34
|
-
If the message contains a "from" and "subject" field, these will be visible on the inbox page.
|
35
|
-
|
36
|
-
|
37
|
-
```ruby
|
38
|
-
result = client.webhooks.public_inbox_webhook()
|
39
|
-
|
40
|
-
puts result
|
41
|
-
```
|
42
|
-
|
43
|
-
<br/>
|
44
|
-
|
45
|
-
## PublicCustomServiceWebhook
|
46
|
-
|
47
|
-
If you have a Twilio account which receives incoming SMS messages. You may direct those messages through this facility to inject those messages into the Mailinator system.
|
48
|
-
|
49
|
-
```ruby
|
50
|
-
result = client.webhooks.public_custom_service_webhook()
|
51
|
-
|
52
|
-
puts result
|
53
|
-
```
|
54
|
-
|
55
|
-
<br/>
|
56
|
-
|
57
|
-
## PublicCustomServiceInboxWebhook
|
58
|
-
|
59
|
-
The SMS message will arrive in the Public Mailinator inbox corresponding to the Twilio Phone Number. (only the digits, if a plus sign precedes the number it will be removed)
|
60
|
-
If you wish the message to arrive in a different inbox, you may append the destination inbox to the URL.
|
61
|
-
|
62
|
-
```ruby
|
63
|
-
result = client.webhooks.public_custom_service_inbox_webhook()
|
64
|
-
|
65
|
-
puts result
|
66
|
-
```
|
67
|
-
|
68
|
-
<br/>
|
69
|
-
|
70
14
|
## PrivateWebhook
|
71
15
|
|
72
16
|
This command will Webhook messages into your Private Domain
|
@@ -72,7 +72,9 @@ module MailinatorClient
|
|
72
72
|
response = HTTParty.send(method, path,
|
73
73
|
query: Utils.fix_query_arrays(options[:query]),
|
74
74
|
body: options[:body] && options[:body].to_json(),
|
75
|
-
headers: headers
|
75
|
+
headers: headers,
|
76
|
+
timeout: 125
|
77
|
+
)
|
76
78
|
|
77
79
|
result = response.parsed_response
|
78
80
|
if response.code >= 400
|
@@ -40,10 +40,14 @@ module MailinatorClient
|
|
40
40
|
# Parameters:
|
41
41
|
# * {string} domainId - The Domain name or the Domain id
|
42
42
|
# * {string} inbox - The Inbox name
|
43
|
-
# * {number} skip - Skip this many emails in your Private Domain
|
44
|
-
# * {number} limit - Number of emails to fetch from your Private Domain
|
45
|
-
# * {string} sort - Sort results by ascending or descending
|
46
|
-
# * {boolean} decodeSubject - true: decode encoded subjects
|
43
|
+
# * {number} skip - [Optional] Skip this many emails in your Private Domain
|
44
|
+
# * {number} limit - [Optional] Number of emails to fetch from your Private Domain
|
45
|
+
# * {string} sort - [Optional] Sort results by ascending or descending
|
46
|
+
# * {boolean} decodeSubject - [Optional] true: decode encoded subjects
|
47
|
+
# * {string} cursor - [Optional] Pagination cursor for large result sets (obtained from previous response)
|
48
|
+
# * {boolean} full - [Optional] Return full email content with body/attachments (true) or just metadata (false). Default: false
|
49
|
+
# * {string} delete - [Optional] Auto-delete message after retrieval (e.g., "10s" = 10 seconds, "5m" = 5 minutes)
|
50
|
+
# * {string} wait - [Optional] Maximum time to wait for new messages (e.g., "30s" = 30 seconds)
|
47
51
|
#
|
48
52
|
# Responses:
|
49
53
|
# * Collection of messages (https://manybrain.github.io/m8rdocs/#fetch-inbox-aka-fetch-message-summaries)
|
@@ -60,6 +64,10 @@ module MailinatorClient
|
|
60
64
|
query_params[:limit] = params[:limit] if params.has_key?(:limit)
|
61
65
|
query_params[:sort] = params[:sort] if params.has_key?(:sort)
|
62
66
|
query_params[:decodeSubject] = params[:decodeSubject] if params.has_key?(:decodeSubject)
|
67
|
+
query_params[:cursor] = params[:cursor] if params.has_key?(:cursor)
|
68
|
+
query_params[:full] = params[:full] if params.has_key?(:full)
|
69
|
+
query_params[:delete] = params[:delete] if params.has_key?(:delete)
|
70
|
+
query_params[:wait] = params[:wait] if params.has_key?(:wait)
|
63
71
|
|
64
72
|
path = "/domains/#{params[:domain]}/inboxes/#{params[:inbox]}"
|
65
73
|
|
@@ -113,6 +121,7 @@ module MailinatorClient
|
|
113
121
|
# Parameters:
|
114
122
|
# * {string} domainId - The Domain name or the Domain id
|
115
123
|
# * {string} messageId - The Message id
|
124
|
+
# * {string} delete - [Optional] Auto-delete message after retrieval (e.g., "10s" = 10 seconds, "5m" = 5 minutes)
|
116
125
|
#
|
117
126
|
# Responses:
|
118
127
|
# * Message (https://manybrain.github.io/m8rdocs/#fetch-message)
|
@@ -125,6 +134,8 @@ module MailinatorClient
|
|
125
134
|
raise ArgumentError.new("domain is required") unless params.has_key?(:domain)
|
126
135
|
raise ArgumentError.new("message id is required") unless params.has_key?(:messageId)
|
127
136
|
|
137
|
+
query_params[:delete] = params[:delete] if params.has_key?(:delete)
|
138
|
+
|
128
139
|
path = "/domains/#{params[:domain]}/messages/#{params[:messageId]}"
|
129
140
|
|
130
141
|
@client.request(
|
@@ -298,6 +309,37 @@ module MailinatorClient
|
|
298
309
|
body: body)
|
299
310
|
end
|
300
311
|
|
312
|
+
# Retrieves all links full info found within a given email.
|
313
|
+
#
|
314
|
+
# Authentication:
|
315
|
+
# The client must be configured with a valid api
|
316
|
+
# access token to call this action.
|
317
|
+
#
|
318
|
+
# Parameters:
|
319
|
+
# * {string} domainId - The Domain name or the Domain id
|
320
|
+
# * {string} messageId - The Message id
|
321
|
+
#
|
322
|
+
# Responses:
|
323
|
+
# * Collection of links full (https://manybrain.github.io/m8rdocs/#fetch-links-full)
|
324
|
+
def fetch_message_links_full(params = {})
|
325
|
+
params = Utils.symbolize_hash_keys(params)
|
326
|
+
query_params = { }
|
327
|
+
headers = {}
|
328
|
+
body = nil
|
329
|
+
|
330
|
+
raise ArgumentError.new("domain is required") unless params.has_key?(:domain)
|
331
|
+
raise ArgumentError.new("message id is required") unless params.has_key?(:messageId)
|
332
|
+
|
333
|
+
path = "/domains/#{params[:domain]}/messages/#{params[:messageId]}/linksfull"
|
334
|
+
|
335
|
+
@client.request(
|
336
|
+
method: :get,
|
337
|
+
path: path,
|
338
|
+
query: query_params,
|
339
|
+
headers: headers,
|
340
|
+
body: body)
|
341
|
+
end
|
342
|
+
|
301
343
|
# Retrieves all links found within a given email.
|
302
344
|
#
|
303
345
|
# Authentication:
|
@@ -31,6 +31,29 @@ module MailinatorClient
|
|
31
31
|
@client = client
|
32
32
|
end
|
33
33
|
|
34
|
+
# Retrieves info of team
|
35
|
+
#
|
36
|
+
# Authentication:
|
37
|
+
# The client must be configured with a valid api
|
38
|
+
# access token to call this action.
|
39
|
+
#
|
40
|
+
# Responses:
|
41
|
+
# * Collection of team info (https://manybrain.github.io/m8rdocs/#stats-api)
|
42
|
+
def get_team_info()
|
43
|
+
query_params = { }
|
44
|
+
headers = {}
|
45
|
+
body = nil
|
46
|
+
|
47
|
+
path = "/teaminfo"
|
48
|
+
|
49
|
+
@client.request(
|
50
|
+
method: :get,
|
51
|
+
path: path,
|
52
|
+
query: query_params,
|
53
|
+
headers: headers,
|
54
|
+
body: body)
|
55
|
+
end
|
56
|
+
|
34
57
|
# Retrieves stats of team
|
35
58
|
#
|
36
59
|
# Authentication:
|
@@ -38,7 +61,7 @@ module MailinatorClient
|
|
38
61
|
# access token to call this action.
|
39
62
|
#
|
40
63
|
# Responses:
|
41
|
-
# * Collection of team stats (https://manybrain.github.io/m8rdocs/#
|
64
|
+
# * Collection of team stats (https://manybrain.github.io/m8rdocs/#stats-api)
|
42
65
|
def get_team_stats()
|
43
66
|
query_params = { }
|
44
67
|
headers = {}
|
@@ -54,14 +77,14 @@ module MailinatorClient
|
|
54
77
|
body: body)
|
55
78
|
end
|
56
79
|
|
57
|
-
# Retrieves team
|
80
|
+
# Retrieves team stats
|
58
81
|
#
|
59
82
|
# Authentication:
|
60
83
|
# The client must be configured with a valid api
|
61
84
|
# access token to call this action.
|
62
85
|
#
|
63
86
|
# Responses:
|
64
|
-
# * Team
|
87
|
+
# * Team stats (https://manybrain.github.io/m8rdocs/#stats-api)
|
65
88
|
def get_team(params = {})
|
66
89
|
params = Utils.symbolize_hash_keys(params)
|
67
90
|
query_params = { }
|
@@ -31,121 +31,6 @@ module MailinatorClient
|
|
31
31
|
@client = client
|
32
32
|
end
|
33
33
|
|
34
|
-
# This command will deliver the message to the :to inbox that was set into request object
|
35
|
-
#
|
36
|
-
# Parameters:
|
37
|
-
# * {string} webhook - The Webhook object
|
38
|
-
#
|
39
|
-
# Responses:
|
40
|
-
# * PublicWebhookResponse (https://manybrain.github.io/m8rdocs/#public-webhook)
|
41
|
-
def public_webhook(params = {})
|
42
|
-
query_params = {}
|
43
|
-
headers = {}
|
44
|
-
body = nil
|
45
|
-
|
46
|
-
raise ArgumentError.new("webhook is required") unless params.has_key?(:webhook)
|
47
|
-
|
48
|
-
body = params[:webhook] if params.has_key?(:webhook)
|
49
|
-
|
50
|
-
path = "/domains/public/webhook"
|
51
|
-
|
52
|
-
response = @client.request(
|
53
|
-
method: :post,
|
54
|
-
path: path,
|
55
|
-
query: query_params,
|
56
|
-
headers: headers,
|
57
|
-
body: body)
|
58
|
-
end
|
59
|
-
|
60
|
-
# This command will deliver the message to the :inbox inbox
|
61
|
-
# Note that if the Mailinator system cannot determine the destination inbox via the URL or a "to" field in the payload, the message will be rejected.
|
62
|
-
# If the message contains a "from" and "subject" field, these will be visible on the inbox page.
|
63
|
-
#
|
64
|
-
# Parameters:
|
65
|
-
# * {string} inbox - inbox
|
66
|
-
# * {string} webhook - The Webhook object
|
67
|
-
#
|
68
|
-
# Responses:
|
69
|
-
# * PublicWebhookResponse (https://manybrain.github.io/m8rdocs/#public-inbox-webhook)
|
70
|
-
def public_inbox_webhook(params = {})
|
71
|
-
query_params = {}
|
72
|
-
headers = {}
|
73
|
-
body = nil
|
74
|
-
|
75
|
-
raise ArgumentError.new("inbox is required") unless params.has_key?(:inbox)
|
76
|
-
raise ArgumentError.new("webhook is required") unless params.has_key?(:webhook)
|
77
|
-
|
78
|
-
body = params[:webhook] if params.has_key?(:webhook)
|
79
|
-
|
80
|
-
path = "/domains/public/webhook/#{params[:inbox]}"
|
81
|
-
|
82
|
-
response = @client.request(
|
83
|
-
method: :post,
|
84
|
-
path: path,
|
85
|
-
query: query_params,
|
86
|
-
headers: headers,
|
87
|
-
body: body)
|
88
|
-
end
|
89
|
-
|
90
|
-
# If you have a Twilio account which receives incoming SMS messages. You may direct those messages through this facility to inject those messages into the Mailinator system.
|
91
|
-
#
|
92
|
-
# Parameters:
|
93
|
-
# * {string} customService - custom service name
|
94
|
-
# * {string} webhook - The Webhook object
|
95
|
-
#
|
96
|
-
# Responses:
|
97
|
-
# * PublicWebhookResponse (https://manybrain.github.io/m8rdocs/#public-custom-service-webhook)
|
98
|
-
def public_custom_service_webhook(params = {})
|
99
|
-
query_params = {}
|
100
|
-
headers = {}
|
101
|
-
body = nil
|
102
|
-
|
103
|
-
raise ArgumentError.new("customService is required") unless params.has_key?(:customService)
|
104
|
-
raise ArgumentError.new("webhook is required") unless params.has_key?(:webhook)
|
105
|
-
|
106
|
-
body = params[:webhook] if params.has_key?(:webhook)
|
107
|
-
|
108
|
-
path = "/domains/public/#{params[:customService]}"
|
109
|
-
|
110
|
-
response = @client.request(
|
111
|
-
method: :post,
|
112
|
-
path: path,
|
113
|
-
query: query_params,
|
114
|
-
headers: headers,
|
115
|
-
body: body)
|
116
|
-
end
|
117
|
-
|
118
|
-
# The SMS message will arrive in the Public Mailinator inbox corresponding to the Twilio Phone Number. (only the digits, if a plus sign precedes the number it will be removed)
|
119
|
-
# If you wish the message to arrive in a different inbox, you may append the destination inbox to the URL.
|
120
|
-
#
|
121
|
-
# Parameters:
|
122
|
-
# * {string} inbox - inbox
|
123
|
-
# * {string} customService - custom service name
|
124
|
-
# * {string} webhook - The Webhook object
|
125
|
-
#
|
126
|
-
# Responses:
|
127
|
-
# * PublicWebhookResponse (https://manybrain.github.io/m8rdocs/#public-custom-service-inbox-webhook)
|
128
|
-
def public_custom_service_inbox_webhook(params = {})
|
129
|
-
query_params = {}
|
130
|
-
headers = {}
|
131
|
-
body = nil
|
132
|
-
|
133
|
-
raise ArgumentError.new("customService is required") unless params.has_key?(:customService)
|
134
|
-
raise ArgumentError.new("inbox is required") unless params.has_key?(:inbox)
|
135
|
-
raise ArgumentError.new("webhook is required") unless params.has_key?(:webhook)
|
136
|
-
|
137
|
-
body = params[:webhook] if params.has_key?(:webhook)
|
138
|
-
|
139
|
-
path = "/domains/public/#{params[:customService]}/#{params[:inbox]}"
|
140
|
-
|
141
|
-
response = @client.request(
|
142
|
-
method: :post,
|
143
|
-
path: path,
|
144
|
-
query: query_params,
|
145
|
-
headers: headers,
|
146
|
-
body: body)
|
147
|
-
end
|
148
|
-
|
149
34
|
# This command will Webhook messages into your Private Domain
|
150
35
|
# The incoming Webhook will arrive in the inbox designated by the "to" field in the incoming request payload.
|
151
36
|
# Webhooks into your Private System do NOT use your regular API Token.
|
@@ -159,17 +44,17 @@ module MailinatorClient
|
|
159
44
|
# Responses:
|
160
45
|
# * PrivateWebhookResponse (https://manybrain.github.io/m8rdocs/#private-webhook)
|
161
46
|
def private_webhook(params = {})
|
162
|
-
query_params = {}
|
47
|
+
query_params = { whtoken: "" }
|
163
48
|
headers = {}
|
164
49
|
body = nil
|
165
50
|
|
166
51
|
raise ArgumentError.new("whToken is required") unless params.has_key?(:whToken)
|
167
52
|
raise ArgumentError.new("webhook is required") unless params.has_key?(:webhook)
|
53
|
+
|
54
|
+
query_params[:whtoken] = params[:whToken] if params.has_key?(:whToken)
|
168
55
|
|
169
|
-
|
170
|
-
|
171
|
-
path = "/domains/#{params[:whToken]}/webhook"
|
172
|
-
|
56
|
+
path = "/domains/private/webhook"
|
57
|
+
|
173
58
|
response = @client.request(
|
174
59
|
method: :post,
|
175
60
|
path: path,
|
@@ -192,7 +77,7 @@ module MailinatorClient
|
|
192
77
|
# Responses:
|
193
78
|
# * PrivateWebhookResponse (https://manybrain.github.io/m8rdocs/#private-inbox-webhook)
|
194
79
|
def private_inbox_webhook(params = {})
|
195
|
-
query_params = {}
|
80
|
+
query_params = { whtoken: "" }
|
196
81
|
headers = {}
|
197
82
|
body = nil
|
198
83
|
|
@@ -202,7 +87,9 @@ module MailinatorClient
|
|
202
87
|
|
203
88
|
body = params[:webhook] if params.has_key?(:webhook)
|
204
89
|
|
205
|
-
|
90
|
+
query_params[:whtoken] = params[:whToken] if params.has_key?(:whToken)
|
91
|
+
|
92
|
+
path = "/domains/private/webhook/#{params[:inbox]}"
|
206
93
|
|
207
94
|
response = @client.request(
|
208
95
|
method: :post,
|
@@ -224,7 +111,7 @@ module MailinatorClient
|
|
224
111
|
# Responses:
|
225
112
|
# * PrivateWebhookResponse (https://manybrain.github.io/m8rdocs/#private-custom-service-webhook)
|
226
113
|
def private_custom_service_webhook(params = {})
|
227
|
-
query_params = {}
|
114
|
+
query_params = { whtoken: "" }
|
228
115
|
headers = {}
|
229
116
|
body = nil
|
230
117
|
|
@@ -233,8 +120,10 @@ module MailinatorClient
|
|
233
120
|
raise ArgumentError.new("webhook is required") unless params.has_key?(:webhook)
|
234
121
|
|
235
122
|
body = params[:webhook] if params.has_key?(:webhook)
|
123
|
+
|
124
|
+
query_params[:whtoken] = params[:whToken] if params.has_key?(:whToken)
|
236
125
|
|
237
|
-
path = "/domains/#{params[:
|
126
|
+
path = "/domains/private/#{params[:customService]}"
|
238
127
|
|
239
128
|
response = @client.request(
|
240
129
|
method: :post,
|
@@ -256,7 +145,7 @@ module MailinatorClient
|
|
256
145
|
# Responses:
|
257
146
|
# * PrivateWebhookResponse (https://manybrain.github.io/m8rdocs/#private-custom-service-inbox-webhook)
|
258
147
|
def private_custom_service_inbox_webhook(params = {})
|
259
|
-
query_params = {}
|
148
|
+
query_params = { whtoken: "" }
|
260
149
|
headers = {}
|
261
150
|
body = nil
|
262
151
|
|
@@ -266,8 +155,10 @@ module MailinatorClient
|
|
266
155
|
raise ArgumentError.new("webhook is required") unless params.has_key?(:webhook)
|
267
156
|
|
268
157
|
body = params[:webhook] if params.has_key?(:webhook)
|
158
|
+
|
159
|
+
query_params[:whtoken] = params[:whToken] if params.has_key?(:whToken)
|
269
160
|
|
270
|
-
path = "/domains/#{params[:
|
161
|
+
path = "/domains/private/#{params[:customService]}/#{params[:inbox]}"
|
271
162
|
|
272
163
|
response = @client.request(
|
273
164
|
method: :post,
|
@@ -119,17 +119,36 @@ class MailinatorClientApiTest < MiniTest::Test
|
|
119
119
|
assert response != nil, "Expected post message response to not be nil"
|
120
120
|
assert response["status"] == "ok", "Expected post message response to be ok"
|
121
121
|
|
122
|
-
response = client.messages.fetch_inbox(domain:@domainName, inbox: @inboxAll, skip: 0, limit:
|
122
|
+
response = client.messages.fetch_inbox(domain:@domainName, inbox: @inboxAll, skip: 0, limit: 1, sort: "ascending", decodeSubject: false)
|
123
123
|
assert response != nil, "Expected fetch inbox response to not be nil"
|
124
124
|
assert response["msgs"] != nil, "Expected response fetch inbox messages to not be nil"
|
125
125
|
@message = response["msgs"][0]
|
126
126
|
@messageId = @message["id"]
|
127
127
|
|
128
|
+
response = client.messages.fetch_inbox(domain:@domainName, inbox: @inboxAll, limit: 1, cursor: response["cursor"])
|
129
|
+
assert response != nil, "Expected fetch inbox response to not be nil"
|
130
|
+
assert response["msgs"] != nil, "Expected response fetch inbox messages to not be nil"
|
131
|
+
|
132
|
+
response = client.messages.fetch_inbox(domain:@domainName, inbox: @inboxAll, limit: 1, full: true)
|
133
|
+
assert response != nil, "Expected fetch inbox response to not be nil"
|
134
|
+
assert response["msgs"] != nil, "Expected response fetch inbox messages to not be nil"
|
135
|
+
|
136
|
+
response = client.messages.fetch_inbox(domain:@domainName, inbox: @inboxAll, limit: 1, delete: "1m")
|
137
|
+
assert response != nil, "Expected fetch inbox response to not be nil"
|
138
|
+
assert response["msgs"] != nil, "Expected response fetch inbox messages to not be nil"
|
139
|
+
|
140
|
+
response = client.messages.fetch_inbox(domain:@domainName, inbox: @inboxAll, limit: 1, wait: "1m")
|
141
|
+
assert response != nil, "Expected fetch inbox response to not be nil"
|
142
|
+
assert response["msgs"] != nil, "Expected response fetch inbox messages to not be nil"
|
143
|
+
|
128
144
|
response = client.messages.fetch_inbox_message(domain:@domainName, inbox: @inboxAll, messageId: @messageId)
|
129
145
|
assert response != nil, "Expected fetch inbox message response to not be nil"
|
130
146
|
|
131
147
|
response = client.messages.fetch_message(domain:@domainName, messageId: @messageId)
|
132
148
|
assert response != nil, "Expected fetch message response to not be nil"
|
149
|
+
|
150
|
+
response = client.messages.fetch_message(domain:@domainName, messageId: @messageId, delete: "10s")
|
151
|
+
assert response != nil, "Expected fetch message response to not be nil"
|
133
152
|
|
134
153
|
response = client.messages.fetch_sms_message(domain:@domainName, teamSmsNumber: @teamSMSNumber)
|
135
154
|
assert response != nil, "Expected fetch sms message response to not be nil"
|
@@ -146,6 +165,10 @@ class MailinatorClientApiTest < MiniTest::Test
|
|
146
165
|
response = client.messages.fetch_message_attachment(domain:@domainName, messageId: @messageIdWithAttachment, attachmentId: @attachmentId)
|
147
166
|
assert response != nil, "Expected fetch message attachment response to not be nil"
|
148
167
|
|
168
|
+
response = client.messages.fetch_message_links_full(domain:@domainName, messageId: @messageId)
|
169
|
+
assert response != nil, "Expected fetch message links full response to not be nil"
|
170
|
+
assert response["links"] != nil, "Expected fetch message links links full response to not be nil"
|
171
|
+
|
149
172
|
response = client.messages.fetch_message_links(domain:@domainName, messageId: @messageId)
|
150
173
|
assert response != nil, "Expected fetch message links response to not be nil"
|
151
174
|
assert response["links"] != nil, "Expected fetch message links links response to not be nil"
|
@@ -184,6 +207,10 @@ class MailinatorClientApiTest < MiniTest::Test
|
|
184
207
|
assert response != nil, "Expected delete all domain messages response to not be nil"
|
185
208
|
assert response["status"] == "ok", "Expected delete all domain messages response to be ok"
|
186
209
|
|
210
|
+
response = client.stats.get_team_info
|
211
|
+
assert response != nil, "Expected response to not be nil"
|
212
|
+
assert response != nil, "Expected response team info to not be nil"
|
213
|
+
|
187
214
|
response = client.stats.get_team_stats
|
188
215
|
assert response != nil, "Expected response to not be nil"
|
189
216
|
assert response["stats"] != nil, "Expected response stats to not be nil"
|
@@ -199,19 +226,6 @@ class MailinatorClientApiTest < MiniTest::Test
|
|
199
226
|
}
|
200
227
|
|
201
228
|
clientWithoutAuthToken = MailinatorClient::Client.new()
|
202
|
-
response = clientWithoutAuthToken.webhooks.public_webhook(webhook:webhook)
|
203
|
-
assert response != nil, "Expected public webhook response to not be nil"
|
204
|
-
assert response["status"] == "ok", "Expected public webhook response to be ok"
|
205
|
-
|
206
|
-
response = clientWithoutAuthToken.webhooks.public_inbox_webhook(inbox: @webhookInbox, webhook:webhook)
|
207
|
-
assert response != nil, "Expected public inbox webhook response to not be nil"
|
208
|
-
assert response["status"] == "ok", "Expected public inbox webhook response to be ok"
|
209
|
-
|
210
|
-
response = clientWithoutAuthToken.webhooks.public_custom_service_webhook(customService: @webhookCustomService, webhook:webhook)
|
211
|
-
#assert response != nil, "Expected public custom service webhook response to not be nil"
|
212
|
-
|
213
|
-
response = clientWithoutAuthToken.webhooks.public_custom_service_inbox_webhook(customService: @webhookCustomService, inbox: @webhookInbox, webhook:webhook)
|
214
|
-
#assert response != nil, "Expected public custom service inbox webhook response to not be nil"
|
215
229
|
|
216
230
|
response = clientWithoutAuthToken.webhooks.private_webhook(whToken: @webhookTokenPrivateDomain, webhook:webhook)
|
217
231
|
assert response != nil, "Expected private webhook status response to not be nil"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mailinator_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marian Melnychuk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-03-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|