sendpost_ruby_sdk 2.0.0 → 3.0.0

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 (354) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +613 -529
  3. data/docs/AccountCycleUsage.md +18 -0
  4. data/docs/AccountStats.md +3 -3
  5. data/docs/AccountWebhookWithStats.md +58 -0
  6. data/docs/AggregateStat.md +14 -14
  7. data/docs/AggregateStats.md +22 -22
  8. data/docs/Attachment.md +4 -4
  9. data/docs/BlacklistLinks.md +20 -0
  10. data/docs/BlacklistResource.md +38 -0
  11. data/docs/BlacklistedOn.md +20 -0
  12. data/docs/CopyTo.md +6 -6
  13. data/docs/CreateDomainRequest.md +2 -2
  14. data/docs/CreateSuppressionRequest.md +4 -4
  15. data/docs/CreateSuppressionRequestHardBounceInner.md +1 -1
  16. data/docs/CreateSuppressionRequestManualInner.md +1 -1
  17. data/docs/CreateSuppressionRequestSpamComplaintInner.md +1 -1
  18. data/docs/CreateSuppressionRequestUnsubscribeInner.md +1 -1
  19. data/docs/DailyStatistics.md +38 -0
  20. data/docs/DateStat.md +40 -0
  21. data/docs/DeleteResponse.md +4 -4
  22. data/docs/DeleteSubAccountResponse.md +4 -4
  23. data/docs/{DeleteSuppression200ResponseInner.md → DeleteSuppression200Response.md} +2 -4
  24. data/docs/DeleteSuppressionRequest.md +1 -1
  25. data/docs/{EmailMessageReplyTo.md → DeleteSuppressionRequestSuppressionsInner.md} +3 -5
  26. data/docs/DeleteWebhookResponse.md +3 -3
  27. data/docs/Device.md +2 -2
  28. data/docs/DnsRecord.md +22 -0
  29. data/docs/Domain.md +24 -28
  30. data/docs/DomainApi.md +66 -66
  31. data/docs/DomainStat.md +46 -0
  32. data/docs/EIP.md +1 -1
  33. data/docs/EmailAddress.md +4 -4
  34. data/docs/EmailApi.md +4 -4
  35. data/docs/EmailMessage.md +30 -30
  36. data/docs/EmailMessageObject.md +33 -26
  37. data/docs/EmailMessageWithTemplate.md +32 -27
  38. data/docs/EmailResponse.md +10 -10
  39. data/docs/EmailTypeStat.md +40 -0
  40. data/docs/ErrorResponse.md +18 -0
  41. data/docs/ErrorResponseError.md +26 -0
  42. data/docs/ErrorResponseErrorDetailsInner.md +20 -0
  43. data/docs/Event.md +18 -36
  44. data/docs/EventMetadata.md +14 -14
  45. data/docs/GeoLocation.md +8 -8
  46. data/docs/GroupStat.md +40 -0
  47. data/docs/IP.md +13 -43
  48. data/docs/IPAllocationRequest.md +4 -4
  49. data/docs/IPApi.md +19 -19
  50. data/docs/IPDeletionResponse.md +2 -2
  51. data/docs/IPPool.md +13 -21
  52. data/docs/IPPoolCreateRequest.md +10 -8
  53. data/docs/IPPoolDeleteResponse.md +2 -2
  54. data/docs/IPPoolStat.md +44 -0
  55. data/docs/IPPoolUpdateRequest.md +13 -7
  56. data/docs/IPPoolsApi.md +26 -19
  57. data/docs/IPStat.md +46 -0
  58. data/docs/IPUpdateRequest.md +2 -2
  59. data/docs/Label.md +10 -6
  60. data/docs/Member.md +15 -21
  61. data/docs/Message.md +37 -53
  62. data/docs/MessageApi.md +83 -3
  63. data/docs/NewSubAccount.md +18 -0
  64. data/docs/NewWebhook.md +46 -0
  65. data/docs/Os.md +26 -0
  66. data/docs/PostmasterDomainStat.md +30 -0
  67. data/docs/ProviderStat.md +40 -0
  68. data/docs/RAIPPoolStat.md +20 -0
  69. data/docs/RDStat.md +20 -0
  70. data/docs/RIPStat.md +20 -0
  71. data/docs/RStat.md +20 -0
  72. data/docs/Recipient.md +8 -8
  73. data/docs/SDStat.md +42 -0
  74. data/docs/SMTPAuth.md +5 -9
  75. data/docs/SeedContactStats.md +28 -0
  76. data/docs/Stat.md +22 -4
  77. data/docs/StatsAApi.md +24 -24
  78. data/docs/StatsApi.md +19 -19
  79. data/docs/SubAccount.md +13 -27
  80. data/docs/SubAccountApi.md +23 -23
  81. data/docs/SubAccountStat.md +44 -0
  82. data/docs/SubAccountStatForPool.md +42 -0
  83. data/docs/Suppression.md +14 -10
  84. data/docs/SuppressionApi.md +19 -19
  85. data/docs/TPSPStat.md +42 -0
  86. data/docs/UpdateSubAccount.md +2 -2
  87. data/docs/UpdateWebhook.md +23 -23
  88. data/docs/UserAgent.md +7 -7
  89. data/docs/ValidationStat.md +32 -0
  90. data/docs/Webhook.md +31 -29
  91. data/docs/WebhookApi.md +28 -28
  92. data/docs/WebhookObject.md +20 -0
  93. data/docs/WebhookReferenceApi.md +71 -0
  94. data/lib/sendpost_ruby_sdk/api/domain_api.rb +84 -84
  95. data/lib/sendpost_ruby_sdk/api/email_api.rb +6 -6
  96. data/lib/sendpost_ruby_sdk/api/ip_api.rb +24 -24
  97. data/lib/sendpost_ruby_sdk/api/ip_pools_api.rb +25 -25
  98. data/lib/sendpost_ruby_sdk/api/message_api.rb +83 -6
  99. data/lib/sendpost_ruby_sdk/api/stats_a_api.rb +30 -30
  100. data/lib/sendpost_ruby_sdk/api/stats_api.rb +24 -24
  101. data/lib/sendpost_ruby_sdk/api/sub_account_api.rb +33 -33
  102. data/lib/sendpost_ruby_sdk/api/suppression_api.rb +23 -23
  103. data/lib/sendpost_ruby_sdk/api/webhook_api.rb +36 -36
  104. data/lib/sendpost_ruby_sdk/api/webhook_reference_api.rb +82 -0
  105. data/lib/sendpost_ruby_sdk/api_client.rb +2 -2
  106. data/lib/sendpost_ruby_sdk/api_error.rb +2 -2
  107. data/lib/sendpost_ruby_sdk/configuration.rb +2 -2
  108. data/lib/sendpost_ruby_sdk/models/account_cycle_usage.rb +222 -0
  109. data/lib/sendpost_ruby_sdk/models/account_stats.rb +5 -3
  110. data/lib/sendpost_ruby_sdk/models/account_webhook_with_stats.rb +463 -0
  111. data/lib/sendpost_ruby_sdk/models/aggregate_stat.rb +37 -29
  112. data/lib/sendpost_ruby_sdk/models/aggregate_stats.rb +43 -24
  113. data/lib/sendpost_ruby_sdk/models/attachment.rb +48 -4
  114. data/lib/sendpost_ruby_sdk/models/blacklist_links.rb +232 -0
  115. data/lib/sendpost_ruby_sdk/models/blacklist_resource.rb +323 -0
  116. data/lib/sendpost_ruby_sdk/models/blacklisted_on.rb +232 -0
  117. data/lib/sendpost_ruby_sdk/models/copy_to.rb +42 -3
  118. data/lib/sendpost_ruby_sdk/models/create_domain_request.rb +32 -3
  119. data/lib/sendpost_ruby_sdk/models/create_suppression_request.rb +6 -6
  120. data/lib/sendpost_ruby_sdk/models/create_suppression_request_hard_bounce_inner.rb +2 -2
  121. data/lib/sendpost_ruby_sdk/models/create_suppression_request_manual_inner.rb +2 -2
  122. data/lib/sendpost_ruby_sdk/models/create_suppression_request_spam_complaint_inner.rb +2 -2
  123. data/lib/sendpost_ruby_sdk/models/create_suppression_request_unsubscribe_inner.rb +2 -2
  124. data/lib/sendpost_ruby_sdk/models/daily_statistics.rb +322 -0
  125. data/lib/sendpost_ruby_sdk/models/date_stat.rb +339 -0
  126. data/lib/sendpost_ruby_sdk/models/delete_response.rb +5 -4
  127. data/lib/sendpost_ruby_sdk/models/delete_sub_account_response.rb +5 -4
  128. data/lib/sendpost_ruby_sdk/models/delete_suppression200_response.rb +221 -0
  129. data/lib/sendpost_ruby_sdk/models/delete_suppression_request.rb +4 -3
  130. data/lib/sendpost_ruby_sdk/models/delete_suppression_request_suppressions_inner.rb +220 -0
  131. data/lib/sendpost_ruby_sdk/models/delete_webhook_response.rb +5 -4
  132. data/lib/sendpost_ruby_sdk/models/device.rb +5 -3
  133. data/lib/sendpost_ruby_sdk/models/dns_record.rb +276 -0
  134. data/lib/sendpost_ruby_sdk/models/domain.rb +42 -56
  135. data/lib/sendpost_ruby_sdk/models/domain_stat.rb +369 -0
  136. data/lib/sendpost_ruby_sdk/models/eip.rb +4 -3
  137. data/lib/sendpost_ruby_sdk/models/email_address.rb +41 -2
  138. data/lib/sendpost_ruby_sdk/models/email_message.rb +26 -9
  139. data/lib/sendpost_ruby_sdk/models/email_message_object.rb +123 -3
  140. data/lib/sendpost_ruby_sdk/models/email_message_with_template.rb +121 -12
  141. data/lib/sendpost_ruby_sdk/models/email_response.rb +8 -4
  142. data/lib/sendpost_ruby_sdk/models/email_type_stat.rb +339 -0
  143. data/lib/sendpost_ruby_sdk/models/error_response.rb +221 -0
  144. data/lib/sendpost_ruby_sdk/models/error_response_error.rb +297 -0
  145. data/lib/sendpost_ruby_sdk/models/error_response_error_details_inner.rb +231 -0
  146. data/lib/sendpost_ruby_sdk/models/event.rb +94 -118
  147. data/lib/sendpost_ruby_sdk/models/event_metadata.rb +15 -5
  148. data/lib/sendpost_ruby_sdk/models/geo_location.rb +20 -14
  149. data/lib/sendpost_ruby_sdk/models/group_stat.rb +339 -0
  150. data/lib/sendpost_ruby_sdk/models/ip.rb +72 -223
  151. data/lib/sendpost_ruby_sdk/models/ip_allocation_request.rb +29 -33
  152. data/lib/sendpost_ruby_sdk/models/ip_deletion_response.rb +5 -4
  153. data/lib/sendpost_ruby_sdk/models/ip_pool.rb +100 -66
  154. data/lib/sendpost_ruby_sdk/models/ip_pool_create_request.rb +101 -9
  155. data/lib/sendpost_ruby_sdk/models/ip_pool_delete_response.rb +5 -2
  156. data/lib/sendpost_ruby_sdk/models/ip_pool_stat.rb +359 -0
  157. data/lib/sendpost_ruby_sdk/models/ip_pool_update_request.rb +97 -7
  158. data/lib/sendpost_ruby_sdk/models/ip_stat.rb +369 -0
  159. data/lib/sendpost_ruby_sdk/models/ip_update_request.rb +4 -20
  160. data/lib/sendpost_ruby_sdk/models/label.rb +101 -6
  161. data/lib/sendpost_ruby_sdk/models/member.rb +49 -57
  162. data/lib/sendpost_ruby_sdk/models/message.rb +39 -120
  163. data/lib/sendpost_ruby_sdk/models/new_sub_account.rb +257 -0
  164. data/lib/sendpost_ruby_sdk/models/new_webhook.rb +407 -0
  165. data/lib/sendpost_ruby_sdk/models/os.rb +262 -0
  166. data/lib/sendpost_ruby_sdk/models/postmaster_domain_stat.rb +282 -0
  167. data/lib/sendpost_ruby_sdk/models/provider_stat.rb +339 -0
  168. data/lib/sendpost_ruby_sdk/models/r_stat.rb +231 -0
  169. data/lib/sendpost_ruby_sdk/models/raip_pool_stat.rb +231 -0
  170. data/lib/sendpost_ruby_sdk/models/rd_stat.rb +231 -0
  171. data/lib/sendpost_ruby_sdk/models/recipient.rb +82 -3
  172. data/lib/sendpost_ruby_sdk/models/rip_stat.rb +231 -0
  173. data/lib/sendpost_ruby_sdk/models/sd_stat.rb +349 -0
  174. data/lib/sendpost_ruby_sdk/models/seed_contact_stats.rb +281 -0
  175. data/lib/sendpost_ruby_sdk/models/smtp_auth.rb +10 -29
  176. data/lib/sendpost_ruby_sdk/models/stat.rb +108 -16
  177. data/lib/sendpost_ruby_sdk/models/sub_account.rb +57 -115
  178. data/lib/sendpost_ruby_sdk/models/sub_account_stat.rb +359 -0
  179. data/lib/sendpost_ruby_sdk/models/sub_account_stat_for_pool.rb +349 -0
  180. data/lib/sendpost_ruby_sdk/models/suppression.rb +82 -15
  181. data/lib/sendpost_ruby_sdk/models/tpsp_stat.rb +349 -0
  182. data/lib/sendpost_ruby_sdk/models/update_sub_account.rb +32 -3
  183. data/lib/sendpost_ruby_sdk/models/update_webhook.rb +83 -37
  184. data/lib/sendpost_ruby_sdk/models/user_agent.rb +11 -6
  185. data/lib/sendpost_ruby_sdk/models/validation_stat.rb +292 -0
  186. data/lib/sendpost_ruby_sdk/models/webhook.rb +108 -67
  187. data/lib/sendpost_ruby_sdk/models/webhook_object.rb +232 -0
  188. data/lib/sendpost_ruby_sdk/version.rb +3 -3
  189. data/lib/sendpost_ruby_sdk.rb +36 -26
  190. data/sendpost_ruby_sdk.gemspec +39 -0
  191. data/spec/api/webhook_reference_api_spec.rb +46 -0
  192. data/spec/models/account_cycle_usage_spec.rb +36 -0
  193. data/spec/models/account_webhook_with_stats_spec.rb +160 -0
  194. data/spec/models/blacklist_links_spec.rb +42 -0
  195. data/spec/models/blacklist_resource_spec.rb +96 -0
  196. data/spec/models/blacklisted_on_spec.rb +42 -0
  197. data/spec/models/daily_statistics_spec.rb +96 -0
  198. data/spec/models/date_stat_spec.rb +102 -0
  199. data/spec/models/delete_suppression200_response_spec.rb +36 -0
  200. data/spec/models/delete_suppression_request_suppressions_inner_spec.rb +36 -0
  201. data/spec/models/dns_record_spec.rb +52 -0
  202. data/spec/models/domain_stat_spec.rb +120 -0
  203. data/spec/models/email_type_stat_spec.rb +102 -0
  204. data/spec/models/error_response_error_details_inner_spec.rb +42 -0
  205. data/spec/models/error_response_error_spec.rb +64 -0
  206. data/spec/models/error_response_spec.rb +36 -0
  207. data/spec/models/group_stat_spec.rb +102 -0
  208. data/spec/models/ip_pool_stat_spec.rb +114 -0
  209. data/spec/models/ip_stat_spec.rb +120 -0
  210. data/spec/models/new_sub_account_spec.rb +36 -0
  211. data/spec/models/new_webhook_spec.rb +120 -0
  212. data/spec/models/os_spec.rb +60 -0
  213. data/spec/models/postmaster_domain_stat_spec.rb +72 -0
  214. data/spec/models/provider_stat_spec.rb +102 -0
  215. data/spec/models/r_stat_spec.rb +42 -0
  216. data/spec/models/raip_pool_stat_spec.rb +42 -0
  217. data/spec/models/rd_stat_spec.rb +42 -0
  218. data/spec/models/rip_stat_spec.rb +42 -0
  219. data/spec/models/sd_stat_spec.rb +108 -0
  220. data/spec/models/seed_contact_stats_spec.rb +66 -0
  221. data/spec/models/sub_account_stat_for_pool_spec.rb +108 -0
  222. data/spec/models/sub_account_stat_spec.rb +114 -0
  223. data/spec/models/tpsp_stat_spec.rb +108 -0
  224. data/spec/models/validation_stat_spec.rb +78 -0
  225. data/spec/models/webhook_object_spec.rb +42 -0
  226. data/spec/spec_helper.rb +2 -2
  227. metadata +144 -212
  228. data/LICENSE +0 -21
  229. data/docs/AccountStatsStat.md +0 -38
  230. data/docs/AggregatedEmailStats.md +0 -38
  231. data/docs/AutoWarmupPlan.md +0 -80
  232. data/docs/CreateSubAccountRequest.md +0 -18
  233. data/docs/CreateWebhookRequest.md +0 -46
  234. data/docs/DomainDkim.md +0 -22
  235. data/docs/DomainDmarc.md +0 -22
  236. data/docs/DomainGpt.md +0 -22
  237. data/docs/DomainReturnPath.md +0 -22
  238. data/docs/DomainTrack.md +0 -22
  239. data/docs/EmailMessageFrom.md +0 -20
  240. data/docs/EmailMessageToInner.md +0 -26
  241. data/docs/EmailMessageToInnerBccInner.md +0 -22
  242. data/docs/EmailMessageToInnerCcInner.md +0 -22
  243. data/docs/EmailStats.md +0 -20
  244. data/docs/EmailStatsStats.md +0 -38
  245. data/docs/MessageHeaderTo.md +0 -26
  246. data/docs/MessageTo.md +0 -26
  247. data/docs/OperatingSystem.md +0 -26
  248. data/docs/Person.md +0 -20
  249. data/docs/StatStats.md +0 -38
  250. data/docs/ThirdPartySendingProvider.md +0 -38
  251. data/lib/sendpost_ruby_sdk/models/account_stats_stat.rb +0 -310
  252. data/lib/sendpost_ruby_sdk/models/aggregated_email_stats.rb +0 -321
  253. data/lib/sendpost_ruby_sdk/models/auto_warmup_plan.rb +0 -531
  254. data/lib/sendpost_ruby_sdk/models/create_sub_account_request.rb +0 -221
  255. data/lib/sendpost_ruby_sdk/models/create_webhook_request.rb +0 -361
  256. data/lib/sendpost_ruby_sdk/models/delete_suppression200_response_inner.rb +0 -231
  257. data/lib/sendpost_ruby_sdk/models/domain_dkim.rb +0 -239
  258. data/lib/sendpost_ruby_sdk/models/domain_dmarc.rb +0 -239
  259. data/lib/sendpost_ruby_sdk/models/domain_gpt.rb +0 -239
  260. data/lib/sendpost_ruby_sdk/models/domain_return_path.rb +0 -239
  261. data/lib/sendpost_ruby_sdk/models/domain_track.rb +0 -239
  262. data/lib/sendpost_ruby_sdk/models/email_message_from.rb +0 -229
  263. data/lib/sendpost_ruby_sdk/models/email_message_reply_to.rb +0 -229
  264. data/lib/sendpost_ruby_sdk/models/email_message_to_inner.rb +0 -262
  265. data/lib/sendpost_ruby_sdk/models/email_message_to_inner_bcc_inner.rb +0 -240
  266. data/lib/sendpost_ruby_sdk/models/email_message_to_inner_cc_inner.rb +0 -240
  267. data/lib/sendpost_ruby_sdk/models/email_stats.rb +0 -230
  268. data/lib/sendpost_ruby_sdk/models/email_stats_stats.rb +0 -321
  269. data/lib/sendpost_ruby_sdk/models/message_header_to.rb +0 -268
  270. data/lib/sendpost_ruby_sdk/models/message_to.rb +0 -268
  271. data/lib/sendpost_ruby_sdk/models/operating_system.rb +0 -256
  272. data/lib/sendpost_ruby_sdk/models/person.rb +0 -231
  273. data/lib/sendpost_ruby_sdk/models/stat_stats.rb +0 -321
  274. data/lib/sendpost_ruby_sdk/models/third_party_sending_provider.rb +0 -310
  275. data/spec/api/domain_api_spec.rb +0 -85
  276. data/spec/api/email_api_spec.rb +0 -59
  277. data/spec/api/ip_api_spec.rb +0 -98
  278. data/spec/api/ip_pools_api_spec.rb +0 -98
  279. data/spec/api/message_api_spec.rb +0 -47
  280. data/spec/api/stats_a_api_spec.rb +0 -89
  281. data/spec/api/stats_api_spec.rb +0 -78
  282. data/spec/api/sub_account_api_spec.rb +0 -98
  283. data/spec/api/suppression_api_spec.rb +0 -76
  284. data/spec/api/webhook_api_spec.rb +0 -98
  285. data/spec/models/account_stats_spec.rb +0 -42
  286. data/spec/models/account_stats_stat_spec.rb +0 -96
  287. data/spec/models/aggregate_stat_spec.rb +0 -96
  288. data/spec/models/aggregate_stats_spec.rb +0 -96
  289. data/spec/models/aggregated_email_stats_spec.rb +0 -96
  290. data/spec/models/attachment_spec.rb +0 -42
  291. data/spec/models/auto_warmup_plan_spec.rb +0 -222
  292. data/spec/models/copy_to_spec.rb +0 -48
  293. data/spec/models/create_domain_request_spec.rb +0 -36
  294. data/spec/models/create_sub_account_request_spec.rb +0 -36
  295. data/spec/models/create_suppression_request_hard_bounce_inner_spec.rb +0 -36
  296. data/spec/models/create_suppression_request_manual_inner_spec.rb +0 -36
  297. data/spec/models/create_suppression_request_spam_complaint_inner_spec.rb +0 -36
  298. data/spec/models/create_suppression_request_spec.rb +0 -54
  299. data/spec/models/create_suppression_request_unsubscribe_inner_spec.rb +0 -36
  300. data/spec/models/create_webhook_request_spec.rb +0 -120
  301. data/spec/models/delete_response_spec.rb +0 -42
  302. data/spec/models/delete_sub_account_response_spec.rb +0 -42
  303. data/spec/models/delete_suppression200_response_inner_spec.rb +0 -42
  304. data/spec/models/delete_suppression_request_spec.rb +0 -36
  305. data/spec/models/delete_webhook_response_spec.rb +0 -42
  306. data/spec/models/device_spec.rb +0 -36
  307. data/spec/models/domain_dkim_spec.rb +0 -48
  308. data/spec/models/domain_dmarc_spec.rb +0 -48
  309. data/spec/models/domain_gpt_spec.rb +0 -48
  310. data/spec/models/domain_return_path_spec.rb +0 -48
  311. data/spec/models/domain_spec.rb +0 -150
  312. data/spec/models/domain_track_spec.rb +0 -48
  313. data/spec/models/eip_spec.rb +0 -36
  314. data/spec/models/email_address_spec.rb +0 -42
  315. data/spec/models/email_message_from_spec.rb +0 -42
  316. data/spec/models/email_message_object_spec.rb +0 -120
  317. data/spec/models/email_message_reply_to_spec.rb +0 -42
  318. data/spec/models/email_message_spec.rb +0 -138
  319. data/spec/models/email_message_to_inner_bcc_inner_spec.rb +0 -48
  320. data/spec/models/email_message_to_inner_cc_inner_spec.rb +0 -48
  321. data/spec/models/email_message_to_inner_spec.rb +0 -60
  322. data/spec/models/email_message_with_template_spec.rb +0 -138
  323. data/spec/models/email_response_spec.rb +0 -60
  324. data/spec/models/email_stats_spec.rb +0 -42
  325. data/spec/models/email_stats_stats_spec.rb +0 -96
  326. data/spec/models/event_metadata_spec.rb +0 -84
  327. data/spec/models/event_spec.rb +0 -150
  328. data/spec/models/geo_location_spec.rb +0 -60
  329. data/spec/models/ip_allocation_request_spec.rb +0 -42
  330. data/spec/models/ip_deletion_response_spec.rb +0 -42
  331. data/spec/models/ip_pool_create_request_spec.rb +0 -66
  332. data/spec/models/ip_pool_delete_response_spec.rb +0 -42
  333. data/spec/models/ip_pool_spec.rb +0 -108
  334. data/spec/models/ip_pool_update_request_spec.rb +0 -54
  335. data/spec/models/ip_spec.rb +0 -168
  336. data/spec/models/ip_update_request_spec.rb +0 -36
  337. data/spec/models/label_spec.rb +0 -48
  338. data/spec/models/member_spec.rb +0 -102
  339. data/spec/models/message_header_to_spec.rb +0 -60
  340. data/spec/models/message_spec.rb +0 -210
  341. data/spec/models/message_to_spec.rb +0 -60
  342. data/spec/models/operating_system_spec.rb +0 -60
  343. data/spec/models/person_spec.rb +0 -42
  344. data/spec/models/recipient_spec.rb +0 -60
  345. data/spec/models/smtp_auth_spec.rb +0 -60
  346. data/spec/models/stat_spec.rb +0 -42
  347. data/spec/models/stat_stats_spec.rb +0 -96
  348. data/spec/models/sub_account_spec.rb +0 -130
  349. data/spec/models/suppression_spec.rb +0 -60
  350. data/spec/models/third_party_sending_provider_spec.rb +0 -96
  351. data/spec/models/update_sub_account_spec.rb +0 -36
  352. data/spec/models/update_webhook_spec.rb +0 -120
  353. data/spec/models/user_agent_spec.rb +0 -54
  354. data/spec/models/webhook_spec.rb +0 -144
