sendpost_ruby_sdk 1.2.2 → 2.0.2

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.
Files changed (293) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +21 -0
  3. data/README.md +583 -145
  4. data/docs/AccountStats.md +20 -0
  5. data/docs/AccountStatsStat.md +38 -0
  6. data/docs/AggregateStat.md +38 -0
  7. data/docs/AggregateStats.md +38 -0
  8. data/docs/AggregatedEmailStats.md +38 -0
  9. data/docs/Attachment.md +4 -4
  10. data/docs/AutoWarmupPlan.md +80 -0
  11. data/docs/CopyTo.md +5 -5
  12. data/docs/CreateDomainRequest.md +18 -0
  13. data/docs/CreateSubAccountRequest.md +18 -0
  14. data/docs/CreateSuppressionRequest.md +24 -0
  15. data/docs/CreateSuppressionRequestHardBounceInner.md +18 -0
  16. data/docs/{SuppressionEmail.md → CreateSuppressionRequestManualInner.md} +3 -3
  17. data/docs/CreateSuppressionRequestSpamComplaintInner.md +18 -0
  18. data/docs/CreateSuppressionRequestUnsubscribeInner.md +18 -0
  19. data/docs/CreateWebhookRequest.md +46 -0
  20. data/docs/DeleteResponse.md +2 -2
  21. data/docs/DeleteSubAccountResponse.md +20 -0
  22. data/docs/DeleteSuppression200ResponseInner.md +20 -0
  23. data/docs/DeleteSuppressionRequest.md +18 -0
  24. data/docs/DeleteWebhookResponse.md +20 -0
  25. data/docs/Device.md +1 -1
  26. data/docs/Domain.md +56 -0
  27. data/docs/DomainApi.md +301 -0
  28. data/docs/DomainDkim.md +22 -0
  29. data/docs/DomainDmarc.md +22 -0
  30. data/docs/DomainGpt.md +22 -0
  31. data/docs/DomainReturnPath.md +22 -0
  32. data/docs/DomainSpf.md +22 -0
  33. data/docs/DomainTrack.md +22 -0
  34. data/docs/EIP.md +18 -0
  35. data/docs/{From.md → EmailAddress.md} +4 -4
  36. data/docs/EmailApi.md +38 -32
  37. data/docs/EmailMessage.md +30 -24
  38. data/docs/EmailMessageFrom.md +20 -0
  39. data/docs/EmailMessageObject.md +46 -0
  40. data/docs/{ReplyTo.md → EmailMessageReplyTo.md} +5 -5
  41. data/docs/EmailMessageToInner.md +26 -0
  42. data/docs/EmailMessageToInnerBccInner.md +22 -0
  43. data/docs/EmailMessageToInnerCcInner.md +22 -0
  44. data/docs/EmailMessageWithTemplate.md +52 -0
  45. data/docs/EmailResponse.md +8 -8
  46. data/docs/EmailStats.md +20 -0
  47. data/docs/EmailStatsStats.md +38 -0
  48. data/docs/Event.md +56 -0
  49. data/docs/EventMetadata.md +13 -13
  50. data/docs/{City.md → GeoLocation.md} +8 -8
  51. data/docs/IP.md +62 -0
  52. data/docs/IPAllocationRequest.md +20 -0
  53. data/docs/IPApi.md +375 -0
  54. data/docs/IPDeletionResponse.md +20 -0
  55. data/docs/IPPool.md +42 -0
  56. data/docs/IPPoolCreateRequest.md +28 -0
  57. data/docs/IPPoolDeleteResponse.md +20 -0
  58. data/docs/IPPoolUpdateRequest.md +24 -0
  59. data/docs/IPPoolsApi.md +361 -0
  60. data/docs/IPUpdateRequest.md +18 -0
  61. data/docs/Label.md +22 -0
  62. data/docs/Member.md +40 -0
  63. data/docs/Message.md +76 -0
  64. data/docs/MessageApi.md +79 -0
  65. data/docs/MessageHeaderTo.md +26 -0
  66. data/docs/MessageTo.md +26 -0
  67. data/docs/{Os.md → OperatingSystem.md} +7 -7
  68. data/docs/Person.md +20 -0
  69. data/docs/{To.md → Recipient.md} +7 -7
  70. data/docs/SMTPAuth.md +26 -0
  71. data/docs/Stat.md +20 -0
  72. data/docs/StatStat.md +38 -0
  73. data/docs/StatStats.md +38 -0
  74. data/docs/StatsAApi.md +307 -0
  75. data/docs/StatsApi.md +237 -0
  76. data/docs/SubAccount.md +48 -0
  77. data/docs/SubAccountApi.md +375 -0
  78. data/docs/Suppression.md +8 -8
  79. data/docs/SuppressionApi.md +76 -134
  80. data/docs/ThirdPartySendingProvider.md +38 -0
  81. data/docs/UpdateSubAccount.md +18 -0
  82. data/docs/UpdateWebhook.md +46 -0
  83. data/docs/UserAgent.md +4 -4
  84. data/docs/Webhook.md +54 -0
  85. data/docs/WebhookApi.md +375 -0
  86. data/git_push.sh +1 -1
  87. data/lib/sendpost_ruby_sdk/api/domain_api.rb +290 -0
  88. data/lib/sendpost_ruby_sdk/api/email_api.rb +33 -35
  89. data/lib/sendpost_ruby_sdk/api/ip_api.rb +356 -0
  90. data/lib/sendpost_ruby_sdk/api/ip_pools_api.rb +356 -0
  91. data/lib/sendpost_ruby_sdk/api/message_api.rb +85 -0
  92. data/lib/sendpost_ruby_sdk/api/stats_a_api.rb +320 -0
  93. data/lib/sendpost_ruby_sdk/api/stats_api.rb +260 -0
  94. data/lib/sendpost_ruby_sdk/api/sub_account_api.rb +356 -0
  95. data/lib/sendpost_ruby_sdk/api/suppression_api.rb +81 -141
  96. data/lib/sendpost_ruby_sdk/api/webhook_api.rb +356 -0
  97. data/lib/sendpost_ruby_sdk/api_client.rb +26 -24
  98. data/lib/sendpost_ruby_sdk/api_error.rb +3 -3
  99. data/lib/sendpost_ruby_sdk/configuration.rb +28 -3
  100. data/lib/sendpost_ruby_sdk/models/account_stats.rb +229 -0
  101. data/lib/sendpost_ruby_sdk/models/account_stats_stat.rb +311 -0
  102. data/lib/sendpost_ruby_sdk/models/aggregate_stat.rb +321 -0
  103. data/lib/sendpost_ruby_sdk/models/aggregate_stats.rb +310 -0
  104. data/lib/sendpost_ruby_sdk/models/aggregated_email_stats.rb +321 -0
  105. data/lib/sendpost_ruby_sdk/models/attachment.rb +15 -7
  106. data/lib/sendpost_ruby_sdk/models/auto_warmup_plan.rb +531 -0
  107. data/lib/sendpost_ruby_sdk/models/copy_to.rb +28 -19
  108. data/lib/sendpost_ruby_sdk/models/create_domain_request.rb +221 -0
  109. data/lib/sendpost_ruby_sdk/models/create_sub_account_request.rb +221 -0
  110. data/lib/sendpost_ruby_sdk/models/create_suppression_request.rb +259 -0
  111. data/lib/sendpost_ruby_sdk/models/create_suppression_request_hard_bounce_inner.rb +220 -0
  112. data/lib/sendpost_ruby_sdk/models/create_suppression_request_manual_inner.rb +220 -0
  113. data/lib/sendpost_ruby_sdk/models/create_suppression_request_spam_complaint_inner.rb +220 -0
  114. data/lib/sendpost_ruby_sdk/models/create_suppression_request_unsubscribe_inner.rb +220 -0
  115. data/lib/sendpost_ruby_sdk/models/create_webhook_request.rb +361 -0
  116. data/lib/sendpost_ruby_sdk/models/delete_response.rb +15 -7
  117. data/lib/sendpost_ruby_sdk/models/delete_sub_account_response.rb +231 -0
  118. data/lib/sendpost_ruby_sdk/models/delete_suppression200_response_inner.rb +231 -0
  119. data/lib/sendpost_ruby_sdk/models/delete_suppression_request.rb +222 -0
  120. data/lib/sendpost_ruby_sdk/models/delete_webhook_response.rb +231 -0
  121. data/lib/sendpost_ruby_sdk/models/device.rb +13 -7
  122. data/lib/sendpost_ruby_sdk/models/domain.rb +435 -0
  123. data/lib/sendpost_ruby_sdk/models/domain_dkim.rb +239 -0
  124. data/lib/sendpost_ruby_sdk/models/domain_dmarc.rb +239 -0
  125. data/lib/sendpost_ruby_sdk/models/domain_gpt.rb +239 -0
  126. data/lib/sendpost_ruby_sdk/models/domain_return_path.rb +239 -0
  127. data/lib/sendpost_ruby_sdk/models/domain_spf.rb +239 -0
  128. data/lib/sendpost_ruby_sdk/models/domain_track.rb +239 -0
  129. data/lib/sendpost_ruby_sdk/models/eip.rb +238 -0
  130. data/lib/sendpost_ruby_sdk/models/email_address.rb +229 -0
  131. data/lib/sendpost_ruby_sdk/models/email_message.rb +121 -86
  132. data/lib/sendpost_ruby_sdk/models/email_message_from.rb +229 -0
  133. data/lib/sendpost_ruby_sdk/models/email_message_object.rb +354 -0
  134. data/lib/sendpost_ruby_sdk/models/email_message_reply_to.rb +229 -0
  135. data/lib/sendpost_ruby_sdk/models/email_message_to_inner.rb +262 -0
  136. data/lib/sendpost_ruby_sdk/models/email_message_to_inner_bcc_inner.rb +240 -0
  137. data/lib/sendpost_ruby_sdk/models/email_message_to_inner_cc_inner.rb +240 -0
  138. data/lib/sendpost_ruby_sdk/models/email_message_with_template.rb +392 -0
  139. data/lib/sendpost_ruby_sdk/models/email_response.rb +40 -32
  140. data/lib/sendpost_ruby_sdk/models/email_stats.rb +230 -0
  141. data/lib/sendpost_ruby_sdk/models/email_stats_stats.rb +321 -0
  142. data/lib/sendpost_ruby_sdk/models/event.rb +393 -0
  143. data/lib/sendpost_ruby_sdk/models/event_metadata.rb +59 -53
  144. data/lib/sendpost_ruby_sdk/models/geo_location.rb +256 -0
  145. data/lib/sendpost_ruby_sdk/models/ip.rb +643 -0
  146. data/lib/sendpost_ruby_sdk/models/ip_allocation_request.rb +266 -0
  147. data/lib/sendpost_ruby_sdk/models/ip_deletion_response.rb +265 -0
  148. data/lib/sendpost_ruby_sdk/models/ip_pool.rb +357 -0
  149. data/lib/sendpost_ruby_sdk/models/ip_pool_create_request.rb +299 -0
  150. data/lib/sendpost_ruby_sdk/models/ip_pool_delete_response.rb +229 -0
  151. data/lib/sendpost_ruby_sdk/models/ip_pool_update_request.rb +249 -0
  152. data/lib/sendpost_ruby_sdk/models/ip_update_request.rb +238 -0
  153. data/lib/sendpost_ruby_sdk/models/label.rb +241 -0
  154. data/lib/sendpost_ruby_sdk/models/member.rb +331 -0
  155. data/lib/sendpost_ruby_sdk/models/message.rb +523 -0
  156. data/lib/sendpost_ruby_sdk/models/message_header_to.rb +268 -0
  157. data/lib/sendpost_ruby_sdk/models/message_to.rb +268 -0
  158. data/lib/sendpost_ruby_sdk/models/operating_system.rb +256 -0
  159. data/lib/sendpost_ruby_sdk/models/person.rb +231 -0
  160. data/lib/sendpost_ruby_sdk/models/recipient.rb +263 -0
  161. data/lib/sendpost_ruby_sdk/models/smtp_auth.rb +261 -0
  162. data/lib/sendpost_ruby_sdk/models/stat.rb +230 -0
  163. data/lib/sendpost_ruby_sdk/models/stat_stat.rb +322 -0
  164. data/lib/sendpost_ruby_sdk/models/stat_stats.rb +321 -0
  165. data/lib/sendpost_ruby_sdk/models/sub_account.rb +415 -0
  166. data/lib/sendpost_ruby_sdk/models/suppression.rb +40 -29
  167. data/lib/sendpost_ruby_sdk/models/third_party_sending_provider.rb +310 -0
  168. data/lib/sendpost_ruby_sdk/models/update_sub_account.rb +221 -0
  169. data/lib/sendpost_ruby_sdk/models/update_webhook.rb +368 -0
  170. data/lib/sendpost_ruby_sdk/models/user_agent.rb +13 -7
  171. data/lib/sendpost_ruby_sdk/models/webhook.rb +405 -0
  172. data/lib/sendpost_ruby_sdk/version.rb +4 -4
  173. data/lib/sendpost_ruby_sdk.rb +73 -15
  174. data/spec/api/domain_api_spec.rb +85 -0
  175. data/spec/api/email_api_spec.rb +9 -9
  176. data/spec/api/ip_api_spec.rb +98 -0
  177. data/spec/api/ip_pools_api_spec.rb +98 -0
  178. data/spec/api/message_api_spec.rb +47 -0
  179. data/spec/api/stats_a_api_spec.rb +89 -0
  180. data/spec/api/stats_api_spec.rb +78 -0
  181. data/spec/api/sub_account_api_spec.rb +98 -0
  182. data/spec/api/suppression_api_spec.rb +22 -34
  183. data/spec/api/webhook_api_spec.rb +98 -0
  184. data/spec/models/account_stats_spec.rb +42 -0
  185. data/spec/models/account_stats_stat_spec.rb +96 -0
  186. data/spec/models/aggregate_stat_spec.rb +96 -0
  187. data/spec/models/aggregate_stats_spec.rb +96 -0
  188. data/spec/models/aggregated_email_stats_spec.rb +96 -0
  189. data/spec/models/attachment_spec.rb +6 -4
  190. data/spec/models/auto_warmup_plan_spec.rb +222 -0
  191. data/spec/models/copy_to_spec.rb +8 -6
  192. data/spec/models/create_domain_request_spec.rb +36 -0
  193. data/spec/models/create_sub_account_request_spec.rb +36 -0
  194. data/spec/models/create_suppression_request_hard_bounce_inner_spec.rb +36 -0
  195. data/spec/models/create_suppression_request_manual_inner_spec.rb +36 -0
  196. data/spec/models/create_suppression_request_spam_complaint_inner_spec.rb +36 -0
  197. data/spec/models/create_suppression_request_spec.rb +54 -0
  198. data/spec/models/create_suppression_request_unsubscribe_inner_spec.rb +36 -0
  199. data/spec/models/create_webhook_request_spec.rb +120 -0
  200. data/spec/models/delete_response_spec.rb +6 -4
  201. data/spec/models/delete_sub_account_response_spec.rb +42 -0
  202. data/spec/models/delete_suppression200_response_inner_spec.rb +42 -0
  203. data/spec/models/delete_suppression_request_spec.rb +36 -0
  204. data/spec/models/delete_webhook_response_spec.rb +42 -0
  205. data/spec/models/device_spec.rb +6 -4
  206. data/spec/models/domain_dkim_spec.rb +48 -0
  207. data/spec/models/domain_dmarc_spec.rb +48 -0
  208. data/spec/models/domain_gpt_spec.rb +48 -0
  209. data/spec/models/domain_return_path_spec.rb +48 -0
  210. data/spec/models/domain_spec.rb +150 -0
  211. data/spec/models/domain_spf_spec.rb +48 -0
  212. data/spec/models/domain_track_spec.rb +48 -0
  213. data/spec/models/eip_spec.rb +36 -0
  214. data/spec/models/email_address_spec.rb +42 -0
  215. data/spec/models/email_message_from_spec.rb +42 -0
  216. data/spec/models/email_message_object_spec.rb +120 -0
  217. data/spec/models/email_message_reply_to_spec.rb +42 -0
  218. data/spec/models/email_message_spec.rb +37 -17
  219. data/spec/models/email_message_to_inner_bcc_inner_spec.rb +48 -0
  220. data/spec/models/email_message_to_inner_cc_inner_spec.rb +48 -0
  221. data/spec/models/email_message_to_inner_spec.rb +60 -0
  222. data/spec/models/email_message_with_template_spec.rb +138 -0
  223. data/spec/models/email_response_spec.rb +10 -8
  224. data/spec/models/email_stats_spec.rb +42 -0
  225. data/spec/models/email_stats_stats_spec.rb +96 -0
  226. data/spec/models/event_metadata_spec.rb +24 -10
  227. data/spec/models/event_spec.rb +150 -0
  228. data/spec/models/geo_location_spec.rb +60 -0
  229. data/spec/models/ip_allocation_request_spec.rb +42 -0
  230. data/spec/models/ip_deletion_response_spec.rb +42 -0
  231. data/spec/models/ip_pool_create_request_spec.rb +66 -0
  232. data/spec/models/ip_pool_delete_response_spec.rb +42 -0
  233. data/spec/models/ip_pool_spec.rb +108 -0
  234. data/spec/models/ip_pool_update_request_spec.rb +54 -0
  235. data/spec/models/ip_spec.rb +168 -0
  236. data/spec/models/ip_update_request_spec.rb +36 -0
  237. data/spec/models/label_spec.rb +48 -0
  238. data/spec/models/member_spec.rb +102 -0
  239. data/spec/models/message_header_to_spec.rb +60 -0
  240. data/spec/models/message_spec.rb +210 -0
  241. data/spec/models/message_to_spec.rb +60 -0
  242. data/spec/models/operating_system_spec.rb +60 -0
  243. data/spec/models/person_spec.rb +42 -0
  244. data/spec/models/recipient_spec.rb +60 -0
  245. data/spec/models/smtp_auth_spec.rb +60 -0
  246. data/spec/models/stat_spec.rb +42 -0
  247. data/spec/models/stat_stat_spec.rb +96 -0
  248. data/spec/models/stat_stats_spec.rb +96 -0
  249. data/spec/models/sub_account_spec.rb +130 -0
  250. data/spec/models/suppression_spec.rb +11 -9
  251. data/spec/models/third_party_sending_provider_spec.rb +96 -0
  252. data/spec/models/update_sub_account_spec.rb +36 -0
  253. data/spec/models/update_webhook_spec.rb +120 -0
  254. data/spec/models/user_agent_spec.rb +6 -4
  255. data/spec/models/webhook_spec.rb +144 -0
  256. data/spec/spec_helper.rb +3 -3
  257. metadata +295 -66
  258. data/config-ruby.json +0 -11
  259. data/docs/CountStat.md +0 -18
  260. data/docs/QEmailMessage.md +0 -70
  261. data/docs/QEvent.md +0 -42
  262. data/docs/RDSuppression.md +0 -18
  263. data/docs/RSuppression.md +0 -24
  264. data/docs/WebhookEvent.md +0 -20
  265. data/generate-libs.bash +0 -1
  266. data/lib/sendpost_ruby_sdk/models/city.rb +0 -250
  267. data/lib/sendpost_ruby_sdk/models/count_stat.rb +0 -214
  268. data/lib/sendpost_ruby_sdk/models/from.rb +0 -223
  269. data/lib/sendpost_ruby_sdk/models/os.rb +0 -250
  270. data/lib/sendpost_ruby_sdk/models/q_email_message.rb +0 -456
  271. data/lib/sendpost_ruby_sdk/models/q_event.rb +0 -324
  272. data/lib/sendpost_ruby_sdk/models/r_suppression.rb +0 -249
  273. data/lib/sendpost_ruby_sdk/models/rd_suppression.rb +0 -216
  274. data/lib/sendpost_ruby_sdk/models/reply_to.rb +0 -223
  275. data/lib/sendpost_ruby_sdk/models/suppression_email.rb +0 -214
  276. data/lib/sendpost_ruby_sdk/models/to.rb +0 -254
  277. data/lib/sendpost_ruby_sdk/models/webhook_event.rb +0 -223
  278. data/sendpost.yaml +0 -666
  279. data/sendpost_ruby_sdk.gemspec +0 -38
  280. data/spec/api_client_spec.rb +0 -228
  281. data/spec/configuration_spec.rb +0 -42
  282. data/spec/models/city_spec.rb +0 -58
  283. data/spec/models/count_stat_spec.rb +0 -34
  284. data/spec/models/from_spec.rb +0 -40
  285. data/spec/models/os_spec.rb +0 -58
  286. data/spec/models/q_email_message_spec.rb +0 -190
  287. data/spec/models/q_event_spec.rb +0 -106
  288. data/spec/models/r_suppression_spec.rb +0 -52
  289. data/spec/models/rd_suppression_spec.rb +0 -34
  290. data/spec/models/reply_to_spec.rb +0 -40
  291. data/spec/models/suppression_email_spec.rb +0 -34
  292. data/spec/models/to_spec.rb +0 -58
  293. data/spec/models/webhook_event_spec.rb +0 -40