@@ -4,21 +4,22 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **from** | [**EmailAddress**](EmailAddress.md) | | [optional] |
8
- | **reply_to** | [**EmailAddress**](EmailAddress.md) | | [optional] |
9
- | **to** | [**Array<Recipient>**](Recipient.md) | | [optional] |
10
- | **subject** | **String** | | [optional] |
11
- | **pre_text** | **String** | | [optional] |
12
- | **html_body** | **String** | | [optional] |
13
- | **text_body** | **String** | | [optional] |
14
- | **amp_body** | **String** | | [optional] |
15
- | **ippool** | **String** | | [optional] |
16
- | **headers** | **Hash<String, String>** | | [optional] |
17
- | **track_opens** | **Boolean** | | [optional] |
18
- | **track_clicks** | **Boolean** | | [optional] |
19
- | **groups** | **Array<String>** | | [optional] |
20
- | **attachments** | [**Array<Attachment>**](Attachment.md) | | [optional] |
21
- | **webhook_endpoint** | **String** | | [optional] |
7
+ | **from** | [**EmailAddress**](EmailAddress.md) | The sender's email address and optional display name | |
8
+ | **reply_to** | [**EmailAddress**](EmailAddress.md) | The reply-to email address. If not specified, replies will go to the `from` address | [optional] |
9
+ | **to** | [**Array<Recipient>**](Recipient.md) | List of recipients. Each recipient can have their own CC, BCC, and custom fields for personalization. Maximum 1000 recipients per API call. | |
10
+ | **subject** | **String** | Email subject line. Supports Handlebars templating for personalization. Example: \"Hello, {{firstName}}! Your order is ready\" | [optional] |
11
+ | **pre_text** | **String** | Preview text (preheader) shown in email clients before opening the email. This text appears after the subject line in most email clients' inbox view. | [optional] |
12
+ | **html_body** | **String** | HTML content of the email. Supports Handlebars templating for personalization. Use {{customFieldName}} to insert recipient-specific values. | [optional] |
13
+ | **text_body** | **String** | Plain text content of the email. Used as fallback when HTML cannot be rendered. Also improves deliverability as some spam filters prefer multipart emails. | [optional] |
14
+ | **amp_body** | **String** | AMP HTML content for supported email clients (Gmail, Yahoo). Enables interactive email experiences like carousels, forms, and real-time content. See https://amp.dev/about/email/ for more details. | [optional] |
15
+ | **template** | **String** | Name of a pre-defined template to use for this email. When specified, the template's subject, htmlBody, and textBody will be used unless explicitly overridden in this request. | [optional] |
16
+ | **ippool** | **String** | Name of the IP pool to use for sending this email. If not specified, the default IP pool for the sub-account will be used. | [optional] |
17
+ | **headers** | **Hash<String, String>** | Custom email headers to include in the message. Common uses: adding List-Unsubscribe headers, custom tracking IDs, or priority flags. Note: Some headers like From, To, Subject are set automatically and cannot be overridden. | [optional] |
18
+ | **track_opens** | **Boolean** | Whether to track email opens using a tracking pixel. When enabled, a 1x1 transparent image is inserted into the HTML body. Default: true (if not specified) | [optional][default to true] |
19
+ | **track_clicks** | **Boolean** | Whether to track link clicks by rewriting URLs through SendPost's tracking domain. When enabled, all links in htmlBody are replaced with tracking URLs. Default: true (if not specified) | [optional][default to true] |
20
+ | **groups** | **Array<String>** | Tags/groups to categorize this email for analytics and reporting. Use groups to segment your email statistics (e.g., by campaign, email type, or customer segment). | [optional] |
21
+ | **attachments** | [**Array<Attachment>**](Attachment.md) | File attachments to include with the email. Maximum total attachment size: 25MB. Supported formats: PDF, images, documents, etc. | [optional] |
22
+ | **webhook_endpoint** | **String** | Custom webhook URL to receive events for this specific email. Overrides the default webhook configured at the account level. Useful for per-email or per-customer webhook routing. | [optional] |
22
23
 
23
24
  ## Example
24
25
 
@@ -29,18 +30,24 @@ instance = Sendpost::EmailMessageObject.new(
29
30
  from: null,
30
31
  reply_to: null,
31
32
  to: null,
32
- subject: null,
33
- pre_text: null,
34
- html_body: null,
35
- text_body: null,
36
- amp_body: null,
37
- ippool: null,
38
- headers: null,
39
- track_opens: null,
40
- track_clicks: null,
41
- groups: null,
33
+ subject: Welcome to SendPost, {{firstName}}!,
34
+ pre_text: Your weekly digest is here with 5 new updates...,
35
+ html_body: <html><body><h1>Hello {{firstName}}</h1><p>Welcome to our platform!</p></body></html>,
36
+ text_body: Hello {{firstName}},
37
+
38
+ Welcome to our platform!
39
+
40
+ Best regards,
41
+ The Team,
42
+ amp_body: <!doctype html><html ⚡4email><head>...</head><body>...</body></html>,
43
+ template: welcome-email-v2,
44
+ ippool: transactional,
45
+ headers: {X-Custom-Header=custom-value, X-Campaign-ID=summer-sale-2024, List-Unsubscribe=<mailto:unsubscribe@example.com>},
46
+ track_opens: true,
47
+ track_clicks: true,
48
+ groups: [transactional, order-confirmation, premium-customers],
42
49
  attachments: null,
43
- webhook_endpoint: null
50
+ webhook_endpoint: https://your-app.com/webhooks/email-events
44
51
  )