data/sendpost.yaml DELETED
@@ -1,666 +0,0 @@
1
- openapi: 3.0.2
2
- info:
3
- title: SendPost API
4
- description: Email API and SMTP relay to not just send and measure email sending,
5
- but also alert and optimise. We provide you with tools, expertise and support
6
- needed to reliably deliver emails to your customers inboxes on time, every time.
7
- version: 1.0.0
8
- termsOfService: http://sendpost.io/terms-of-service
9
- contact:
10
- email: hello@sendpost.io
11
- servers:
12
- - url: https://api.sendpost.io/api/v1/
13
- paths:
14
- /subaccount/email/:
15
- post:
16
- tags:
17
- - email
18
- description: Send Email To Contacts
19
- operationId: send_email
20
- parameters:
21
- - in: header
22
- name: X-SubAccount-ApiKey
23
- description: Sub-Account API Key
24
- required: true
25
- schema:
26
- type: string
27
- requestBody:
28
- description: "Email message"
29
- content:
30
- application/json:
31
- schema:
32
- $ref: '#/components/schemas/EmailMessage'
33
- responses:
34
- '200':
35
- description: '"Email Message Processed Successfully"'
36
- content:
37
- application/json:
38
- schema:
39
- type: array
40
- items:
41
- $ref: '#/components/schemas/EmailResponse'
42
- '401':
43
- description: Not Authorized
44
- '422':
45
- description: Request body is not in proper format
46
- '500':
47
- description: Internal Server Error
48
- /subaccount/email/template:
49
- post:
50
- tags:
51
- - email
52
- description: Send Email To Contacts With Template
53
- operationId: send_email_with_template
54
- parameters:
55
- - in: header
56
- name: X-SubAccount-ApiKey
57
- description: Sub-Account API Key
58
- required: true
59
- schema:
60
- type: string
61
- requestBody:
62
- description: "Email message"
63
- content:
64
- application/json:
65
- schema:
66
- $ref: '#/components/schemas/EmailMessage'
67
- responses:
68
- '200':
69
- description: '"Email Message Processed Successfully"'
70
- content:
71
- application/json:
72
- schema:
73
- type: array
74
- items:
75
- $ref: '#/components/schemas/EmailResponse'
76
- '401':
77
- description: Not Authorized
78
- '422':
79
- description: Request body is not in proper format
80
- '500':
81
- description: Internal Server Error
82
- /subaccount/suppression/:
83
- get:
84
- tags:
85
- - suppression
86
- description: Get all suppressions
87
- operationId: GetSuppressions
88
- parameters:
89
- - in: header
90
- name: X-SubAccount-ApiKey
91
- description: Sub-Account API Key
92
- required: true
93
- schema:
94
- type: string
95
- - in: query
96
- name: offset
97
- description: offset
98
- schema:
99
- type: integer
100
- format: int64
101
- - in: query
102
- name: limit
103
- description: limit
104
- schema:
105
- type: integer
106
- format: int64
107
- - in: query
108
- name: search
109
- description: search
110
- schema:
111
- type: string
112
- - in: query
113
- name: from
114
- description: from date
115
- schema:
116
- type: string
117
- - in: query
118
- name: to
119
- description: to date
120
- schema:
121
- type: string
122
- responses:
123
- '200':
124
- description: '"Suppressions retrieved successfully"'
125
- content:
126
- application/json:
127
- schema:
128
- type: array
129
- items:
130
- $ref: '#/components/schemas/Suppression'
131
- '401':
132
- description: Not Authorized
133
- '500':
134
- description: Internal Server Error
135
- post:
136
- tags:
137
- - suppression
138
- description: Add Email Addresses To Suppression List
139
- operationId: CreateSuppressions
140
- parameters:
141
- - in: header
142
- name: X-SubAccount-ApiKey
143
- description: Sub-Account API Key
144
- required: true
145
- schema:
146
- type: string
147
- requestBody:
148
- description: "Suppression content"
149
- content:
150
- application/json:
151
- schema:
152
- $ref: '#/components/schemas/RSuppression'
153
- responses:
154
- '200':
155
- description: '"Suppressions created successfully"'
156
- content:
157
- application/json:
158
- schema:
159
- type: array
160
- items:
161
- $ref: '#/components/schemas/Suppression'
162
- '401':
163
- description: Not Authorized
164
- '406':
165
- description: Suppression list is empty
166
- '422':
167
- description: Request body is not in proper format
168
- '500':
169
- description: Internal Server Error
170
- delete:
171
- tags:
172
- - suppression
173
- description: Delete specific emails which are in suppression list
174
- operationId: DeleteSuppression
175
- parameters:
176
- - in: header
177
- name: X-SubAccount-ApiKey
178
- description: Sub-Account API Key
179
- required: true
180
- schema:
181
- type: string
182
- requestBody:
183
- description: "Suppression content"
184
- content:
185
- application/json:
186
- schema:
187
- $ref: '#/components/schemas/RDSuppression'
188
- responses:
189
- '200':
190
- description: '"Emails in suppression list have been deleted successfully"'
191
- content:
192
- application/json:
193
- schema:
194
- type: array
195
- items:
196
- $ref: '#/components/schemas/DeleteResponse'
197
- '401':
198
- description: Not Authorized
199
- '406':
200
- description: suppression list is empty
201
- '422':
202
- description: Request body is not in proper format
203
- '500':
204
- description: Internal Server Error
205
- /subaccount/suppression/count:
206
- get:
207
- tags:
208
- - suppression
209
- description: Count Total Suppressions
210
- operationId: Count
211
- parameters:
212
- - in: header
213
- name: X-SubAccount-ApiKey
214
- description: Sub-Account API Key
215
- required: true
216
- schema:
217
- type: string
218
- - in: query
219
- name: from
220
- description: from date
221
- schema:
222
- type: string
223
- - in: query
224
- name: to
225
- description: to date
226
- schema:
227
- type: string
228
- responses:
229
- '200':
230
- description: '"Total count of Suppressions for a specific sub-account"'
231
- content:
232
- application/json:
233
- schema:
234
- $ref: '#/components/schemas/CountStat'
235
- '401':
236
- description: Not Authorized
237
- '500':
238
- description: Internal Server Error
239
- components:
240
- schemas:
241
- EmailMessage:
242
- title: EmailMessage
243
- type: object
244
- properties:
245
- attachments:
246
- type: array
247
- items:
248
- $ref: '#/components/schemas/Attachment'
249
- from:
250
- $ref: '#/components/schemas/From'
251
- groups:
252
- type: array
253
- items:
254
- type: string
255
- example: ["promotion", "techcrunch-launch"]
256
- htmlBody:
257
- type: string
258
- example: "<html><body>Thanks for your trust in Hooli {{.Name}}. We are trying launching Nucleus at TechCrunch Disrupt - our cloud based compression platform. That you could easily integrate it into {{.Company}}.</html></body>"
259
- ippool:
260
- type: string
261
- example: "promotional-hooli"
262
- preText:
263
- type: string
264
- example: "Follow the steps to integrate our video compression API"
265
- replyTo:
266
- $ref: '#/components/schemas/ReplyTo'
267
- subject:
268
- type: string
269
- example: "Welcome to Nucles {{.Name}}:) Let's get started"
270
- template:
271
- type: string
272
- example: "welcome-onboarding"
273
- textBody:
274
- type: string
275
- example: "Thanks for your trust in Hooli {{.Name}}. We are trying launching Nucleus at TechCrunch Disrupt - our cloud based compression platform. That you could easily integrate it into {{.Company}}"
276
- to:
277
- type: array
278
- items:
279
- $ref: '#/components/schemas/To'
280
- trackClicks:
281
- type: boolean
282
- example: true
283
- trackOpens:
284
- type: boolean
285
- example: true
286
- headers:
287
- type: object
288
- example:
289
- X-Campaign-Id: "techcrunch-launch"
290
- ampBody:
291
- type: string
292
- WebhookEvent:
293
- title: WebhookEvent
294
- type: object
295
- properties:
296
- event:
297
- $ref: '#/components/schemas/QEvent'
298
- emailMessage:
299
- $ref: '#/components/schemas/QEmailMessage'
300
- QEmailMessage:
301
- title: QEmailMessage
302
- type: object
303
- properties:
304
- accountID:
305
- type: integer
306
- format: int64
307
- example: 117
308
- ampBody:
309
- type: string
310
- attachments:
311
- type: array
312
- items:
313
- $ref: '#/components/schemas/Attachment'
314
- attempt:
315
- type: integer
316
- format: int64
317
- example: 1
318
- customFields:
319
- type: object
320
- example:
321
- Company: "Bachmanity"
322
- emailType:
323
- type: string
324
- example: "gmail"
325
- from:
326
- $ref: '#/components/schemas/From'
327
- groups:
328
- type: array
329
- items:
330
- type: string
331
- example: ["promotion", "techcrunch-launch"]
332
- headerBcc:
333
- type: array
334
- items:
335
- $ref: '#/components/schemas/CopyTo'
336
- headerCc:
337
- type: array
338
- items:
339
- $ref: '#/components/schemas/CopyTo'
340
- headerTo:
341
- $ref: '#/components/schemas/To'
342
- headers:
343
- type: object
344
- example:
345
- X-Campaign-Id: "techcrunch-launch"
346
- htmlBody:
347
- type: string
348
- example: "<html><body>{{.FirstName}}, I have been following your journey since {{.Company}} days. Just wanted to thank you for inspiring us.</body></html>"
349
- ipID:
350
- type: integer
351
- format: int64
352
- example: 18
353
- ipPool:
354
- type: string
355
- example: "transactional-piedpiper"
356
- localIP:
357
- type: string
358
- example: "172.30.2.45"
359
- messageID:
360
- type: string
361
- example: "0c6c7600-e68d-498e-b924-d8105130cc1d"
362
- preText:
363
- type: string
364
- example: "thanks for the inspiration ..."
365
- publicIP:
366
- type: string
367
- example: "52.13.11.9"
368
- replyTo:
369
- $ref: '#/components/schemas/ReplyTo'
370
- subAccountID:
371
- type: integer
372
- format: int64
373
- example: 234
374
- subject:
375
- type: string
376
- example: "Building great products?"
377
- submittedAt:
378
- type: integer
379
- format: int64
380
- example: 1567512491587205024
381
- textBody:
382
- type: string
383
- example: "{{.FirstName}}, I have been following your journey since {{.Company}} days. Just wanted to thank you for inspiring us."
384
- to:
385
- $ref: '#/components/schemas/To'
386
- trackClicks:
387
- type: boolean
388
- example: true
389
- trackOpens:
390
- type: boolean
391
- example: true
392
- QEvent:
393
- title: QEvent
394
- type: object
395
- properties:
396
- accountID:
397
- type: integer
398
- format: int64
399
- example: 8
400
- eventID:
401
- type: string
402
- example: "8690608c-2538-4173-a463-f0de475633da"
403
- eventMetadata:
404
- $ref: '#/components/schemas/EventMetadata'
405
- from:
406
- type: string
407
- example: "gavin@hooli.com"
408
- groups:
409
- type: array
410
- items:
411
- type: string
412
- example: ["promotion", "techcrunch-launch"]
413
- ipID:
414
- type: integer
415
- format: int64
416
- example: 7
417
- messageID:
418
- type: string
419
- example: "edcb833d-5ef6-48c3-936f-1de0b74843d4"
420
- messageType:
421
- type: string
422
- example: "default"
423
- subAccountID:
424
- type: integer
425
- format: int64
426
- example: 28
427
- submittedAt:
428
- type: integer
429
- format: int64
430
- example: 1689245147247766056
431
- to:
432
- type: string
433
- example: "richard@piedpiper.com"
434
- tpspId:
435
- type: integer
436
- format: int64
437
- example: 0
438
- type:
439
- type: integer
440
- format: int64
441
- example: 2
442
- Attachment:
443
- title: Attachment
444
- type: object
445
- properties:
446
- content:
447
- type: string
448
- example: "V2VsY29tZSB0byBTZW5kUG9zdCEgOikK"
449
- filename:
450
- type: string
451
- example: "file0.txt"
452
- To:
453
- title: To
454
- type: object
455
- properties:
456
- name:
457
- type: string
458
- example: "Elrich Bachman"
459
- email:
460
- type: string
461
- example: "elrich@bachmanity.com"
462
- cc:
463
- type: array
464
- items:
465
- $ref: '#/components/schemas/CopyTo'
466
- bcc:
467
- type: array
468
- items:
469
- $ref: '#/components/schemas/CopyTo'
470
- customFields:
471
- type: object
472
- example:
473
- Company: "Bachmanity"
474
- From:
475
- title: From
476
- type: object
477
- properties:
478
- email:
479
- type: string
480
- example: "gavin@hooli.com"
481
- name:
482
- type: string
483
- example: "Gavin Belson"
484
- ReplyTo:
485
- title: ReplyTo
486
- type: object
487
- properties:
488
- email:
489
- type: string
490
- example: "welcome@hooli.vom"
491
- name:
492
- type: string
493
- example: "Team @ Hooli"
494
- CopyTo:
495
- title: CopyTo
496
- type: object
497
- properties:
498
- name:
499
- type: string
500
- example: "Nelson Bighetti"
501
- email:
502
- type: string
503
- example: "bighead@bachmanity.com"
504
- customFields:
505
- type: object
506
- example:
507
- Company: "Bachmanity"
508
- EventMetadata:
509
- title: EventMetadata
510
- type: object
511
- properties:
512
- clickedURL:
513
- type: string
514
- trackedIP:
515
- type: string
516
- rawUserAgent:
517
- type: string
518
- device:
519
- $ref: '#/components/schemas/Device'
520
- geo:
521
- $ref: '#/components/schemas/City'
522
- os:
523
- $ref: '#/components/schemas/Os'
524
- smtpCode:
525
- type: integer
526
- format: int64
527
- example: 200
528
- smtpDescription:
529
- type: string
530
- example: "email delivered successfully"
531
- userAgent:
532
- $ref: '#/components/schemas/UserAgent'
533
- EmailResponse:
534
- title: EmailResponse
535
- type: object
536
- properties:
537
- errorCode:
538
- type: integer
539
- example: 500
540
- message:
541
- type: string
542
- example: "ok"
543
- messageId:
544
- type: string
545
- example: "0e139af1-f1xe-480d-b08d-eg28m48kf48d"
546
- submittedAt:
547
- type: integer
548
- format: int64
549
- example: 1567512491587205124
550
- to:
551
- type: string
552
- example: "bighead@bachmanity.com"
553
- Device:
554
- title: Device
555
- type: object
556
- properties:
557
- Family:
558
- type: string
559
- Os:
560
- title: Os
561
- type: object
562
- properties:
563
- Family:
564
- type: string
565
- Major:
566
- type: string
567
- Minor:
568
- type: string
569
- Patch:
570
- type: string
571
- PatchMinor:
572
- type: string
573
- UserAgent:
574
- title: UserAgent
575
- type: object
576
- properties:
577
- Family:
578
- type: string
579
- Major:
580
- type: string
581
- Minor:
582
- type: string
583
- Patch:
584
- type: string
585
- Suppression:
586
- title: Suppression
587
- type: object
588
- properties:
589
- created:
590
- type: integer
591
- format: int64
592
- email:
593
- type: string
594
- id:
595
- type: integer
596
- format: int64
597
- reason:
598
- type: integer
599
- format: int64
600
- smtp_error:
601
- type: string
602
- RSuppression:
603
- title: RSuppression
604
- type: object
605
- properties:
606
- hardBounce:
607
- type: array
608
- items:
609
- $ref: '#/components/schemas/SuppressionEmail'
610
- manual:
611
- type: array
612
- items:
613
- $ref: '#/components/schemas/SuppressionEmail'
614
- spamComplaint:
615
- type: array
616
- items:
617
- $ref: '#/components/schemas/SuppressionEmail'
618
- unsubscribe:
619
- type: array
620
- items:
621
- $ref: '#/components/schemas/SuppressionEmail'
622
- SuppressionEmail:
623
- title: SuppressionEmail
624
- type: object
625
- properties:
626
- email:
627
- type: string
628
- RDSuppression:
629
- title: RDSuppression
630
- type: object
631
- properties:
632
- suppressions:
633
- type: array
634
- items:
635
- $ref: '#/components/schemas/SuppressionEmail'
636
- DeleteResponse:
637
- title: DeleteResponse
638
- type: object
639
- properties:
640
- id:
641
- type: integer
642
- format: int64
643
- message:
644
- type: string
645
- CountStat:
646
- title: CountStat
647
- type: object
648
- properties:
649
- count:
650
- type: integer
651
- format: int64
652
- City:
653
- title: City
654
- type: object
655
- properties:
656
- cityID:
657
- type: integer
658
- format: int32
659
- continentCode:
660
- type: string
661
- countryCode:
662
- type: string
663
- postalCode:
664
- type: string
665
- timeZone:
666
- type: string
@@ -1,38 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- =begin
4
- #SendPost API
5
-
6
- #Email API and SMTP relay to not just send and measure email sending, but also alert and optimise. We provide you with tools, expertise and support needed to reliably deliver emails to your customers inboxes on time, every time.
7
-
8
- The version of the OpenAPI document: 1.0.0
9
- Contact: hello@sendpost.io
10
- Generated by: https://openapi-generator.tech
11
- OpenAPI Generator version: 7.0.1
12
-
13
- =end
14
-
15
- $:.push File.expand_path("../lib", __FILE__)
16
- require "sendpost_ruby_sdk/version"
17
-
18
- Gem::Specification.new do |s|
19
- s.name = "sendpost_ruby_sdk"
20
- s.version = Sendpost::VERSION
21
- s.platform = Gem::Platform::RUBY
22
- s.authors = ["Sendpost"]
23
- s.email = ["dev@sendpost.io"]
24
- s.homepage = "https://github.com/sendpost/sendpost_ruby_sdk"
25
- s.summary = "SendPost Ruby API"
26
- s.description = "Email API and SMTP relay to not just send and measure email sending, but also alert and optimise. We provide you with tools, expertise and support needed to reliably deliver emails to your customers inboxes on time, every time."
27
- s.license = "Unlicense"
28
- s.required_ruby_version = ">= 2.7"
29
-
30
- s.add_runtime_dependency 'typhoeus', '~> 1.0', '>= 1.0.1'
31
-
32
- s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0'
33
-
34
- s.files = `find *`.split("\n").uniq.sort.select { |f| !f.empty? }
35
- s.test_files = `find spec/*`.split("\n")
36
- s.executables = []
37
- s.require_paths = ["lib"]
38
- end