45
52
  ```
46
53
 
@@ -4,22 +4,22 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **from** | [**EmailAddress**](EmailAddress.md) | | [optional] |
8
- | **reply_to** | [**EmailAddress**](EmailAddress.md) | | [optional] |
9
- | **to** | [**Array<Recipient>**](Recipient.md) | | [optional] |
10
- | **subject** | **String** | | [optional] |
11
- | **pre_text** | **String** | | [optional] |
12
- | **html_body** | **String** | | [optional] |
13
- | **text_body** | **String** | | [optional] |
14
- | **amp_body** | **String** | | [optional] |
15
- | **ippool** | **String** | | [optional] |
16
- | **headers** | **Hash<String, String>** | | [optional] |
17
- | **track_opens** | **Boolean** | | [optional] |
18
- | **track_clicks** | **Boolean** | | [optional] |
19
- | **groups** | **Array<String>** | | [optional] |
20
- | **attachments** | [**Array<Attachment>**](Attachment.md) | | [optional] |
21
- | **webhook_endpoint** | **String** | | [optional] |
7
+ | **from** | [**EmailAddress**](EmailAddress.md) | The sender's email address and optional display name | |
8
+ | **reply_to** | [**EmailAddress**](EmailAddress.md) | The reply-to email address. If not specified, replies will go to the `from` address | [optional] |
9
+ | **to** | [**Array<Recipient>**](Recipient.md) | List of recipients. Each recipient can have their own CC, BCC, and custom fields for personalization. Maximum 1000 recipients per API call. | |
10
+ | **subject** | **String** | Email subject line. Supports Handlebars templating for personalization. Example: \"Hello, {{firstName}}! Your order is ready\" | [optional] |
11
+ | **pre_text** | **String** | Preview text (preheader) shown in email clients before opening the email. This text appears after the subject line in most email clients' inbox view. | [optional] |
12
+ | **html_body** | **String** | HTML content of the email. Supports Handlebars templating for personalization. Use {{customFieldName}} to insert recipient-specific values. | [optional] |
13
+ | **text_body** | **String** | Plain text content of the email. Used as fallback when HTML cannot be rendered. Also improves deliverability as some spam filters prefer multipart emails. | [optional] |
14
+ | **amp_body** | **String** | AMP HTML content for supported email clients (Gmail, Yahoo). Enables interactive email experiences like carousels, forms, and real-time content. See https://amp.dev/about/email/ for more details. | [optional] |
22
15
  | **template** | **String** | | [optional] |
16
+ | **ippool** | **String** | Name of the IP pool to use for sending this email. If not specified, the default IP pool for the sub-account will be used. | [optional] |
17
+ | **headers** | **Hash<String, String>** | Custom email headers to include in the message. Common uses: adding List-Unsubscribe headers, custom tracking IDs, or priority flags. Note: Some headers like From, To, Subject are set automatically and cannot be overridden. | [optional] |
18
+ | **track_opens** | **Boolean** | Whether to track email opens using a tracking pixel. When enabled, a 1x1 transparent image is inserted into the HTML body. Default: true (if not specified) | [optional][default to true] |
19
+ | **track_clicks** | **Boolean** | Whether to track link clicks by rewriting URLs through SendPost's tracking domain. When enabled, all links in htmlBody are replaced with tracking URLs. Default: true (if not specified) | [optional][default to true] |
20
+ | **groups** | **Array<String>** | Tags/groups to categorize this email for analytics and reporting. Use groups to segment your email statistics (e.g., by campaign, email type, or customer segment). | [optional] |
21
+ | **attachments** | [**Array<Attachment>**](Attachment.md) | File attachments to include with the email. Maximum total attachment size: 25MB. Supported formats: PDF, images, documents, etc. | [optional] |
22
+ | **webhook_endpoint** | **String** | Custom webhook URL to receive events for this specific email. Overrides the default webhook configured at the account level. Useful for per-email or per-customer webhook routing. | [optional] |
23
23
  | **template_id** | **String** | Template ID for the email template | [optional] |
24
24
  | **template_variables** | **Hash<String, String>** | Key-Value pair of template variables | [optional] |
25
25
 
@@ -32,19 +32,24 @@ instance = Sendpost::EmailMessageWithTemplate.new(
32
32
  from: null,
33
33
  reply_to: null,
34
34
  to: null,
35
- subject: null,
36
- pre_text: null,
37
- html_body: null,
38
- text_body: null,
39
- amp_body: null,
40
- ippool: null,
41
- headers: null,
42
- track_opens: null,
43
- track_clicks: null,
44
- groups: null,
45
- attachments: null,
46
- webhook_endpoint: null,
35
+ subject: Welcome to SendPost, {{firstName}}!,
36
+ pre_text: Your weekly digest is here with 5 new updates...,
37
+ html_body: <html><body><h1>Hello {{firstName}}</h1><p>Welcome to our platform!</p></body></html>,
38
+ text_body: Hello {{firstName}},
39
+
40
+ Welcome to our platform!
41
+
42
+ Best regards,
43
+ The Team,
44
+ amp_body: <!doctype html><html ⚡4email><head>...</head><body>...</body></html>,
47
45
  template: null,
46
+ ippool: transactional,
47
+ headers: {X-Custom-Header=custom-value, X-Campaign-ID=summer-sale-2024, List-Unsubscribe=<mailto:unsubscribe@example.com>},
48
+ track_opens: true,
49
+ track_clicks: true,
50
+ groups: [transactional, order-confirmation, premium-customers],
51
+ attachments: null,
52
+ webhook_endpoint: https://your-app.com/webhooks/email-events,
48
53
  template_id: null,
49
54
  template_variables: null
50
55
  )
@@ -4,11 +4,11 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **to** | **String** | | [optional] |
8
- | **submitted_at** | **Integer** | UNIX epoch nano timestamp | [optional] |
9
- | **message_id** | **String** | Message UUID | [optional] |
10
- | **error_code** | **Integer** | | [optional] |
11
- | **message** | **String** | | [optional] |
7
+ | **to** | **String** | The recipient email address this response corresponds to | [optional] |
8
+ | **submitted_at** | **Integer** | UNIX epoch timestamp in nanoseconds when the email was accepted for processing. Use this for precise timing and correlation with webhook events. | [optional] |
9
+ | **message_id** | **String** | Unique identifier (UUID) for this email message. Use this ID to track the email through webhooks and the message lookup API. | [optional] |
10
+ | **error_code** | **Integer** | Error code if the email submission failed. Common codes: - 0: Success (no error) - 1: Invalid recipient email - 2: Recipient in suppression list - 3: Domain not verified - 4: Rate limit exceeded - 5: Invalid sender email | [optional] |
11
+ | **message** | **String** | Human-readable message describing the result. On success: \"Email submitted successfully\" On error: Description of what went wrong | [optional] |
12
12
 
13
13
  ## Example
14
14
 
@@ -16,11 +16,11 @@
16
16
  require 'sendpost_ruby_sdk'
17
17
 
18
18
  instance = Sendpost::EmailResponse.new(
19
- to: null,
20
- submitted_at: null,
21
- message_id: null,
22
- error_code: null,
23
- message: null
19
+ to: customer@example.com,
20
+ submitted_at: 1704067200000000000,
21
+ message_id: 550e8400-e29b-41d4-a716-446655440000,
22
+ error_code: 0,
23
+ message: Email submitted successfully
24
24
  )
25
25
  ```
26
26
 
@@ -0,0 +1,40 @@
1
+ # Sendpost::EmailTypeStat
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **processed** | **Integer** | Total number of emails accepted by SendPost API for processing. This is the starting point - all emails submitted through the API. | [optional] |
8
+ | **sent** | **Integer** | Number of emails sent to recipient mail servers. sent = processed - dropped - smtpDropped | [optional] |
9
+ | **dropped** | **Integer** | Number of emails dropped before sending. Common reasons: - Recipient email in suppression list (hard bounce, spam complaint, unsubscribe) - Invalid recipient email format - Sender domain not verified | [optional] |
10
+ | **smtp_dropped** | **Integer** | Number of emails dropped at SMTP level due to policy violations or rate limiting by the receiving server before delivery attempt completed. | [optional] |
11
+ | **delivered** | **Integer** | Number of emails successfully delivered to recipient mail servers. Note: Delivered means accepted by the server, not necessarily in inbox. | [optional] |
12
+ | **soft_bounced** | **Integer** | Number of temporary delivery failures (soft bounces). Common causes: - Recipient mailbox full - Server temporarily unavailable - Message too large SendPost automatically retries soft bounces. | [optional] |
13
+ | **hard_bounced** | **Integer** | Number of permanent delivery failures (hard bounces). Common causes: - Recipient email doesn't exist - Domain doesn't exist - Recipient has blocked sender Hard bounced addresses are automatically added to suppression list. | [optional] |
14
+ | **opened** | **Integer** | Number of emails opened (tracking pixel loaded). Requires trackOpens=true. Note: Some email clients block tracking pixels. | [optional] |
15
+ | **clicked** | **Integer** | Number of emails with at least one link clicked. Requires trackClicks=true. | [optional] |
16
+ | **unsubscribed** | **Integer** | Number of recipients who clicked the unsubscribe link. Unsubscribed addresses are automatically added to suppression list. | [optional] |
17
+ | **spam** | **Integer** | Number of spam complaints (recipient marked email as spam). High spam rates can severely impact your sender reputation. Target: Keep spam rate below 0.1%. | [optional] |
18
+ | **email_type** | **String** | The email provider type these statistics are aggregated for. | [optional] |
19
+
20
+ ## Example
21
+
22
+ ```ruby
23
+ require 'sendpost_ruby_sdk'
24
+
25
+ instance = Sendpost::EmailTypeStat.new(
26
+ processed: 225,
27
+ sent: 220,
28
+ dropped: 10,
29
+ smtp_dropped: 5,
30
+ delivered: 200,
31
+ soft_bounced: 5,
32
+ hard_bounced: 10,
33
+ opened: 150,
34
+ clicked: 50,
35
+ unsubscribed: 6,
36
+ spam: 2,
37
+ email_type: transactional
38
+ )
39
+ ```
40
+
@@ -0,0 +1,18 @@
1
+ # Sendpost::ErrorResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **error** | [**ErrorResponseError**](ErrorResponseError.md) | | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'sendpost_ruby_sdk'
13
+
14
+ instance = Sendpost::ErrorResponse.new(
15
+ error: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,26 @@
1
+ # Sendpost::ErrorResponseError
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **code** | **String** | Machine-readable error code. Common codes: - `invalid_request` - Malformed request body or parameters - `authentication_failed` - Invalid or missing API key - `resource_not_found` - Requested resource doesn't exist - `resource_exists` - Resource with same identifier already exists - `validation_error` - Request validation failed - `rate_limit_exceeded` - Too many requests - `internal_error` - Server-side error | [optional] |
8
+ | **message** | **String** | Human-readable error description | [optional] |
9
+ | **param** | **String** | The parameter that caused the error (if applicable) | [optional] |
10
+ | **type** | **String** | Error category | [optional] |
11
+ | **details** | [**Array<ErrorResponseErrorDetailsInner>**](ErrorResponseErrorDetailsInner.md) | Additional error details for validation errors | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'sendpost_ruby_sdk'
17
+
18
+ instance = Sendpost::ErrorResponseError.new(
19
+ code: validation_error,
20
+ message: The 'email' field must be a valid email address,
21
+ param: to[0].email,
22
+ type: invalid_request_error,
23
+ details: null
24
+ )
25
+ ```
26
+
@@ -0,0 +1,20 @@
1
+ # Sendpost::ErrorResponseErrorDetailsInner
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **field** | **String** | Field path that failed validation | [optional] |
8
+ | **message** | **String** | Validation error message for this field | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'sendpost_ruby_sdk'
14
+
15
+ instance = Sendpost::ErrorResponseErrorDetailsInner.new(
16
+ field: to[0].email,
17
+ message: must be a valid email address
18
+ )
19
+ ```
20
+
data/docs/Event.md CHANGED
@@ -4,25 +4,16 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **event_id** | **String** | | [optional] |
8
- | **groups** | **Array<String>** | | [optional] |
9
- | **ip_id** | **Integer** | | [optional] |
10
- | **ip_pool_id** | **Integer** | | [optional] |
11
- | **domain_id** | **Integer** | | [optional] |
12
- | **tpsp_id** | **Integer** | | [optional] |
13
- | **message_type** | **String** | | [optional] |
14
- | **message_subject** | **String** | | [optional] |
15
- | **account_id** | **Integer** | | [optional] |
16
- | **sub_account_id** | **Integer** | | [optional] |
17
- | **message_id** | **String** | | [optional] |
18
- | **type** | **Integer** | | [optional] |
19
- | **from** | **String** | | [optional] |
20
- | **from_name** | **String** | | [optional] |
21
- | **to** | **String** | | [optional] |
22
- | **to_name** | **String** | | [optional] |
23
- | **submitted_at** | **Integer** | | [optional] |
24
- | **smtp_code** | **Integer** | | [optional] |
25
- | **smtp_description** | **String** | | [optional] |
7
+ | **event_id** | **String** | Unique identifier for this specific event. Use this for idempotency - the same event may be delivered multiple times. | [optional] |
8
+ | **message_id** | **String** | Unique identifier of the email message this event belongs to. Use this to correlate events with the original send request. | [optional] |
9
+ | **type** | **Integer** | Numeric event type code: - `0` = processed (email accepted by API) - `1` = dropped (not sent - suppression, invalid, etc.) - `2` = delivered (accepted by recipient's mail server) - `3` = softBounced (temporary failure, will retry) - `4` = hardBounced (permanent failure) - `5` = opened (tracking pixel loaded) - `6` = clicked (link clicked) - `7` = unsubscribed (clicked unsubscribe link) - `8` = spam (marked as spam by recipient) - `9` = sent (sent to mail server) - `10` = smtpDropped (dropped at SMTP level) | [optional] |
10
+ | **type_name** | **String** | Human-readable event type name | [optional] |
11
+ | **from** | **String** | Sender email address | [optional] |
12
+ | **to** | **String** | Recipient email address | [optional] |
13
+ | **subject** | **String** | Email subject line (useful for identifying the email) | [optional] |
14
+ | **groups** | **Array<String>** | Tags/groups that were associated with the email | [optional] |
15
+ | **submitted_at** | **Integer** | UNIX epoch timestamp in nanoseconds when the email was originally submitted | [optional] |
16
+ | **timestamp** | **Integer** | UNIX epoch timestamp in nanoseconds when this event occurred | [optional] |
26
17
  | **event_metadata** | [**EventMetadata**](EventMetadata.md) | | [optional] |
27
18
 
28
19
  ## Example
@@ -32,24 +23,15 @@ require 'sendpost_ruby_sdk'
32
23
 
33
24
  instance = Sendpost::Event.new(
34
25
  event_id: edhg-123gh-afasdf-124egh,
35
- groups: ["transactional","user-onboarding"],
36
- ip_id: 123,
37
- ip_pool_id: 123,
38
- domain_id: 123,
39
- tpsp_id: 1,
40
- message_type: default,
41
- message_subject: Welcome to Pied Piper :) + 1 quick question,
42
- account_id: 117,
43
- sub_account_id: 117,
44
- message_id: mjhl-1401-sasdf-129324,
26
+ message_id: 550e8400-e29b-41d4-a716-446655440000,
45
27
  type: 2,
46
- from: richard@piedpiper.com,
47
- from_name: Richard,
48
- to: gavin@hooli.com,
49
- to_name: Gavin,
50
- submitted_at: 1567512491587205024,
51
- smtp_code: 200,
52
- smtp_description: email delivered successfully,
28
+ type_name: delivered,
29
+ from: notifications@piedpiper.com,
30
+ to: customer@example.com,
31
+ subject: Your order has been shipped!,
32
+ groups: [transactional, order-shipped],
33
+ submitted_at: 1704067200000000000,
34
+ timestamp: 1704067205000000000,
53
35
  event_metadata: null
54
36
  )
55
37
  ```
@@ -4,15 +4,15 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **smtp_code** | **Integer** | | [optional] |
8
- | **smtp_description** | **String** | | [optional] |
9
- | **user_agent** | [**UserAgent**](UserAgent.md) | | [optional] |
10
- | **os** | [**OperatingSystem**](OperatingSystem.md) | | [optional] |
11
- | **device** | [**Device**](Device.md) | | [optional] |
12
- | **geo** | [**GeoLocation**](GeoLocation.md) | | [optional] |
13
- | **clicked_url** | **String** | | [optional] |
14
- | **tracked_ip** | **String** | | [optional] |
15
- | **raw_user_agent** | **String** | | [optional] |
7
+ | **smtp_code** | **Integer** | SMTP response code from the receiving mail server. - 250: Success - 4xx: Temporary failure (soft bounce) - 5xx: Permanent failure (hard bounce) | [optional] |
8
+ | **smtp_description** | **String** | Full SMTP response message from the receiving server. Useful for diagnosing delivery issues. | [optional] |
9
+ | **user_agent** | [**UserAgent**](UserAgent.md) | Parsed browser/email client information (for open/click events) | [optional] |
10
+ | **os** | [**Os**](Os.md) | Parsed operating system information (for open/click events) | [optional] |
11
+ | **device** | [**Device**](Device.md) | Device type information (for open/click events) | [optional] |
12
+ | **geo** | [**GeoLocation**](GeoLocation.md) | Geographic location based on IP address (for open/click events) | [optional] |
13
+ | **clicked_url** | **String** | The original URL that was clicked (only for click events) | [optional] |
14
+ | **tracked_ip** | **String** | IP address of the user who triggered the event (open/click) | [optional] |
15
+ | **raw_user_agent** | **String** | Raw User-Agent header string from the HTTP request | [optional] |
16
16
 
17
17
  ## Example
18
18
 
@@ -20,15 +20,15 @@
20
20
  require 'sendpost_ruby_sdk'
21
21
 
22
22
  instance = Sendpost::EventMetadata.new(
23
- smtp_code: 200,
24
- smtp_description: email delivered successfully,
23
+ smtp_code: 250,
24
+ smtp_description: 250 2.0.0 OK 1704067205 - Message accepted for delivery,
25
25
  user_agent: null,
26
26
  os: null,
27
27
  device: null,
28
28
  geo: null,
29
- clicked_url: https://hooli.com,
30
- tracked_ip: 52.34.11.12,
31
- raw_user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36
29
+ clicked_url: https://piedpiper.com/track-order?id=12345,
30
+ tracked_ip: 73.162.45.123,
31
+ raw_user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
32
32
  )
33
33
  ```
34
34
 
data/docs/GeoLocation.md CHANGED
@@ -4,11 +4,11 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **city_id** | **String** | | [optional] |
8
- | **continent_code** | **String** | | [optional] |
9
- | **country_code** | **String** | | [optional] |
10
- | **postal_code** | **String** | | [optional] |
11
- | **time_zone** | **String** | | [optional] |
7
+ | **city_id** | **Integer** | GeoNames city identifier | [optional] |
8
+ | **country_code** | **String** | Two-letter ISO 3166-1 alpha-2 country code | [optional] |
9
+ | **continent_code** | **String** | Two-letter continent code: AF (Africa), AN (Antarctica), AS (Asia), EU (Europe), NA (North America), OC (Oceania), SA (South America) | [optional] |
10
+ | **postal_code** | **String** | Postal/ZIP code | [optional] |
11
+ | **time_zone** | **String** | IANA timezone identifier | [optional] |
12
12
 
13
13
  ## Example
14
14
 
@@ -16,10 +16,10 @@
16
16
  require 'sendpost_ruby_sdk'
17
17
 
18
18
  instance = Sendpost::GeoLocation.new(
19
- city_id: 123,
20
- continent_code: EU,
19
+ city_id: 5391959,
21
20
  country_code: US,
22
- postal_code: 12345,
21
+ continent_code: NA,
22
+ postal_code: 94105,
23
23
  time_zone: America/Los_Angeles
24
24
  )
25
25
  ```
data/docs/GroupStat.md ADDED
@@ -0,0 +1,40 @@
1
+ # Sendpost::GroupStat
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **processed** | **Integer** | Total number of emails accepted by SendPost API for processing. This is the starting point - all emails submitted through the API. | [optional] |
8
+ | **sent** | **Integer** | Number of emails sent to recipient mail servers. sent = processed - dropped - smtpDropped | [optional] |
9
+ | **dropped** | **Integer** | Number of emails dropped before sending. Common reasons: - Recipient email in suppression list (hard bounce, spam complaint, unsubscribe) - Invalid recipient email format - Sender domain not verified | [optional] |
10
+ | **smtp_dropped** | **Integer** | Number of emails dropped at SMTP level due to policy violations or rate limiting by the receiving server before delivery attempt completed. | [optional] |
11
+ | **delivered** | **Integer** | Number of emails successfully delivered to recipient mail servers. Note: Delivered means accepted by the server, not necessarily in inbox. | [optional] |
12
+ | **soft_bounced** | **Integer** | Number of temporary delivery failures (soft bounces). Common causes: - Recipient mailbox full - Server temporarily unavailable - Message too large SendPost automatically retries soft bounces. | [optional] |
13
+ | **hard_bounced** | **Integer** | Number of permanent delivery failures (hard bounces). Common causes: - Recipient email doesn't exist - Domain doesn't exist - Recipient has blocked sender Hard bounced addresses are automatically added to suppression list. | [optional] |
14
+ | **opened** | **Integer** | Number of emails opened (tracking pixel loaded). Requires trackOpens=true. Note: Some email clients block tracking pixels. | [optional] |
15
+ | **clicked** | **Integer** | Number of emails with at least one link clicked. Requires trackClicks=true. | [optional] |
16
+ | **unsubscribed** | **Integer** | Number of recipients who clicked the unsubscribe link. Unsubscribed addresses are automatically added to suppression list. | [optional] |
17
+ | **spam** | **Integer** | Number of spam complaints (recipient marked email as spam). High spam rates can severely impact your sender reputation. Target: Keep spam rate below 0.1%. | [optional] |
18
+ | **group** | **String** | The group/tag name these statistics are aggregated for. | [optional] |
19
+
20
+ ## Example
21
+
22
+ ```ruby
23
+ require 'sendpost_ruby_sdk'
24
+
25
+ instance = Sendpost::GroupStat.new(
26
+ processed: 225,
27
+ sent: 220,
28
+ dropped: 10,
29
+ smtp_dropped: 5,
30
+ delivered: 200,
31
+ soft_bounced: 5,
32
+ hard_bounced: 10,
33
+ opened: 150,
34
+ clicked: 50,
35
+ unsubscribed: 6,
36
+ spam: 2,
37
+ group: shopify
38
+ )
39
+ ```
40
+
data/docs/IP.md CHANGED
@@ -4,29 +4,14 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **id** | **Integer** | Unique ID for the IP | |
8
- | **public_ip** | **String** | The public IP address associated with the resource | |
9
- | **system_domain** | [**Domain**](Domain.md) | | [optional] |
10
- | **reverse_dns_hostname** | **String** | The reverse DNS hostname for the IP | [optional] |
11
- | **type** | **Integer** | Type of the IP | [optional] |
12
- | **gmail_settings** | **String** | Configuration for Gmail delivery settings in JSON format | [optional] |
13
- | **yahoo_settings** | **String** | Configuration for Yahoo delivery settings in JSON format | [optional] |
14
- | **aol_settings** | **String** | Configuration for AOL delivery settings in JSON format | [optional] |
15
- | **microsoft_settings** | **String** | Configuration for Microsoft delivery settings in JSON format | [optional] |
16
- | **comcast_settings** | **String** | Configuration for Comcast delivery settings in JSON format | [optional] |
17
- | **yandex_settings** | **String** | Configuration for Yandex delivery settings in JSON format | [optional] |
18
- | **gmx_settings** | **String** | Configuration for GMX delivery settings in JSON format | [optional] |
19
- | **mailru_settings** | **String** | Configuration for Mail.ru delivery settings in JSON format | [optional] |
20
- | **icloud_settings** | **String** | Configuration for iCloud delivery settings in JSON format | [optional] |
21
- | **zoho_settings** | **String** | Configuration for Zoho delivery settings in JSON format | [optional] |
22
- | **qq_settings** | **String** | Configuration for QQ delivery settings in JSON format | [optional] |
23
- | **default_settings** | **String** | Default delivery settings in JSON format | [optional] |
24
- | **att_settings** | **String** | Configuration for AT&T delivery settings in JSON format | [optional] |
25
- | **created** | **Integer** | The timestamp (UNIX epoch) when the IP was created | |
26
- | **infra_classification** | **String** | Classification of the infrastructure | [optional] |
27
- | **infra_monitor** | **Boolean** | Indicates whether infrastructure monitoring is enabled | [optional] |
28
- | **state** | **Integer** | The state of the IP | [optional] |
29
- | **auto_warmup_plan** | [**AutoWarmupPlan**](AutoWarmupPlan.md) | The auto-warmup plan associated with the IP. Can be null if no warmup plan is assigned. | [optional] |
7
+ | **id** | **Integer** | Unique identifier for the IP resource | [optional] |
8
+ | **public_ip** | **String** | The public IPv4 address used for sending emails. This is the IP that receiving mail servers will see. | [optional] |
9
+ | **reverse_dns_hostname** | **String** | The reverse DNS (PTR record) hostname for this IP. Properly configured rDNS is important for deliverability. Format: sp{id}.{region}.sendpost.email | [optional] |
10
+ | **type** | **Integer** | Type of IP allocation: - `0` = Shared IP (shared with other SendPost senders, pooled reputation) - `1` = Dedicated IP (exclusive to your account, your own reputation) | [optional] |
11
+ | **auto_warmup_enabled** | **Boolean** | Whether automatic IP warmup is enabled. When enabled, SendPost automatically manages sending volume to gradually build reputation on this IP. | [optional] |
12
+ | **labels** | [**Array<Label>**](Label.md) | Custom labels/tags for organizing IPs | [optional] |
13
+ | **state** | **Integer** | Current state of the IP: - `0` = Warmup (IP is in warmup phase, gradually building reputation) - `1` = Normal (IP is fully warmed and ready for full sending volume) | [optional] |
14
+ | **created** | **Integer** | UNIX epoch timestamp in nanoseconds when the IP was allocated | [optional] |
30
15
 
31
16
  ## Example
32
17
 
@@ -36,27 +21,12 @@ require 'sendpost_ruby_sdk'
36
21
  instance = Sendpost::IP.new(
37
22
  id: 11321,
38
23
  public_ip: 52.34.11.12,
39
- system_domain: null,
40
- reverse_dns_hostname: example.mtaspg.email,
41
- type: 0,
42
- gmail_settings: {"name":"gmail","maxConcurrentConnections":100,...},
43
- yahoo_settings: {"name":"yahoo","maxConcurrentConnections":16,...},
44
- aol_settings: {"name":"aol","maxConcurrentConnections":20,...},
45
- microsoft_settings: {"name":"microsoft","maxConcurrentConnections":16,...},
46
- comcast_settings: {"name":"comcast","maxConcurrentConnections":20,...},
47
- yandex_settings: {"name":"yandex","maxConcurrentConnections":2,...},
48
- gmx_settings: {"name":"gmx","maxConcurrentConnections":2,...},
49
- mailru_settings: {"name":"mailru","maxConcurrentConnections":1,...},
50
- icloud_settings: {"name":"icloud","maxConcurrentConnections":20,...},
51
- zoho_settings: {"name":"zoho","maxConcurrentConnections":1,...},
52
- qq_settings: {"name":"qq","maxConcurrentConnections":1,...},
53
- default_settings: {"name":"default","maxConcurrentConnections":14,...},
54
- att_settings: {"name":"att","maxConcurrentConnections":1,...},
55
- created: 1703224038766344700,
56
- infra_classification: ,
57
- infra_monitor: true,
24
+ reverse_dns_hostname: sp11321.mtaspg.email,
25
+ type: 1,
26
+ auto_warmup_enabled: true,
27
+ labels: null,
58
28
  state: 1,
59
- auto_warmup_plan: null
29
+ created: 1704067200000000000
60
30
  )
61
31
  ```
62
32
 
@@ -4,8 +4,8 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **overflow_pool** | **Boolean** | Determines whether emails should be sent over shared IP when the IP pool is full | |
8
- | **ips** | **Array<String>** | | |
7
+ | **ips** | **Array<String>** | List of IP addresses to allocate. These must be available IPs from SendPost's IP pool. Contact support to request IP allocation. | |
8
+ | **auto_warmup_enabled** | **Boolean** | Enable automatic IP warmup for newly allocated IPs. Recommended: true for new IPs to gradually build sender reputation. | [optional][default to true] |
9
9
 
10
10
  ## Example
11
11
 
@@ -13,8 +13,8 @@
13
13
  require 'sendpost_ruby_sdk'
14
14
 
15
15
  instance = Sendpost::IPAllocationRequest.new(
16
- overflow_pool: true,
17
- ips: null
16
+ ips: [34.21.14.11, 34.21.14.12],
17
+ auto_warmup_enabled: true
18
18
  )
19
19
  ```
20
20