mailchimp-marketing 0.0.218

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 (1646) hide show
  1. checksums.yaml +7 -0
  2. data/.fern/metadata.json +14 -0
  3. data/.fern/replay.lock +488 -0
  4. data/.fernignore +4 -0
  5. data/.rubocop.yml +103 -0
  6. data/LICENSE +201 -0
  7. data/NOTICE +13 -0
  8. data/README.md +167 -0
  9. data/Rakefile +20 -0
  10. data/custom.gemspec.rb +16 -0
  11. data/lib/mailchimp/account_exports/client.rb +151 -0
  12. data/lib/mailchimp/account_exports/types/create_account_exports_request.rb +13 -0
  13. data/lib/mailchimp/account_exports/types/create_account_exports_request_include_stages_item.rb +18 -0
  14. data/lib/mailchimp/account_exports/types/create_account_exports_response.rb +22 -0
  15. data/lib/mailchimp/account_exports/types/create_account_exports_response_links_item.rb +21 -0
  16. data/lib/mailchimp/account_exports/types/create_account_exports_response_links_item_method.rb +19 -0
  17. data/lib/mailchimp/account_exports/types/get_account_exports_request.rb +15 -0
  18. data/lib/mailchimp/account_exports/types/get_account_exports_response.rb +22 -0
  19. data/lib/mailchimp/account_exports/types/get_account_exports_response_links_item.rb +21 -0
  20. data/lib/mailchimp/account_exports/types/get_account_exports_response_links_item_method.rb +19 -0
  21. data/lib/mailchimp/account_exports/types/list_account_exports_request.rb +17 -0
  22. data/lib/mailchimp/account_exports/types/list_account_exports_response.rb +16 -0
  23. data/lib/mailchimp/account_exports/types/list_account_exports_response_exports_item.rb +22 -0
  24. data/lib/mailchimp/account_exports/types/list_account_exports_response_exports_item_links_item.rb +21 -0
  25. data/lib/mailchimp/account_exports/types/list_account_exports_response_exports_item_links_item_method.rb +19 -0
  26. data/lib/mailchimp/account_exports/types/list_account_exports_response_links_item.rb +21 -0
  27. data/lib/mailchimp/account_exports/types/list_account_exports_response_links_item_method.rb +19 -0
  28. data/lib/mailchimp/activity_feed/client.rb +101 -0
  29. data/lib/mailchimp/activity_feed/types/list_activity_feed_response_item.rb +21 -0
  30. data/lib/mailchimp/activity_feed/types/list_activity_feed_response_item_method.rb +19 -0
  31. data/lib/mailchimp/activity_feed/types/list_chimp_chatter_activity_feed_request.rb +13 -0
  32. data/lib/mailchimp/activity_feed/types/list_chimp_chatter_activity_feed_response.rb +16 -0
  33. data/lib/mailchimp/activity_feed/types/list_chimp_chatter_activity_feed_response_chimp_chatter_item.rb +24 -0
  34. data/lib/mailchimp/activity_feed/types/list_chimp_chatter_activity_feed_response_chimp_chatter_item_type.rb +18 -0
  35. data/lib/mailchimp/activity_feed/types/list_chimp_chatter_activity_feed_response_links_item.rb +21 -0
  36. data/lib/mailchimp/activity_feed/types/list_chimp_chatter_activity_feed_response_links_item_method.rb +19 -0
  37. data/lib/mailchimp/audiences/client.rb +302 -0
  38. data/lib/mailchimp/audiences/types/create_audience_contact_request.rb +27 -0
  39. data/lib/mailchimp/audiences/types/create_audience_contact_request_data_mode.rb +14 -0
  40. data/lib/mailchimp/audiences/types/create_audience_contact_request_email_channel.rb +13 -0
  41. data/lib/mailchimp/audiences/types/create_audience_contact_request_email_channel_marketing_consent.rb +14 -0
  42. data/lib/mailchimp/audiences/types/create_audience_contact_request_email_channel_marketing_consent_status.rb +16 -0
  43. data/lib/mailchimp/audiences/types/create_audience_contact_request_merge_field_validation_mode.rb +14 -0
  44. data/lib/mailchimp/audiences/types/create_audience_contact_request_merge_fields_value.rb +18 -0
  45. data/lib/mailchimp/audiences/types/create_audience_contact_request_merge_fields_value_addr1.rb +21 -0
  46. data/lib/mailchimp/audiences/types/create_audience_contact_request_sms_channel.rb +13 -0
  47. data/lib/mailchimp/audiences/types/create_audience_contact_request_sms_channel_marketing_consent.rb +18 -0
  48. data/lib/mailchimp/audiences/types/create_audience_contact_request_sms_channel_marketing_consent_source.rb +12 -0
  49. data/lib/mailchimp/audiences/types/create_audience_contact_request_sms_channel_marketing_consent_status.rb +15 -0
  50. data/lib/mailchimp/audiences/types/create_audience_contact_request_tags_item.rb +15 -0
  51. data/lib/mailchimp/audiences/types/create_audience_contact_request_tags_item_name.rb +13 -0
  52. data/lib/mailchimp/audiences/types/create_audience_contact_request_tags_item_name_status.rb +14 -0
  53. data/lib/mailchimp/audiences/types/get_audience_contact_list_request.rb +31 -0
  54. data/lib/mailchimp/audiences/types/get_audience_contact_list_request_sort_dir.rb +14 -0
  55. data/lib/mailchimp/audiences/types/get_audience_contact_list_request_sort_field.rb +14 -0
  56. data/lib/mailchimp/audiences/types/get_audience_contact_list_response.rb +16 -0
  57. data/lib/mailchimp/audiences/types/get_audience_contact_list_response_links_item.rb +21 -0
  58. data/lib/mailchimp/audiences/types/get_audience_contact_list_response_links_item_method.rb +19 -0
  59. data/lib/mailchimp/audiences/types/get_audience_contact_request.rb +17 -0
  60. data/lib/mailchimp/audiences/types/patch_audience_contact_request.rb +27 -0
  61. data/lib/mailchimp/audiences/types/patch_audience_contact_request_data_mode.rb +14 -0
  62. data/lib/mailchimp/audiences/types/patch_audience_contact_request_email_channel.rb +13 -0
  63. data/lib/mailchimp/audiences/types/patch_audience_contact_request_email_channel_marketing_consent.rb +18 -0
  64. data/lib/mailchimp/audiences/types/patch_audience_contact_request_email_channel_marketing_consent_source.rb +12 -0
  65. data/lib/mailchimp/audiences/types/patch_audience_contact_request_email_channel_marketing_consent_status.rb +16 -0
  66. data/lib/mailchimp/audiences/types/patch_audience_contact_request_merge_field_validation_mode.rb +14 -0
  67. data/lib/mailchimp/audiences/types/patch_audience_contact_request_merge_fields_value.rb +18 -0
  68. data/lib/mailchimp/audiences/types/patch_audience_contact_request_merge_fields_value_addr1.rb +21 -0
  69. data/lib/mailchimp/audiences/types/patch_audience_contact_request_sms_channel.rb +13 -0
  70. data/lib/mailchimp/audiences/types/patch_audience_contact_request_sms_channel_marketing_consent.rb +18 -0
  71. data/lib/mailchimp/audiences/types/patch_audience_contact_request_sms_channel_marketing_consent_source.rb +12 -0
  72. data/lib/mailchimp/audiences/types/patch_audience_contact_request_sms_channel_marketing_consent_status.rb +16 -0
  73. data/lib/mailchimp/audiences/types/patch_audience_contact_request_tags_item.rb +15 -0
  74. data/lib/mailchimp/audiences/types/patch_audience_contact_request_tags_item_name.rb +13 -0
  75. data/lib/mailchimp/audiences/types/patch_audience_contact_request_tags_item_name_status.rb +14 -0
  76. data/lib/mailchimp/audiences/types/post_audiences_contacts_actions_archive_request.rb +13 -0
  77. data/lib/mailchimp/audiences/types/post_audiences_contacts_actions_forget_request.rb +13 -0
  78. data/lib/mailchimp/authorized_apps/client.rb +114 -0
  79. data/lib/mailchimp/authorized_apps/types/get_authorized_apps_request.rb +15 -0
  80. data/lib/mailchimp/authorized_apps/types/get_authorized_apps_response.rb +20 -0
  81. data/lib/mailchimp/authorized_apps/types/get_authorized_apps_response_links_item.rb +21 -0
  82. data/lib/mailchimp/authorized_apps/types/get_authorized_apps_response_links_item_method.rb +19 -0
  83. data/lib/mailchimp/authorized_apps/types/list_authorized_apps_request.rb +17 -0
  84. data/lib/mailchimp/authorized_apps/types/list_authorized_apps_response.rb +16 -0
  85. data/lib/mailchimp/authorized_apps/types/list_authorized_apps_response_apps_item.rb +20 -0
  86. data/lib/mailchimp/authorized_apps/types/list_authorized_apps_response_apps_item_links_item.rb +21 -0
  87. data/lib/mailchimp/authorized_apps/types/list_authorized_apps_response_apps_item_links_item_method.rb +19 -0
  88. data/lib/mailchimp/authorized_apps/types/list_authorized_apps_response_links_item.rb +21 -0
  89. data/lib/mailchimp/authorized_apps/types/list_authorized_apps_response_links_item_method.rb +19 -0
  90. data/lib/mailchimp/automations/client.rb +774 -0
  91. data/lib/mailchimp/automations/types/create_action_archive_automations_request.rb +11 -0
  92. data/lib/mailchimp/automations/types/create_action_pause_all_email_automations_request.rb +11 -0
  93. data/lib/mailchimp/automations/types/create_action_start_all_email_automations_request.rb +11 -0
  94. data/lib/mailchimp/automations/types/create_automations_request.rb +15 -0
  95. data/lib/mailchimp/automations/types/create_automations_request_recipients.rb +14 -0
  96. data/lib/mailchimp/automations/types/create_automations_request_settings.rb +14 -0
  97. data/lib/mailchimp/automations/types/create_automations_request_trigger_settings.rb +12 -0
  98. data/lib/mailchimp/automations/types/create_automations_request_trigger_settings_workflow_type.rb +16 -0
  99. data/lib/mailchimp/automations/types/create_email_action_pause_automations_request.rb +13 -0
  100. data/lib/mailchimp/automations/types/create_email_action_start_automations_request.rb +13 -0
  101. data/lib/mailchimp/automations/types/create_email_queue_automations_request.rb +15 -0
  102. data/lib/mailchimp/automations/types/create_removed_subscriber_automations_request.rb +13 -0
  103. data/lib/mailchimp/automations/types/delete_email_automations_request.rb +13 -0
  104. data/lib/mailchimp/automations/types/get_automations_request.rb +15 -0
  105. data/lib/mailchimp/automations/types/get_email_automations_request.rb +13 -0
  106. data/lib/mailchimp/automations/types/get_email_queue_automations_request.rb +15 -0
  107. data/lib/mailchimp/automations/types/get_removed_subscriber_automations_request.rb +13 -0
  108. data/lib/mailchimp/automations/types/list_automations_request.rb +27 -0
  109. data/lib/mailchimp/automations/types/list_automations_request_status.rb +15 -0
  110. data/lib/mailchimp/automations/types/list_automations_response.rb +16 -0
  111. data/lib/mailchimp/automations/types/list_automations_response_links_item.rb +21 -0
  112. data/lib/mailchimp/automations/types/list_automations_response_links_item_method.rb +19 -0
  113. data/lib/mailchimp/automations/types/list_email_queue_automations_request.rb +13 -0
  114. data/lib/mailchimp/automations/types/list_email_queue_automations_response.rb +20 -0
  115. data/lib/mailchimp/automations/types/list_email_queue_automations_response_links_item_item.rb +21 -0
  116. data/lib/mailchimp/automations/types/list_email_queue_automations_response_links_item_item_method.rb +19 -0
  117. data/lib/mailchimp/automations/types/list_email_queue_automations_response_queue_item.rb +24 -0
  118. data/lib/mailchimp/automations/types/list_email_queue_automations_response_queue_item_links_item_item.rb +21 -0
  119. data/lib/mailchimp/automations/types/list_email_queue_automations_response_queue_item_links_item_item_method.rb +19 -0
  120. data/lib/mailchimp/automations/types/list_emails_automations_request.rb +11 -0
  121. data/lib/mailchimp/automations/types/list_emails_automations_response.rb +16 -0
  122. data/lib/mailchimp/automations/types/list_emails_automations_response_links_item_item.rb +21 -0
  123. data/lib/mailchimp/automations/types/list_emails_automations_response_links_item_item_method.rb +19 -0
  124. data/lib/mailchimp/automations/types/list_removed_subscribers_automations_request.rb +11 -0
  125. data/lib/mailchimp/automations/types/list_removed_subscribers_automations_response.rb +18 -0
  126. data/lib/mailchimp/automations/types/list_removed_subscribers_automations_response_links_item_item.rb +21 -0
  127. data/lib/mailchimp/automations/types/list_removed_subscribers_automations_response_links_item_item_method.rb +19 -0
  128. data/lib/mailchimp/automations/types/update_email_automations_request.rb +17 -0
  129. data/lib/mailchimp/automations/types/update_email_automations_request_delay.rb +18 -0
  130. data/lib/mailchimp/automations/types/update_email_automations_request_delay_action.rb +15 -0
  131. data/lib/mailchimp/automations/types/update_email_automations_request_delay_direction.rb +13 -0
  132. data/lib/mailchimp/automations/types/update_email_automations_request_delay_type.rb +16 -0
  133. data/lib/mailchimp/automations/types/update_email_automations_request_settings.rb +20 -0
  134. data/lib/mailchimp/batch_webhooks/client.rb +229 -0
  135. data/lib/mailchimp/batch_webhooks/types/create_batch_webhooks_request.rb +13 -0
  136. data/lib/mailchimp/batch_webhooks/types/create_batch_webhooks_response.rb +21 -0
  137. data/lib/mailchimp/batch_webhooks/types/delete_batch_webhooks_request.rb +11 -0
  138. data/lib/mailchimp/batch_webhooks/types/get_batch_webhooks_request.rb +15 -0
  139. data/lib/mailchimp/batch_webhooks/types/list_batch_webhooks_request.rb +17 -0
  140. data/lib/mailchimp/batch_webhooks/types/list_batch_webhooks_response.rb +16 -0
  141. data/lib/mailchimp/batch_webhooks/types/list_batch_webhooks_response_links_item.rb +21 -0
  142. data/lib/mailchimp/batch_webhooks/types/list_batch_webhooks_response_links_item_method.rb +19 -0
  143. data/lib/mailchimp/batch_webhooks/types/update_batch_webhooks_request.rb +15 -0
  144. data/lib/mailchimp/batches/client.rb +190 -0
  145. data/lib/mailchimp/batches/types/create_batches_request.rb +11 -0
  146. data/lib/mailchimp/batches/types/create_batches_request_operations_item.rb +21 -0
  147. data/lib/mailchimp/batches/types/create_batches_request_operations_item_headers.rb +10 -0
  148. data/lib/mailchimp/batches/types/create_batches_request_operations_item_method.rb +17 -0
  149. data/lib/mailchimp/batches/types/create_batches_request_operations_item_params.rb +10 -0
  150. data/lib/mailchimp/batches/types/delete_batches_request.rb +11 -0
  151. data/lib/mailchimp/batches/types/get_batches_request.rb +15 -0
  152. data/lib/mailchimp/batches/types/list_batches_request.rb +17 -0
  153. data/lib/mailchimp/batches/types/list_batches_response.rb +16 -0
  154. data/lib/mailchimp/batches/types/list_batches_response_links_item.rb +21 -0
  155. data/lib/mailchimp/batches/types/list_batches_response_links_item_method.rb +19 -0
  156. data/lib/mailchimp/campaign_folders/client.rb +231 -0
  157. data/lib/mailchimp/campaign_folders/types/create_campaign_folders_request.rb +11 -0
  158. data/lib/mailchimp/campaign_folders/types/delete_campaign_folders_request.rb +11 -0
  159. data/lib/mailchimp/campaign_folders/types/get_campaign_folders_request.rb +15 -0
  160. data/lib/mailchimp/campaign_folders/types/get_campaign_folders_response.rb +18 -0
  161. data/lib/mailchimp/campaign_folders/types/get_campaign_folders_response_links_item.rb +21 -0
  162. data/lib/mailchimp/campaign_folders/types/get_campaign_folders_response_links_item_method.rb +19 -0
  163. data/lib/mailchimp/campaign_folders/types/list_campaign_folders_request.rb +17 -0
  164. data/lib/mailchimp/campaign_folders/types/update_campaign_folders_request.rb +13 -0
  165. data/lib/mailchimp/campaign_folders/types/update_campaign_folders_response.rb +18 -0
  166. data/lib/mailchimp/campaign_folders/types/update_campaign_folders_response_links_item.rb +21 -0
  167. data/lib/mailchimp/campaign_folders/types/update_campaign_folders_response_links_item_method.rb +19 -0
  168. data/lib/mailchimp/campaigns/client.rb +955 -0
  169. data/lib/mailchimp/campaigns/types/create_action_cancel_send_campaigns_request.rb +11 -0
  170. data/lib/mailchimp/campaigns/types/create_action_create_resend_campaigns_request.rb +13 -0
  171. data/lib/mailchimp/campaigns/types/create_action_create_resend_campaigns_request_shortcut_type.rb +16 -0
  172. data/lib/mailchimp/campaigns/types/create_action_pause_campaigns_request.rb +11 -0
  173. data/lib/mailchimp/campaigns/types/create_action_replicate_campaigns_request.rb +11 -0
  174. data/lib/mailchimp/campaigns/types/create_action_resume_campaigns_request.rb +11 -0
  175. data/lib/mailchimp/campaigns/types/create_action_schedule_campaigns_request.rb +17 -0
  176. data/lib/mailchimp/campaigns/types/create_action_schedule_campaigns_request_batch_delivery.rb +15 -0
  177. data/lib/mailchimp/campaigns/types/create_action_send_campaigns_request.rb +11 -0
  178. data/lib/mailchimp/campaigns/types/create_action_test_campaigns_request.rb +15 -0
  179. data/lib/mailchimp/campaigns/types/create_action_test_campaigns_request_send_type.rb +14 -0
  180. data/lib/mailchimp/campaigns/types/create_action_unschedule_campaigns_request.rb +11 -0
  181. data/lib/mailchimp/campaigns/types/create_campaigns_request.rb +25 -0
  182. data/lib/mailchimp/campaigns/types/create_campaigns_request_content_type.rb +14 -0
  183. data/lib/mailchimp/campaigns/types/create_campaigns_request_recipients.rb +14 -0
  184. data/lib/mailchimp/campaigns/types/create_campaigns_request_recipients_segment_opts.rb +17 -0
  185. data/lib/mailchimp/campaigns/types/create_campaigns_request_recipients_segment_opts_match.rb +14 -0
  186. data/lib/mailchimp/campaigns/types/create_campaigns_request_rss_opts.rb +18 -0
  187. data/lib/mailchimp/campaigns/types/create_campaigns_request_rss_opts_frequency.rb +15 -0
  188. data/lib/mailchimp/campaigns/types/create_campaigns_request_rss_opts_schedule.rb +18 -0
  189. data/lib/mailchimp/campaigns/types/create_campaigns_request_rss_opts_schedule_daily_send.rb +24 -0
  190. data/lib/mailchimp/campaigns/types/create_campaigns_request_rss_opts_schedule_weekly_send_day.rb +19 -0
  191. data/lib/mailchimp/campaigns/types/create_campaigns_request_settings.rb +40 -0
  192. data/lib/mailchimp/campaigns/types/create_campaigns_request_social_card.rb +17 -0
  193. data/lib/mailchimp/campaigns/types/create_campaigns_request_type.rb +17 -0
  194. data/lib/mailchimp/campaigns/types/create_campaigns_request_variate_settings.rb +24 -0
  195. data/lib/mailchimp/campaigns/types/create_campaigns_request_variate_settings_send_times_item.rb +15 -0
  196. data/lib/mailchimp/campaigns/types/create_campaigns_request_variate_settings_winner_criteria.rb +16 -0
  197. data/lib/mailchimp/campaigns/types/create_feedback_campaigns_request.rb +17 -0
  198. data/lib/mailchimp/campaigns/types/create_feedback_campaigns_response.rb +16 -0
  199. data/lib/mailchimp/campaigns/types/delete_campaigns_request.rb +11 -0
  200. data/lib/mailchimp/campaigns/types/delete_feedback_campaigns_request.rb +13 -0
  201. data/lib/mailchimp/campaigns/types/get_campaigns_request.rb +19 -0
  202. data/lib/mailchimp/campaigns/types/get_content_campaigns_request.rb +15 -0
  203. data/lib/mailchimp/campaigns/types/get_feedback_campaigns_request.rb +17 -0
  204. data/lib/mailchimp/campaigns/types/list_campaigns_request.rb +43 -0
  205. data/lib/mailchimp/campaigns/types/list_campaigns_request_sort_dir.rb +14 -0
  206. data/lib/mailchimp/campaigns/types/list_campaigns_request_sort_field.rb +14 -0
  207. data/lib/mailchimp/campaigns/types/list_campaigns_request_status.rb +17 -0
  208. data/lib/mailchimp/campaigns/types/list_campaigns_request_type.rb +17 -0
  209. data/lib/mailchimp/campaigns/types/list_campaigns_response.rb +16 -0
  210. data/lib/mailchimp/campaigns/types/list_campaigns_response_links_item.rb +21 -0
  211. data/lib/mailchimp/campaigns/types/list_campaigns_response_links_item_method.rb +19 -0
  212. data/lib/mailchimp/campaigns/types/list_feedback_campaigns_request.rb +15 -0
  213. data/lib/mailchimp/campaigns/types/list_feedback_campaigns_response.rb +18 -0
  214. data/lib/mailchimp/campaigns/types/list_feedback_campaigns_response_feedback_item.rb +32 -0
  215. data/lib/mailchimp/campaigns/types/list_feedback_campaigns_response_feedback_item_links_item.rb +21 -0
  216. data/lib/mailchimp/campaigns/types/list_feedback_campaigns_response_feedback_item_links_item_method.rb +19 -0
  217. data/lib/mailchimp/campaigns/types/list_feedback_campaigns_response_feedback_item_source.rb +18 -0
  218. data/lib/mailchimp/campaigns/types/list_feedback_campaigns_response_links_item.rb +21 -0
  219. data/lib/mailchimp/campaigns/types/list_feedback_campaigns_response_links_item_method.rb +19 -0
  220. data/lib/mailchimp/campaigns/types/list_send_checklist_campaigns_request.rb +15 -0
  221. data/lib/mailchimp/campaigns/types/list_send_checklist_campaigns_response.rb +16 -0
  222. data/lib/mailchimp/campaigns/types/list_send_checklist_campaigns_response_items_item.rb +17 -0
  223. data/lib/mailchimp/campaigns/types/list_send_checklist_campaigns_response_items_item_type.rb +15 -0
  224. data/lib/mailchimp/campaigns/types/list_send_checklist_campaigns_response_links_item.rb +21 -0
  225. data/lib/mailchimp/campaigns/types/list_send_checklist_campaigns_response_links_item_method.rb +19 -0
  226. data/lib/mailchimp/campaigns/types/update_campaigns_request.rb +23 -0
  227. data/lib/mailchimp/campaigns/types/update_campaigns_request_recipients.rb +14 -0
  228. data/lib/mailchimp/campaigns/types/update_campaigns_request_recipients_segment_opts.rb +19 -0
  229. data/lib/mailchimp/campaigns/types/update_campaigns_request_recipients_segment_opts_match.rb +14 -0
  230. data/lib/mailchimp/campaigns/types/update_campaigns_request_recipients_segment_opts_saved_segment_id.rb +16 -0
  231. data/lib/mailchimp/campaigns/types/update_campaigns_request_rss_opts.rb +18 -0
  232. data/lib/mailchimp/campaigns/types/update_campaigns_request_rss_opts_frequency.rb +15 -0
  233. data/lib/mailchimp/campaigns/types/update_campaigns_request_rss_opts_schedule.rb +18 -0
  234. data/lib/mailchimp/campaigns/types/update_campaigns_request_rss_opts_schedule_daily_send.rb +24 -0
  235. data/lib/mailchimp/campaigns/types/update_campaigns_request_rss_opts_schedule_weekly_send_day.rb +19 -0
  236. data/lib/mailchimp/campaigns/types/update_campaigns_request_settings.rb +40 -0
  237. data/lib/mailchimp/campaigns/types/update_campaigns_request_social_card.rb +17 -0
  238. data/lib/mailchimp/campaigns/types/update_campaigns_request_variate_settings.rb +24 -0
  239. data/lib/mailchimp/campaigns/types/update_campaigns_request_variate_settings_send_times_item.rb +15 -0
  240. data/lib/mailchimp/campaigns/types/update_campaigns_request_variate_settings_winner_criteria.rb +16 -0
  241. data/lib/mailchimp/campaigns/types/update_feedback_campaigns_request.rb +19 -0
  242. data/lib/mailchimp/campaigns/types/upsert_content_campaigns_request.rb +13 -0
  243. data/lib/mailchimp/client.rb +161 -0
  244. data/lib/mailchimp/connected_sites/client.rb +224 -0
  245. data/lib/mailchimp/connected_sites/types/create_action_verify_script_installation_connected_sites_request.rb +11 -0
  246. data/lib/mailchimp/connected_sites/types/create_connected_sites_request.rb +13 -0
  247. data/lib/mailchimp/connected_sites/types/delete_connected_sites_request.rb +11 -0
  248. data/lib/mailchimp/connected_sites/types/get_connected_sites_request.rb +15 -0
  249. data/lib/mailchimp/connected_sites/types/list_connected_sites_request.rb +17 -0
  250. data/lib/mailchimp/connected_sites/types/list_connected_sites_response.rb +16 -0
  251. data/lib/mailchimp/connected_sites/types/list_connected_sites_response_links_item.rb +21 -0
  252. data/lib/mailchimp/connected_sites/types/list_connected_sites_response_links_item_method.rb +19 -0
  253. data/lib/mailchimp/conversations/client.rb +226 -0
  254. data/lib/mailchimp/conversations/types/get_conversations_request.rb +15 -0
  255. data/lib/mailchimp/conversations/types/get_message_conversations_request.rb +17 -0
  256. data/lib/mailchimp/conversations/types/list_conversations_request.rb +23 -0
  257. data/lib/mailchimp/conversations/types/list_conversations_request_has_unread_messages.rb +14 -0
  258. data/lib/mailchimp/conversations/types/list_conversations_response.rb +16 -0
  259. data/lib/mailchimp/conversations/types/list_conversations_response_links_item.rb +21 -0
  260. data/lib/mailchimp/conversations/types/list_conversations_response_links_item_method.rb +19 -0
  261. data/lib/mailchimp/conversations/types/list_messages_conversations_request.rb +21 -0
  262. data/lib/mailchimp/conversations/types/list_messages_conversations_request_is_read.rb +14 -0
  263. data/lib/mailchimp/conversations/types/list_messages_conversations_response.rb +18 -0
  264. data/lib/mailchimp/conversations/types/list_messages_conversations_response_links_item.rb +21 -0
  265. data/lib/mailchimp/conversations/types/list_messages_conversations_response_links_item_method.rb +19 -0
  266. data/lib/mailchimp/customer_journeys/client.rb +62 -0
  267. data/lib/mailchimp/customer_journeys/types/create_journey_step_action_trigger_customer_journeys_request.rb +15 -0
  268. data/lib/mailchimp/ecommerce/client.rb +2938 -0
  269. data/lib/mailchimp/ecommerce/types/create_store_cart_ecommerce_request.rb +27 -0
  270. data/lib/mailchimp/ecommerce/types/create_store_cart_ecommerce_request_id.rb +16 -0
  271. data/lib/mailchimp/ecommerce/types/create_store_cart_ecommerce_request_lines_item.rb +20 -0
  272. data/lib/mailchimp/ecommerce/types/create_store_cart_ecommerce_request_lines_item_price.rb +15 -0
  273. data/lib/mailchimp/ecommerce/types/create_store_cart_ecommerce_request_order_total.rb +15 -0
  274. data/lib/mailchimp/ecommerce/types/create_store_cart_ecommerce_request_tax_total.rb +15 -0
  275. data/lib/mailchimp/ecommerce/types/create_store_cart_line_ecommerce_request.rb +23 -0
  276. data/lib/mailchimp/ecommerce/types/create_store_cart_line_ecommerce_request_price.rb +15 -0
  277. data/lib/mailchimp/ecommerce/types/create_store_customer_ecommerce_request.rb +29 -0
  278. data/lib/mailchimp/ecommerce/types/create_store_customer_ecommerce_request_address.rb +26 -0
  279. data/lib/mailchimp/ecommerce/types/create_store_customer_ecommerce_request_total_spent.rb +15 -0
  280. data/lib/mailchimp/ecommerce/types/create_store_ecommerce_request.rb +35 -0
  281. data/lib/mailchimp/ecommerce/types/create_store_ecommerce_request_address.rb +30 -0
  282. data/lib/mailchimp/ecommerce/types/create_store_ecommerce_request_address_latitude.rb +16 -0
  283. data/lib/mailchimp/ecommerce/types/create_store_ecommerce_request_address_longitude.rb +16 -0
  284. data/lib/mailchimp/ecommerce/types/create_store_order_ecommerce_request.rb +61 -0
  285. data/lib/mailchimp/ecommerce/types/create_store_order_ecommerce_request_billing_address.rb +36 -0
  286. data/lib/mailchimp/ecommerce/types/create_store_order_ecommerce_request_billing_address_latitude.rb +16 -0
  287. data/lib/mailchimp/ecommerce/types/create_store_order_ecommerce_request_billing_address_longitude.rb +16 -0
  288. data/lib/mailchimp/ecommerce/types/create_store_order_ecommerce_request_cart_id.rb +16 -0
  289. data/lib/mailchimp/ecommerce/types/create_store_order_ecommerce_request_discount_total.rb +15 -0
  290. data/lib/mailchimp/ecommerce/types/create_store_order_ecommerce_request_lines_item.rb +24 -0
  291. data/lib/mailchimp/ecommerce/types/create_store_order_ecommerce_request_lines_item_discount.rb +15 -0
  292. data/lib/mailchimp/ecommerce/types/create_store_order_ecommerce_request_lines_item_price.rb +15 -0
  293. data/lib/mailchimp/ecommerce/types/create_store_order_ecommerce_request_order_total.rb +15 -0
  294. data/lib/mailchimp/ecommerce/types/create_store_order_ecommerce_request_outreach.rb +12 -0
  295. data/lib/mailchimp/ecommerce/types/create_store_order_ecommerce_request_promos_item.rb +15 -0
  296. data/lib/mailchimp/ecommerce/types/create_store_order_ecommerce_request_promos_item_amount_discounted.rb +15 -0
  297. data/lib/mailchimp/ecommerce/types/create_store_order_ecommerce_request_promos_item_type.rb +14 -0
  298. data/lib/mailchimp/ecommerce/types/create_store_order_ecommerce_request_shipping_address.rb +36 -0
  299. data/lib/mailchimp/ecommerce/types/create_store_order_ecommerce_request_shipping_address_latitude.rb +16 -0
  300. data/lib/mailchimp/ecommerce/types/create_store_order_ecommerce_request_shipping_address_longitude.rb +16 -0
  301. data/lib/mailchimp/ecommerce/types/create_store_order_ecommerce_request_shipping_total.rb +15 -0
  302. data/lib/mailchimp/ecommerce/types/create_store_order_ecommerce_request_tax_total.rb +15 -0
  303. data/lib/mailchimp/ecommerce/types/create_store_order_ecommerce_request_tracking_code.rb +13 -0
  304. data/lib/mailchimp/ecommerce/types/create_store_order_line_ecommerce_request.rb +27 -0
  305. data/lib/mailchimp/ecommerce/types/create_store_order_line_ecommerce_request_discount.rb +15 -0
  306. data/lib/mailchimp/ecommerce/types/create_store_order_line_ecommerce_request_price.rb +15 -0
  307. data/lib/mailchimp/ecommerce/types/create_store_product_ecommerce_request.rb +13 -0
  308. data/lib/mailchimp/ecommerce/types/create_store_product_image_ecommerce_request.rb +19 -0
  309. data/lib/mailchimp/ecommerce/types/create_store_product_image_ecommerce_request_variant_ids_item.rb +15 -0
  310. data/lib/mailchimp/ecommerce/types/create_store_product_image_ecommerce_response.rb +18 -0
  311. data/lib/mailchimp/ecommerce/types/create_store_product_image_ecommerce_response_links_item.rb +21 -0
  312. data/lib/mailchimp/ecommerce/types/create_store_product_image_ecommerce_response_links_item_method.rb +19 -0
  313. data/lib/mailchimp/ecommerce/types/create_store_product_variant_ecommerce_request.rb +31 -0
  314. data/lib/mailchimp/ecommerce/types/create_store_product_variant_ecommerce_request_id.rb +16 -0
  315. data/lib/mailchimp/ecommerce/types/create_store_product_variant_ecommerce_request_price.rb +15 -0
  316. data/lib/mailchimp/ecommerce/types/create_store_promo_rule_ecommerce_request.rb +33 -0
  317. data/lib/mailchimp/ecommerce/types/create_store_promo_rule_ecommerce_request_amount.rb +15 -0
  318. data/lib/mailchimp/ecommerce/types/create_store_promo_rule_ecommerce_request_ends_at.rb +15 -0
  319. data/lib/mailchimp/ecommerce/types/create_store_promo_rule_ecommerce_request_ends_at_one.rb +15 -0
  320. data/lib/mailchimp/ecommerce/types/create_store_promo_rule_ecommerce_request_ends_at_zero.rb +17 -0
  321. data/lib/mailchimp/ecommerce/types/create_store_promo_rule_ecommerce_request_starts_at.rb +15 -0
  322. data/lib/mailchimp/ecommerce/types/create_store_promo_rule_ecommerce_request_starts_at_one.rb +15 -0
  323. data/lib/mailchimp/ecommerce/types/create_store_promo_rule_ecommerce_request_starts_at_zero.rb +17 -0
  324. data/lib/mailchimp/ecommerce/types/create_store_promo_rule_ecommerce_request_target.rb +15 -0
  325. data/lib/mailchimp/ecommerce/types/create_store_promo_rule_ecommerce_request_type.rb +14 -0
  326. data/lib/mailchimp/ecommerce/types/create_store_promo_rule_promo_code_ecommerce_request.rb +27 -0
  327. data/lib/mailchimp/ecommerce/types/delete_store_cart_ecommerce_request.rb +13 -0
  328. data/lib/mailchimp/ecommerce/types/delete_store_cart_line_ecommerce_request.rb +15 -0
  329. data/lib/mailchimp/ecommerce/types/delete_store_customer_ecommerce_request.rb +13 -0
  330. data/lib/mailchimp/ecommerce/types/delete_store_ecommerce_request.rb +11 -0
  331. data/lib/mailchimp/ecommerce/types/delete_store_order_ecommerce_request.rb +13 -0
  332. data/lib/mailchimp/ecommerce/types/delete_store_order_line_ecommerce_request.rb +15 -0
  333. data/lib/mailchimp/ecommerce/types/delete_store_product_ecommerce_request.rb +13 -0
  334. data/lib/mailchimp/ecommerce/types/delete_store_product_image_ecommerce_request.rb +15 -0
  335. data/lib/mailchimp/ecommerce/types/delete_store_product_variant_ecommerce_request.rb +15 -0
  336. data/lib/mailchimp/ecommerce/types/delete_store_promo_rule_ecommerce_request.rb +13 -0
  337. data/lib/mailchimp/ecommerce/types/delete_store_promo_rule_promo_code_ecommerce_request.rb +15 -0
  338. data/lib/mailchimp/ecommerce/types/get_store_cart_ecommerce_request.rb +17 -0
  339. data/lib/mailchimp/ecommerce/types/get_store_cart_line_ecommerce_request.rb +19 -0
  340. data/lib/mailchimp/ecommerce/types/get_store_customer_ecommerce_request.rb +17 -0
  341. data/lib/mailchimp/ecommerce/types/get_store_ecommerce_request.rb +15 -0
  342. data/lib/mailchimp/ecommerce/types/get_store_order_ecommerce_request.rb +17 -0
  343. data/lib/mailchimp/ecommerce/types/get_store_order_line_ecommerce_request.rb +19 -0
  344. data/lib/mailchimp/ecommerce/types/get_store_product_ecommerce_request.rb +17 -0
  345. data/lib/mailchimp/ecommerce/types/get_store_product_image_ecommerce_request.rb +19 -0
  346. data/lib/mailchimp/ecommerce/types/get_store_product_image_ecommerce_response.rb +18 -0
  347. data/lib/mailchimp/ecommerce/types/get_store_product_image_ecommerce_response_links_item.rb +21 -0
  348. data/lib/mailchimp/ecommerce/types/get_store_product_image_ecommerce_response_links_item_method.rb +19 -0
  349. data/lib/mailchimp/ecommerce/types/get_store_product_variant_ecommerce_request.rb +19 -0
  350. data/lib/mailchimp/ecommerce/types/get_store_promo_rule_ecommerce_request.rb +17 -0
  351. data/lib/mailchimp/ecommerce/types/get_store_promo_rule_promo_code_ecommerce_request.rb +19 -0
  352. data/lib/mailchimp/ecommerce/types/list_ecommerce_response.rb +12 -0
  353. data/lib/mailchimp/ecommerce/types/list_ecommerce_response_links_item.rb +21 -0
  354. data/lib/mailchimp/ecommerce/types/list_ecommerce_response_links_item_method.rb +19 -0
  355. data/lib/mailchimp/ecommerce/types/list_orders_ecommerce_request.rb +25 -0
  356. data/lib/mailchimp/ecommerce/types/list_orders_ecommerce_response.rb +16 -0
  357. data/lib/mailchimp/ecommerce/types/list_orders_ecommerce_response_links_item.rb +21 -0
  358. data/lib/mailchimp/ecommerce/types/list_orders_ecommerce_response_links_item_method.rb +19 -0
  359. data/lib/mailchimp/ecommerce/types/list_store_cart_lines_ecommerce_request.rb +21 -0
  360. data/lib/mailchimp/ecommerce/types/list_store_cart_lines_ecommerce_response.rb +20 -0
  361. data/lib/mailchimp/ecommerce/types/list_store_cart_lines_ecommerce_response_links_item.rb +21 -0
  362. data/lib/mailchimp/ecommerce/types/list_store_cart_lines_ecommerce_response_links_item_method.rb +19 -0
  363. data/lib/mailchimp/ecommerce/types/list_store_carts_ecommerce_request.rb +19 -0
  364. data/lib/mailchimp/ecommerce/types/list_store_carts_ecommerce_response.rb +18 -0
  365. data/lib/mailchimp/ecommerce/types/list_store_carts_ecommerce_response_links_item.rb +21 -0
  366. data/lib/mailchimp/ecommerce/types/list_store_carts_ecommerce_response_links_item_method.rb +19 -0
  367. data/lib/mailchimp/ecommerce/types/list_store_customers_ecommerce_request.rb +21 -0
  368. data/lib/mailchimp/ecommerce/types/list_store_customers_ecommerce_response.rb +18 -0
  369. data/lib/mailchimp/ecommerce/types/list_store_customers_ecommerce_response_links_item.rb +21 -0
  370. data/lib/mailchimp/ecommerce/types/list_store_customers_ecommerce_response_links_item_method.rb +19 -0
  371. data/lib/mailchimp/ecommerce/types/list_store_order_lines_ecommerce_request.rb +21 -0
  372. data/lib/mailchimp/ecommerce/types/list_store_order_lines_ecommerce_response.rb +20 -0
  373. data/lib/mailchimp/ecommerce/types/list_store_order_lines_ecommerce_response_links_item.rb +21 -0
  374. data/lib/mailchimp/ecommerce/types/list_store_order_lines_ecommerce_response_links_item_method.rb +19 -0
  375. data/lib/mailchimp/ecommerce/types/list_store_orders_ecommerce_request.rb +27 -0
  376. data/lib/mailchimp/ecommerce/types/list_store_orders_ecommerce_response.rb +18 -0
  377. data/lib/mailchimp/ecommerce/types/list_store_orders_ecommerce_response_links_item.rb +21 -0
  378. data/lib/mailchimp/ecommerce/types/list_store_orders_ecommerce_response_links_item_method.rb +19 -0
  379. data/lib/mailchimp/ecommerce/types/list_store_product_images_ecommerce_request.rb +21 -0
  380. data/lib/mailchimp/ecommerce/types/list_store_product_images_ecommerce_response.rb +20 -0
  381. data/lib/mailchimp/ecommerce/types/list_store_product_images_ecommerce_response_images_item.rb +18 -0
  382. data/lib/mailchimp/ecommerce/types/list_store_product_images_ecommerce_response_images_item_links_item.rb +21 -0
  383. data/lib/mailchimp/ecommerce/types/list_store_product_images_ecommerce_response_images_item_links_item_method.rb +19 -0
  384. data/lib/mailchimp/ecommerce/types/list_store_product_images_ecommerce_response_links_item.rb +21 -0
  385. data/lib/mailchimp/ecommerce/types/list_store_product_images_ecommerce_response_links_item_method.rb +19 -0
  386. data/lib/mailchimp/ecommerce/types/list_store_product_variants_ecommerce_request.rb +21 -0
  387. data/lib/mailchimp/ecommerce/types/list_store_product_variants_ecommerce_response.rb +20 -0
  388. data/lib/mailchimp/ecommerce/types/list_store_product_variants_ecommerce_response_links_item.rb +21 -0
  389. data/lib/mailchimp/ecommerce/types/list_store_product_variants_ecommerce_response_links_item_method.rb +19 -0
  390. data/lib/mailchimp/ecommerce/types/list_store_products_ecommerce_request.rb +19 -0
  391. data/lib/mailchimp/ecommerce/types/list_store_products_ecommerce_response.rb +18 -0
  392. data/lib/mailchimp/ecommerce/types/list_store_products_ecommerce_response_links_item.rb +21 -0
  393. data/lib/mailchimp/ecommerce/types/list_store_products_ecommerce_response_links_item_method.rb +19 -0
  394. data/lib/mailchimp/ecommerce/types/list_store_promo_rule_promo_codes_ecommerce_request.rb +21 -0
  395. data/lib/mailchimp/ecommerce/types/list_store_promo_rule_promo_codes_ecommerce_response.rb +18 -0
  396. data/lib/mailchimp/ecommerce/types/list_store_promo_rule_promo_codes_ecommerce_response_links_item.rb +21 -0
  397. data/lib/mailchimp/ecommerce/types/list_store_promo_rule_promo_codes_ecommerce_response_links_item_method.rb +19 -0
  398. data/lib/mailchimp/ecommerce/types/list_store_promo_rules_ecommerce_request.rb +19 -0
  399. data/lib/mailchimp/ecommerce/types/list_store_promo_rules_ecommerce_response.rb +18 -0
  400. data/lib/mailchimp/ecommerce/types/list_store_promo_rules_ecommerce_response_links_item.rb +21 -0
  401. data/lib/mailchimp/ecommerce/types/list_store_promo_rules_ecommerce_response_links_item_method.rb +19 -0
  402. data/lib/mailchimp/ecommerce/types/list_stores_ecommerce_request.rb +17 -0
  403. data/lib/mailchimp/ecommerce/types/list_stores_ecommerce_response.rb +16 -0
  404. data/lib/mailchimp/ecommerce/types/list_stores_ecommerce_response_links_item.rb +21 -0
  405. data/lib/mailchimp/ecommerce/types/list_stores_ecommerce_response_links_item_method.rb +19 -0
  406. data/lib/mailchimp/ecommerce/types/update_store_cart_ecommerce_request.rb +29 -0
  407. data/lib/mailchimp/ecommerce/types/update_store_cart_ecommerce_request_id.rb +16 -0
  408. data/lib/mailchimp/ecommerce/types/update_store_cart_ecommerce_request_lines_item.rb +18 -0
  409. data/lib/mailchimp/ecommerce/types/update_store_cart_ecommerce_request_lines_item_price.rb +15 -0
  410. data/lib/mailchimp/ecommerce/types/update_store_cart_ecommerce_request_order_total.rb +15 -0
  411. data/lib/mailchimp/ecommerce/types/update_store_cart_ecommerce_request_tax_total.rb +15 -0
  412. data/lib/mailchimp/ecommerce/types/update_store_cart_line_ecommerce_request.rb +23 -0
  413. data/lib/mailchimp/ecommerce/types/update_store_cart_line_ecommerce_request_price.rb +15 -0
  414. data/lib/mailchimp/ecommerce/types/update_store_customer_ecommerce_request.rb +15 -0
  415. data/lib/mailchimp/ecommerce/types/update_store_ecommerce_request.rb +33 -0
  416. data/lib/mailchimp/ecommerce/types/update_store_ecommerce_request_address.rb +30 -0
  417. data/lib/mailchimp/ecommerce/types/update_store_ecommerce_request_address_latitude.rb +16 -0
  418. data/lib/mailchimp/ecommerce/types/update_store_ecommerce_request_address_longitude.rb +16 -0
  419. data/lib/mailchimp/ecommerce/types/update_store_order_ecommerce_request.rb +63 -0
  420. data/lib/mailchimp/ecommerce/types/update_store_order_ecommerce_request_billing_address.rb +36 -0
  421. data/lib/mailchimp/ecommerce/types/update_store_order_ecommerce_request_billing_address_latitude.rb +16 -0
  422. data/lib/mailchimp/ecommerce/types/update_store_order_ecommerce_request_billing_address_longitude.rb +16 -0
  423. data/lib/mailchimp/ecommerce/types/update_store_order_ecommerce_request_cart_id.rb +16 -0
  424. data/lib/mailchimp/ecommerce/types/update_store_order_ecommerce_request_discount_total.rb +15 -0
  425. data/lib/mailchimp/ecommerce/types/update_store_order_ecommerce_request_lines_item.rb +22 -0
  426. data/lib/mailchimp/ecommerce/types/update_store_order_ecommerce_request_lines_item_discount.rb +15 -0
  427. data/lib/mailchimp/ecommerce/types/update_store_order_ecommerce_request_lines_item_price.rb +15 -0
  428. data/lib/mailchimp/ecommerce/types/update_store_order_ecommerce_request_order_total.rb +15 -0
  429. data/lib/mailchimp/ecommerce/types/update_store_order_ecommerce_request_outreach.rb +12 -0
  430. data/lib/mailchimp/ecommerce/types/update_store_order_ecommerce_request_promos_item.rb +15 -0
  431. data/lib/mailchimp/ecommerce/types/update_store_order_ecommerce_request_promos_item_amount_discounted.rb +15 -0
  432. data/lib/mailchimp/ecommerce/types/update_store_order_ecommerce_request_promos_item_type.rb +14 -0
  433. data/lib/mailchimp/ecommerce/types/update_store_order_ecommerce_request_shipping_address.rb +36 -0
  434. data/lib/mailchimp/ecommerce/types/update_store_order_ecommerce_request_shipping_address_latitude.rb +16 -0
  435. data/lib/mailchimp/ecommerce/types/update_store_order_ecommerce_request_shipping_address_longitude.rb +16 -0
  436. data/lib/mailchimp/ecommerce/types/update_store_order_ecommerce_request_shipping_total.rb +15 -0
  437. data/lib/mailchimp/ecommerce/types/update_store_order_ecommerce_request_tax_total.rb +15 -0
  438. data/lib/mailchimp/ecommerce/types/update_store_order_ecommerce_request_tracking_code.rb +13 -0
  439. data/lib/mailchimp/ecommerce/types/update_store_order_line_ecommerce_request.rb +27 -0
  440. data/lib/mailchimp/ecommerce/types/update_store_order_line_ecommerce_request_discount.rb +15 -0
  441. data/lib/mailchimp/ecommerce/types/update_store_order_line_ecommerce_request_price.rb +15 -0
  442. data/lib/mailchimp/ecommerce/types/update_store_product_ecommerce_request.rb +35 -0
  443. data/lib/mailchimp/ecommerce/types/update_store_product_ecommerce_request_id.rb +16 -0
  444. data/lib/mailchimp/ecommerce/types/update_store_product_ecommerce_request_images_item.rb +16 -0
  445. data/lib/mailchimp/ecommerce/types/update_store_product_ecommerce_request_images_item_variant_ids_item.rb +15 -0
  446. data/lib/mailchimp/ecommerce/types/update_store_product_ecommerce_request_variants_item.rb +26 -0
  447. data/lib/mailchimp/ecommerce/types/update_store_product_ecommerce_request_variants_item_price.rb +15 -0
  448. data/lib/mailchimp/ecommerce/types/update_store_product_image_ecommerce_request.rb +21 -0
  449. data/lib/mailchimp/ecommerce/types/update_store_product_image_ecommerce_request_variant_ids_item.rb +15 -0
  450. data/lib/mailchimp/ecommerce/types/update_store_product_image_ecommerce_response.rb +18 -0
  451. data/lib/mailchimp/ecommerce/types/update_store_product_image_ecommerce_response_links_item.rb +21 -0
  452. data/lib/mailchimp/ecommerce/types/update_store_product_image_ecommerce_response_links_item_method.rb +19 -0
  453. data/lib/mailchimp/ecommerce/types/update_store_product_variant_ecommerce_request.rb +31 -0
  454. data/lib/mailchimp/ecommerce/types/update_store_product_variant_ecommerce_request_price.rb +15 -0
  455. data/lib/mailchimp/ecommerce/types/update_store_promo_rule_ecommerce_request.rb +35 -0
  456. data/lib/mailchimp/ecommerce/types/update_store_promo_rule_ecommerce_request_amount.rb +15 -0
  457. data/lib/mailchimp/ecommerce/types/update_store_promo_rule_ecommerce_request_ends_at.rb +15 -0
  458. data/lib/mailchimp/ecommerce/types/update_store_promo_rule_ecommerce_request_ends_at_one.rb +15 -0
  459. data/lib/mailchimp/ecommerce/types/update_store_promo_rule_ecommerce_request_ends_at_zero.rb +17 -0
  460. data/lib/mailchimp/ecommerce/types/update_store_promo_rule_ecommerce_request_starts_at.rb +15 -0
  461. data/lib/mailchimp/ecommerce/types/update_store_promo_rule_ecommerce_request_starts_at_one.rb +15 -0
  462. data/lib/mailchimp/ecommerce/types/update_store_promo_rule_ecommerce_request_starts_at_zero.rb +17 -0
  463. data/lib/mailchimp/ecommerce/types/update_store_promo_rule_ecommerce_request_target.rb +15 -0
  464. data/lib/mailchimp/ecommerce/types/update_store_promo_rule_ecommerce_request_type.rb +14 -0
  465. data/lib/mailchimp/ecommerce/types/update_store_promo_rule_promo_code_ecommerce_request.rb +29 -0
  466. data/lib/mailchimp/ecommerce/types/upsert_store_customer_ecommerce_request.rb +31 -0
  467. data/lib/mailchimp/ecommerce/types/upsert_store_customer_ecommerce_request_address.rb +26 -0
  468. data/lib/mailchimp/ecommerce/types/upsert_store_customer_ecommerce_request_total_spent.rb +15 -0
  469. data/lib/mailchimp/ecommerce/types/upsert_store_product_ecommerce_request.rb +35 -0
  470. data/lib/mailchimp/ecommerce/types/upsert_store_product_ecommerce_request_id.rb +16 -0
  471. data/lib/mailchimp/ecommerce/types/upsert_store_product_ecommerce_request_images_item.rb +16 -0
  472. data/lib/mailchimp/ecommerce/types/upsert_store_product_ecommerce_request_images_item_variant_ids_item.rb +15 -0
  473. data/lib/mailchimp/ecommerce/types/upsert_store_product_ecommerce_request_variants_item.rb +28 -0
  474. data/lib/mailchimp/ecommerce/types/upsert_store_product_ecommerce_request_variants_item_id.rb +16 -0
  475. data/lib/mailchimp/ecommerce/types/upsert_store_product_ecommerce_request_variants_item_price.rb +15 -0
  476. data/lib/mailchimp/ecommerce/types/upsert_store_product_variant_ecommerce_request.rb +33 -0
  477. data/lib/mailchimp/ecommerce/types/upsert_store_product_variant_ecommerce_request_price.rb +15 -0
  478. data/lib/mailchimp/environment.rb +7 -0
  479. data/lib/mailchimp/errors/api_error.rb +8 -0
  480. data/lib/mailchimp/errors/client_error.rb +17 -0
  481. data/lib/mailchimp/errors/redirect_error.rb +8 -0
  482. data/lib/mailchimp/errors/response_error.rb +42 -0
  483. data/lib/mailchimp/errors/server_error.rb +11 -0
  484. data/lib/mailchimp/errors/timeout_error.rb +8 -0
  485. data/lib/mailchimp/facebook_ads/client.rb +118 -0
  486. data/lib/mailchimp/facebook_ads/types/get_facebook_ads_request.rb +15 -0
  487. data/lib/mailchimp/facebook_ads/types/list_facebook_ads_request.rb +21 -0
  488. data/lib/mailchimp/facebook_ads/types/list_facebook_ads_request_sort_dir.rb +14 -0
  489. data/lib/mailchimp/facebook_ads/types/list_facebook_ads_request_sort_field.rb +15 -0
  490. data/lib/mailchimp/facebook_ads/types/list_facebook_ads_response.rb +16 -0
  491. data/lib/mailchimp/facebook_ads/types/list_facebook_ads_response_links_item.rb +21 -0
  492. data/lib/mailchimp/facebook_ads/types/list_facebook_ads_response_links_item_method.rb +19 -0
  493. data/lib/mailchimp/file_manager/client.rb +570 -0
  494. data/lib/mailchimp/file_manager/types/create_file_file_manager_request.rb +15 -0
  495. data/lib/mailchimp/file_manager/types/create_folder_file_manager_request.rb +11 -0
  496. data/lib/mailchimp/file_manager/types/create_folder_file_manager_response.rb +22 -0
  497. data/lib/mailchimp/file_manager/types/create_folder_file_manager_response_links_item.rb +21 -0
  498. data/lib/mailchimp/file_manager/types/create_folder_file_manager_response_links_item_method.rb +19 -0
  499. data/lib/mailchimp/file_manager/types/delete_file_file_manager_request.rb +11 -0
  500. data/lib/mailchimp/file_manager/types/delete_folder_file_manager_request.rb +11 -0
  501. data/lib/mailchimp/file_manager/types/get_file_file_manager_request.rb +15 -0
  502. data/lib/mailchimp/file_manager/types/get_folder_file_manager_request.rb +15 -0
  503. data/lib/mailchimp/file_manager/types/get_folder_file_manager_response.rb +22 -0
  504. data/lib/mailchimp/file_manager/types/get_folder_file_manager_response_links_item.rb +21 -0
  505. data/lib/mailchimp/file_manager/types/get_folder_file_manager_response_links_item_method.rb +19 -0
  506. data/lib/mailchimp/file_manager/types/list_file_manager_response_item.rb +21 -0
  507. data/lib/mailchimp/file_manager/types/list_file_manager_response_item_method.rb +19 -0
  508. data/lib/mailchimp/file_manager/types/list_files_file_manager_request.rb +29 -0
  509. data/lib/mailchimp/file_manager/types/list_files_file_manager_request_sort_dir.rb +14 -0
  510. data/lib/mailchimp/file_manager/types/list_files_file_manager_request_sort_field.rb +15 -0
  511. data/lib/mailchimp/file_manager/types/list_files_file_manager_response.rb +18 -0
  512. data/lib/mailchimp/file_manager/types/list_files_file_manager_response_links_item.rb +21 -0
  513. data/lib/mailchimp/file_manager/types/list_files_file_manager_response_links_item_method.rb +19 -0
  514. data/lib/mailchimp/file_manager/types/list_folder_files_file_manager_request.rb +31 -0
  515. data/lib/mailchimp/file_manager/types/list_folder_files_file_manager_request_sort_dir.rb +14 -0
  516. data/lib/mailchimp/file_manager/types/list_folder_files_file_manager_request_sort_field.rb +15 -0
  517. data/lib/mailchimp/file_manager/types/list_folder_files_file_manager_response.rb +18 -0
  518. data/lib/mailchimp/file_manager/types/list_folder_files_file_manager_response_links_item.rb +21 -0
  519. data/lib/mailchimp/file_manager/types/list_folder_files_file_manager_response_links_item_method.rb +19 -0
  520. data/lib/mailchimp/file_manager/types/list_folders_file_manager_request.rb +23 -0
  521. data/lib/mailchimp/file_manager/types/list_folders_file_manager_response.rb +16 -0
  522. data/lib/mailchimp/file_manager/types/list_folders_file_manager_response_folders_item.rb +22 -0
  523. data/lib/mailchimp/file_manager/types/list_folders_file_manager_response_folders_item_links_item.rb +21 -0
  524. data/lib/mailchimp/file_manager/types/list_folders_file_manager_response_folders_item_links_item_method.rb +19 -0
  525. data/lib/mailchimp/file_manager/types/list_folders_file_manager_response_links_item.rb +21 -0
  526. data/lib/mailchimp/file_manager/types/list_folders_file_manager_response_links_item_method.rb +19 -0
  527. data/lib/mailchimp/file_manager/types/update_file_file_manager_request.rb +15 -0
  528. data/lib/mailchimp/file_manager/types/update_folder_file_manager_request.rb +13 -0
  529. data/lib/mailchimp/file_manager/types/update_folder_file_manager_response.rb +22 -0
  530. data/lib/mailchimp/file_manager/types/update_folder_file_manager_response_links_item.rb +21 -0
  531. data/lib/mailchimp/file_manager/types/update_folder_file_manager_response_links_item_method.rb +19 -0
  532. data/lib/mailchimp/internal/errors/constraint_error.rb +10 -0
  533. data/lib/mailchimp/internal/errors/type_error.rb +10 -0
  534. data/lib/mailchimp/internal/http/base_request.rb +51 -0
  535. data/lib/mailchimp/internal/http/raw_client.rb +265 -0
  536. data/lib/mailchimp/internal/iterators/cursor_item_iterator.rb +28 -0
  537. data/lib/mailchimp/internal/iterators/cursor_page_iterator.rb +63 -0
  538. data/lib/mailchimp/internal/iterators/item_iterator.rb +65 -0
  539. data/lib/mailchimp/internal/iterators/offset_item_iterator.rb +30 -0
  540. data/lib/mailchimp/internal/iterators/offset_page_iterator.rb +103 -0
  541. data/lib/mailchimp/internal/json/request.rb +41 -0
  542. data/lib/mailchimp/internal/json/serializable.rb +25 -0
  543. data/lib/mailchimp/internal/multipart/multipart_encoder.rb +141 -0
  544. data/lib/mailchimp/internal/multipart/multipart_form_data.rb +83 -0
  545. data/lib/mailchimp/internal/multipart/multipart_form_data_part.rb +51 -0
  546. data/lib/mailchimp/internal/multipart/multipart_request.rb +40 -0
  547. data/lib/mailchimp/internal/types/array.rb +47 -0
  548. data/lib/mailchimp/internal/types/boolean.rb +34 -0
  549. data/lib/mailchimp/internal/types/enum.rb +56 -0
  550. data/lib/mailchimp/internal/types/hash.rb +36 -0
  551. data/lib/mailchimp/internal/types/model/field.rb +38 -0
  552. data/lib/mailchimp/internal/types/model.rb +216 -0
  553. data/lib/mailchimp/internal/types/type.rb +35 -0
  554. data/lib/mailchimp/internal/types/union.rb +161 -0
  555. data/lib/mailchimp/internal/types/unknown.rb +15 -0
  556. data/lib/mailchimp/internal/types/utils.rb +116 -0
  557. data/lib/mailchimp/landing_pages/client.rb +344 -0
  558. data/lib/mailchimp/landing_pages/types/create_action_publish_landing_pages_request.rb +11 -0
  559. data/lib/mailchimp/landing_pages/types/create_action_unpublish_landing_pages_request.rb +11 -0
  560. data/lib/mailchimp/landing_pages/types/create_landing_pages_request.rb +27 -0
  561. data/lib/mailchimp/landing_pages/types/create_landing_pages_request_tracking.rb +14 -0
  562. data/lib/mailchimp/landing_pages/types/create_landing_pages_request_type.rb +14 -0
  563. data/lib/mailchimp/landing_pages/types/delete_landing_pages_request.rb +11 -0
  564. data/lib/mailchimp/landing_pages/types/get_landing_pages_request.rb +15 -0
  565. data/lib/mailchimp/landing_pages/types/list_content_landing_pages_request.rb +15 -0
  566. data/lib/mailchimp/landing_pages/types/list_content_landing_pages_response.rb +16 -0
  567. data/lib/mailchimp/landing_pages/types/list_content_landing_pages_response_links_item.rb +21 -0
  568. data/lib/mailchimp/landing_pages/types/list_content_landing_pages_response_links_item_method.rb +19 -0
  569. data/lib/mailchimp/landing_pages/types/list_landing_pages_request.rb +19 -0
  570. data/lib/mailchimp/landing_pages/types/list_landing_pages_request_sort_dir.rb +14 -0
  571. data/lib/mailchimp/landing_pages/types/list_landing_pages_request_sort_field.rb +14 -0
  572. data/lib/mailchimp/landing_pages/types/list_landing_pages_response.rb +16 -0
  573. data/lib/mailchimp/landing_pages/types/list_landing_pages_response_links_item.rb +21 -0
  574. data/lib/mailchimp/landing_pages/types/list_landing_pages_response_links_item_method.rb +19 -0
  575. data/lib/mailchimp/landing_pages/types/update_landing_pages_request.rb +23 -0
  576. data/lib/mailchimp/landing_pages/types/update_landing_pages_request_tracking.rb +14 -0
  577. data/lib/mailchimp/lists/client.rb +3444 -0
  578. data/lib/mailchimp/lists/types/batch_add_or_remove_members_lists_request.rb +17 -0
  579. data/lib/mailchimp/lists/types/batch_add_or_remove_members_lists_response.rb +24 -0
  580. data/lib/mailchimp/lists/types/batch_add_or_remove_members_lists_response_errors_item.rb +13 -0
  581. data/lib/mailchimp/lists/types/batch_add_or_remove_members_lists_response_links_item.rb +21 -0
  582. data/lib/mailchimp/lists/types/batch_add_or_remove_members_lists_response_links_item_method.rb +19 -0
  583. data/lib/mailchimp/lists/types/batch_subscribe_or_unsubscribe_lists_request.rb +21 -0
  584. data/lib/mailchimp/lists/types/batch_subscribe_or_unsubscribe_lists_request_members_item.rb +15 -0
  585. data/lib/mailchimp/lists/types/batch_subscribe_or_unsubscribe_lists_request_members_item_status.rb +17 -0
  586. data/lib/mailchimp/lists/types/batch_subscribe_or_unsubscribe_lists_request_members_item_status_if_new.rb +17 -0
  587. data/lib/mailchimp/lists/types/batch_subscribe_or_unsubscribe_lists_request_members_item_timestamp_opt.rb +15 -0
  588. data/lib/mailchimp/lists/types/batch_subscribe_or_unsubscribe_lists_request_members_item_timestamp_opt_one.rb +13 -0
  589. data/lib/mailchimp/lists/types/batch_subscribe_or_unsubscribe_lists_request_members_item_timestamp_signup.rb +15 -0
  590. data/lib/mailchimp/lists/types/batch_subscribe_or_unsubscribe_lists_request_members_item_timestamp_signup_one.rb +13 -0
  591. data/lib/mailchimp/lists/types/batch_subscribe_or_unsubscribe_lists_response.rb +24 -0
  592. data/lib/mailchimp/lists/types/batch_subscribe_or_unsubscribe_lists_response_errors_item.rb +19 -0
  593. data/lib/mailchimp/lists/types/batch_subscribe_or_unsubscribe_lists_response_errors_item_error_code.rb +14 -0
  594. data/lib/mailchimp/lists/types/batch_subscribe_or_unsubscribe_lists_response_links_item.rb +21 -0
  595. data/lib/mailchimp/lists/types/batch_subscribe_or_unsubscribe_lists_response_links_item_method.rb +19 -0
  596. data/lib/mailchimp/lists/types/create_interest_category_interest_lists_request.rb +17 -0
  597. data/lib/mailchimp/lists/types/create_interest_category_lists_request.rb +17 -0
  598. data/lib/mailchimp/lists/types/create_interest_category_lists_request_type.rb +16 -0
  599. data/lib/mailchimp/lists/types/create_list_survey_action_replicate_lists_request.rb +17 -0
  600. data/lib/mailchimp/lists/types/create_lists_request.rb +29 -0
  601. data/lib/mailchimp/lists/types/create_lists_request_campaign_defaults.rb +20 -0
  602. data/lib/mailchimp/lists/types/create_lists_request_contact.rb +27 -0
  603. data/lib/mailchimp/lists/types/create_member_action_delete_permanent_lists_request.rb +13 -0
  604. data/lib/mailchimp/lists/types/create_member_event_lists_request.rb +21 -0
  605. data/lib/mailchimp/lists/types/create_member_lists_request.rb +41 -0
  606. data/lib/mailchimp/lists/types/create_member_lists_request_location.rb +14 -0
  607. data/lib/mailchimp/lists/types/create_member_lists_request_location_latitude.rb +15 -0
  608. data/lib/mailchimp/lists/types/create_member_lists_request_location_longitude.rb +15 -0
  609. data/lib/mailchimp/lists/types/create_member_lists_request_marketing_permissions_item.rb +14 -0
  610. data/lib/mailchimp/lists/types/create_member_lists_request_merge_fields_value.rb +18 -0
  611. data/lib/mailchimp/lists/types/create_member_lists_request_merge_fields_value_addr1.rb +21 -0
  612. data/lib/mailchimp/lists/types/create_member_lists_request_status.rb +17 -0
  613. data/lib/mailchimp/lists/types/create_member_lists_request_timestamp_opt.rb +15 -0
  614. data/lib/mailchimp/lists/types/create_member_lists_request_timestamp_opt_one.rb +13 -0
  615. data/lib/mailchimp/lists/types/create_member_lists_request_timestamp_signup.rb +15 -0
  616. data/lib/mailchimp/lists/types/create_member_lists_request_timestamp_signup_one.rb +13 -0
  617. data/lib/mailchimp/lists/types/create_member_note_lists_request.rb +15 -0
  618. data/lib/mailchimp/lists/types/create_member_tag_lists_request.rb +17 -0
  619. data/lib/mailchimp/lists/types/create_member_tag_lists_request_tags_item.rb +14 -0
  620. data/lib/mailchimp/lists/types/create_member_tag_lists_request_tags_item_status.rb +14 -0
  621. data/lib/mailchimp/lists/types/create_merge_field_lists_request.rb +29 -0
  622. data/lib/mailchimp/lists/types/create_merge_field_lists_request_options.rb +20 -0
  623. data/lib/mailchimp/lists/types/create_merge_field_lists_request_type.rb +23 -0
  624. data/lib/mailchimp/lists/types/create_segment_lists_request.rb +17 -0
  625. data/lib/mailchimp/lists/types/create_segment_lists_request_options.rb +15 -0
  626. data/lib/mailchimp/lists/types/create_segment_lists_request_options_match.rb +14 -0
  627. data/lib/mailchimp/lists/types/create_segment_member_lists_request.rb +15 -0
  628. data/lib/mailchimp/lists/types/create_signup_form_lists_request.rb +17 -0
  629. data/lib/mailchimp/lists/types/create_signup_form_lists_request_contents_item.rb +14 -0
  630. data/lib/mailchimp/lists/types/create_signup_form_lists_request_contents_item_section.rb +15 -0
  631. data/lib/mailchimp/lists/types/create_signup_form_lists_request_header.rb +32 -0
  632. data/lib/mailchimp/lists/types/create_signup_form_lists_request_header_image_align.rb +16 -0
  633. data/lib/mailchimp/lists/types/create_signup_form_lists_request_header_image_border_style.rb +21 -0
  634. data/lib/mailchimp/lists/types/create_signup_form_lists_request_header_image_target.rb +14 -0
  635. data/lib/mailchimp/lists/types/create_signup_form_lists_request_styles_item.rb +14 -0
  636. data/lib/mailchimp/lists/types/create_signup_form_lists_request_styles_item_options_item.rb +14 -0
  637. data/lib/mailchimp/lists/types/create_signup_form_lists_request_styles_item_selector.rb +26 -0
  638. data/lib/mailchimp/lists/types/create_survey_lists_request.rb +15 -0
  639. data/lib/mailchimp/lists/types/create_webhook_lists_request.rb +13 -0
  640. data/lib/mailchimp/lists/types/create_webhook_lists_response.rb +25 -0
  641. data/lib/mailchimp/lists/types/delete_interest_category_interest_lists_request.rb +15 -0
  642. data/lib/mailchimp/lists/types/delete_interest_category_lists_request.rb +13 -0
  643. data/lib/mailchimp/lists/types/delete_lists_request.rb +11 -0
  644. data/lib/mailchimp/lists/types/delete_member_lists_request.rb +13 -0
  645. data/lib/mailchimp/lists/types/delete_member_note_lists_request.rb +15 -0
  646. data/lib/mailchimp/lists/types/delete_merge_field_lists_request.rb +13 -0
  647. data/lib/mailchimp/lists/types/delete_segment_lists_request.rb +13 -0
  648. data/lib/mailchimp/lists/types/delete_segment_member_lists_request.rb +15 -0
  649. data/lib/mailchimp/lists/types/delete_survey_lists_request.rb +13 -0
  650. data/lib/mailchimp/lists/types/delete_webhook_lists_request.rb +13 -0
  651. data/lib/mailchimp/lists/types/get_abuse_report_lists_request.rb +21 -0
  652. data/lib/mailchimp/lists/types/get_growth_history_lists_request.rb +17 -0
  653. data/lib/mailchimp/lists/types/get_interest_category_interest_lists_request.rb +19 -0
  654. data/lib/mailchimp/lists/types/get_interest_category_lists_request.rb +17 -0
  655. data/lib/mailchimp/lists/types/get_lists_request.rb +17 -0
  656. data/lib/mailchimp/lists/types/get_member_lists_request.rb +17 -0
  657. data/lib/mailchimp/lists/types/get_member_note_lists_request.rb +19 -0
  658. data/lib/mailchimp/lists/types/get_merge_field_lists_request.rb +17 -0
  659. data/lib/mailchimp/lists/types/get_segment_lists_request.rb +23 -0
  660. data/lib/mailchimp/lists/types/get_survey_lists_request.rb +13 -0
  661. data/lib/mailchimp/lists/types/get_webhook_lists_request.rb +13 -0
  662. data/lib/mailchimp/lists/types/list_abuse_reports_lists_request.rb +19 -0
  663. data/lib/mailchimp/lists/types/list_abuse_reports_lists_response.rb +19 -0
  664. data/lib/mailchimp/lists/types/list_abuse_reports_lists_response_links_item.rb +21 -0
  665. data/lib/mailchimp/lists/types/list_abuse_reports_lists_response_links_item_method.rb +19 -0
  666. data/lib/mailchimp/lists/types/list_activity_lists_request.rb +19 -0
  667. data/lib/mailchimp/lists/types/list_activity_lists_response.rb +19 -0
  668. data/lib/mailchimp/lists/types/list_activity_lists_response_activity_item.rb +32 -0
  669. data/lib/mailchimp/lists/types/list_activity_lists_response_activity_item_links_item.rb +21 -0
  670. data/lib/mailchimp/lists/types/list_activity_lists_response_activity_item_links_item_method.rb +19 -0
  671. data/lib/mailchimp/lists/types/list_activity_lists_response_links_item.rb +21 -0
  672. data/lib/mailchimp/lists/types/list_activity_lists_response_links_item_method.rb +19 -0
  673. data/lib/mailchimp/lists/types/list_clients_lists_request.rb +15 -0
  674. data/lib/mailchimp/lists/types/list_clients_lists_response.rb +18 -0
  675. data/lib/mailchimp/lists/types/list_clients_lists_response_clients_item.rb +14 -0
  676. data/lib/mailchimp/lists/types/list_clients_lists_response_links_item.rb +21 -0
  677. data/lib/mailchimp/lists/types/list_clients_lists_response_links_item_method.rb +19 -0
  678. data/lib/mailchimp/lists/types/list_growth_history_lists_request.rb +23 -0
  679. data/lib/mailchimp/lists/types/list_growth_history_lists_request_sort_dir.rb +14 -0
  680. data/lib/mailchimp/lists/types/list_growth_history_lists_request_sort_field.rb +13 -0
  681. data/lib/mailchimp/lists/types/list_growth_history_lists_response.rb +18 -0
  682. data/lib/mailchimp/lists/types/list_growth_history_lists_response_links_item.rb +21 -0
  683. data/lib/mailchimp/lists/types/list_growth_history_lists_response_links_item_method.rb +19 -0
  684. data/lib/mailchimp/lists/types/list_interest_categories_lists_request.rb +25 -0
  685. data/lib/mailchimp/lists/types/list_interest_categories_lists_request_sort_dir.rb +14 -0
  686. data/lib/mailchimp/lists/types/list_interest_categories_lists_request_sort_field.rb +14 -0
  687. data/lib/mailchimp/lists/types/list_interest_categories_lists_response.rb +18 -0
  688. data/lib/mailchimp/lists/types/list_interest_categories_lists_response_links_item.rb +21 -0
  689. data/lib/mailchimp/lists/types/list_interest_categories_lists_response_links_item_method.rb +19 -0
  690. data/lib/mailchimp/lists/types/list_interest_category_interests_lists_request.rb +21 -0
  691. data/lib/mailchimp/lists/types/list_interest_category_interests_lists_response.rb +20 -0
  692. data/lib/mailchimp/lists/types/list_interest_category_interests_lists_response_links_item.rb +21 -0
  693. data/lib/mailchimp/lists/types/list_interest_category_interests_lists_response_links_item_method.rb +19 -0
  694. data/lib/mailchimp/lists/types/list_lists_request.rb +35 -0
  695. data/lib/mailchimp/lists/types/list_lists_request_sort_dir.rb +14 -0
  696. data/lib/mailchimp/lists/types/list_lists_request_sort_field.rb +13 -0
  697. data/lib/mailchimp/lists/types/list_lists_response.rb +18 -0
  698. data/lib/mailchimp/lists/types/list_lists_response_constraints.rb +16 -0
  699. data/lib/mailchimp/lists/types/list_lists_response_links_item.rb +21 -0
  700. data/lib/mailchimp/lists/types/list_lists_response_links_item_method.rb +19 -0
  701. data/lib/mailchimp/lists/types/list_locations_lists_request.rb +15 -0
  702. data/lib/mailchimp/lists/types/list_locations_lists_response.rb +18 -0
  703. data/lib/mailchimp/lists/types/list_locations_lists_response_links_item.rb +21 -0
  704. data/lib/mailchimp/lists/types/list_locations_lists_response_links_item_method.rb +19 -0
  705. data/lib/mailchimp/lists/types/list_locations_lists_response_locations_item.rb +17 -0
  706. data/lib/mailchimp/lists/types/list_member_activity_feed_lists_request.rb +23 -0
  707. data/lib/mailchimp/lists/types/list_member_activity_feed_lists_request_activity_filters_item.rb +37 -0
  708. data/lib/mailchimp/lists/types/list_member_activity_feed_lists_response.rb +18 -0
  709. data/lib/mailchimp/lists/types/list_member_activity_feed_lists_response_links_item.rb +21 -0
  710. data/lib/mailchimp/lists/types/list_member_activity_feed_lists_response_links_item_method.rb +19 -0
  711. data/lib/mailchimp/lists/types/list_member_activity_lists_request.rb +19 -0
  712. data/lib/mailchimp/lists/types/list_member_activity_lists_request_action_item.rb +19 -0
  713. data/lib/mailchimp/lists/types/list_member_activity_lists_response.rb +22 -0
  714. data/lib/mailchimp/lists/types/list_member_activity_lists_response_activity_item.rb +24 -0
  715. data/lib/mailchimp/lists/types/list_member_activity_lists_response_links_item.rb +21 -0
  716. data/lib/mailchimp/lists/types/list_member_activity_lists_response_links_item_method.rb +19 -0
  717. data/lib/mailchimp/lists/types/list_member_events_lists_request.rb +21 -0
  718. data/lib/mailchimp/lists/types/list_member_events_lists_response.rb +16 -0
  719. data/lib/mailchimp/lists/types/list_member_events_lists_response_events_item.rb +16 -0
  720. data/lib/mailchimp/lists/types/list_member_events_lists_response_links_item.rb +21 -0
  721. data/lib/mailchimp/lists/types/list_member_events_lists_response_links_item_method.rb +19 -0
  722. data/lib/mailchimp/lists/types/list_member_goals_lists_request.rb +17 -0
  723. data/lib/mailchimp/lists/types/list_member_goals_lists_response.rb +20 -0
  724. data/lib/mailchimp/lists/types/list_member_goals_lists_response_goals_item.rb +18 -0
  725. data/lib/mailchimp/lists/types/list_member_goals_lists_response_links_item.rb +21 -0
  726. data/lib/mailchimp/lists/types/list_member_goals_lists_response_links_item_method.rb +19 -0
  727. data/lib/mailchimp/lists/types/list_member_notes_lists_request.rb +25 -0
  728. data/lib/mailchimp/lists/types/list_member_notes_lists_request_sort_dir.rb +14 -0
  729. data/lib/mailchimp/lists/types/list_member_notes_lists_request_sort_field.rb +15 -0
  730. data/lib/mailchimp/lists/types/list_member_notes_lists_response.rb +20 -0
  731. data/lib/mailchimp/lists/types/list_member_notes_lists_response_links_item.rb +21 -0
  732. data/lib/mailchimp/lists/types/list_member_notes_lists_response_links_item_method.rb +19 -0
  733. data/lib/mailchimp/lists/types/list_member_tags_lists_request.rb +21 -0
  734. data/lib/mailchimp/lists/types/list_member_tags_lists_response.rb +16 -0
  735. data/lib/mailchimp/lists/types/list_member_tags_lists_response_links_item.rb +21 -0
  736. data/lib/mailchimp/lists/types/list_member_tags_lists_response_links_item_method.rb +19 -0
  737. data/lib/mailchimp/lists/types/list_member_tags_lists_response_tags_item.rb +15 -0
  738. data/lib/mailchimp/lists/types/list_members_lists_request.rb +49 -0
  739. data/lib/mailchimp/lists/types/list_members_lists_request_interest_match.rb +15 -0
  740. data/lib/mailchimp/lists/types/list_members_lists_request_sort_dir.rb +14 -0
  741. data/lib/mailchimp/lists/types/list_members_lists_request_sort_field.rb +15 -0
  742. data/lib/mailchimp/lists/types/list_members_lists_request_status.rb +18 -0
  743. data/lib/mailchimp/lists/types/list_members_lists_response.rb +18 -0
  744. data/lib/mailchimp/lists/types/list_members_lists_response_links_item.rb +21 -0
  745. data/lib/mailchimp/lists/types/list_members_lists_response_links_item_method.rb +19 -0
  746. data/lib/mailchimp/lists/types/list_merge_fields_lists_request.rb +23 -0
  747. data/lib/mailchimp/lists/types/list_merge_fields_lists_response.rb +20 -0
  748. data/lib/mailchimp/lists/types/list_merge_fields_lists_response_links_item.rb +21 -0
  749. data/lib/mailchimp/lists/types/list_merge_fields_lists_response_links_item_method.rb +19 -0
  750. data/lib/mailchimp/lists/types/list_segment_members_lists_request.rb +27 -0
  751. data/lib/mailchimp/lists/types/list_segment_members_lists_response.rb +16 -0
  752. data/lib/mailchimp/lists/types/list_segment_members_lists_response_links_item.rb +21 -0
  753. data/lib/mailchimp/lists/types/list_segment_members_lists_response_links_item_method.rb +19 -0
  754. data/lib/mailchimp/lists/types/list_segments_lists_request.rb +37 -0
  755. data/lib/mailchimp/lists/types/list_segments_lists_request_exclude_type.rb +15 -0
  756. data/lib/mailchimp/lists/types/list_segments_lists_response.rb +18 -0
  757. data/lib/mailchimp/lists/types/list_segments_lists_response_links_item.rb +21 -0
  758. data/lib/mailchimp/lists/types/list_segments_lists_response_links_item_method.rb +19 -0
  759. data/lib/mailchimp/lists/types/list_signup_forms_lists_request.rb +11 -0
  760. data/lib/mailchimp/lists/types/list_signup_forms_lists_response.rb +18 -0
  761. data/lib/mailchimp/lists/types/list_signup_forms_lists_response_links_item.rb +21 -0
  762. data/lib/mailchimp/lists/types/list_signup_forms_lists_response_links_item_method.rb +19 -0
  763. data/lib/mailchimp/lists/types/list_surveys_lists_request.rb +11 -0
  764. data/lib/mailchimp/lists/types/list_tag_search_lists_request.rb +13 -0
  765. data/lib/mailchimp/lists/types/list_tag_search_lists_response.rb +14 -0
  766. data/lib/mailchimp/lists/types/list_tag_search_lists_response_tags_item.rb +13 -0
  767. data/lib/mailchimp/lists/types/list_webhooks_lists_request.rb +11 -0
  768. data/lib/mailchimp/lists/types/list_webhooks_lists_response.rb +18 -0
  769. data/lib/mailchimp/lists/types/list_webhooks_lists_response_links_item.rb +21 -0
  770. data/lib/mailchimp/lists/types/list_webhooks_lists_response_links_item_method.rb +19 -0
  771. data/lib/mailchimp/lists/types/update_interest_category_interest_lists_request.rb +19 -0
  772. data/lib/mailchimp/lists/types/update_interest_category_lists_request.rb +19 -0
  773. data/lib/mailchimp/lists/types/update_interest_category_lists_request_type.rb +16 -0
  774. data/lib/mailchimp/lists/types/update_lists_request.rb +31 -0
  775. data/lib/mailchimp/lists/types/update_lists_request_campaign_defaults.rb +20 -0
  776. data/lib/mailchimp/lists/types/update_lists_request_contact.rb +27 -0
  777. data/lib/mailchimp/lists/types/update_member_lists_request.rb +41 -0
  778. data/lib/mailchimp/lists/types/update_member_lists_request_location.rb +14 -0
  779. data/lib/mailchimp/lists/types/update_member_lists_request_location_latitude.rb +15 -0
  780. data/lib/mailchimp/lists/types/update_member_lists_request_location_longitude.rb +15 -0
  781. data/lib/mailchimp/lists/types/update_member_lists_request_marketing_permissions_item.rb +14 -0
  782. data/lib/mailchimp/lists/types/update_member_lists_request_merge_fields_value.rb +18 -0
  783. data/lib/mailchimp/lists/types/update_member_lists_request_merge_fields_value_addr1.rb +21 -0
  784. data/lib/mailchimp/lists/types/update_member_lists_request_status.rb +17 -0
  785. data/lib/mailchimp/lists/types/update_member_lists_request_timestamp_opt.rb +15 -0
  786. data/lib/mailchimp/lists/types/update_member_lists_request_timestamp_opt_one.rb +13 -0
  787. data/lib/mailchimp/lists/types/update_member_lists_request_timestamp_signup.rb +15 -0
  788. data/lib/mailchimp/lists/types/update_member_lists_request_timestamp_signup_one.rb +13 -0
  789. data/lib/mailchimp/lists/types/update_member_note_lists_request.rb +17 -0
  790. data/lib/mailchimp/lists/types/update_merge_field_lists_request.rb +29 -0
  791. data/lib/mailchimp/lists/types/update_merge_field_lists_request_options.rb +18 -0
  792. data/lib/mailchimp/lists/types/update_segment_lists_request.rb +19 -0
  793. data/lib/mailchimp/lists/types/update_segment_lists_request_options.rb +15 -0
  794. data/lib/mailchimp/lists/types/update_segment_lists_request_options_match.rb +14 -0
  795. data/lib/mailchimp/lists/types/update_survey_lists_request.rb +19 -0
  796. data/lib/mailchimp/lists/types/update_webhook_lists_request.rb +15 -0
  797. data/lib/mailchimp/lists/types/upsert_member_lists_request.rb +45 -0
  798. data/lib/mailchimp/lists/types/upsert_member_lists_request_location.rb +14 -0
  799. data/lib/mailchimp/lists/types/upsert_member_lists_request_location_latitude.rb +15 -0
  800. data/lib/mailchimp/lists/types/upsert_member_lists_request_location_longitude.rb +15 -0
  801. data/lib/mailchimp/lists/types/upsert_member_lists_request_marketing_permissions_item.rb +14 -0
  802. data/lib/mailchimp/lists/types/upsert_member_lists_request_merge_fields_value.rb +18 -0
  803. data/lib/mailchimp/lists/types/upsert_member_lists_request_merge_fields_value_addr1.rb +21 -0
  804. data/lib/mailchimp/lists/types/upsert_member_lists_request_status.rb +17 -0
  805. data/lib/mailchimp/lists/types/upsert_member_lists_request_status_if_new.rb +17 -0
  806. data/lib/mailchimp/lists/types/upsert_member_lists_request_timestamp_opt.rb +15 -0
  807. data/lib/mailchimp/lists/types/upsert_member_lists_request_timestamp_opt_one.rb +13 -0
  808. data/lib/mailchimp/lists/types/upsert_member_lists_request_timestamp_signup.rb +15 -0
  809. data/lib/mailchimp/lists/types/upsert_member_lists_request_timestamp_signup_one.rb +13 -0
  810. data/lib/mailchimp/ping/client.rb +49 -0
  811. data/lib/mailchimp/ping/types/list_ping_response.rb +12 -0
  812. data/lib/mailchimp/reporting/client.rb +645 -0
  813. data/lib/mailchimp/reporting/types/get_facebook_ad_reporting_request.rb +15 -0
  814. data/lib/mailchimp/reporting/types/get_landing_page_reporting_request.rb +15 -0
  815. data/lib/mailchimp/reporting/types/get_survey_question_reporting_request.rb +17 -0
  816. data/lib/mailchimp/reporting/types/get_survey_reporting_request.rb +15 -0
  817. data/lib/mailchimp/reporting/types/get_survey_reporting_response.rb +32 -0
  818. data/lib/mailchimp/reporting/types/get_survey_reporting_response_status.rb +14 -0
  819. data/lib/mailchimp/reporting/types/get_survey_respons_reporting_request.rb +13 -0
  820. data/lib/mailchimp/reporting/types/get_survey_respons_reporting_response.rb +20 -0
  821. data/lib/mailchimp/reporting/types/get_survey_respons_reporting_response_contact.rb +26 -0
  822. data/lib/mailchimp/reporting/types/get_survey_respons_reporting_response_contact_status.rb +17 -0
  823. data/lib/mailchimp/reporting/types/get_survey_respons_reporting_response_results_item.rb +18 -0
  824. data/lib/mailchimp/reporting/types/get_survey_respons_reporting_response_results_item_question_type.rb +19 -0
  825. data/lib/mailchimp/reporting/types/list_facebook_ad_ecommerce_product_activity_reporting_request.rb +21 -0
  826. data/lib/mailchimp/reporting/types/list_facebook_ad_ecommerce_product_activity_reporting_request_sort_field.rb +15 -0
  827. data/lib/mailchimp/reporting/types/list_facebook_ad_ecommerce_product_activity_reporting_response.rb +16 -0
  828. data/lib/mailchimp/reporting/types/list_facebook_ad_ecommerce_product_activity_reporting_response_links_item.rb +21 -0
  829. data/lib/mailchimp/reporting/types/list_facebook_ad_ecommerce_product_activity_reporting_response_links_item_method.rb +19 -0
  830. data/lib/mailchimp/reporting/types/list_facebook_ad_ecommerce_product_activity_reporting_response_products_item.rb +25 -0
  831. data/lib/mailchimp/reporting/types/list_facebook_ads_reporting_request.rb +21 -0
  832. data/lib/mailchimp/reporting/types/list_facebook_ads_reporting_request_sort_dir.rb +14 -0
  833. data/lib/mailchimp/reporting/types/list_facebook_ads_reporting_request_sort_field.rb +15 -0
  834. data/lib/mailchimp/reporting/types/list_facebook_ads_reporting_response.rb +16 -0
  835. data/lib/mailchimp/reporting/types/list_facebook_ads_reporting_response_links_item.rb +21 -0
  836. data/lib/mailchimp/reporting/types/list_facebook_ads_reporting_response_links_item_method.rb +19 -0
  837. data/lib/mailchimp/reporting/types/list_landing_pages_reporting_request.rb +17 -0
  838. data/lib/mailchimp/reporting/types/list_landing_pages_reporting_response.rb +16 -0
  839. data/lib/mailchimp/reporting/types/list_landing_pages_reporting_response_links_item.rb +21 -0
  840. data/lib/mailchimp/reporting/types/list_landing_pages_reporting_response_links_item_method.rb +19 -0
  841. data/lib/mailchimp/reporting/types/list_reporting_response_item.rb +21 -0
  842. data/lib/mailchimp/reporting/types/list_reporting_response_item_method.rb +19 -0
  843. data/lib/mailchimp/reporting/types/list_survey_question_answers_reporting_request.rb +19 -0
  844. data/lib/mailchimp/reporting/types/list_survey_question_answers_reporting_request_respondent_familiarity_is.rb +15 -0
  845. data/lib/mailchimp/reporting/types/list_survey_question_answers_reporting_response.rb +15 -0
  846. data/lib/mailchimp/reporting/types/list_survey_question_answers_reporting_response_answers_item.rb +22 -0
  847. data/lib/mailchimp/reporting/types/list_survey_question_answers_reporting_response_answers_item_contact.rb +26 -0
  848. data/lib/mailchimp/reporting/types/list_survey_question_answers_reporting_response_answers_item_contact_status.rb +17 -0
  849. data/lib/mailchimp/reporting/types/list_survey_question_answers_reporting_response_links_item.rb +21 -0
  850. data/lib/mailchimp/reporting/types/list_survey_question_answers_reporting_response_links_item_method.rb +19 -0
  851. data/lib/mailchimp/reporting/types/list_survey_questions_reporting_request.rb +15 -0
  852. data/lib/mailchimp/reporting/types/list_survey_questions_reporting_response.rb +15 -0
  853. data/lib/mailchimp/reporting/types/list_survey_questions_reporting_response_links_item.rb +21 -0
  854. data/lib/mailchimp/reporting/types/list_survey_questions_reporting_response_links_item_method.rb +19 -0
  855. data/lib/mailchimp/reporting/types/list_survey_responses_reporting_request.rb +21 -0
  856. data/lib/mailchimp/reporting/types/list_survey_responses_reporting_request_respondent_familiarity_is.rb +15 -0
  857. data/lib/mailchimp/reporting/types/list_survey_responses_reporting_response.rb +15 -0
  858. data/lib/mailchimp/reporting/types/list_survey_responses_reporting_response_links_item.rb +21 -0
  859. data/lib/mailchimp/reporting/types/list_survey_responses_reporting_response_links_item_method.rb +19 -0
  860. data/lib/mailchimp/reporting/types/list_survey_responses_reporting_response_responses_item.rb +18 -0
  861. data/lib/mailchimp/reporting/types/list_survey_responses_reporting_response_responses_item_contact.rb +26 -0
  862. data/lib/mailchimp/reporting/types/list_survey_responses_reporting_response_responses_item_contact_status.rb +17 -0
  863. data/lib/mailchimp/reporting/types/list_surveys_reporting_request.rb +17 -0
  864. data/lib/mailchimp/reporting/types/list_surveys_reporting_response.rb +15 -0
  865. data/lib/mailchimp/reporting/types/list_surveys_reporting_response_links_item.rb +21 -0
  866. data/lib/mailchimp/reporting/types/list_surveys_reporting_response_links_item_method.rb +19 -0
  867. data/lib/mailchimp/reporting/types/list_surveys_reporting_response_surveys_item.rb +32 -0
  868. data/lib/mailchimp/reporting/types/list_surveys_reporting_response_surveys_item_status.rb +14 -0
  869. data/lib/mailchimp/reports/client.rb +1170 -0
  870. data/lib/mailchimp/reports/types/get_abuse_report_reports_request.rb +17 -0
  871. data/lib/mailchimp/reports/types/get_click_detail_member_reports_request.rb +19 -0
  872. data/lib/mailchimp/reports/types/get_click_detail_reports_request.rb +19 -0
  873. data/lib/mailchimp/reports/types/get_email_activity_reports_request.rb +21 -0
  874. data/lib/mailchimp/reports/types/get_open_detail_reports_request.rb +19 -0
  875. data/lib/mailchimp/reports/types/get_reports_request.rb +15 -0
  876. data/lib/mailchimp/reports/types/get_sent_to_reports_request.rb +17 -0
  877. data/lib/mailchimp/reports/types/get_unsubscribed_reports_request.rb +17 -0
  878. data/lib/mailchimp/reports/types/list_abuse_reports_reports_request.rb +15 -0
  879. data/lib/mailchimp/reports/types/list_abuse_reports_reports_response.rb +18 -0
  880. data/lib/mailchimp/reports/types/list_abuse_reports_reports_response_links_item.rb +21 -0
  881. data/lib/mailchimp/reports/types/list_abuse_reports_reports_response_links_item_method.rb +19 -0
  882. data/lib/mailchimp/reports/types/list_advice_reports_request.rb +15 -0
  883. data/lib/mailchimp/reports/types/list_advice_reports_response.rb +18 -0
  884. data/lib/mailchimp/reports/types/list_advice_reports_response_advice_item.rb +16 -0
  885. data/lib/mailchimp/reports/types/list_advice_reports_response_advice_item_links_item.rb +21 -0
  886. data/lib/mailchimp/reports/types/list_advice_reports_response_advice_item_links_item_method.rb +19 -0
  887. data/lib/mailchimp/reports/types/list_advice_reports_response_advice_item_type.rb +15 -0
  888. data/lib/mailchimp/reports/types/list_advice_reports_response_links_item.rb +21 -0
  889. data/lib/mailchimp/reports/types/list_advice_reports_response_links_item_method.rb +19 -0
  890. data/lib/mailchimp/reports/types/list_click_detail_members_reports_request.rb +21 -0
  891. data/lib/mailchimp/reports/types/list_click_detail_members_reports_response.rb +18 -0
  892. data/lib/mailchimp/reports/types/list_click_detail_members_reports_response_links_item.rb +21 -0
  893. data/lib/mailchimp/reports/types/list_click_detail_members_reports_response_links_item_method.rb +19 -0
  894. data/lib/mailchimp/reports/types/list_click_details_reports_request.rb +25 -0
  895. data/lib/mailchimp/reports/types/list_click_details_reports_request_sort_dir.rb +14 -0
  896. data/lib/mailchimp/reports/types/list_click_details_reports_request_sort_field.rb +14 -0
  897. data/lib/mailchimp/reports/types/list_click_details_reports_response.rb +18 -0
  898. data/lib/mailchimp/reports/types/list_click_details_reports_response_links_item.rb +21 -0
  899. data/lib/mailchimp/reports/types/list_click_details_reports_response_links_item_method.rb +19 -0
  900. data/lib/mailchimp/reports/types/list_domain_performance_reports_request.rb +15 -0
  901. data/lib/mailchimp/reports/types/list_domain_performance_reports_response.rb +20 -0
  902. data/lib/mailchimp/reports/types/list_domain_performance_reports_response_domains_item.rb +34 -0
  903. data/lib/mailchimp/reports/types/list_domain_performance_reports_response_links_item.rb +21 -0
  904. data/lib/mailchimp/reports/types/list_domain_performance_reports_response_links_item_method.rb +19 -0
  905. data/lib/mailchimp/reports/types/list_ecommerce_product_activity_reports_request.rb +21 -0
  906. data/lib/mailchimp/reports/types/list_ecommerce_product_activity_reports_request_sort_field.rb +15 -0
  907. data/lib/mailchimp/reports/types/list_ecommerce_product_activity_reports_response.rb +16 -0
  908. data/lib/mailchimp/reports/types/list_ecommerce_product_activity_reports_response_links_item.rb +21 -0
  909. data/lib/mailchimp/reports/types/list_ecommerce_product_activity_reports_response_links_item_method.rb +19 -0
  910. data/lib/mailchimp/reports/types/list_ecommerce_product_activity_reports_response_products_item.rb +25 -0
  911. data/lib/mailchimp/reports/types/list_eepurl_reports_request.rb +15 -0
  912. data/lib/mailchimp/reports/types/list_eepurl_reports_response.rb +24 -0
  913. data/lib/mailchimp/reports/types/list_eepurl_reports_response_clicks.rb +18 -0
  914. data/lib/mailchimp/reports/types/list_eepurl_reports_response_clicks_locations_item.rb +14 -0
  915. data/lib/mailchimp/reports/types/list_eepurl_reports_response_links_item.rb +21 -0
  916. data/lib/mailchimp/reports/types/list_eepurl_reports_response_links_item_method.rb +19 -0
  917. data/lib/mailchimp/reports/types/list_eepurl_reports_response_referrers_item.rb +18 -0
  918. data/lib/mailchimp/reports/types/list_eepurl_reports_response_twitter.rb +20 -0
  919. data/lib/mailchimp/reports/types/list_eepurl_reports_response_twitter_statuses_item.rb +20 -0
  920. data/lib/mailchimp/reports/types/list_email_activity_reports_request.rb +23 -0
  921. data/lib/mailchimp/reports/types/list_email_activity_reports_response.rb +18 -0
  922. data/lib/mailchimp/reports/types/list_email_activity_reports_response_links_item.rb +21 -0
  923. data/lib/mailchimp/reports/types/list_email_activity_reports_response_links_item_method.rb +19 -0
  924. data/lib/mailchimp/reports/types/list_locations_reports_request.rb +19 -0
  925. data/lib/mailchimp/reports/types/list_locations_reports_response.rb +18 -0
  926. data/lib/mailchimp/reports/types/list_locations_reports_response_links_item.rb +21 -0
  927. data/lib/mailchimp/reports/types/list_locations_reports_response_links_item_method.rb +19 -0
  928. data/lib/mailchimp/reports/types/list_locations_reports_response_locations_item.rb +19 -0
  929. data/lib/mailchimp/reports/types/list_open_details_reports_request.rb +27 -0
  930. data/lib/mailchimp/reports/types/list_open_details_reports_request_sort_dir.rb +14 -0
  931. data/lib/mailchimp/reports/types/list_open_details_reports_request_sort_field.rb +13 -0
  932. data/lib/mailchimp/reports/types/list_open_details_reports_response.rb +22 -0
  933. data/lib/mailchimp/reports/types/list_open_details_reports_response_links_item.rb +21 -0
  934. data/lib/mailchimp/reports/types/list_open_details_reports_response_links_item_method.rb +19 -0
  935. data/lib/mailchimp/reports/types/list_reports_request.rb +23 -0
  936. data/lib/mailchimp/reports/types/list_reports_request_type.rb +17 -0
  937. data/lib/mailchimp/reports/types/list_reports_response.rb +16 -0
  938. data/lib/mailchimp/reports/types/list_reports_response_links_item.rb +21 -0
  939. data/lib/mailchimp/reports/types/list_reports_response_links_item_method.rb +19 -0
  940. data/lib/mailchimp/reports/types/list_sent_to_reports_request.rb +19 -0
  941. data/lib/mailchimp/reports/types/list_sent_to_reports_response.rb +18 -0
  942. data/lib/mailchimp/reports/types/list_sent_to_reports_response_links_item.rb +21 -0
  943. data/lib/mailchimp/reports/types/list_sent_to_reports_response_links_item_method.rb +19 -0
  944. data/lib/mailchimp/reports/types/list_sub_reports_reports_request.rb +15 -0
  945. data/lib/mailchimp/reports/types/list_sub_reports_reports_response.rb +18 -0
  946. data/lib/mailchimp/reports/types/list_sub_reports_reports_response_links_item.rb +21 -0
  947. data/lib/mailchimp/reports/types/list_sub_reports_reports_response_links_item_method.rb +19 -0
  948. data/lib/mailchimp/reports/types/list_unsubscribed_reports_request.rb +19 -0
  949. data/lib/mailchimp/reports/types/list_unsubscribed_reports_response.rb +18 -0
  950. data/lib/mailchimp/reports/types/list_unsubscribed_reports_response_links_item.rb +21 -0
  951. data/lib/mailchimp/reports/types/list_unsubscribed_reports_response_links_item_method.rb +19 -0
  952. data/lib/mailchimp/root/client.rb +57 -0
  953. data/lib/mailchimp/root/types/list_root_request.rb +13 -0
  954. data/lib/mailchimp/root/types/list_root_response.rb +50 -0
  955. data/lib/mailchimp/root/types/list_root_response_contact.rb +24 -0
  956. data/lib/mailchimp/root/types/list_root_response_first_payment.rb +16 -0
  957. data/lib/mailchimp/root/types/list_root_response_first_payment_one.rb +13 -0
  958. data/lib/mailchimp/root/types/list_root_response_industry_stats.rb +18 -0
  959. data/lib/mailchimp/root/types/list_root_response_links_item.rb +21 -0
  960. data/lib/mailchimp/root/types/list_root_response_links_item_method.rb +19 -0
  961. data/lib/mailchimp/root/types/list_root_response_pricing_plan_type.rb +15 -0
  962. data/lib/mailchimp/search_campaigns/client.rb +59 -0
  963. data/lib/mailchimp/search_campaigns/types/list_search_campaigns_request.rb +15 -0
  964. data/lib/mailchimp/search_campaigns/types/list_search_campaigns_response.rb +16 -0
  965. data/lib/mailchimp/search_campaigns/types/list_search_campaigns_response_links_item.rb +21 -0
  966. data/lib/mailchimp/search_campaigns/types/list_search_campaigns_response_links_item_method.rb +19 -0
  967. data/lib/mailchimp/search_campaigns/types/list_search_campaigns_response_results_item.rb +13 -0
  968. data/lib/mailchimp/search_members/client.rb +62 -0
  969. data/lib/mailchimp/search_members/types/list_search_members_request.rb +17 -0
  970. data/lib/mailchimp/search_members/types/list_search_members_response.rb +16 -0
  971. data/lib/mailchimp/search_members/types/list_search_members_response_exact_matches.rb +14 -0
  972. data/lib/mailchimp/search_members/types/list_search_members_response_full_search.rb +14 -0
  973. data/lib/mailchimp/search_members/types/list_search_members_response_links_item.rb +21 -0
  974. data/lib/mailchimp/search_members/types/list_search_members_response_links_item_method.rb +19 -0
  975. data/lib/mailchimp/sms_campaigns/client.rb +430 -0
  976. data/lib/mailchimp/sms_campaigns/types/create_action_cancel_send_sms_campaigns_request.rb +11 -0
  977. data/lib/mailchimp/sms_campaigns/types/create_action_schedule_sms_campaigns_request.rb +13 -0
  978. data/lib/mailchimp/sms_campaigns/types/create_action_send_sms_campaigns_request.rb +11 -0
  979. data/lib/mailchimp/sms_campaigns/types/create_sms_campaigns_request.rb +19 -0
  980. data/lib/mailchimp/sms_campaigns/types/delete_sms_campaigns_request.rb +11 -0
  981. data/lib/mailchimp/sms_campaigns/types/get_content_sms_campaigns_request.rb +15 -0
  982. data/lib/mailchimp/sms_campaigns/types/get_sms_campaigns_request.rb +15 -0
  983. data/lib/mailchimp/sms_campaigns/types/list_sms_campaigns_request.rb +17 -0
  984. data/lib/mailchimp/sms_campaigns/types/list_sms_campaigns_response.rb +16 -0
  985. data/lib/mailchimp/sms_campaigns/types/list_sms_campaigns_response_links_item.rb +21 -0
  986. data/lib/mailchimp/sms_campaigns/types/list_sms_campaigns_response_links_item_method.rb +19 -0
  987. data/lib/mailchimp/sms_campaigns/types/update_sms_campaigns_request.rb +19 -0
  988. data/lib/mailchimp/sms_campaigns/types/upsert_content_sms_campaigns_request.rb +15 -0
  989. data/lib/mailchimp/sms_campaigns/types/upsert_content_sms_campaigns_request_media_item.rb +11 -0
  990. data/lib/mailchimp/surveys/client.rb +137 -0
  991. data/lib/mailchimp/surveys/types/create_list_survey_action_create_email_surveys_request.rb +13 -0
  992. data/lib/mailchimp/surveys/types/create_list_survey_action_publish_surveys_request.rb +13 -0
  993. data/lib/mailchimp/surveys/types/create_list_survey_action_unpublish_surveys_request.rb +13 -0
  994. data/lib/mailchimp/template_folders/client.rb +231 -0
  995. data/lib/mailchimp/template_folders/types/create_template_folders_request.rb +11 -0
  996. data/lib/mailchimp/template_folders/types/create_template_folders_response.rb +18 -0
  997. data/lib/mailchimp/template_folders/types/create_template_folders_response_links_item.rb +21 -0
  998. data/lib/mailchimp/template_folders/types/create_template_folders_response_links_item_method.rb +19 -0
  999. data/lib/mailchimp/template_folders/types/delete_template_folders_request.rb +11 -0
  1000. data/lib/mailchimp/template_folders/types/get_template_folders_request.rb +15 -0
  1001. data/lib/mailchimp/template_folders/types/get_template_folders_response.rb +18 -0
  1002. data/lib/mailchimp/template_folders/types/get_template_folders_response_links_item.rb +21 -0
  1003. data/lib/mailchimp/template_folders/types/get_template_folders_response_links_item_method.rb +19 -0
  1004. data/lib/mailchimp/template_folders/types/list_template_folders_request.rb +17 -0
  1005. data/lib/mailchimp/template_folders/types/list_template_folders_response.rb +16 -0
  1006. data/lib/mailchimp/template_folders/types/list_template_folders_response_folders_item.rb +18 -0
  1007. data/lib/mailchimp/template_folders/types/list_template_folders_response_folders_item_links_item.rb +21 -0
  1008. data/lib/mailchimp/template_folders/types/list_template_folders_response_folders_item_links_item_method.rb +19 -0
  1009. data/lib/mailchimp/template_folders/types/list_template_folders_response_links_item.rb +21 -0
  1010. data/lib/mailchimp/template_folders/types/list_template_folders_response_links_item_method.rb +19 -0
  1011. data/lib/mailchimp/template_folders/types/update_template_folders_request.rb +13 -0
  1012. data/lib/mailchimp/template_folders/types/update_template_folders_response.rb +18 -0
  1013. data/lib/mailchimp/template_folders/types/update_template_folders_response_links_item.rb +21 -0
  1014. data/lib/mailchimp/template_folders/types/update_template_folders_response_links_item_method.rb +19 -0
  1015. data/lib/mailchimp/templates/client.rb +293 -0
  1016. data/lib/mailchimp/templates/types/create_templates_request.rb +15 -0
  1017. data/lib/mailchimp/templates/types/delete_templates_request.rb +11 -0
  1018. data/lib/mailchimp/templates/types/get_templates_request.rb +15 -0
  1019. data/lib/mailchimp/templates/types/list_default_content_templates_request.rb +15 -0
  1020. data/lib/mailchimp/templates/types/list_default_content_templates_response.rb +14 -0
  1021. data/lib/mailchimp/templates/types/list_default_content_templates_response_links_item.rb +21 -0
  1022. data/lib/mailchimp/templates/types/list_default_content_templates_response_links_item_method.rb +19 -0
  1023. data/lib/mailchimp/templates/types/list_templates_request.rb +35 -0
  1024. data/lib/mailchimp/templates/types/list_templates_request_content_type.rb +15 -0
  1025. data/lib/mailchimp/templates/types/list_templates_request_sort_dir.rb +14 -0
  1026. data/lib/mailchimp/templates/types/list_templates_request_sort_field.rb +15 -0
  1027. data/lib/mailchimp/templates/types/list_templates_response.rb +16 -0
  1028. data/lib/mailchimp/templates/types/list_templates_response_links_item.rb +21 -0
  1029. data/lib/mailchimp/templates/types/list_templates_response_links_item_method.rb +19 -0
  1030. data/lib/mailchimp/templates/types/update_templates_request.rb +17 -0
  1031. data/lib/mailchimp/types/ab_testing_options.rb +36 -0
  1032. data/lib/mailchimp/types/ab_testing_options_pick_winner.rb +13 -0
  1033. data/lib/mailchimp/types/ab_testing_options_split_test.rb +13 -0
  1034. data/lib/mailchimp/types/ab_testing_options_wait_units.rb +12 -0
  1035. data/lib/mailchimp/types/abuse_complaint.rb +29 -0
  1036. data/lib/mailchimp/types/abuse_complaint_links_item.rb +19 -0
  1037. data/lib/mailchimp/types/abuse_complaint_links_item_method.rb +17 -0
  1038. data/lib/mailchimp/types/abuse_complaint_merge_fields_value.rb +16 -0
  1039. data/lib/mailchimp/types/abuse_complaint_merge_fields_value_addr1.rb +19 -0
  1040. data/lib/mailchimp/types/add_webhook.rb +14 -0
  1041. data/lib/mailchimp/types/add_webhook_events.rb +28 -0
  1042. data/lib/mailchimp/types/add_webhook_sources.rb +14 -0
  1043. data/lib/mailchimp/types/audiences_contact.rb +30 -0
  1044. data/lib/mailchimp/types/audiences_contact_email_channel.rb +17 -0
  1045. data/lib/mailchimp/types/audiences_contact_email_channel_effective_subscription_status.rb +16 -0
  1046. data/lib/mailchimp/types/audiences_contact_email_channel_effective_subscription_status_value.rb +14 -0
  1047. data/lib/mailchimp/types/audiences_contact_email_channel_marketing_consent.rb +16 -0
  1048. data/lib/mailchimp/types/audiences_contact_email_channel_marketing_consent_source.rb +10 -0
  1049. data/lib/mailchimp/types/audiences_contact_email_channel_marketing_consent_status.rb +14 -0
  1050. data/lib/mailchimp/types/audiences_contact_email_channel_source.rb +10 -0
  1051. data/lib/mailchimp/types/audiences_contact_language.rb +63 -0
  1052. data/lib/mailchimp/types/audiences_contact_merge_fields_value.rb +16 -0
  1053. data/lib/mailchimp/types/audiences_contact_merge_fields_value_addr1.rb +19 -0
  1054. data/lib/mailchimp/types/audiences_contact_sms_channel.rb +17 -0
  1055. data/lib/mailchimp/types/audiences_contact_sms_channel_effective_subscription_status.rb +16 -0
  1056. data/lib/mailchimp/types/audiences_contact_sms_channel_effective_subscription_status_value.rb +14 -0
  1057. data/lib/mailchimp/types/audiences_contact_sms_channel_marketing_consent.rb +16 -0
  1058. data/lib/mailchimp/types/audiences_contact_sms_channel_marketing_consent_source.rb +10 -0
  1059. data/lib/mailchimp/types/audiences_contact_sms_channel_marketing_consent_status.rb +14 -0
  1060. data/lib/mailchimp/types/audiences_contact_sms_channel_source.rb +10 -0
  1061. data/lib/mailchimp/types/audiences_contact_source.rb +10 -0
  1062. data/lib/mailchimp/types/audiences_contact_status.rb +12 -0
  1063. data/lib/mailchimp/types/automation_workflow.rb +30 -0
  1064. data/lib/mailchimp/types/automation_workflow_email.rb +50 -0
  1065. data/lib/mailchimp/types/automation_workflow_email_delay.rb +20 -0
  1066. data/lib/mailchimp/types/automation_workflow_email_delay_action.rb +43 -0
  1067. data/lib/mailchimp/types/automation_workflow_email_delay_direction.rb +12 -0
  1068. data/lib/mailchimp/types/automation_workflow_email_delay_type.rb +14 -0
  1069. data/lib/mailchimp/types/automation_workflow_email_links_item.rb +19 -0
  1070. data/lib/mailchimp/types/automation_workflow_email_links_item_method.rb +17 -0
  1071. data/lib/mailchimp/types/automation_workflow_email_recipients.rb +20 -0
  1072. data/lib/mailchimp/types/automation_workflow_email_recipients_segment_opts.rb +17 -0
  1073. data/lib/mailchimp/types/automation_workflow_email_recipients_segment_opts_match.rb +12 -0
  1074. data/lib/mailchimp/types/automation_workflow_email_recipients_segment_opts_saved_segment_id.rb +14 -0
  1075. data/lib/mailchimp/types/automation_workflow_email_report_summary.rb +20 -0
  1076. data/lib/mailchimp/types/automation_workflow_email_settings.rb +34 -0
  1077. data/lib/mailchimp/types/automation_workflow_email_social_card.rb +15 -0
  1078. data/lib/mailchimp/types/automation_workflow_email_status.rb +13 -0
  1079. data/lib/mailchimp/types/automation_workflow_email_tracking.rb +26 -0
  1080. data/lib/mailchimp/types/automation_workflow_email_tracking_capsule.rb +10 -0
  1081. data/lib/mailchimp/types/automation_workflow_email_tracking_salesforce.rb +12 -0
  1082. data/lib/mailchimp/types/automation_workflow_email_trigger_settings.rb +16 -0
  1083. data/lib/mailchimp/types/automation_workflow_email_trigger_settings_runtime.rb +12 -0
  1084. data/lib/mailchimp/types/automation_workflow_email_trigger_settings_runtime_days_item.rb +17 -0
  1085. data/lib/mailchimp/types/automation_workflow_email_trigger_settings_runtime_hours.rb +10 -0
  1086. data/lib/mailchimp/types/automation_workflow_email_trigger_settings_runtime_hours_type.rb +13 -0
  1087. data/lib/mailchimp/types/automation_workflow_email_trigger_settings_workflow_type.rb +27 -0
  1088. data/lib/mailchimp/types/automation_workflow_links_item.rb +19 -0
  1089. data/lib/mailchimp/types/automation_workflow_links_item_method.rb +17 -0
  1090. data/lib/mailchimp/types/automation_workflow_recipients.rb +18 -0
  1091. data/lib/mailchimp/types/automation_workflow_report_summary.rb +20 -0
  1092. data/lib/mailchimp/types/automation_workflow_settings.rb +24 -0
  1093. data/lib/mailchimp/types/automation_workflow_status.rb +13 -0
  1094. data/lib/mailchimp/types/automation_workflow_tracking.rb +26 -0
  1095. data/lib/mailchimp/types/automation_workflow_tracking_capsule.rb +10 -0
  1096. data/lib/mailchimp/types/automation_workflow_tracking_salesforce.rb +12 -0
  1097. data/lib/mailchimp/types/automation_workflow_trigger_settings.rb +16 -0
  1098. data/lib/mailchimp/types/automation_workflow_trigger_settings_runtime.rb +12 -0
  1099. data/lib/mailchimp/types/automation_workflow_trigger_settings_runtime_days_item.rb +17 -0
  1100. data/lib/mailchimp/types/automation_workflow_trigger_settings_runtime_hours.rb +10 -0
  1101. data/lib/mailchimp/types/automation_workflow_trigger_settings_runtime_hours_type.rb +13 -0
  1102. data/lib/mailchimp/types/automation_workflow_trigger_settings_workflow_type.rb +27 -0
  1103. data/lib/mailchimp/types/batch.rb +26 -0
  1104. data/lib/mailchimp/types/batch_completed_at.rb +14 -0
  1105. data/lib/mailchimp/types/batch_completed_at_one.rb +11 -0
  1106. data/lib/mailchimp/types/batch_links_item.rb +19 -0
  1107. data/lib/mailchimp/types/batch_links_item_method.rb +17 -0
  1108. data/lib/mailchimp/types/batch_status.rb +15 -0
  1109. data/lib/mailchimp/types/batch_webhook.rb +18 -0
  1110. data/lib/mailchimp/types/batch_webhook_links_item_item.rb +19 -0
  1111. data/lib/mailchimp/types/batch_webhook_links_item_item_method.rb +17 -0
  1112. data/lib/mailchimp/types/campaign.rb +54 -0
  1113. data/lib/mailchimp/types/campaign_content.rb +18 -0
  1114. data/lib/mailchimp/types/campaign_content_links_item.rb +19 -0
  1115. data/lib/mailchimp/types/campaign_content_links_item_method.rb +17 -0
  1116. data/lib/mailchimp/types/campaign_content_variate_contents_item.rb +13 -0
  1117. data/lib/mailchimp/types/campaign_delivery_status.rb +18 -0
  1118. data/lib/mailchimp/types/campaign_delivery_status_status.rb +14 -0
  1119. data/lib/mailchimp/types/campaign_feedback.rb +30 -0
  1120. data/lib/mailchimp/types/campaign_feedback_links_item.rb +19 -0
  1121. data/lib/mailchimp/types/campaign_feedback_links_item_method.rb +17 -0
  1122. data/lib/mailchimp/types/campaign_feedback_source.rb +16 -0
  1123. data/lib/mailchimp/types/campaign_folders.rb +14 -0
  1124. data/lib/mailchimp/types/campaign_folders_folders_item.rb +16 -0
  1125. data/lib/mailchimp/types/campaign_folders_folders_item_links_item.rb +19 -0
  1126. data/lib/mailchimp/types/campaign_folders_folders_item_links_item_method.rb +17 -0
  1127. data/lib/mailchimp/types/campaign_folders_links_item.rb +19 -0
  1128. data/lib/mailchimp/types/campaign_folders_links_item_method.rb +17 -0
  1129. data/lib/mailchimp/types/campaign_links_item.rb +19 -0
  1130. data/lib/mailchimp/types/campaign_links_item_method.rb +17 -0
  1131. data/lib/mailchimp/types/campaign_recipients.rb +18 -0
  1132. data/lib/mailchimp/types/campaign_recipients_segment_opts.rb +17 -0
  1133. data/lib/mailchimp/types/campaign_recipients_segment_opts_match.rb +12 -0
  1134. data/lib/mailchimp/types/campaign_recipients_segment_opts_saved_segment_id.rb +14 -0
  1135. data/lib/mailchimp/types/campaign_report.rb +62 -0
  1136. data/lib/mailchimp/types/campaign_report_ab_split.rb +13 -0
  1137. data/lib/mailchimp/types/campaign_report_ab_split_a.rb +26 -0
  1138. data/lib/mailchimp/types/campaign_report_ab_split_b.rb +26 -0
  1139. data/lib/mailchimp/types/campaign_report_bounces.rb +14 -0
  1140. data/lib/mailchimp/types/campaign_report_clicks.rb +18 -0
  1141. data/lib/mailchimp/types/campaign_report_delivery_status.rb +18 -0
  1142. data/lib/mailchimp/types/campaign_report_delivery_status_status.rb +14 -0
  1143. data/lib/mailchimp/types/campaign_report_ecommerce.rb +16 -0
  1144. data/lib/mailchimp/types/campaign_report_facebook_likes.rb +14 -0
  1145. data/lib/mailchimp/types/campaign_report_forwards.rb +12 -0
  1146. data/lib/mailchimp/types/campaign_report_industry_stats.rb +22 -0
  1147. data/lib/mailchimp/types/campaign_report_links_item.rb +19 -0
  1148. data/lib/mailchimp/types/campaign_report_links_item_method.rb +17 -0
  1149. data/lib/mailchimp/types/campaign_report_list_stats.rb +19 -0
  1150. data/lib/mailchimp/types/campaign_report_opens.rb +22 -0
  1151. data/lib/mailchimp/types/campaign_report_share_report.rb +12 -0
  1152. data/lib/mailchimp/types/campaign_report_summary.rb +22 -0
  1153. data/lib/mailchimp/types/campaign_report_summary_ecommerce.rb +14 -0
  1154. data/lib/mailchimp/types/campaign_report_timeseries_item.rb +17 -0
  1155. data/lib/mailchimp/types/campaign_report_timewarp_item.rb +23 -0
  1156. data/lib/mailchimp/types/campaign_rss_opts.rb +18 -0
  1157. data/lib/mailchimp/types/campaign_rss_opts_frequency.rb +13 -0
  1158. data/lib/mailchimp/types/campaign_rss_opts_schedule.rb +16 -0
  1159. data/lib/mailchimp/types/campaign_rss_opts_schedule_daily_send.rb +22 -0
  1160. data/lib/mailchimp/types/campaign_rss_opts_schedule_weekly_send_day.rb +17 -0
  1161. data/lib/mailchimp/types/campaign_settings.rb +42 -0
  1162. data/lib/mailchimp/types/campaign_social_card.rb +15 -0
  1163. data/lib/mailchimp/types/campaign_status.rb +18 -0
  1164. data/lib/mailchimp/types/campaign_tracking_options.rb +26 -0
  1165. data/lib/mailchimp/types/campaign_tracking_options_capsule.rb +10 -0
  1166. data/lib/mailchimp/types/campaign_tracking_options_salesforce.rb +12 -0
  1167. data/lib/mailchimp/types/campaign_type.rb +15 -0
  1168. data/lib/mailchimp/types/campaign_variate_settings.rb +30 -0
  1169. data/lib/mailchimp/types/campaign_variate_settings_combinations_item.rb +21 -0
  1170. data/lib/mailchimp/types/campaign_variate_settings_winner_criteria.rb +14 -0
  1171. data/lib/mailchimp/types/campaigns.rb +58 -0
  1172. data/lib/mailchimp/types/campaigns_content_type.rb +14 -0
  1173. data/lib/mailchimp/types/campaigns_delivery_status.rb +18 -0
  1174. data/lib/mailchimp/types/campaigns_delivery_status_status.rb +14 -0
  1175. data/lib/mailchimp/types/campaigns_links_item.rb +19 -0
  1176. data/lib/mailchimp/types/campaigns_links_item_method.rb +17 -0
  1177. data/lib/mailchimp/types/campaigns_recipients.rb +20 -0
  1178. data/lib/mailchimp/types/campaigns_recipients_segment_opts.rb +17 -0
  1179. data/lib/mailchimp/types/campaigns_recipients_segment_opts_match.rb +12 -0
  1180. data/lib/mailchimp/types/campaigns_recipients_segment_opts_saved_segment_id.rb +14 -0
  1181. data/lib/mailchimp/types/campaigns_report_summary.rb +22 -0
  1182. data/lib/mailchimp/types/campaigns_report_summary_ecommerce.rb +14 -0
  1183. data/lib/mailchimp/types/campaigns_resend_shortcut_eligibility.rb +17 -0
  1184. data/lib/mailchimp/types/campaigns_resend_shortcut_eligibility_to_new_subscribers.rb +12 -0
  1185. data/lib/mailchimp/types/campaigns_resend_shortcut_eligibility_to_non_clickers.rb +12 -0
  1186. data/lib/mailchimp/types/campaigns_resend_shortcut_eligibility_to_non_openers.rb +12 -0
  1187. data/lib/mailchimp/types/campaigns_resend_shortcut_eligibility_to_non_purchasers.rb +12 -0
  1188. data/lib/mailchimp/types/campaigns_resend_shortcut_usage.rb +12 -0
  1189. data/lib/mailchimp/types/campaigns_resend_shortcut_usage_original_campaign.rb +16 -0
  1190. data/lib/mailchimp/types/campaigns_resend_shortcut_usage_original_campaign_shortcut_type.rb +14 -0
  1191. data/lib/mailchimp/types/campaigns_resend_shortcut_usage_shortcut_campaigns_item.rb +17 -0
  1192. data/lib/mailchimp/types/campaigns_resend_shortcut_usage_shortcut_campaigns_item_shortcut_type.rb +14 -0
  1193. data/lib/mailchimp/types/campaigns_resend_shortcut_usage_shortcut_campaigns_item_status.rb +18 -0
  1194. data/lib/mailchimp/types/campaigns_rss_opts.rb +18 -0
  1195. data/lib/mailchimp/types/campaigns_rss_opts_frequency.rb +13 -0
  1196. data/lib/mailchimp/types/campaigns_rss_opts_schedule.rb +16 -0
  1197. data/lib/mailchimp/types/campaigns_rss_opts_schedule_daily_send.rb +22 -0
  1198. data/lib/mailchimp/types/campaigns_rss_opts_schedule_weekly_send_day.rb +17 -0
  1199. data/lib/mailchimp/types/campaigns_settings.rb +42 -0
  1200. data/lib/mailchimp/types/campaigns_social_card.rb +15 -0
  1201. data/lib/mailchimp/types/campaigns_status.rb +18 -0
  1202. data/lib/mailchimp/types/campaigns_type.rb +15 -0
  1203. data/lib/mailchimp/types/campaigns_variate_settings.rb +30 -0
  1204. data/lib/mailchimp/types/campaigns_variate_settings_combinations_item.rb +21 -0
  1205. data/lib/mailchimp/types/campaigns_variate_settings_winner_criteria.rb +14 -0
  1206. data/lib/mailchimp/types/click_detail_member.rb +30 -0
  1207. data/lib/mailchimp/types/click_detail_member_links_item.rb +19 -0
  1208. data/lib/mailchimp/types/click_detail_member_links_item_method.rb +17 -0
  1209. data/lib/mailchimp/types/click_detail_member_merge_fields_value.rb +16 -0
  1210. data/lib/mailchimp/types/click_detail_member_merge_fields_value_addr1.rb +19 -0
  1211. data/lib/mailchimp/types/click_detail_report.rb +28 -0
  1212. data/lib/mailchimp/types/click_detail_report_ab_split.rb +13 -0
  1213. data/lib/mailchimp/types/click_detail_report_ab_split_a.rb +16 -0
  1214. data/lib/mailchimp/types/click_detail_report_ab_split_b.rb +16 -0
  1215. data/lib/mailchimp/types/click_detail_report_links_item.rb +19 -0
  1216. data/lib/mailchimp/types/click_detail_report_links_item_method.rb +17 -0
  1217. data/lib/mailchimp/types/connected_site.rb +24 -0
  1218. data/lib/mailchimp/types/connected_site_links_item.rb +19 -0
  1219. data/lib/mailchimp/types/connected_site_links_item_method.rb +17 -0
  1220. data/lib/mailchimp/types/connected_site_site_script.rb +12 -0
  1221. data/lib/mailchimp/types/conversation.rb +29 -0
  1222. data/lib/mailchimp/types/conversation_last_message.rb +20 -0
  1223. data/lib/mailchimp/types/conversation_links_item.rb +19 -0
  1224. data/lib/mailchimp/types/conversation_links_item_method.rb +17 -0
  1225. data/lib/mailchimp/types/conversation_message.rb +29 -0
  1226. data/lib/mailchimp/types/conversation_message_links_item.rb +19 -0
  1227. data/lib/mailchimp/types/conversation_message_links_item_method.rb +17 -0
  1228. data/lib/mailchimp/types/e_commerce_cart.rb +30 -0
  1229. data/lib/mailchimp/types/e_commerce_cart_line_item.rb +24 -0
  1230. data/lib/mailchimp/types/e_commerce_cart_line_item_links_item.rb +19 -0
  1231. data/lib/mailchimp/types/e_commerce_cart_line_item_links_item_method.rb +17 -0
  1232. data/lib/mailchimp/types/e_commerce_cart_links_item.rb +19 -0
  1233. data/lib/mailchimp/types/e_commerce_cart_links_item_method.rb +17 -0
  1234. data/lib/mailchimp/types/e_commerce_customer.rb +34 -0
  1235. data/lib/mailchimp/types/e_commerce_customer_address.rb +24 -0
  1236. data/lib/mailchimp/types/e_commerce_customer_links_item.rb +19 -0
  1237. data/lib/mailchimp/types/e_commerce_customer_links_item_method.rb +17 -0
  1238. data/lib/mailchimp/types/e_commerce_customer_total_spent.rb +13 -0
  1239. data/lib/mailchimp/types/e_commerce_order.rb +62 -0
  1240. data/lib/mailchimp/types/e_commerce_order_billing_address.rb +34 -0
  1241. data/lib/mailchimp/types/e_commerce_order_line_item.rb +28 -0
  1242. data/lib/mailchimp/types/e_commerce_order_line_item_links_item.rb +19 -0
  1243. data/lib/mailchimp/types/e_commerce_order_line_item_links_item_method.rb +17 -0
  1244. data/lib/mailchimp/types/e_commerce_order_line_item_price.rb +13 -0
  1245. data/lib/mailchimp/types/e_commerce_order_links_item.rb +19 -0
  1246. data/lib/mailchimp/types/e_commerce_order_links_item_method.rb +17 -0
  1247. data/lib/mailchimp/types/e_commerce_order_order_total.rb +13 -0
  1248. data/lib/mailchimp/types/e_commerce_order_outreach.rb +16 -0
  1249. data/lib/mailchimp/types/e_commerce_order_promos_item.rb +13 -0
  1250. data/lib/mailchimp/types/e_commerce_order_promos_item_type.rb +12 -0
  1251. data/lib/mailchimp/types/e_commerce_order_shipping_address.rb +34 -0
  1252. data/lib/mailchimp/types/e_commerce_order_shipping_total.rb +13 -0
  1253. data/lib/mailchimp/types/e_commerce_order_tax_total.rb +13 -0
  1254. data/lib/mailchimp/types/e_commerce_order_tracking_code.rb +11 -0
  1255. data/lib/mailchimp/types/e_commerce_product.rb +34 -0
  1256. data/lib/mailchimp/types/e_commerce_product_images_item.rb +16 -0
  1257. data/lib/mailchimp/types/e_commerce_product_images_item_links_item.rb +19 -0
  1258. data/lib/mailchimp/types/e_commerce_product_images_item_links_item_method.rb +17 -0
  1259. data/lib/mailchimp/types/e_commerce_product_links_item.rb +19 -0
  1260. data/lib/mailchimp/types/e_commerce_product_links_item_method.rb +17 -0
  1261. data/lib/mailchimp/types/e_commerce_product_variant.rb +32 -0
  1262. data/lib/mailchimp/types/e_commerce_product_variant_links_item.rb +19 -0
  1263. data/lib/mailchimp/types/e_commerce_product_variant_links_item_method.rb +17 -0
  1264. data/lib/mailchimp/types/e_commerce_promo_code.rb +24 -0
  1265. data/lib/mailchimp/types/e_commerce_promo_code_links_item.rb +19 -0
  1266. data/lib/mailchimp/types/e_commerce_promo_code_links_item_method.rb +17 -0
  1267. data/lib/mailchimp/types/e_commerce_promo_rule.rb +32 -0
  1268. data/lib/mailchimp/types/e_commerce_promo_rule_links_item.rb +19 -0
  1269. data/lib/mailchimp/types/e_commerce_promo_rule_links_item_method.rb +17 -0
  1270. data/lib/mailchimp/types/e_commerce_promo_rule_target.rb +13 -0
  1271. data/lib/mailchimp/types/e_commerce_promo_rule_type.rb +12 -0
  1272. data/lib/mailchimp/types/e_commerce_store.rb +46 -0
  1273. data/lib/mailchimp/types/e_commerce_store_address.rb +28 -0
  1274. data/lib/mailchimp/types/e_commerce_store_automations.rb +12 -0
  1275. data/lib/mailchimp/types/e_commerce_store_automations_abandoned_browse.rb +15 -0
  1276. data/lib/mailchimp/types/e_commerce_store_automations_abandoned_browse_status.rb +13 -0
  1277. data/lib/mailchimp/types/e_commerce_store_automations_abandoned_cart.rb +14 -0
  1278. data/lib/mailchimp/types/e_commerce_store_automations_abandoned_cart_status.rb +13 -0
  1279. data/lib/mailchimp/types/e_commerce_store_connected_site.rb +12 -0
  1280. data/lib/mailchimp/types/e_commerce_store_connected_site_site_script.rb +12 -0
  1281. data/lib/mailchimp/types/e_commerce_store_links_item.rb +19 -0
  1282. data/lib/mailchimp/types/e_commerce_store_links_item_method.rb +17 -0
  1283. data/lib/mailchimp/types/ecommerce_stores_carts_patch.rb +23 -0
  1284. data/lib/mailchimp/types/ecommerce_stores_carts_patch_address.rb +24 -0
  1285. data/lib/mailchimp/types/ecommerce_stores_carts_patch_total_spent.rb +13 -0
  1286. data/lib/mailchimp/types/ecommerce_stores_carts_post.rb +23 -0
  1287. data/lib/mailchimp/types/ecommerce_stores_carts_post_address.rb +24 -0
  1288. data/lib/mailchimp/types/ecommerce_stores_orders_post.rb +30 -0
  1289. data/lib/mailchimp/types/ecommerce_stores_orders_post_id.rb +14 -0
  1290. data/lib/mailchimp/types/ecommerce_stores_orders_post_images_item.rb +14 -0
  1291. data/lib/mailchimp/types/ecommerce_stores_orders_post_images_item_variant_ids_item.rb +13 -0
  1292. data/lib/mailchimp/types/ecommerce_stores_orders_post_variants_item.rb +26 -0
  1293. data/lib/mailchimp/types/ecommerce_stores_orders_post_variants_item_id.rb +14 -0
  1294. data/lib/mailchimp/types/ecommerce_stores_orders_post_variants_item_price.rb +13 -0
  1295. data/lib/mailchimp/types/email_activity.rb +22 -0
  1296. data/lib/mailchimp/types/email_activity_activity_item.rb +18 -0
  1297. data/lib/mailchimp/types/email_activity_links_item.rb +19 -0
  1298. data/lib/mailchimp/types/email_activity_links_item_method.rb +17 -0
  1299. data/lib/mailchimp/types/facebook_ad.rb +35 -0
  1300. data/lib/mailchimp/types/facebook_ad_recipients.rb +20 -0
  1301. data/lib/mailchimp/types/facebook_ad_recipients_segment_opts.rb +17 -0
  1302. data/lib/mailchimp/types/facebook_ad_recipients_segment_opts_match.rb +12 -0
  1303. data/lib/mailchimp/types/facebook_ad_recipients_segment_opts_saved_segment_id.rb +14 -0
  1304. data/lib/mailchimp/types/facebook_ad_report_summary.rb +44 -0
  1305. data/lib/mailchimp/types/facebook_ad_report_summary_ecommerce.rb +13 -0
  1306. data/lib/mailchimp/types/facebook_ad_status.rb +28 -0
  1307. data/lib/mailchimp/types/facebook_ad_type.rb +28 -0
  1308. data/lib/mailchimp/types/facebook_ads.rb +67 -0
  1309. data/lib/mailchimp/types/facebook_ads_audience.rb +20 -0
  1310. data/lib/mailchimp/types/facebook_ads_audience_email_source.rb +17 -0
  1311. data/lib/mailchimp/types/facebook_ads_audience_source_type.rb +12 -0
  1312. data/lib/mailchimp/types/facebook_ads_audience_targeting_specs.rb +17 -0
  1313. data/lib/mailchimp/types/facebook_ads_audience_targeting_specs_interests_item.rb +9 -0
  1314. data/lib/mailchimp/types/facebook_ads_audience_targeting_specs_locations.rb +15 -0
  1315. data/lib/mailchimp/types/facebook_ads_audience_type.rb +13 -0
  1316. data/lib/mailchimp/types/facebook_ads_budget.rb +13 -0
  1317. data/lib/mailchimp/types/facebook_ads_channel.rb +14 -0
  1318. data/lib/mailchimp/types/facebook_ads_content.rb +21 -0
  1319. data/lib/mailchimp/types/facebook_ads_content_attachments_item.rb +17 -0
  1320. data/lib/mailchimp/types/facebook_ads_feedback.rb +16 -0
  1321. data/lib/mailchimp/types/facebook_ads_links_item.rb +19 -0
  1322. data/lib/mailchimp/types/facebook_ads_links_item_method.rb +17 -0
  1323. data/lib/mailchimp/types/facebook_ads_site.rb +14 -0
  1324. data/lib/mailchimp/types/gallery_file.rb +32 -0
  1325. data/lib/mailchimp/types/gallery_file_links_item.rb +19 -0
  1326. data/lib/mailchimp/types/gallery_file_links_item_method.rb +17 -0
  1327. data/lib/mailchimp/types/gallery_file_type.rb +12 -0
  1328. data/lib/mailchimp/types/growth_history.rb +34 -0
  1329. data/lib/mailchimp/types/growth_history_links_item.rb +19 -0
  1330. data/lib/mailchimp/types/growth_history_links_item_method.rb +17 -0
  1331. data/lib/mailchimp/types/interest.rb +23 -0
  1332. data/lib/mailchimp/types/interest_category.rb +21 -0
  1333. data/lib/mailchimp/types/interest_category_links_item.rb +19 -0
  1334. data/lib/mailchimp/types/interest_category_links_item_method.rb +17 -0
  1335. data/lib/mailchimp/types/interest_category_type.rb +14 -0
  1336. data/lib/mailchimp/types/interest_links_item.rb +19 -0
  1337. data/lib/mailchimp/types/interest_links_item_method.rb +17 -0
  1338. data/lib/mailchimp/types/landing_page.rb +42 -0
  1339. data/lib/mailchimp/types/landing_page_links_item.rb +19 -0
  1340. data/lib/mailchimp/types/landing_page_links_item_method.rb +17 -0
  1341. data/lib/mailchimp/types/landing_page_report.rb +46 -0
  1342. data/lib/mailchimp/types/landing_page_report_ecommerce.rb +15 -0
  1343. data/lib/mailchimp/types/landing_page_report_links_item.rb +19 -0
  1344. data/lib/mailchimp/types/landing_page_report_links_item_method.rb +17 -0
  1345. data/lib/mailchimp/types/landing_page_report_signup_tags_item.rb +11 -0
  1346. data/lib/mailchimp/types/landing_page_report_timeseries.rb +11 -0
  1347. data/lib/mailchimp/types/landing_page_report_timeseries_daily_stats.rb +14 -0
  1348. data/lib/mailchimp/types/landing_page_report_timeseries_daily_stats_clicks_item.rb +11 -0
  1349. data/lib/mailchimp/types/landing_page_report_timeseries_daily_stats_unique_visits_item.rb +11 -0
  1350. data/lib/mailchimp/types/landing_page_report_timeseries_daily_stats_visits_item.rb +11 -0
  1351. data/lib/mailchimp/types/landing_page_report_timeseries_weekly_stats.rb +14 -0
  1352. data/lib/mailchimp/types/landing_page_report_timeseries_weekly_stats_clicks_item.rb +11 -0
  1353. data/lib/mailchimp/types/landing_page_report_timeseries_weekly_stats_unique_visits_item.rb +11 -0
  1354. data/lib/mailchimp/types/landing_page_report_timeseries_weekly_stats_visits_item.rb +11 -0
  1355. data/lib/mailchimp/types/landing_page_status.rb +13 -0
  1356. data/lib/mailchimp/types/landing_page_tracking.rb +12 -0
  1357. data/lib/mailchimp/types/list.rb +26 -0
  1358. data/lib/mailchimp/types/list_links_item.rb +19 -0
  1359. data/lib/mailchimp/types/list_links_item_method.rb +17 -0
  1360. data/lib/mailchimp/types/list_members.rb +73 -0
  1361. data/lib/mailchimp/types/list_members_last_note.rb +16 -0
  1362. data/lib/mailchimp/types/list_members_links_item.rb +19 -0
  1363. data/lib/mailchimp/types/list_members_links_item_method.rb +17 -0
  1364. data/lib/mailchimp/types/list_members_location.rb +22 -0
  1365. data/lib/mailchimp/types/list_members_marketing_permissions_item.rb +14 -0
  1366. data/lib/mailchimp/types/list_members_merge_fields_value.rb +16 -0
  1367. data/lib/mailchimp/types/list_members_merge_fields_value_addr1.rb +19 -0
  1368. data/lib/mailchimp/types/list_members_sms_subscription_status.rb +14 -0
  1369. data/lib/mailchimp/types/list_members_stats.rb +14 -0
  1370. data/lib/mailchimp/types/list_members_stats_ecommerce_data.rb +14 -0
  1371. data/lib/mailchimp/types/list_members_status.rb +16 -0
  1372. data/lib/mailchimp/types/list_members_tags_item.rb +11 -0
  1373. data/lib/mailchimp/types/list_options.rb +12 -0
  1374. data/lib/mailchimp/types/list_options_match.rb +12 -0
  1375. data/lib/mailchimp/types/list_type.rb +13 -0
  1376. data/lib/mailchimp/types/list_webhooks.rb +22 -0
  1377. data/lib/mailchimp/types/list_webhooks_events.rb +28 -0
  1378. data/lib/mailchimp/types/list_webhooks_links_item.rb +19 -0
  1379. data/lib/mailchimp/types/list_webhooks_links_item_method.rb +17 -0
  1380. data/lib/mailchimp/types/list_webhooks_sources.rb +14 -0
  1381. data/lib/mailchimp/types/lists_abuse_reports.rb +27 -0
  1382. data/lib/mailchimp/types/lists_abuse_reports_links_item.rb +19 -0
  1383. data/lib/mailchimp/types/lists_abuse_reports_links_item_method.rb +17 -0
  1384. data/lib/mailchimp/types/lists_abuse_reports_merge_fields_value.rb +16 -0
  1385. data/lib/mailchimp/types/lists_abuse_reports_merge_fields_value_addr1.rb +19 -0
  1386. data/lib/mailchimp/types/lists_post.rb +57 -0
  1387. data/lib/mailchimp/types/lists_post_last_note.rb +16 -0
  1388. data/lib/mailchimp/types/lists_post_links_item.rb +19 -0
  1389. data/lib/mailchimp/types/lists_post_links_item_method.rb +17 -0
  1390. data/lib/mailchimp/types/lists_post_location.rb +20 -0
  1391. data/lib/mailchimp/types/lists_post_stats.rb +12 -0
  1392. data/lib/mailchimp/types/lists_post_status.rb +15 -0
  1393. data/lib/mailchimp/types/lists_post_tags_item.rb +11 -0
  1394. data/lib/mailchimp/types/lists_segments_members.rb +53 -0
  1395. data/lib/mailchimp/types/lists_segments_members_last_note.rb +16 -0
  1396. data/lib/mailchimp/types/lists_segments_members_links_item.rb +19 -0
  1397. data/lib/mailchimp/types/lists_segments_members_links_item_method.rb +17 -0
  1398. data/lib/mailchimp/types/lists_segments_members_location.rb +20 -0
  1399. data/lib/mailchimp/types/lists_segments_members_merge_fields_value.rb +16 -0
  1400. data/lib/mailchimp/types/lists_segments_members_merge_fields_value_addr1.rb +19 -0
  1401. data/lib/mailchimp/types/lists_segments_members_stats.rb +12 -0
  1402. data/lib/mailchimp/types/lists_segments_members_status.rb +15 -0
  1403. data/lib/mailchimp/types/member_notes.rb +26 -0
  1404. data/lib/mailchimp/types/member_notes_links_item.rb +19 -0
  1405. data/lib/mailchimp/types/member_notes_links_item_method.rb +17 -0
  1406. data/lib/mailchimp/types/merge_field.rb +36 -0
  1407. data/lib/mailchimp/types/merge_field_links_item.rb +19 -0
  1408. data/lib/mailchimp/types/merge_field_links_item_method.rb +17 -0
  1409. data/lib/mailchimp/types/merge_field_options.rb +18 -0
  1410. data/lib/mailchimp/types/merge_field_type.rb +21 -0
  1411. data/lib/mailchimp/types/open_activity.rb +32 -0
  1412. data/lib/mailchimp/types/open_activity_links_item.rb +19 -0
  1413. data/lib/mailchimp/types/open_activity_links_item_method.rb +17 -0
  1414. data/lib/mailchimp/types/open_activity_merge_fields_value.rb +16 -0
  1415. data/lib/mailchimp/types/open_activity_merge_fields_value_addr1.rb +19 -0
  1416. data/lib/mailchimp/types/open_activity_opens_item.rb +12 -0
  1417. data/lib/mailchimp/types/reporting_facebook_ad.rb +57 -0
  1418. data/lib/mailchimp/types/reporting_facebook_ad_audience.rb +20 -0
  1419. data/lib/mailchimp/types/reporting_facebook_ad_audience_activity.rb +13 -0
  1420. data/lib/mailchimp/types/reporting_facebook_ad_audience_activity_clicks_item.rb +11 -0
  1421. data/lib/mailchimp/types/reporting_facebook_ad_audience_activity_impressions_item.rb +11 -0
  1422. data/lib/mailchimp/types/reporting_facebook_ad_audience_activity_revenue_item.rb +11 -0
  1423. data/lib/mailchimp/types/reporting_facebook_ad_audience_email_source.rb +17 -0
  1424. data/lib/mailchimp/types/reporting_facebook_ad_audience_source_type.rb +12 -0
  1425. data/lib/mailchimp/types/reporting_facebook_ad_audience_targeting_specs.rb +17 -0
  1426. data/lib/mailchimp/types/reporting_facebook_ad_audience_targeting_specs_interests_item.rb +9 -0
  1427. data/lib/mailchimp/types/reporting_facebook_ad_audience_targeting_specs_locations.rb +15 -0
  1428. data/lib/mailchimp/types/reporting_facebook_ad_audience_type.rb +13 -0
  1429. data/lib/mailchimp/types/reporting_facebook_ad_budget.rb +13 -0
  1430. data/lib/mailchimp/types/reporting_facebook_ad_channel.rb +14 -0
  1431. data/lib/mailchimp/types/reporting_facebook_ad_links_item.rb +19 -0
  1432. data/lib/mailchimp/types/reporting_facebook_ad_links_item_method.rb +17 -0
  1433. data/lib/mailchimp/types/reporting_facebook_ad_report_summary.rb +44 -0
  1434. data/lib/mailchimp/types/reporting_facebook_ad_report_summary_average_daily_budget.rb +11 -0
  1435. data/lib/mailchimp/types/reporting_facebook_ad_report_summary_average_order_amount.rb +11 -0
  1436. data/lib/mailchimp/types/reporting_facebook_ad_report_summary_cost_per_click.rb +11 -0
  1437. data/lib/mailchimp/types/reporting_facebook_ad_report_summary_ecommerce.rb +11 -0
  1438. data/lib/mailchimp/types/reporting_facebook_ad_report_summary_extended_at.rb +11 -0
  1439. data/lib/mailchimp/types/segment_type.rb +23 -0
  1440. data/lib/mailchimp/types/segment_type_item.rb +93 -0
  1441. data/lib/mailchimp/types/segment_type_item_address_merge.rb +14 -0
  1442. data/lib/mailchimp/types/segment_type_item_address_merge_op.rb +14 -0
  1443. data/lib/mailchimp/types/segment_type_item_aim.rb +14 -0
  1444. data/lib/mailchimp/types/segment_type_item_aim_field.rb +11 -0
  1445. data/lib/mailchimp/types/segment_type_item_aim_op.rb +16 -0
  1446. data/lib/mailchimp/types/segment_type_item_automation.rb +14 -0
  1447. data/lib/mailchimp/types/segment_type_item_automation_field.rb +11 -0
  1448. data/lib/mailchimp/types/segment_type_item_automation_op.rb +14 -0
  1449. data/lib/mailchimp/types/segment_type_item_birthday_merge.rb +14 -0
  1450. data/lib/mailchimp/types/segment_type_item_birthday_merge_op.rb +14 -0
  1451. data/lib/mailchimp/types/segment_type_item_campaign_poll.rb +14 -0
  1452. data/lib/mailchimp/types/segment_type_item_campaign_poll_field.rb +11 -0
  1453. data/lib/mailchimp/types/segment_type_item_campaign_poll_op.rb +12 -0
  1454. data/lib/mailchimp/types/segment_type_item_conversation.rb +14 -0
  1455. data/lib/mailchimp/types/segment_type_item_conversation_field.rb +11 -0
  1456. data/lib/mailchimp/types/segment_type_item_conversation_op.rb +12 -0
  1457. data/lib/mailchimp/types/segment_type_item_date.rb +16 -0
  1458. data/lib/mailchimp/types/segment_type_item_date_field.rb +13 -0
  1459. data/lib/mailchimp/types/segment_type_item_date_merge.rb +14 -0
  1460. data/lib/mailchimp/types/segment_type_item_date_merge_op.rb +16 -0
  1461. data/lib/mailchimp/types/segment_type_item_date_op.rb +18 -0
  1462. data/lib/mailchimp/types/segment_type_item_ecomm_category.rb +14 -0
  1463. data/lib/mailchimp/types/segment_type_item_ecomm_category_field.rb +12 -0
  1464. data/lib/mailchimp/types/segment_type_item_ecomm_category_op.rb +16 -0
  1465. data/lib/mailchimp/types/segment_type_item_ecomm_number.rb +15 -0
  1466. data/lib/mailchimp/types/segment_type_item_ecomm_number_field.rb +14 -0
  1467. data/lib/mailchimp/types/segment_type_item_ecomm_number_op.rb +14 -0
  1468. data/lib/mailchimp/types/segment_type_item_ecomm_number_value.rb +13 -0
  1469. data/lib/mailchimp/types/segment_type_item_ecomm_purchased.rb +12 -0
  1470. data/lib/mailchimp/types/segment_type_item_ecomm_purchased_field.rb +11 -0
  1471. data/lib/mailchimp/types/segment_type_item_ecomm_purchased_op.rb +12 -0
  1472. data/lib/mailchimp/types/segment_type_item_ecomm_spent.rb +14 -0
  1473. data/lib/mailchimp/types/segment_type_item_ecomm_spent_field.rb +12 -0
  1474. data/lib/mailchimp/types/segment_type_item_ecomm_spent_op.rb +12 -0
  1475. data/lib/mailchimp/types/segment_type_item_ecomm_spent_value.rb +13 -0
  1476. data/lib/mailchimp/types/segment_type_item_ecomm_store.rb +14 -0
  1477. data/lib/mailchimp/types/segment_type_item_ecomm_store_field.rb +11 -0
  1478. data/lib/mailchimp/types/segment_type_item_ecomm_store_op.rb +12 -0
  1479. data/lib/mailchimp/types/segment_type_item_email_address.rb +14 -0
  1480. data/lib/mailchimp/types/segment_type_item_email_address_field.rb +12 -0
  1481. data/lib/mailchimp/types/segment_type_item_email_address_op.rb +18 -0
  1482. data/lib/mailchimp/types/segment_type_item_email_client.rb +14 -0
  1483. data/lib/mailchimp/types/segment_type_item_email_client_field.rb +11 -0
  1484. data/lib/mailchimp/types/segment_type_item_email_client_op.rb +12 -0
  1485. data/lib/mailchimp/types/segment_type_item_fuzzy_segment.rb +14 -0
  1486. data/lib/mailchimp/types/segment_type_item_fuzzy_segment_field.rb +11 -0
  1487. data/lib/mailchimp/types/segment_type_item_fuzzy_segment_op.rb +12 -0
  1488. data/lib/mailchimp/types/segment_type_item_fuzzy_segment_value.rb +13 -0
  1489. data/lib/mailchimp/types/segment_type_item_goal_activity.rb +14 -0
  1490. data/lib/mailchimp/types/segment_type_item_goal_activity_field.rb +11 -0
  1491. data/lib/mailchimp/types/segment_type_item_goal_activity_op.rb +16 -0
  1492. data/lib/mailchimp/types/segment_type_item_goal_timestamp.rb +14 -0
  1493. data/lib/mailchimp/types/segment_type_item_goal_timestamp_field.rb +11 -0
  1494. data/lib/mailchimp/types/segment_type_item_goal_timestamp_op.rb +13 -0
  1495. data/lib/mailchimp/types/segment_type_item_interests.rb +14 -0
  1496. data/lib/mailchimp/types/segment_type_item_interests_op.rb +13 -0
  1497. data/lib/mailchimp/types/segment_type_item_ip_geo_country_state.rb +14 -0
  1498. data/lib/mailchimp/types/segment_type_item_ip_geo_country_state_field.rb +11 -0
  1499. data/lib/mailchimp/types/segment_type_item_ip_geo_country_state_op.rb +14 -0
  1500. data/lib/mailchimp/types/segment_type_item_ip_geo_in.rb +20 -0
  1501. data/lib/mailchimp/types/segment_type_item_ip_geo_in_field.rb +11 -0
  1502. data/lib/mailchimp/types/segment_type_item_ip_geo_in_op.rb +12 -0
  1503. data/lib/mailchimp/types/segment_type_item_ip_geo_in_zip.rb +16 -0
  1504. data/lib/mailchimp/types/segment_type_item_ip_geo_in_zip_field.rb +11 -0
  1505. data/lib/mailchimp/types/segment_type_item_ip_geo_in_zip_op.rb +11 -0
  1506. data/lib/mailchimp/types/segment_type_item_ip_geo_unknown.rb +12 -0
  1507. data/lib/mailchimp/types/segment_type_item_ip_geo_unknown_field.rb +11 -0
  1508. data/lib/mailchimp/types/segment_type_item_ip_geo_unknown_op.rb +11 -0
  1509. data/lib/mailchimp/types/segment_type_item_ip_geo_zip.rb +14 -0
  1510. data/lib/mailchimp/types/segment_type_item_ip_geo_zip_field.rb +11 -0
  1511. data/lib/mailchimp/types/segment_type_item_ip_geo_zip_op.rb +12 -0
  1512. data/lib/mailchimp/types/segment_type_item_language.rb +14 -0
  1513. data/lib/mailchimp/types/segment_type_item_language_field.rb +11 -0
  1514. data/lib/mailchimp/types/segment_type_item_language_op.rb +12 -0
  1515. data/lib/mailchimp/types/segment_type_item_member_rating.rb +14 -0
  1516. data/lib/mailchimp/types/segment_type_item_member_rating_field.rb +11 -0
  1517. data/lib/mailchimp/types/segment_type_item_member_rating_op.rb +14 -0
  1518. data/lib/mailchimp/types/segment_type_item_member_rating_value.rb +13 -0
  1519. data/lib/mailchimp/types/segment_type_item_new_subscribers.rb +14 -0
  1520. data/lib/mailchimp/types/segment_type_item_new_subscribers_field.rb +11 -0
  1521. data/lib/mailchimp/types/segment_type_item_new_subscribers_op.rb +11 -0
  1522. data/lib/mailchimp/types/segment_type_item_predicted_age.rb +14 -0
  1523. data/lib/mailchimp/types/segment_type_item_predicted_age_field.rb +11 -0
  1524. data/lib/mailchimp/types/segment_type_item_predicted_age_op.rb +11 -0
  1525. data/lib/mailchimp/types/segment_type_item_predicted_age_value.rb +16 -0
  1526. data/lib/mailchimp/types/segment_type_item_predicted_gender.rb +14 -0
  1527. data/lib/mailchimp/types/segment_type_item_predicted_gender_field.rb +11 -0
  1528. data/lib/mailchimp/types/segment_type_item_predicted_gender_op.rb +12 -0
  1529. data/lib/mailchimp/types/segment_type_item_predicted_gender_value.rb +12 -0
  1530. data/lib/mailchimp/types/segment_type_item_select_merge.rb +14 -0
  1531. data/lib/mailchimp/types/segment_type_item_select_merge_op.rb +16 -0
  1532. data/lib/mailchimp/types/segment_type_item_signup_source.rb +14 -0
  1533. data/lib/mailchimp/types/segment_type_item_signup_source_field.rb +11 -0
  1534. data/lib/mailchimp/types/segment_type_item_signup_source_op.rb +12 -0
  1535. data/lib/mailchimp/types/segment_type_item_social_age.rb +14 -0
  1536. data/lib/mailchimp/types/segment_type_item_social_age_field.rb +11 -0
  1537. data/lib/mailchimp/types/segment_type_item_social_age_op.rb +12 -0
  1538. data/lib/mailchimp/types/segment_type_item_social_age_value.rb +14 -0
  1539. data/lib/mailchimp/types/segment_type_item_social_gender.rb +14 -0
  1540. data/lib/mailchimp/types/segment_type_item_social_gender_field.rb +11 -0
  1541. data/lib/mailchimp/types/segment_type_item_social_gender_op.rb +12 -0
  1542. data/lib/mailchimp/types/segment_type_item_social_gender_value.rb +12 -0
  1543. data/lib/mailchimp/types/segment_type_item_social_influence.rb +14 -0
  1544. data/lib/mailchimp/types/segment_type_item_social_influence_field.rb +11 -0
  1545. data/lib/mailchimp/types/segment_type_item_social_influence_op.rb +14 -0
  1546. data/lib/mailchimp/types/segment_type_item_social_network_follow.rb +14 -0
  1547. data/lib/mailchimp/types/segment_type_item_social_network_follow_field.rb +11 -0
  1548. data/lib/mailchimp/types/segment_type_item_social_network_follow_op.rb +12 -0
  1549. data/lib/mailchimp/types/segment_type_item_social_network_follow_value.rb +11 -0
  1550. data/lib/mailchimp/types/segment_type_item_social_network_member.rb +14 -0
  1551. data/lib/mailchimp/types/segment_type_item_social_network_member_field.rb +11 -0
  1552. data/lib/mailchimp/types/segment_type_item_social_network_member_op.rb +12 -0
  1553. data/lib/mailchimp/types/segment_type_item_social_network_member_value.rb +21 -0
  1554. data/lib/mailchimp/types/segment_type_item_static_segment.rb +14 -0
  1555. data/lib/mailchimp/types/segment_type_item_static_segment_field.rb +11 -0
  1556. data/lib/mailchimp/types/segment_type_item_static_segment_op.rb +12 -0
  1557. data/lib/mailchimp/types/segment_type_item_static_segment_value.rb +13 -0
  1558. data/lib/mailchimp/types/segment_type_item_survey_monkey.rb +14 -0
  1559. data/lib/mailchimp/types/segment_type_item_survey_monkey_field.rb +11 -0
  1560. data/lib/mailchimp/types/segment_type_item_survey_monkey_op.rb +14 -0
  1561. data/lib/mailchimp/types/segment_type_item_text_merge.rb +14 -0
  1562. data/lib/mailchimp/types/segment_type_item_text_merge_op.rb +20 -0
  1563. data/lib/mailchimp/types/segment_type_item_vip.rb +12 -0
  1564. data/lib/mailchimp/types/segment_type_item_vip_field.rb +11 -0
  1565. data/lib/mailchimp/types/segment_type_item_vip_op.rb +12 -0
  1566. data/lib/mailchimp/types/segment_type_item_zip_merge.rb +16 -0
  1567. data/lib/mailchimp/types/segment_type_item_zip_merge_op.rb +11 -0
  1568. data/lib/mailchimp/types/sent_to.rb +34 -0
  1569. data/lib/mailchimp/types/sent_to_absplit_group.rb +13 -0
  1570. data/lib/mailchimp/types/sent_to_links_item.rb +19 -0
  1571. data/lib/mailchimp/types/sent_to_links_item_method.rb +17 -0
  1572. data/lib/mailchimp/types/sent_to_merge_fields_value.rb +16 -0
  1573. data/lib/mailchimp/types/sent_to_merge_fields_value_addr1.rb +19 -0
  1574. data/lib/mailchimp/types/sent_to_status.rb +13 -0
  1575. data/lib/mailchimp/types/signup_form.rb +20 -0
  1576. data/lib/mailchimp/types/signup_form_contents_item.rb +12 -0
  1577. data/lib/mailchimp/types/signup_form_contents_item_section.rb +13 -0
  1578. data/lib/mailchimp/types/signup_form_header.rb +30 -0
  1579. data/lib/mailchimp/types/signup_form_header_image_align.rb +14 -0
  1580. data/lib/mailchimp/types/signup_form_header_image_border_style.rb +19 -0
  1581. data/lib/mailchimp/types/signup_form_header_image_target.rb +12 -0
  1582. data/lib/mailchimp/types/signup_form_links_item.rb +19 -0
  1583. data/lib/mailchimp/types/signup_form_links_item_method.rb +17 -0
  1584. data/lib/mailchimp/types/signup_form_styles_item.rb +12 -0
  1585. data/lib/mailchimp/types/signup_form_styles_item_options_item.rb +12 -0
  1586. data/lib/mailchimp/types/signup_form_styles_item_selector.rb +24 -0
  1587. data/lib/mailchimp/types/sms_campaign.rb +40 -0
  1588. data/lib/mailchimp/types/sms_campaign_content.rb +22 -0
  1589. data/lib/mailchimp/types/sms_campaign_content_links_item.rb +19 -0
  1590. data/lib/mailchimp/types/sms_campaign_content_links_item_method.rb +17 -0
  1591. data/lib/mailchimp/types/sms_campaign_content_media_item.rb +9 -0
  1592. data/lib/mailchimp/types/sms_campaign_content_properties.rb +14 -0
  1593. data/lib/mailchimp/types/sms_campaign_content_source.rb +12 -0
  1594. data/lib/mailchimp/types/sms_campaign_links_item.rb +19 -0
  1595. data/lib/mailchimp/types/sms_campaign_links_item_method.rb +17 -0
  1596. data/lib/mailchimp/types/subscriber_in_automation_queue.rb +24 -0
  1597. data/lib/mailchimp/types/subscriber_in_automation_queue_links_item_item.rb +19 -0
  1598. data/lib/mailchimp/types/subscriber_in_automation_queue_links_item_item_method.rb +17 -0
  1599. data/lib/mailchimp/types/subscriber_list.rb +52 -0
  1600. data/lib/mailchimp/types/subscriber_list_campaign_defaults.rb +18 -0
  1601. data/lib/mailchimp/types/subscriber_list_contact.rb +25 -0
  1602. data/lib/mailchimp/types/subscriber_list_links_item.rb +19 -0
  1603. data/lib/mailchimp/types/subscriber_list_links_item_method.rb +17 -0
  1604. data/lib/mailchimp/types/subscriber_list_stats.rb +42 -0
  1605. data/lib/mailchimp/types/subscriber_list_visibility.rb +12 -0
  1606. data/lib/mailchimp/types/subscriber_removed_from_automation_workflow.rb +18 -0
  1607. data/lib/mailchimp/types/subscriber_removed_from_automation_workflow_links_item_item.rb +19 -0
  1608. data/lib/mailchimp/types/subscriber_removed_from_automation_workflow_links_item_item_method.rb +17 -0
  1609. data/lib/mailchimp/types/survey_question_report.rb +42 -0
  1610. data/lib/mailchimp/types/survey_question_report_contact_counts.rb +14 -0
  1611. data/lib/mailchimp/types/survey_question_report_merge_field.rb +14 -0
  1612. data/lib/mailchimp/types/survey_question_report_merge_field_type.rb +21 -0
  1613. data/lib/mailchimp/types/survey_question_report_options_item.rb +13 -0
  1614. data/lib/mailchimp/types/survey_question_report_type.rb +17 -0
  1615. data/lib/mailchimp/types/survey_section_request.rb +19 -0
  1616. data/lib/mailchimp/types/survey_section_request_question.rb +43 -0
  1617. data/lib/mailchimp/types/survey_section_request_question_options_item.rb +11 -0
  1618. data/lib/mailchimp/types/survey_section_request_question_type.rb +17 -0
  1619. data/lib/mailchimp/types/survey_section_request_type.rb +13 -0
  1620. data/lib/mailchimp/types/template_instance.rb +40 -0
  1621. data/lib/mailchimp/types/template_instance_content_type.rb +13 -0
  1622. data/lib/mailchimp/types/template_instance_links_item.rb +19 -0
  1623. data/lib/mailchimp/types/template_instance_links_item_method.rb +17 -0
  1624. data/lib/mailchimp/types/unsubscribes.rb +28 -0
  1625. data/lib/mailchimp/types/unsubscribes_links_item.rb +19 -0
  1626. data/lib/mailchimp/types/unsubscribes_links_item_method.rb +17 -0
  1627. data/lib/mailchimp/types/unsubscribes_merge_fields_value.rb +16 -0
  1628. data/lib/mailchimp/types/unsubscribes_merge_fields_value_addr1.rb +19 -0
  1629. data/lib/mailchimp/verified_domains/client.rb +203 -0
  1630. data/lib/mailchimp/verified_domains/types/create_action_verify_verified_domains_request.rb +13 -0
  1631. data/lib/mailchimp/verified_domains/types/create_action_verify_verified_domains_response.rb +24 -0
  1632. data/lib/mailchimp/verified_domains/types/create_action_verify_verified_domains_response_status.rb +19 -0
  1633. data/lib/mailchimp/verified_domains/types/create_verified_domains_request.rb +11 -0
  1634. data/lib/mailchimp/verified_domains/types/create_verified_domains_response.rb +24 -0
  1635. data/lib/mailchimp/verified_domains/types/create_verified_domains_response_status.rb +19 -0
  1636. data/lib/mailchimp/verified_domains/types/delete_verified_domains_request.rb +11 -0
  1637. data/lib/mailchimp/verified_domains/types/get_verified_domains_request.rb +11 -0
  1638. data/lib/mailchimp/verified_domains/types/get_verified_domains_response.rb +24 -0
  1639. data/lib/mailchimp/verified_domains/types/get_verified_domains_response_status.rb +19 -0
  1640. data/lib/mailchimp/verified_domains/types/list_verified_domains_response.rb +14 -0
  1641. data/lib/mailchimp/verified_domains/types/list_verified_domains_response_domains_item.rb +24 -0
  1642. data/lib/mailchimp/verified_domains/types/list_verified_domains_response_domains_item_status.rb +19 -0
  1643. data/lib/mailchimp/version.rb +5 -0
  1644. data/lib/mailchimp.rb +1638 -0
  1645. data/reference.md +27576 -0
  1646. metadata +1687 -0
@@ -0,0 +1,3444 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mailchimp
4
+ module Lists
5
+ class Client
6
+ # @param client [Mailchimp::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
9
+ def initialize(client:)
10
+ @client = client
11
+ end
12
+
13
+ # Get information about all lists in the account.
14
+ #
15
+ # @param request_options [Hash]
16
+ # @param params [Hash]
17
+ # @option request_options [String] :base_url
18
+ # @option request_options [Hash{String => Object}] :additional_headers
19
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
20
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
21
+ # @option request_options [Integer] :timeout_in_seconds
22
+ # @option params [String, nil] :fields
23
+ # @option params [String, nil] :exclude_fields
24
+ # @option params [Integer, nil] :count
25
+ # @option params [Integer, nil] :offset
26
+ # @option params [String, nil] :before_date_created
27
+ # @option params [String, nil] :since_date_created
28
+ # @option params [String, nil] :before_campaign_last_sent
29
+ # @option params [String, nil] :since_campaign_last_sent
30
+ # @option params [String, nil] :email
31
+ # @option params [Mailchimp::Lists::Types::ListListsRequestSortField, nil] :sort_field
32
+ # @option params [Mailchimp::Lists::Types::ListListsRequestSortDir, nil] :sort_dir
33
+ # @option params [Boolean, nil] :has_ecommerce_store
34
+ # @option params [Boolean, nil] :include_total_contacts
35
+ #
36
+ # @example
37
+ # client.lists.list
38
+ #
39
+ # @return [Mailchimp::Lists::Types::ListListsResponse]
40
+ def list(request_options: {}, **params)
41
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
42
+ query_params = {}
43
+ query_params["fields"] = params[:fields] if params.key?(:fields)
44
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
45
+ query_params["count"] = params[:count] if params.key?(:count)
46
+ query_params["offset"] = params[:offset] if params.key?(:offset)
47
+ query_params["before_date_created"] = params[:before_date_created] if params.key?(:before_date_created)
48
+ query_params["since_date_created"] = params[:since_date_created] if params.key?(:since_date_created)
49
+ query_params["before_campaign_last_sent"] = params[:before_campaign_last_sent] if params.key?(:before_campaign_last_sent)
50
+ query_params["since_campaign_last_sent"] = params[:since_campaign_last_sent] if params.key?(:since_campaign_last_sent)
51
+ query_params["email"] = params[:email] if params.key?(:email)
52
+ query_params["sort_field"] = params[:sort_field] if params.key?(:sort_field)
53
+ query_params["sort_dir"] = params[:sort_dir] if params.key?(:sort_dir)
54
+ query_params["has_ecommerce_store"] = params[:has_ecommerce_store] if params.key?(:has_ecommerce_store)
55
+ query_params["include_total_contacts"] = params[:include_total_contacts] if params.key?(:include_total_contacts)
56
+
57
+ Mailchimp::Internal::OffsetItemIterator.new(
58
+ initial_page: query_params["offset"],
59
+ item_field: :lists,
60
+ has_next_field: nil,
61
+ step: false
62
+ ) do |next_page|
63
+ query_params["offset"] = next_page
64
+ request = Mailchimp::Internal::JSON::Request.new(
65
+ base_url: request_options[:base_url],
66
+ method: "GET",
67
+ path: "3.0/lists",
68
+ query: query_params,
69
+ request_options: request_options
70
+ )
71
+ begin
72
+ response = @client.send(request)
73
+ rescue Net::HTTPRequestTimeout
74
+ raise Mailchimp::Errors::TimeoutError
75
+ end
76
+ code = response.code.to_i
77
+ if code.between?(200, 299)
78
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListListsResponse.load(response.body))
79
+ [parsed_response, response]
80
+ else
81
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
82
+ raise error_class.new(response.body, code: code)
83
+ end
84
+ end
85
+ end
86
+
87
+ # Create a new list in your Mailchimp account.
88
+ #
89
+ # @param request_options [Hash]
90
+ # @param params [Mailchimp::Lists::Types::CreateListsRequest]
91
+ # @option request_options [String] :base_url
92
+ # @option request_options [Hash{String => Object}] :additional_headers
93
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
94
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
95
+ # @option request_options [Integer] :timeout_in_seconds
96
+ #
97
+ # @example
98
+ # client.lists.create(
99
+ # campaign_defaults: {
100
+ # from_email: "from_email",
101
+ # from_name: "from_name",
102
+ # language: "language",
103
+ # subject: "subject"
104
+ # },
105
+ # contact: {
106
+ # address1: "address1",
107
+ # city: "city",
108
+ # company: "company",
109
+ # country: "country"
110
+ # },
111
+ # email_type_option: true,
112
+ # name: "name",
113
+ # permission_reminder: "permission_reminder"
114
+ # )
115
+ #
116
+ # @return [Mailchimp::Types::SubscriberList]
117
+ def create(request_options: {}, **params)
118
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
119
+ request = Mailchimp::Internal::JSON::Request.new(
120
+ base_url: request_options[:base_url],
121
+ method: "POST",
122
+ path: "3.0/lists",
123
+ body: Mailchimp::Lists::Types::CreateListsRequest.new(params).to_h,
124
+ request_options: request_options
125
+ )
126
+ begin
127
+ response = @client.send(request)
128
+ rescue Net::HTTPRequestTimeout
129
+ raise Mailchimp::Errors::TimeoutError
130
+ end
131
+ code = response.code.to_i
132
+ if code.between?(200, 299)
133
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::SubscriberList.load(response.body))
134
+ else
135
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
136
+ raise error_class.new(response.body, code: code)
137
+ end
138
+ end
139
+
140
+ # Get information about a specific list in your Mailchimp account. Results include list members who have signed up
141
+ # but haven't confirmed their subscription yet and unsubscribed or cleaned.
142
+ #
143
+ # @param request_options [Hash]
144
+ # @param params [Hash]
145
+ # @option request_options [String] :base_url
146
+ # @option request_options [Hash{String => Object}] :additional_headers
147
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
148
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
149
+ # @option request_options [Integer] :timeout_in_seconds
150
+ # @option params [String] :list_id
151
+ # @option params [String, nil] :fields
152
+ # @option params [String, nil] :exclude_fields
153
+ # @option params [Boolean, nil] :include_total_contacts
154
+ #
155
+ # @example
156
+ # client.lists.get(list_id: "list_id")
157
+ #
158
+ # @return [Mailchimp::Types::SubscriberList]
159
+ def get(request_options: {}, **params)
160
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
161
+ query_params = {}
162
+ query_params["fields"] = params[:fields] if params.key?(:fields)
163
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
164
+ query_params["include_total_contacts"] = params[:include_total_contacts] if params.key?(:include_total_contacts)
165
+
166
+ request = Mailchimp::Internal::JSON::Request.new(
167
+ base_url: request_options[:base_url],
168
+ method: "GET",
169
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}",
170
+ query: query_params,
171
+ request_options: request_options
172
+ )
173
+ begin
174
+ response = @client.send(request)
175
+ rescue Net::HTTPRequestTimeout
176
+ raise Mailchimp::Errors::TimeoutError
177
+ end
178
+ code = response.code.to_i
179
+ if code.between?(200, 299)
180
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::SubscriberList.load(response.body))
181
+ else
182
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
183
+ raise error_class.new(response.body, code: code)
184
+ end
185
+ end
186
+
187
+ # Batch subscribe or unsubscribe list members.
188
+ #
189
+ # @param request_options [Hash]
190
+ # @param params [Mailchimp::Lists::Types::BatchSubscribeOrUnsubscribeListsRequest]
191
+ # @option request_options [String] :base_url
192
+ # @option request_options [Hash{String => Object}] :additional_headers
193
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
194
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
195
+ # @option request_options [Integer] :timeout_in_seconds
196
+ # @option params [String] :list_id
197
+ # @option params [Boolean, nil] :skip_merge_validation
198
+ # @option params [Boolean, nil] :skip_duplicate_check
199
+ #
200
+ # @example
201
+ # client.lists.batch_subscribe_or_unsubscribe(
202
+ # list_id: "list_id",
203
+ # members: []
204
+ # )
205
+ #
206
+ # @return [Mailchimp::Lists::Types::BatchSubscribeOrUnsubscribeListsResponse]
207
+ def batch_subscribe_or_unsubscribe(request_options: {}, **params)
208
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
209
+ request_data = Mailchimp::Lists::Types::BatchSubscribeOrUnsubscribeListsRequest.new(params).to_h
210
+ non_body_param_names = %w[list_id skip_merge_validation skip_duplicate_check]
211
+ body = request_data.except(*non_body_param_names)
212
+
213
+ query_params = {}
214
+ query_params["skip_merge_validation"] = params[:skip_merge_validation] if params.key?(:skip_merge_validation)
215
+ query_params["skip_duplicate_check"] = params[:skip_duplicate_check] if params.key?(:skip_duplicate_check)
216
+
217
+ request = Mailchimp::Internal::JSON::Request.new(
218
+ base_url: request_options[:base_url],
219
+ method: "POST",
220
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}",
221
+ query: query_params,
222
+ body: body,
223
+ request_options: request_options
224
+ )
225
+ begin
226
+ response = @client.send(request)
227
+ rescue Net::HTTPRequestTimeout
228
+ raise Mailchimp::Errors::TimeoutError
229
+ end
230
+ code = response.code.to_i
231
+ if code.between?(200, 299)
232
+ (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::BatchSubscribeOrUnsubscribeListsResponse.load(response.body))
233
+ else
234
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
235
+ raise error_class.new(response.body, code: code)
236
+ end
237
+ end
238
+
239
+ # Delete a list from your Mailchimp account. If you delete a list, you'll lose the list history—including
240
+ # subscriber activity, unsubscribes, complaints, and bounces. You’ll also lose subscribers’ email addresses,
241
+ # unless you exported and backed up your list.
242
+ #
243
+ # @param request_options [Hash]
244
+ # @param params [Hash]
245
+ # @option request_options [String] :base_url
246
+ # @option request_options [Hash{String => Object}] :additional_headers
247
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
248
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
249
+ # @option request_options [Integer] :timeout_in_seconds
250
+ # @option params [String] :list_id
251
+ #
252
+ # @example
253
+ # client.lists.delete(list_id: "list_id")
254
+ #
255
+ # @return [untyped]
256
+ def delete(request_options: {}, **params)
257
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
258
+ request = Mailchimp::Internal::JSON::Request.new(
259
+ base_url: request_options[:base_url],
260
+ method: "DELETE",
261
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}",
262
+ request_options: request_options
263
+ )
264
+ begin
265
+ response = @client.send(request)
266
+ rescue Net::HTTPRequestTimeout
267
+ raise Mailchimp::Errors::TimeoutError
268
+ end
269
+ code = response.code.to_i
270
+ return if code.between?(200, 299)
271
+
272
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
273
+ raise error_class.new(response.body, code: code)
274
+ end
275
+
276
+ # Update the settings for a specific list.
277
+ #
278
+ # @param request_options [Hash]
279
+ # @param params [Mailchimp::Lists::Types::UpdateListsRequest]
280
+ # @option request_options [String] :base_url
281
+ # @option request_options [Hash{String => Object}] :additional_headers
282
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
283
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
284
+ # @option request_options [Integer] :timeout_in_seconds
285
+ # @option params [String] :list_id
286
+ #
287
+ # @example
288
+ # client.lists.update(list_id: "list_id")
289
+ #
290
+ # @return [Mailchimp::Types::SubscriberList]
291
+ def update(request_options: {}, **params)
292
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
293
+ request_data = Mailchimp::Lists::Types::UpdateListsRequest.new(params).to_h
294
+ non_body_param_names = %w[list_id]
295
+ body = request_data.except(*non_body_param_names)
296
+
297
+ request = Mailchimp::Internal::JSON::Request.new(
298
+ base_url: request_options[:base_url],
299
+ method: "PATCH",
300
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}",
301
+ body: body,
302
+ request_options: request_options
303
+ )
304
+ begin
305
+ response = @client.send(request)
306
+ rescue Net::HTTPRequestTimeout
307
+ raise Mailchimp::Errors::TimeoutError
308
+ end
309
+ code = response.code.to_i
310
+ if code.between?(200, 299)
311
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::SubscriberList.load(response.body))
312
+ else
313
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
314
+ raise error_class.new(response.body, code: code)
315
+ end
316
+ end
317
+
318
+ # Get all abuse reports for a specific list.
319
+ #
320
+ # @param request_options [Hash]
321
+ # @param params [Hash]
322
+ # @option request_options [String] :base_url
323
+ # @option request_options [Hash{String => Object}] :additional_headers
324
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
325
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
326
+ # @option request_options [Integer] :timeout_in_seconds
327
+ # @option params [String] :list_id
328
+ # @option params [String, nil] :fields
329
+ # @option params [String, nil] :exclude_fields
330
+ # @option params [Integer, nil] :count
331
+ # @option params [Integer, nil] :offset
332
+ #
333
+ # @example
334
+ # client.lists.list_abuse_reports(list_id: "list_id")
335
+ #
336
+ # @return [Mailchimp::Lists::Types::ListAbuseReportsListsResponse]
337
+ def list_abuse_reports(request_options: {}, **params)
338
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
339
+ query_params = {}
340
+ query_params["fields"] = params[:fields] if params.key?(:fields)
341
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
342
+ query_params["count"] = params[:count] if params.key?(:count)
343
+ query_params["offset"] = params[:offset] if params.key?(:offset)
344
+
345
+ Mailchimp::Internal::OffsetItemIterator.new(
346
+ initial_page: query_params["offset"],
347
+ item_field: :abuse_reports,
348
+ has_next_field: nil,
349
+ step: false
350
+ ) do |next_page|
351
+ query_params["offset"] = next_page
352
+ request = Mailchimp::Internal::JSON::Request.new(
353
+ base_url: request_options[:base_url],
354
+ method: "GET",
355
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/abuse-reports",
356
+ query: query_params,
357
+ request_options: request_options
358
+ )
359
+ begin
360
+ response = @client.send(request)
361
+ rescue Net::HTTPRequestTimeout
362
+ raise Mailchimp::Errors::TimeoutError
363
+ end
364
+ code = response.code.to_i
365
+ if code.between?(200, 299)
366
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListAbuseReportsListsResponse.load(response.body))
367
+ [parsed_response, response]
368
+ else
369
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
370
+ raise error_class.new(response.body, code: code)
371
+ end
372
+ end
373
+ end
374
+
375
+ # Get details about a specific abuse report.
376
+ #
377
+ # @param request_options [Hash]
378
+ # @param params [Hash]
379
+ # @option request_options [String] :base_url
380
+ # @option request_options [Hash{String => Object}] :additional_headers
381
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
382
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
383
+ # @option request_options [Integer] :timeout_in_seconds
384
+ # @option params [String] :list_id
385
+ # @option params [String] :report_id
386
+ # @option params [String, nil] :fields
387
+ # @option params [String, nil] :exclude_fields
388
+ # @option params [Integer, nil] :count
389
+ # @option params [Integer, nil] :offset
390
+ #
391
+ # @example
392
+ # client.lists.get_abuse_report(
393
+ # list_id: "list_id",
394
+ # report_id: "report_id"
395
+ # )
396
+ #
397
+ # @return [Mailchimp::Types::ListsAbuseReports]
398
+ def get_abuse_report(request_options: {}, **params)
399
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
400
+ query_params = {}
401
+ query_params["fields"] = params[:fields] if params.key?(:fields)
402
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
403
+ query_params["count"] = params[:count] if params.key?(:count)
404
+ query_params["offset"] = params[:offset] if params.key?(:offset)
405
+
406
+ request = Mailchimp::Internal::JSON::Request.new(
407
+ base_url: request_options[:base_url],
408
+ method: "GET",
409
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/abuse-reports/#{URI.encode_uri_component(params[:report_id].to_s)}",
410
+ query: query_params,
411
+ request_options: request_options
412
+ )
413
+ begin
414
+ response = @client.send(request)
415
+ rescue Net::HTTPRequestTimeout
416
+ raise Mailchimp::Errors::TimeoutError
417
+ end
418
+ code = response.code.to_i
419
+ if code.between?(200, 299)
420
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ListsAbuseReports.load(response.body))
421
+ else
422
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
423
+ raise error_class.new(response.body, code: code)
424
+ end
425
+ end
426
+
427
+ # Get up to the previous 180 days of daily detailed aggregated activity stats for a list, not including Automation
428
+ # activity.
429
+ #
430
+ # @param request_options [Hash]
431
+ # @param params [Hash]
432
+ # @option request_options [String] :base_url
433
+ # @option request_options [Hash{String => Object}] :additional_headers
434
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
435
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
436
+ # @option request_options [Integer] :timeout_in_seconds
437
+ # @option params [String] :list_id
438
+ # @option params [String, nil] :fields
439
+ # @option params [String, nil] :exclude_fields
440
+ # @option params [Integer, nil] :count
441
+ # @option params [Integer, nil] :offset
442
+ #
443
+ # @example
444
+ # client.lists.list_activity(list_id: "list_id")
445
+ #
446
+ # @return [Mailchimp::Lists::Types::ListActivityListsResponse]
447
+ def list_activity(request_options: {}, **params)
448
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
449
+ query_params = {}
450
+ query_params["fields"] = params[:fields] if params.key?(:fields)
451
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
452
+ query_params["count"] = params[:count] if params.key?(:count)
453
+ query_params["offset"] = params[:offset] if params.key?(:offset)
454
+
455
+ Mailchimp::Internal::OffsetItemIterator.new(
456
+ initial_page: query_params["offset"],
457
+ item_field: :activity,
458
+ has_next_field: nil,
459
+ step: false
460
+ ) do |next_page|
461
+ query_params["offset"] = next_page
462
+ request = Mailchimp::Internal::JSON::Request.new(
463
+ base_url: request_options[:base_url],
464
+ method: "GET",
465
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/activity",
466
+ query: query_params,
467
+ request_options: request_options
468
+ )
469
+ begin
470
+ response = @client.send(request)
471
+ rescue Net::HTTPRequestTimeout
472
+ raise Mailchimp::Errors::TimeoutError
473
+ end
474
+ code = response.code.to_i
475
+ if code.between?(200, 299)
476
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListActivityListsResponse.load(response.body))
477
+ [parsed_response, response]
478
+ else
479
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
480
+ raise error_class.new(response.body, code: code)
481
+ end
482
+ end
483
+ end
484
+
485
+ # Get a list of the top email clients based on user-agent strings.
486
+ #
487
+ # @param request_options [Hash]
488
+ # @param params [Hash]
489
+ # @option request_options [String] :base_url
490
+ # @option request_options [Hash{String => Object}] :additional_headers
491
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
492
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
493
+ # @option request_options [Integer] :timeout_in_seconds
494
+ # @option params [String] :list_id
495
+ # @option params [String, nil] :fields
496
+ # @option params [String, nil] :exclude_fields
497
+ #
498
+ # @example
499
+ # client.lists.list_clients(list_id: "list_id")
500
+ #
501
+ # @return [Mailchimp::Lists::Types::ListClientsListsResponse]
502
+ def list_clients(request_options: {}, **params)
503
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
504
+ query_params = {}
505
+ query_params["fields"] = params[:fields] if params.key?(:fields)
506
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
507
+
508
+ request = Mailchimp::Internal::JSON::Request.new(
509
+ base_url: request_options[:base_url],
510
+ method: "GET",
511
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/clients",
512
+ query: query_params,
513
+ request_options: request_options
514
+ )
515
+ begin
516
+ response = @client.send(request)
517
+ rescue Net::HTTPRequestTimeout
518
+ raise Mailchimp::Errors::TimeoutError
519
+ end
520
+ code = response.code.to_i
521
+ if code.between?(200, 299)
522
+ (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListClientsListsResponse.load(response.body))
523
+ else
524
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
525
+ raise error_class.new(response.body, code: code)
526
+ end
527
+ end
528
+
529
+ # Get a month-by-month summary of a specific list's growth activity.
530
+ #
531
+ # @param request_options [Hash]
532
+ # @param params [Hash]
533
+ # @option request_options [String] :base_url
534
+ # @option request_options [Hash{String => Object}] :additional_headers
535
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
536
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
537
+ # @option request_options [Integer] :timeout_in_seconds
538
+ # @option params [String] :list_id
539
+ # @option params [String, nil] :fields
540
+ # @option params [String, nil] :exclude_fields
541
+ # @option params [Integer, nil] :count
542
+ # @option params [Integer, nil] :offset
543
+ # @option params [Mailchimp::Lists::Types::ListGrowthHistoryListsRequestSortField, nil] :sort_field
544
+ # @option params [Mailchimp::Lists::Types::ListGrowthHistoryListsRequestSortDir, nil] :sort_dir
545
+ #
546
+ # @example
547
+ # client.lists.list_growth_history(list_id: "list_id")
548
+ #
549
+ # @return [Mailchimp::Lists::Types::ListGrowthHistoryListsResponse]
550
+ def list_growth_history(request_options: {}, **params)
551
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
552
+ query_params = {}
553
+ query_params["fields"] = params[:fields] if params.key?(:fields)
554
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
555
+ query_params["count"] = params[:count] if params.key?(:count)
556
+ query_params["offset"] = params[:offset] if params.key?(:offset)
557
+ query_params["sort_field"] = params[:sort_field] if params.key?(:sort_field)
558
+ query_params["sort_dir"] = params[:sort_dir] if params.key?(:sort_dir)
559
+
560
+ Mailchimp::Internal::OffsetItemIterator.new(
561
+ initial_page: query_params["offset"],
562
+ item_field: :history,
563
+ has_next_field: nil,
564
+ step: false
565
+ ) do |next_page|
566
+ query_params["offset"] = next_page
567
+ request = Mailchimp::Internal::JSON::Request.new(
568
+ base_url: request_options[:base_url],
569
+ method: "GET",
570
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/growth-history",
571
+ query: query_params,
572
+ request_options: request_options
573
+ )
574
+ begin
575
+ response = @client.send(request)
576
+ rescue Net::HTTPRequestTimeout
577
+ raise Mailchimp::Errors::TimeoutError
578
+ end
579
+ code = response.code.to_i
580
+ if code.between?(200, 299)
581
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListGrowthHistoryListsResponse.load(response.body))
582
+ [parsed_response, response]
583
+ else
584
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
585
+ raise error_class.new(response.body, code: code)
586
+ end
587
+ end
588
+ end
589
+
590
+ # Get a summary of a specific list's growth activity for a specific month and year.
591
+ #
592
+ # @param request_options [Hash]
593
+ # @param params [Hash]
594
+ # @option request_options [String] :base_url
595
+ # @option request_options [Hash{String => Object}] :additional_headers
596
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
597
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
598
+ # @option request_options [Integer] :timeout_in_seconds
599
+ # @option params [String] :list_id
600
+ # @option params [String] :month
601
+ # @option params [String, nil] :fields
602
+ # @option params [String, nil] :exclude_fields
603
+ #
604
+ # @example
605
+ # client.lists.get_growth_history(
606
+ # list_id: "list_id",
607
+ # month: "month"
608
+ # )
609
+ #
610
+ # @return [Mailchimp::Types::GrowthHistory]
611
+ def get_growth_history(request_options: {}, **params)
612
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
613
+ query_params = {}
614
+ query_params["fields"] = params[:fields] if params.key?(:fields)
615
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
616
+
617
+ request = Mailchimp::Internal::JSON::Request.new(
618
+ base_url: request_options[:base_url],
619
+ method: "GET",
620
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/growth-history/#{URI.encode_uri_component(params[:month].to_s)}",
621
+ query: query_params,
622
+ request_options: request_options
623
+ )
624
+ begin
625
+ response = @client.send(request)
626
+ rescue Net::HTTPRequestTimeout
627
+ raise Mailchimp::Errors::TimeoutError
628
+ end
629
+ code = response.code.to_i
630
+ if code.between?(200, 299)
631
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::GrowthHistory.load(response.body))
632
+ else
633
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
634
+ raise error_class.new(response.body, code: code)
635
+ end
636
+ end
637
+
638
+ # Get information about a list's interest categories.
639
+ #
640
+ # @param request_options [Hash]
641
+ # @param params [Hash]
642
+ # @option request_options [String] :base_url
643
+ # @option request_options [Hash{String => Object}] :additional_headers
644
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
645
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
646
+ # @option request_options [Integer] :timeout_in_seconds
647
+ # @option params [String] :list_id
648
+ # @option params [String, nil] :fields
649
+ # @option params [String, nil] :exclude_fields
650
+ # @option params [Integer, nil] :count
651
+ # @option params [Integer, nil] :offset
652
+ # @option params [String, nil] :type
653
+ # @option params [Mailchimp::Lists::Types::ListInterestCategoriesListsRequestSortField, nil] :sort_field
654
+ # @option params [Mailchimp::Lists::Types::ListInterestCategoriesListsRequestSortDir, nil] :sort_dir
655
+ #
656
+ # @example
657
+ # client.lists.list_interest_categories(list_id: "list_id")
658
+ #
659
+ # @return [Mailchimp::Lists::Types::ListInterestCategoriesListsResponse]
660
+ def list_interest_categories(request_options: {}, **params)
661
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
662
+ query_params = {}
663
+ query_params["fields"] = params[:fields] if params.key?(:fields)
664
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
665
+ query_params["count"] = params[:count] if params.key?(:count)
666
+ query_params["offset"] = params[:offset] if params.key?(:offset)
667
+ query_params["type"] = params[:type] if params.key?(:type)
668
+ query_params["sort_field"] = params[:sort_field] if params.key?(:sort_field)
669
+ query_params["sort_dir"] = params[:sort_dir] if params.key?(:sort_dir)
670
+
671
+ Mailchimp::Internal::OffsetItemIterator.new(
672
+ initial_page: query_params["offset"],
673
+ item_field: :categories,
674
+ has_next_field: nil,
675
+ step: false
676
+ ) do |next_page|
677
+ query_params["offset"] = next_page
678
+ request = Mailchimp::Internal::JSON::Request.new(
679
+ base_url: request_options[:base_url],
680
+ method: "GET",
681
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/interest-categories",
682
+ query: query_params,
683
+ request_options: request_options
684
+ )
685
+ begin
686
+ response = @client.send(request)
687
+ rescue Net::HTTPRequestTimeout
688
+ raise Mailchimp::Errors::TimeoutError
689
+ end
690
+ code = response.code.to_i
691
+ if code.between?(200, 299)
692
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListInterestCategoriesListsResponse.load(response.body))
693
+ [parsed_response, response]
694
+ else
695
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
696
+ raise error_class.new(response.body, code: code)
697
+ end
698
+ end
699
+ end
700
+
701
+ # Create a new interest category.
702
+ #
703
+ # @param request_options [Hash]
704
+ # @param params [Mailchimp::Lists::Types::CreateInterestCategoryListsRequest]
705
+ # @option request_options [String] :base_url
706
+ # @option request_options [Hash{String => Object}] :additional_headers
707
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
708
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
709
+ # @option request_options [Integer] :timeout_in_seconds
710
+ # @option params [String] :list_id
711
+ #
712
+ # @example
713
+ # client.lists.create_interest_category(
714
+ # list_id: "list_id",
715
+ # title: "title",
716
+ # type: "checkboxes"
717
+ # )
718
+ #
719
+ # @return [Mailchimp::Types::InterestCategory]
720
+ def create_interest_category(request_options: {}, **params)
721
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
722
+ request_data = Mailchimp::Lists::Types::CreateInterestCategoryListsRequest.new(params).to_h
723
+ non_body_param_names = %w[list_id]
724
+ body = request_data.except(*non_body_param_names)
725
+
726
+ request = Mailchimp::Internal::JSON::Request.new(
727
+ base_url: request_options[:base_url],
728
+ method: "POST",
729
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/interest-categories",
730
+ body: body,
731
+ request_options: request_options
732
+ )
733
+ begin
734
+ response = @client.send(request)
735
+ rescue Net::HTTPRequestTimeout
736
+ raise Mailchimp::Errors::TimeoutError
737
+ end
738
+ code = response.code.to_i
739
+ if code.between?(200, 299)
740
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::InterestCategory.load(response.body))
741
+ else
742
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
743
+ raise error_class.new(response.body, code: code)
744
+ end
745
+ end
746
+
747
+ # Get information about a specific interest category.
748
+ #
749
+ # @param request_options [Hash]
750
+ # @param params [Hash]
751
+ # @option request_options [String] :base_url
752
+ # @option request_options [Hash{String => Object}] :additional_headers
753
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
754
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
755
+ # @option request_options [Integer] :timeout_in_seconds
756
+ # @option params [String] :list_id
757
+ # @option params [String] :interest_category_id
758
+ # @option params [String, nil] :fields
759
+ # @option params [String, nil] :exclude_fields
760
+ #
761
+ # @example
762
+ # client.lists.get_interest_category(
763
+ # list_id: "list_id",
764
+ # interest_category_id: "interest_category_id"
765
+ # )
766
+ #
767
+ # @return [Mailchimp::Types::InterestCategory]
768
+ def get_interest_category(request_options: {}, **params)
769
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
770
+ query_params = {}
771
+ query_params["fields"] = params[:fields] if params.key?(:fields)
772
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
773
+
774
+ request = Mailchimp::Internal::JSON::Request.new(
775
+ base_url: request_options[:base_url],
776
+ method: "GET",
777
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/interest-categories/#{URI.encode_uri_component(params[:interest_category_id].to_s)}",
778
+ query: query_params,
779
+ request_options: request_options
780
+ )
781
+ begin
782
+ response = @client.send(request)
783
+ rescue Net::HTTPRequestTimeout
784
+ raise Mailchimp::Errors::TimeoutError
785
+ end
786
+ code = response.code.to_i
787
+ if code.between?(200, 299)
788
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::InterestCategory.load(response.body))
789
+ else
790
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
791
+ raise error_class.new(response.body, code: code)
792
+ end
793
+ end
794
+
795
+ # Delete a specific interest category.
796
+ #
797
+ # @param request_options [Hash]
798
+ # @param params [Hash]
799
+ # @option request_options [String] :base_url
800
+ # @option request_options [Hash{String => Object}] :additional_headers
801
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
802
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
803
+ # @option request_options [Integer] :timeout_in_seconds
804
+ # @option params [String] :list_id
805
+ # @option params [String] :interest_category_id
806
+ #
807
+ # @example
808
+ # client.lists.delete_interest_category(
809
+ # list_id: "list_id",
810
+ # interest_category_id: "interest_category_id"
811
+ # )
812
+ #
813
+ # @return [untyped]
814
+ def delete_interest_category(request_options: {}, **params)
815
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
816
+ request = Mailchimp::Internal::JSON::Request.new(
817
+ base_url: request_options[:base_url],
818
+ method: "DELETE",
819
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/interest-categories/#{URI.encode_uri_component(params[:interest_category_id].to_s)}",
820
+ request_options: request_options
821
+ )
822
+ begin
823
+ response = @client.send(request)
824
+ rescue Net::HTTPRequestTimeout
825
+ raise Mailchimp::Errors::TimeoutError
826
+ end
827
+ code = response.code.to_i
828
+ return if code.between?(200, 299)
829
+
830
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
831
+ raise error_class.new(response.body, code: code)
832
+ end
833
+
834
+ # Update a specific interest category.
835
+ #
836
+ # @param request_options [Hash]
837
+ # @param params [Mailchimp::Lists::Types::UpdateInterestCategoryListsRequest]
838
+ # @option request_options [String] :base_url
839
+ # @option request_options [Hash{String => Object}] :additional_headers
840
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
841
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
842
+ # @option request_options [Integer] :timeout_in_seconds
843
+ # @option params [String] :list_id
844
+ # @option params [String] :interest_category_id
845
+ #
846
+ # @example
847
+ # client.lists.update_interest_category(
848
+ # list_id: "list_id",
849
+ # interest_category_id: "interest_category_id"
850
+ # )
851
+ #
852
+ # @return [Mailchimp::Types::InterestCategory]
853
+ def update_interest_category(request_options: {}, **params)
854
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
855
+ request_data = Mailchimp::Lists::Types::UpdateInterestCategoryListsRequest.new(params).to_h
856
+ non_body_param_names = %w[list_id interest_category_id]
857
+ body = request_data.except(*non_body_param_names)
858
+
859
+ request = Mailchimp::Internal::JSON::Request.new(
860
+ base_url: request_options[:base_url],
861
+ method: "PATCH",
862
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/interest-categories/#{URI.encode_uri_component(params[:interest_category_id].to_s)}",
863
+ body: body,
864
+ request_options: request_options
865
+ )
866
+ begin
867
+ response = @client.send(request)
868
+ rescue Net::HTTPRequestTimeout
869
+ raise Mailchimp::Errors::TimeoutError
870
+ end
871
+ code = response.code.to_i
872
+ if code.between?(200, 299)
873
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::InterestCategory.load(response.body))
874
+ else
875
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
876
+ raise error_class.new(response.body, code: code)
877
+ end
878
+ end
879
+
880
+ # Get a list of this category's interests.
881
+ #
882
+ # @param request_options [Hash]
883
+ # @param params [Hash]
884
+ # @option request_options [String] :base_url
885
+ # @option request_options [Hash{String => Object}] :additional_headers
886
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
887
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
888
+ # @option request_options [Integer] :timeout_in_seconds
889
+ # @option params [String] :list_id
890
+ # @option params [String] :interest_category_id
891
+ # @option params [String, nil] :fields
892
+ # @option params [String, nil] :exclude_fields
893
+ # @option params [Integer, nil] :count
894
+ # @option params [Integer, nil] :offset
895
+ #
896
+ # @example
897
+ # client.lists.list_interest_category_interests(
898
+ # list_id: "list_id",
899
+ # interest_category_id: "interest_category_id"
900
+ # )
901
+ #
902
+ # @return [Mailchimp::Lists::Types::ListInterestCategoryInterestsListsResponse]
903
+ def list_interest_category_interests(request_options: {}, **params)
904
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
905
+ query_params = {}
906
+ query_params["fields"] = params[:fields] if params.key?(:fields)
907
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
908
+ query_params["count"] = params[:count] if params.key?(:count)
909
+ query_params["offset"] = params[:offset] if params.key?(:offset)
910
+
911
+ Mailchimp::Internal::OffsetItemIterator.new(
912
+ initial_page: query_params["offset"],
913
+ item_field: :interests,
914
+ has_next_field: nil,
915
+ step: false
916
+ ) do |next_page|
917
+ query_params["offset"] = next_page
918
+ request = Mailchimp::Internal::JSON::Request.new(
919
+ base_url: request_options[:base_url],
920
+ method: "GET",
921
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/interest-categories/#{URI.encode_uri_component(params[:interest_category_id].to_s)}/interests",
922
+ query: query_params,
923
+ request_options: request_options
924
+ )
925
+ begin
926
+ response = @client.send(request)
927
+ rescue Net::HTTPRequestTimeout
928
+ raise Mailchimp::Errors::TimeoutError
929
+ end
930
+ code = response.code.to_i
931
+ if code.between?(200, 299)
932
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListInterestCategoryInterestsListsResponse.load(response.body))
933
+ [parsed_response, response]
934
+ else
935
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
936
+ raise error_class.new(response.body, code: code)
937
+ end
938
+ end
939
+ end
940
+
941
+ # Create a new interest or 'group name' for a specific category.
942
+ #
943
+ # @param request_options [Hash]
944
+ # @param params [Mailchimp::Lists::Types::CreateInterestCategoryInterestListsRequest]
945
+ # @option request_options [String] :base_url
946
+ # @option request_options [Hash{String => Object}] :additional_headers
947
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
948
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
949
+ # @option request_options [Integer] :timeout_in_seconds
950
+ # @option params [String] :list_id
951
+ # @option params [String] :interest_category_id
952
+ #
953
+ # @example
954
+ # client.lists.create_interest_category_interest(
955
+ # list_id: "list_id",
956
+ # interest_category_id: "interest_category_id",
957
+ # name: "name"
958
+ # )
959
+ #
960
+ # @return [Mailchimp::Types::Interest]
961
+ def create_interest_category_interest(request_options: {}, **params)
962
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
963
+ request_data = Mailchimp::Lists::Types::CreateInterestCategoryInterestListsRequest.new(params).to_h
964
+ non_body_param_names = %w[list_id interest_category_id]
965
+ body = request_data.except(*non_body_param_names)
966
+
967
+ request = Mailchimp::Internal::JSON::Request.new(
968
+ base_url: request_options[:base_url],
969
+ method: "POST",
970
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/interest-categories/#{URI.encode_uri_component(params[:interest_category_id].to_s)}/interests",
971
+ body: body,
972
+ request_options: request_options
973
+ )
974
+ begin
975
+ response = @client.send(request)
976
+ rescue Net::HTTPRequestTimeout
977
+ raise Mailchimp::Errors::TimeoutError
978
+ end
979
+ code = response.code.to_i
980
+ if code.between?(200, 299)
981
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::Interest.load(response.body))
982
+ else
983
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
984
+ raise error_class.new(response.body, code: code)
985
+ end
986
+ end
987
+
988
+ # Get interests or 'group names' for a specific category.
989
+ #
990
+ # @param request_options [Hash]
991
+ # @param params [Hash]
992
+ # @option request_options [String] :base_url
993
+ # @option request_options [Hash{String => Object}] :additional_headers
994
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
995
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
996
+ # @option request_options [Integer] :timeout_in_seconds
997
+ # @option params [String] :list_id
998
+ # @option params [String] :interest_category_id
999
+ # @option params [String] :interest_id
1000
+ # @option params [String, nil] :fields
1001
+ # @option params [String, nil] :exclude_fields
1002
+ #
1003
+ # @example
1004
+ # client.lists.get_interest_category_interest(
1005
+ # list_id: "list_id",
1006
+ # interest_category_id: "interest_category_id",
1007
+ # interest_id: "interest_id"
1008
+ # )
1009
+ #
1010
+ # @return [Mailchimp::Types::Interest]
1011
+ def get_interest_category_interest(request_options: {}, **params)
1012
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1013
+ query_params = {}
1014
+ query_params["fields"] = params[:fields] if params.key?(:fields)
1015
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
1016
+
1017
+ request = Mailchimp::Internal::JSON::Request.new(
1018
+ base_url: request_options[:base_url],
1019
+ method: "GET",
1020
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/interest-categories/#{URI.encode_uri_component(params[:interest_category_id].to_s)}/interests/#{URI.encode_uri_component(params[:interest_id].to_s)}",
1021
+ query: query_params,
1022
+ request_options: request_options
1023
+ )
1024
+ begin
1025
+ response = @client.send(request)
1026
+ rescue Net::HTTPRequestTimeout
1027
+ raise Mailchimp::Errors::TimeoutError
1028
+ end
1029
+ code = response.code.to_i
1030
+ if code.between?(200, 299)
1031
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::Interest.load(response.body))
1032
+ else
1033
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1034
+ raise error_class.new(response.body, code: code)
1035
+ end
1036
+ end
1037
+
1038
+ # Delete interests or group names in a specific category.
1039
+ #
1040
+ # @param request_options [Hash]
1041
+ # @param params [Hash]
1042
+ # @option request_options [String] :base_url
1043
+ # @option request_options [Hash{String => Object}] :additional_headers
1044
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1045
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1046
+ # @option request_options [Integer] :timeout_in_seconds
1047
+ # @option params [String] :list_id
1048
+ # @option params [String] :interest_category_id
1049
+ # @option params [String] :interest_id
1050
+ #
1051
+ # @example
1052
+ # client.lists.delete_interest_category_interest(
1053
+ # list_id: "list_id",
1054
+ # interest_category_id: "interest_category_id",
1055
+ # interest_id: "interest_id"
1056
+ # )
1057
+ #
1058
+ # @return [untyped]
1059
+ def delete_interest_category_interest(request_options: {}, **params)
1060
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1061
+ request = Mailchimp::Internal::JSON::Request.new(
1062
+ base_url: request_options[:base_url],
1063
+ method: "DELETE",
1064
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/interest-categories/#{URI.encode_uri_component(params[:interest_category_id].to_s)}/interests/#{URI.encode_uri_component(params[:interest_id].to_s)}",
1065
+ request_options: request_options
1066
+ )
1067
+ begin
1068
+ response = @client.send(request)
1069
+ rescue Net::HTTPRequestTimeout
1070
+ raise Mailchimp::Errors::TimeoutError
1071
+ end
1072
+ code = response.code.to_i
1073
+ return if code.between?(200, 299)
1074
+
1075
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1076
+ raise error_class.new(response.body, code: code)
1077
+ end
1078
+
1079
+ # Update interests or 'group names' for a specific category.
1080
+ #
1081
+ # @param request_options [Hash]
1082
+ # @param params [Mailchimp::Lists::Types::UpdateInterestCategoryInterestListsRequest]
1083
+ # @option request_options [String] :base_url
1084
+ # @option request_options [Hash{String => Object}] :additional_headers
1085
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1086
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1087
+ # @option request_options [Integer] :timeout_in_seconds
1088
+ # @option params [String] :list_id
1089
+ # @option params [String] :interest_category_id
1090
+ # @option params [String] :interest_id
1091
+ #
1092
+ # @example
1093
+ # client.lists.update_interest_category_interest(
1094
+ # list_id: "list_id",
1095
+ # interest_category_id: "interest_category_id",
1096
+ # interest_id: "interest_id"
1097
+ # )
1098
+ #
1099
+ # @return [Mailchimp::Types::Interest]
1100
+ def update_interest_category_interest(request_options: {}, **params)
1101
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1102
+ request_data = Mailchimp::Lists::Types::UpdateInterestCategoryInterestListsRequest.new(params).to_h
1103
+ non_body_param_names = %w[list_id interest_category_id interest_id]
1104
+ body = request_data.except(*non_body_param_names)
1105
+
1106
+ request = Mailchimp::Internal::JSON::Request.new(
1107
+ base_url: request_options[:base_url],
1108
+ method: "PATCH",
1109
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/interest-categories/#{URI.encode_uri_component(params[:interest_category_id].to_s)}/interests/#{URI.encode_uri_component(params[:interest_id].to_s)}",
1110
+ body: body,
1111
+ request_options: request_options
1112
+ )
1113
+ begin
1114
+ response = @client.send(request)
1115
+ rescue Net::HTTPRequestTimeout
1116
+ raise Mailchimp::Errors::TimeoutError
1117
+ end
1118
+ code = response.code.to_i
1119
+ if code.between?(200, 299)
1120
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::Interest.load(response.body))
1121
+ else
1122
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1123
+ raise error_class.new(response.body, code: code)
1124
+ end
1125
+ end
1126
+
1127
+ # Get the locations (countries) that the list's subscribers have been tagged to based on geocoding their IP
1128
+ # address.
1129
+ #
1130
+ # @param request_options [Hash]
1131
+ # @param params [Hash]
1132
+ # @option request_options [String] :base_url
1133
+ # @option request_options [Hash{String => Object}] :additional_headers
1134
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1135
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1136
+ # @option request_options [Integer] :timeout_in_seconds
1137
+ # @option params [String] :list_id
1138
+ # @option params [String, nil] :fields
1139
+ # @option params [String, nil] :exclude_fields
1140
+ #
1141
+ # @example
1142
+ # client.lists.list_locations(list_id: "list_id")
1143
+ #
1144
+ # @return [Mailchimp::Lists::Types::ListLocationsListsResponse]
1145
+ def list_locations(request_options: {}, **params)
1146
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1147
+ query_params = {}
1148
+ query_params["fields"] = params[:fields] if params.key?(:fields)
1149
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
1150
+
1151
+ request = Mailchimp::Internal::JSON::Request.new(
1152
+ base_url: request_options[:base_url],
1153
+ method: "GET",
1154
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/locations",
1155
+ query: query_params,
1156
+ request_options: request_options
1157
+ )
1158
+ begin
1159
+ response = @client.send(request)
1160
+ rescue Net::HTTPRequestTimeout
1161
+ raise Mailchimp::Errors::TimeoutError
1162
+ end
1163
+ code = response.code.to_i
1164
+ if code.between?(200, 299)
1165
+ (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListLocationsListsResponse.load(response.body))
1166
+ else
1167
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1168
+ raise error_class.new(response.body, code: code)
1169
+ end
1170
+ end
1171
+
1172
+ # Get information about members in a specific Mailchimp list.
1173
+ #
1174
+ # @param request_options [Hash]
1175
+ # @param params [Hash]
1176
+ # @option request_options [String] :base_url
1177
+ # @option request_options [Hash{String => Object}] :additional_headers
1178
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1179
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1180
+ # @option request_options [Integer] :timeout_in_seconds
1181
+ # @option params [String] :list_id
1182
+ # @option params [String, nil] :fields
1183
+ # @option params [String, nil] :exclude_fields
1184
+ # @option params [Integer, nil] :count
1185
+ # @option params [Integer, nil] :offset
1186
+ # @option params [String, nil] :email_type
1187
+ # @option params [Mailchimp::Lists::Types::ListMembersListsRequestStatus, nil] :status
1188
+ # @option params [String, nil] :since_timestamp_opt
1189
+ # @option params [String, nil] :before_timestamp_opt
1190
+ # @option params [String, nil] :since_last_changed
1191
+ # @option params [String, nil] :before_last_changed
1192
+ # @option params [String, nil] :unique_email_id
1193
+ # @option params [Boolean, nil] :vip_only
1194
+ # @option params [String, nil] :interest_category_id
1195
+ # @option params [String, nil] :interest_ids
1196
+ # @option params [Mailchimp::Lists::Types::ListMembersListsRequestInterestMatch, nil] :interest_match
1197
+ # @option params [Mailchimp::Lists::Types::ListMembersListsRequestSortField, nil] :sort_field
1198
+ # @option params [Mailchimp::Lists::Types::ListMembersListsRequestSortDir, nil] :sort_dir
1199
+ # @option params [Boolean, nil] :since_last_campaign
1200
+ # @option params [String, nil] :unsubscribed_since
1201
+ #
1202
+ # @example
1203
+ # client.lists.list_members(list_id: "list_id")
1204
+ #
1205
+ # @return [Mailchimp::Lists::Types::ListMembersListsResponse]
1206
+ def list_members(request_options: {}, **params)
1207
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1208
+ query_params = {}
1209
+ query_params["fields"] = params[:fields] if params.key?(:fields)
1210
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
1211
+ query_params["count"] = params[:count] if params.key?(:count)
1212
+ query_params["offset"] = params[:offset] if params.key?(:offset)
1213
+ query_params["email_type"] = params[:email_type] if params.key?(:email_type)
1214
+ query_params["status"] = params[:status] if params.key?(:status)
1215
+ query_params["since_timestamp_opt"] = params[:since_timestamp_opt] if params.key?(:since_timestamp_opt)
1216
+ query_params["before_timestamp_opt"] = params[:before_timestamp_opt] if params.key?(:before_timestamp_opt)
1217
+ query_params["since_last_changed"] = params[:since_last_changed] if params.key?(:since_last_changed)
1218
+ query_params["before_last_changed"] = params[:before_last_changed] if params.key?(:before_last_changed)
1219
+ query_params["unique_email_id"] = params[:unique_email_id] if params.key?(:unique_email_id)
1220
+ query_params["vip_only"] = params[:vip_only] if params.key?(:vip_only)
1221
+ query_params["interest_category_id"] = params[:interest_category_id] if params.key?(:interest_category_id)
1222
+ query_params["interest_ids"] = params[:interest_ids] if params.key?(:interest_ids)
1223
+ query_params["interest_match"] = params[:interest_match] if params.key?(:interest_match)
1224
+ query_params["sort_field"] = params[:sort_field] if params.key?(:sort_field)
1225
+ query_params["sort_dir"] = params[:sort_dir] if params.key?(:sort_dir)
1226
+ query_params["since_last_campaign"] = params[:since_last_campaign] if params.key?(:since_last_campaign)
1227
+ query_params["unsubscribed_since"] = params[:unsubscribed_since] if params.key?(:unsubscribed_since)
1228
+
1229
+ Mailchimp::Internal::OffsetItemIterator.new(
1230
+ initial_page: query_params["offset"],
1231
+ item_field: :members,
1232
+ has_next_field: nil,
1233
+ step: false
1234
+ ) do |next_page|
1235
+ query_params["offset"] = next_page
1236
+ request = Mailchimp::Internal::JSON::Request.new(
1237
+ base_url: request_options[:base_url],
1238
+ method: "GET",
1239
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/members",
1240
+ query: query_params,
1241
+ request_options: request_options
1242
+ )
1243
+ begin
1244
+ response = @client.send(request)
1245
+ rescue Net::HTTPRequestTimeout
1246
+ raise Mailchimp::Errors::TimeoutError
1247
+ end
1248
+ code = response.code.to_i
1249
+ if code.between?(200, 299)
1250
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListMembersListsResponse.load(response.body))
1251
+ [parsed_response, response]
1252
+ else
1253
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1254
+ raise error_class.new(response.body, code: code)
1255
+ end
1256
+ end
1257
+ end
1258
+
1259
+ # Add a new member to the list.
1260
+ #
1261
+ # @param request_options [Hash]
1262
+ # @param params [Mailchimp::Lists::Types::CreateMemberListsRequest]
1263
+ # @option request_options [String] :base_url
1264
+ # @option request_options [Hash{String => Object}] :additional_headers
1265
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1266
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1267
+ # @option request_options [Integer] :timeout_in_seconds
1268
+ # @option params [String] :list_id
1269
+ # @option params [Boolean, nil] :skip_merge_validation
1270
+ #
1271
+ # @example
1272
+ # client.lists.create_member(
1273
+ # list_id: "list_id",
1274
+ # email_address: "email_address",
1275
+ # status: "subscribed"
1276
+ # )
1277
+ #
1278
+ # @return [Mailchimp::Types::ListMembers]
1279
+ def create_member(request_options: {}, **params)
1280
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1281
+ request_data = Mailchimp::Lists::Types::CreateMemberListsRequest.new(params).to_h
1282
+ non_body_param_names = %w[list_id skip_merge_validation]
1283
+ body = request_data.except(*non_body_param_names)
1284
+
1285
+ query_params = {}
1286
+ query_params["skip_merge_validation"] = params[:skip_merge_validation] if params.key?(:skip_merge_validation)
1287
+
1288
+ request = Mailchimp::Internal::JSON::Request.new(
1289
+ base_url: request_options[:base_url],
1290
+ method: "POST",
1291
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/members",
1292
+ query: query_params,
1293
+ body: body,
1294
+ request_options: request_options
1295
+ )
1296
+ begin
1297
+ response = @client.send(request)
1298
+ rescue Net::HTTPRequestTimeout
1299
+ raise Mailchimp::Errors::TimeoutError
1300
+ end
1301
+ code = response.code.to_i
1302
+ if code.between?(200, 299)
1303
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ListMembers.load(response.body))
1304
+ else
1305
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1306
+ raise error_class.new(response.body, code: code)
1307
+ end
1308
+ end
1309
+
1310
+ # Get information about a specific list member, including a currently subscribed, unsubscribed, or bounced member.
1311
+ #
1312
+ # @param request_options [Hash]
1313
+ # @param params [Hash]
1314
+ # @option request_options [String] :base_url
1315
+ # @option request_options [Hash{String => Object}] :additional_headers
1316
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1317
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1318
+ # @option request_options [Integer] :timeout_in_seconds
1319
+ # @option params [String] :list_id
1320
+ # @option params [String] :subscriber_hash
1321
+ # @option params [String, nil] :fields
1322
+ # @option params [String, nil] :exclude_fields
1323
+ #
1324
+ # @example
1325
+ # client.lists.get_member(
1326
+ # list_id: "list_id",
1327
+ # subscriber_hash: "subscriber_hash"
1328
+ # )
1329
+ #
1330
+ # @return [Mailchimp::Types::ListMembers]
1331
+ def get_member(request_options: {}, **params)
1332
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1333
+ query_params = {}
1334
+ query_params["fields"] = params[:fields] if params.key?(:fields)
1335
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
1336
+
1337
+ request = Mailchimp::Internal::JSON::Request.new(
1338
+ base_url: request_options[:base_url],
1339
+ method: "GET",
1340
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/members/#{URI.encode_uri_component(params[:subscriber_hash].to_s)}",
1341
+ query: query_params,
1342
+ request_options: request_options
1343
+ )
1344
+ begin
1345
+ response = @client.send(request)
1346
+ rescue Net::HTTPRequestTimeout
1347
+ raise Mailchimp::Errors::TimeoutError
1348
+ end
1349
+ code = response.code.to_i
1350
+ if code.between?(200, 299)
1351
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ListMembers.load(response.body))
1352
+ else
1353
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1354
+ raise error_class.new(response.body, code: code)
1355
+ end
1356
+ end
1357
+
1358
+ # Add or update a list member.
1359
+ #
1360
+ # @param request_options [Hash]
1361
+ # @param params [Mailchimp::Lists::Types::UpsertMemberListsRequest]
1362
+ # @option request_options [String] :base_url
1363
+ # @option request_options [Hash{String => Object}] :additional_headers
1364
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1365
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1366
+ # @option request_options [Integer] :timeout_in_seconds
1367
+ # @option params [String] :list_id
1368
+ # @option params [String] :subscriber_hash
1369
+ # @option params [Boolean, nil] :skip_merge_validation
1370
+ #
1371
+ # @example
1372
+ # client.lists.upsert_member(
1373
+ # list_id: "list_id",
1374
+ # subscriber_hash: "subscriber_hash",
1375
+ # email_address: "email_address"
1376
+ # )
1377
+ #
1378
+ # @return [Mailchimp::Types::ListMembers]
1379
+ def upsert_member(request_options: {}, **params)
1380
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1381
+ request_data = Mailchimp::Lists::Types::UpsertMemberListsRequest.new(params).to_h
1382
+ non_body_param_names = %w[list_id subscriber_hash skip_merge_validation]
1383
+ body = request_data.except(*non_body_param_names)
1384
+
1385
+ query_params = {}
1386
+ query_params["skip_merge_validation"] = params[:skip_merge_validation] if params.key?(:skip_merge_validation)
1387
+
1388
+ request = Mailchimp::Internal::JSON::Request.new(
1389
+ base_url: request_options[:base_url],
1390
+ method: "PUT",
1391
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/members/#{URI.encode_uri_component(params[:subscriber_hash].to_s)}",
1392
+ query: query_params,
1393
+ body: body,
1394
+ request_options: request_options
1395
+ )
1396
+ begin
1397
+ response = @client.send(request)
1398
+ rescue Net::HTTPRequestTimeout
1399
+ raise Mailchimp::Errors::TimeoutError
1400
+ end
1401
+ code = response.code.to_i
1402
+ if code.between?(200, 299)
1403
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ListMembers.load(response.body))
1404
+ else
1405
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1406
+ raise error_class.new(response.body, code: code)
1407
+ end
1408
+ end
1409
+
1410
+ # Archive a list member. To permanently delete, use the delete-permanent action.
1411
+ #
1412
+ # @param request_options [Hash]
1413
+ # @param params [Hash]
1414
+ # @option request_options [String] :base_url
1415
+ # @option request_options [Hash{String => Object}] :additional_headers
1416
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1417
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1418
+ # @option request_options [Integer] :timeout_in_seconds
1419
+ # @option params [String] :list_id
1420
+ # @option params [String] :subscriber_hash
1421
+ #
1422
+ # @example
1423
+ # client.lists.delete_member(
1424
+ # list_id: "list_id",
1425
+ # subscriber_hash: "subscriber_hash"
1426
+ # )
1427
+ #
1428
+ # @return [untyped]
1429
+ def delete_member(request_options: {}, **params)
1430
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1431
+ request = Mailchimp::Internal::JSON::Request.new(
1432
+ base_url: request_options[:base_url],
1433
+ method: "DELETE",
1434
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/members/#{URI.encode_uri_component(params[:subscriber_hash].to_s)}",
1435
+ request_options: request_options
1436
+ )
1437
+ begin
1438
+ response = @client.send(request)
1439
+ rescue Net::HTTPRequestTimeout
1440
+ raise Mailchimp::Errors::TimeoutError
1441
+ end
1442
+ code = response.code.to_i
1443
+ return if code.between?(200, 299)
1444
+
1445
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1446
+ raise error_class.new(response.body, code: code)
1447
+ end
1448
+
1449
+ # Update information for a specific list member.
1450
+ #
1451
+ # @param request_options [Hash]
1452
+ # @param params [Mailchimp::Lists::Types::UpdateMemberListsRequest]
1453
+ # @option request_options [String] :base_url
1454
+ # @option request_options [Hash{String => Object}] :additional_headers
1455
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1456
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1457
+ # @option request_options [Integer] :timeout_in_seconds
1458
+ # @option params [String] :list_id
1459
+ # @option params [String] :subscriber_hash
1460
+ # @option params [Boolean, nil] :skip_merge_validation
1461
+ #
1462
+ # @example
1463
+ # client.lists.update_member(
1464
+ # list_id: "list_id",
1465
+ # subscriber_hash: "subscriber_hash"
1466
+ # )
1467
+ #
1468
+ # @return [Mailchimp::Types::ListMembers]
1469
+ def update_member(request_options: {}, **params)
1470
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1471
+ request_data = Mailchimp::Lists::Types::UpdateMemberListsRequest.new(params).to_h
1472
+ non_body_param_names = %w[list_id subscriber_hash skip_merge_validation]
1473
+ body = request_data.except(*non_body_param_names)
1474
+
1475
+ query_params = {}
1476
+ query_params["skip_merge_validation"] = params[:skip_merge_validation] if params.key?(:skip_merge_validation)
1477
+
1478
+ request = Mailchimp::Internal::JSON::Request.new(
1479
+ base_url: request_options[:base_url],
1480
+ method: "PATCH",
1481
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/members/#{URI.encode_uri_component(params[:subscriber_hash].to_s)}",
1482
+ query: query_params,
1483
+ body: body,
1484
+ request_options: request_options
1485
+ )
1486
+ begin
1487
+ response = @client.send(request)
1488
+ rescue Net::HTTPRequestTimeout
1489
+ raise Mailchimp::Errors::TimeoutError
1490
+ end
1491
+ code = response.code.to_i
1492
+ if code.between?(200, 299)
1493
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ListMembers.load(response.body))
1494
+ else
1495
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1496
+ raise error_class.new(response.body, code: code)
1497
+ end
1498
+ end
1499
+
1500
+ # Delete all personally identifiable information related to a list member, and remove them from a list. This will
1501
+ # make it impossible to re-import the list member.
1502
+ #
1503
+ # @param request_options [Hash]
1504
+ # @param params [Hash]
1505
+ # @option request_options [String] :base_url
1506
+ # @option request_options [Hash{String => Object}] :additional_headers
1507
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1508
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1509
+ # @option request_options [Integer] :timeout_in_seconds
1510
+ # @option params [String] :list_id
1511
+ # @option params [String] :subscriber_hash
1512
+ #
1513
+ # @example
1514
+ # client.lists.create_member_action_delete_permanent(
1515
+ # list_id: "list_id",
1516
+ # subscriber_hash: "subscriber_hash"
1517
+ # )
1518
+ #
1519
+ # @return [untyped]
1520
+ def create_member_action_delete_permanent(request_options: {}, **params)
1521
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1522
+ request = Mailchimp::Internal::JSON::Request.new(
1523
+ base_url: request_options[:base_url],
1524
+ method: "POST",
1525
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/members/#{URI.encode_uri_component(params[:subscriber_hash].to_s)}/actions/delete-permanent",
1526
+ request_options: request_options
1527
+ )
1528
+ begin
1529
+ response = @client.send(request)
1530
+ rescue Net::HTTPRequestTimeout
1531
+ raise Mailchimp::Errors::TimeoutError
1532
+ end
1533
+ code = response.code.to_i
1534
+ return if code.between?(200, 299)
1535
+
1536
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1537
+ raise error_class.new(response.body, code: code)
1538
+ end
1539
+
1540
+ # Get the last 50 events of a member's activity on a specific list, including opens, clicks, and unsubscribes.
1541
+ #
1542
+ # @param request_options [Hash]
1543
+ # @param params [Hash]
1544
+ # @option request_options [String] :base_url
1545
+ # @option request_options [Hash{String => Object}] :additional_headers
1546
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1547
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1548
+ # @option request_options [Integer] :timeout_in_seconds
1549
+ # @option params [String] :list_id
1550
+ # @option params [String] :subscriber_hash
1551
+ # @option params [String, nil] :fields
1552
+ # @option params [String, nil] :exclude_fields
1553
+ # @option params [Mailchimp::Lists::Types::ListMemberActivityListsRequestActionItem, nil] :action
1554
+ #
1555
+ # @example
1556
+ # client.lists.list_member_activity(
1557
+ # list_id: "list_id",
1558
+ # subscriber_hash: "subscriber_hash"
1559
+ # )
1560
+ #
1561
+ # @return [Mailchimp::Lists::Types::ListMemberActivityListsResponse]
1562
+ def list_member_activity(request_options: {}, **params)
1563
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1564
+ query_params = {}
1565
+ query_params["fields"] = params[:fields] if params.key?(:fields)
1566
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
1567
+ query_params["action"] = params[:action] if params.key?(:action)
1568
+
1569
+ request = Mailchimp::Internal::JSON::Request.new(
1570
+ base_url: request_options[:base_url],
1571
+ method: "GET",
1572
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/members/#{URI.encode_uri_component(params[:subscriber_hash].to_s)}/activity",
1573
+ query: query_params,
1574
+ request_options: request_options
1575
+ )
1576
+ begin
1577
+ response = @client.send(request)
1578
+ rescue Net::HTTPRequestTimeout
1579
+ raise Mailchimp::Errors::TimeoutError
1580
+ end
1581
+ code = response.code.to_i
1582
+ if code.between?(200, 299)
1583
+ (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListMemberActivityListsResponse.load(response.body))
1584
+ else
1585
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1586
+ raise error_class.new(response.body, code: code)
1587
+ end
1588
+ end
1589
+
1590
+ # Get a member's activity on a specific list, including opens, clicks, and unsubscribes.
1591
+ #
1592
+ # @param request_options [Hash]
1593
+ # @param params [Hash]
1594
+ # @option request_options [String] :base_url
1595
+ # @option request_options [Hash{String => Object}] :additional_headers
1596
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1597
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1598
+ # @option request_options [Integer] :timeout_in_seconds
1599
+ # @option params [String] :list_id
1600
+ # @option params [String] :subscriber_hash
1601
+ # @option params [String, nil] :fields
1602
+ # @option params [String, nil] :exclude_fields
1603
+ # @option params [Integer, nil] :count
1604
+ # @option params [Integer, nil] :offset
1605
+ # @option params [Mailchimp::Lists::Types::ListMemberActivityFeedListsRequestActivityFiltersItem, nil] :activity_filters
1606
+ #
1607
+ # @example
1608
+ # client.lists.list_member_activity_feed(
1609
+ # list_id: "list_id",
1610
+ # subscriber_hash: "subscriber_hash"
1611
+ # )
1612
+ #
1613
+ # @return [Mailchimp::Lists::Types::ListMemberActivityFeedListsResponse]
1614
+ def list_member_activity_feed(request_options: {}, **params)
1615
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1616
+ query_params = {}
1617
+ query_params["fields"] = params[:fields] if params.key?(:fields)
1618
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
1619
+ query_params["count"] = params[:count] if params.key?(:count)
1620
+ query_params["offset"] = params[:offset] if params.key?(:offset)
1621
+ query_params["activity_filters"] = params[:activity_filters] if params.key?(:activity_filters)
1622
+
1623
+ Mailchimp::Internal::OffsetItemIterator.new(
1624
+ initial_page: query_params["offset"],
1625
+ item_field: :activity,
1626
+ has_next_field: nil,
1627
+ step: false
1628
+ ) do |next_page|
1629
+ query_params["offset"] = next_page
1630
+ request = Mailchimp::Internal::JSON::Request.new(
1631
+ base_url: request_options[:base_url],
1632
+ method: "GET",
1633
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/members/#{URI.encode_uri_component(params[:subscriber_hash].to_s)}/activity-feed",
1634
+ query: query_params,
1635
+ request_options: request_options
1636
+ )
1637
+ begin
1638
+ response = @client.send(request)
1639
+ rescue Net::HTTPRequestTimeout
1640
+ raise Mailchimp::Errors::TimeoutError
1641
+ end
1642
+ code = response.code.to_i
1643
+ if code.between?(200, 299)
1644
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListMemberActivityFeedListsResponse.load(response.body))
1645
+ [parsed_response, response]
1646
+ else
1647
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1648
+ raise error_class.new(response.body, code: code)
1649
+ end
1650
+ end
1651
+ end
1652
+
1653
+ # Get events for a contact.
1654
+ #
1655
+ # @param request_options [Hash]
1656
+ # @param params [Hash]
1657
+ # @option request_options [String] :base_url
1658
+ # @option request_options [Hash{String => Object}] :additional_headers
1659
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1660
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1661
+ # @option request_options [Integer] :timeout_in_seconds
1662
+ # @option params [String] :list_id
1663
+ # @option params [String] :subscriber_hash
1664
+ # @option params [Integer, nil] :count
1665
+ # @option params [Integer, nil] :offset
1666
+ # @option params [String, nil] :fields
1667
+ # @option params [String, nil] :exclude_fields
1668
+ #
1669
+ # @example
1670
+ # client.lists.list_member_events(
1671
+ # list_id: "list_id",
1672
+ # subscriber_hash: "subscriber_hash"
1673
+ # )
1674
+ #
1675
+ # @return [Mailchimp::Lists::Types::ListMemberEventsListsResponse]
1676
+ def list_member_events(request_options: {}, **params)
1677
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1678
+ query_params = {}
1679
+ query_params["count"] = params[:count] if params.key?(:count)
1680
+ query_params["offset"] = params[:offset] if params.key?(:offset)
1681
+ query_params["fields"] = params[:fields] if params.key?(:fields)
1682
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
1683
+
1684
+ Mailchimp::Internal::OffsetItemIterator.new(
1685
+ initial_page: query_params["offset"],
1686
+ item_field: :events,
1687
+ has_next_field: nil,
1688
+ step: false
1689
+ ) do |next_page|
1690
+ query_params["offset"] = next_page
1691
+ request = Mailchimp::Internal::JSON::Request.new(
1692
+ base_url: request_options[:base_url],
1693
+ method: "GET",
1694
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/members/#{URI.encode_uri_component(params[:subscriber_hash].to_s)}/events",
1695
+ query: query_params,
1696
+ request_options: request_options
1697
+ )
1698
+ begin
1699
+ response = @client.send(request)
1700
+ rescue Net::HTTPRequestTimeout
1701
+ raise Mailchimp::Errors::TimeoutError
1702
+ end
1703
+ code = response.code.to_i
1704
+ if code.between?(200, 299)
1705
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListMemberEventsListsResponse.load(response.body))
1706
+ [parsed_response, response]
1707
+ else
1708
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1709
+ raise error_class.new(response.body, code: code)
1710
+ end
1711
+ end
1712
+ end
1713
+
1714
+ # Add an event for a list member.
1715
+ #
1716
+ # @param request_options [Hash]
1717
+ # @param params [Mailchimp::Lists::Types::CreateMemberEventListsRequest]
1718
+ # @option request_options [String] :base_url
1719
+ # @option request_options [Hash{String => Object}] :additional_headers
1720
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1721
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1722
+ # @option request_options [Integer] :timeout_in_seconds
1723
+ # @option params [String] :list_id
1724
+ # @option params [String] :subscriber_hash
1725
+ #
1726
+ # @example
1727
+ # client.lists.create_member_event(
1728
+ # list_id: "list_id",
1729
+ # subscriber_hash: "subscriber_hash",
1730
+ # name: "name"
1731
+ # )
1732
+ #
1733
+ # @return [untyped]
1734
+ def create_member_event(request_options: {}, **params)
1735
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1736
+ request_data = Mailchimp::Lists::Types::CreateMemberEventListsRequest.new(params).to_h
1737
+ non_body_param_names = %w[list_id subscriber_hash]
1738
+ body = request_data.except(*non_body_param_names)
1739
+
1740
+ request = Mailchimp::Internal::JSON::Request.new(
1741
+ base_url: request_options[:base_url],
1742
+ method: "POST",
1743
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/members/#{URI.encode_uri_component(params[:subscriber_hash].to_s)}/events",
1744
+ body: body,
1745
+ request_options: request_options
1746
+ )
1747
+ begin
1748
+ response = @client.send(request)
1749
+ rescue Net::HTTPRequestTimeout
1750
+ raise Mailchimp::Errors::TimeoutError
1751
+ end
1752
+ code = response.code.to_i
1753
+ return if code.between?(200, 299)
1754
+
1755
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1756
+ raise error_class.new(response.body, code: code)
1757
+ end
1758
+
1759
+ # Get the last 50 Goal events for a member on a specific list.
1760
+ #
1761
+ # @param request_options [Hash]
1762
+ # @param params [Hash]
1763
+ # @option request_options [String] :base_url
1764
+ # @option request_options [Hash{String => Object}] :additional_headers
1765
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1766
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1767
+ # @option request_options [Integer] :timeout_in_seconds
1768
+ # @option params [String] :list_id
1769
+ # @option params [String] :subscriber_hash
1770
+ # @option params [String, nil] :fields
1771
+ # @option params [String, nil] :exclude_fields
1772
+ #
1773
+ # @example
1774
+ # client.lists.list_member_goals(
1775
+ # list_id: "list_id",
1776
+ # subscriber_hash: "subscriber_hash"
1777
+ # )
1778
+ #
1779
+ # @return [Mailchimp::Lists::Types::ListMemberGoalsListsResponse]
1780
+ def list_member_goals(request_options: {}, **params)
1781
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1782
+ query_params = {}
1783
+ query_params["fields"] = params[:fields] if params.key?(:fields)
1784
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
1785
+
1786
+ request = Mailchimp::Internal::JSON::Request.new(
1787
+ base_url: request_options[:base_url],
1788
+ method: "GET",
1789
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/members/#{URI.encode_uri_component(params[:subscriber_hash].to_s)}/goals",
1790
+ query: query_params,
1791
+ request_options: request_options
1792
+ )
1793
+ begin
1794
+ response = @client.send(request)
1795
+ rescue Net::HTTPRequestTimeout
1796
+ raise Mailchimp::Errors::TimeoutError
1797
+ end
1798
+ code = response.code.to_i
1799
+ if code.between?(200, 299)
1800
+ (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListMemberGoalsListsResponse.load(response.body))
1801
+ else
1802
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1803
+ raise error_class.new(response.body, code: code)
1804
+ end
1805
+ end
1806
+
1807
+ # Get recent notes for a specific list member.
1808
+ #
1809
+ # @param request_options [Hash]
1810
+ # @param params [Hash]
1811
+ # @option request_options [String] :base_url
1812
+ # @option request_options [Hash{String => Object}] :additional_headers
1813
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1814
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1815
+ # @option request_options [Integer] :timeout_in_seconds
1816
+ # @option params [String] :list_id
1817
+ # @option params [String] :subscriber_hash
1818
+ # @option params [Mailchimp::Lists::Types::ListMemberNotesListsRequestSortField, nil] :sort_field
1819
+ # @option params [Mailchimp::Lists::Types::ListMemberNotesListsRequestSortDir, nil] :sort_dir
1820
+ # @option params [String, nil] :fields
1821
+ # @option params [String, nil] :exclude_fields
1822
+ # @option params [Integer, nil] :count
1823
+ # @option params [Integer, nil] :offset
1824
+ #
1825
+ # @example
1826
+ # client.lists.list_member_notes(
1827
+ # list_id: "list_id",
1828
+ # subscriber_hash: "subscriber_hash"
1829
+ # )
1830
+ #
1831
+ # @return [Mailchimp::Lists::Types::ListMemberNotesListsResponse]
1832
+ def list_member_notes(request_options: {}, **params)
1833
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1834
+ query_params = {}
1835
+ query_params["sort_field"] = params[:sort_field] if params.key?(:sort_field)
1836
+ query_params["sort_dir"] = params[:sort_dir] if params.key?(:sort_dir)
1837
+ query_params["fields"] = params[:fields] if params.key?(:fields)
1838
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
1839
+ query_params["count"] = params[:count] if params.key?(:count)
1840
+ query_params["offset"] = params[:offset] if params.key?(:offset)
1841
+
1842
+ Mailchimp::Internal::OffsetItemIterator.new(
1843
+ initial_page: query_params["offset"],
1844
+ item_field: :notes,
1845
+ has_next_field: nil,
1846
+ step: false
1847
+ ) do |next_page|
1848
+ query_params["offset"] = next_page
1849
+ request = Mailchimp::Internal::JSON::Request.new(
1850
+ base_url: request_options[:base_url],
1851
+ method: "GET",
1852
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/members/#{URI.encode_uri_component(params[:subscriber_hash].to_s)}/notes",
1853
+ query: query_params,
1854
+ request_options: request_options
1855
+ )
1856
+ begin
1857
+ response = @client.send(request)
1858
+ rescue Net::HTTPRequestTimeout
1859
+ raise Mailchimp::Errors::TimeoutError
1860
+ end
1861
+ code = response.code.to_i
1862
+ if code.between?(200, 299)
1863
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListMemberNotesListsResponse.load(response.body))
1864
+ [parsed_response, response]
1865
+ else
1866
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1867
+ raise error_class.new(response.body, code: code)
1868
+ end
1869
+ end
1870
+ end
1871
+
1872
+ # Add a new note for a specific subscriber.
1873
+ #
1874
+ # @param request_options [Hash]
1875
+ # @param params [Mailchimp::Lists::Types::CreateMemberNoteListsRequest]
1876
+ # @option request_options [String] :base_url
1877
+ # @option request_options [Hash{String => Object}] :additional_headers
1878
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1879
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1880
+ # @option request_options [Integer] :timeout_in_seconds
1881
+ # @option params [String] :list_id
1882
+ # @option params [String] :subscriber_hash
1883
+ #
1884
+ # @example
1885
+ # client.lists.create_member_note(
1886
+ # list_id: "list_id",
1887
+ # subscriber_hash: "subscriber_hash"
1888
+ # )
1889
+ #
1890
+ # @return [Mailchimp::Types::MemberNotes]
1891
+ def create_member_note(request_options: {}, **params)
1892
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1893
+ request_data = Mailchimp::Lists::Types::CreateMemberNoteListsRequest.new(params).to_h
1894
+ non_body_param_names = %w[list_id subscriber_hash]
1895
+ body = request_data.except(*non_body_param_names)
1896
+
1897
+ request = Mailchimp::Internal::JSON::Request.new(
1898
+ base_url: request_options[:base_url],
1899
+ method: "POST",
1900
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/members/#{URI.encode_uri_component(params[:subscriber_hash].to_s)}/notes",
1901
+ body: body,
1902
+ request_options: request_options
1903
+ )
1904
+ begin
1905
+ response = @client.send(request)
1906
+ rescue Net::HTTPRequestTimeout
1907
+ raise Mailchimp::Errors::TimeoutError
1908
+ end
1909
+ code = response.code.to_i
1910
+ if code.between?(200, 299)
1911
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::MemberNotes.load(response.body))
1912
+ else
1913
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1914
+ raise error_class.new(response.body, code: code)
1915
+ end
1916
+ end
1917
+
1918
+ # Get a specific note for a specific list member.
1919
+ #
1920
+ # @param request_options [Hash]
1921
+ # @param params [Hash]
1922
+ # @option request_options [String] :base_url
1923
+ # @option request_options [Hash{String => Object}] :additional_headers
1924
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1925
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1926
+ # @option request_options [Integer] :timeout_in_seconds
1927
+ # @option params [String] :list_id
1928
+ # @option params [String] :subscriber_hash
1929
+ # @option params [String] :note_id
1930
+ # @option params [String, nil] :fields
1931
+ # @option params [String, nil] :exclude_fields
1932
+ #
1933
+ # @example
1934
+ # client.lists.get_member_note(
1935
+ # list_id: "list_id",
1936
+ # subscriber_hash: "subscriber_hash",
1937
+ # note_id: "note_id"
1938
+ # )
1939
+ #
1940
+ # @return [Mailchimp::Types::MemberNotes]
1941
+ def get_member_note(request_options: {}, **params)
1942
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1943
+ query_params = {}
1944
+ query_params["fields"] = params[:fields] if params.key?(:fields)
1945
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
1946
+
1947
+ request = Mailchimp::Internal::JSON::Request.new(
1948
+ base_url: request_options[:base_url],
1949
+ method: "GET",
1950
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/members/#{URI.encode_uri_component(params[:subscriber_hash].to_s)}/notes/#{URI.encode_uri_component(params[:note_id].to_s)}",
1951
+ query: query_params,
1952
+ request_options: request_options
1953
+ )
1954
+ begin
1955
+ response = @client.send(request)
1956
+ rescue Net::HTTPRequestTimeout
1957
+ raise Mailchimp::Errors::TimeoutError
1958
+ end
1959
+ code = response.code.to_i
1960
+ if code.between?(200, 299)
1961
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::MemberNotes.load(response.body))
1962
+ else
1963
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1964
+ raise error_class.new(response.body, code: code)
1965
+ end
1966
+ end
1967
+
1968
+ # Delete a specific note for a specific list member.
1969
+ #
1970
+ # @param request_options [Hash]
1971
+ # @param params [Hash]
1972
+ # @option request_options [String] :base_url
1973
+ # @option request_options [Hash{String => Object}] :additional_headers
1974
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1975
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1976
+ # @option request_options [Integer] :timeout_in_seconds
1977
+ # @option params [String] :list_id
1978
+ # @option params [String] :subscriber_hash
1979
+ # @option params [String] :note_id
1980
+ #
1981
+ # @example
1982
+ # client.lists.delete_member_note(
1983
+ # list_id: "list_id",
1984
+ # subscriber_hash: "subscriber_hash",
1985
+ # note_id: "note_id"
1986
+ # )
1987
+ #
1988
+ # @return [untyped]
1989
+ def delete_member_note(request_options: {}, **params)
1990
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1991
+ request = Mailchimp::Internal::JSON::Request.new(
1992
+ base_url: request_options[:base_url],
1993
+ method: "DELETE",
1994
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/members/#{URI.encode_uri_component(params[:subscriber_hash].to_s)}/notes/#{URI.encode_uri_component(params[:note_id].to_s)}",
1995
+ request_options: request_options
1996
+ )
1997
+ begin
1998
+ response = @client.send(request)
1999
+ rescue Net::HTTPRequestTimeout
2000
+ raise Mailchimp::Errors::TimeoutError
2001
+ end
2002
+ code = response.code.to_i
2003
+ return if code.between?(200, 299)
2004
+
2005
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2006
+ raise error_class.new(response.body, code: code)
2007
+ end
2008
+
2009
+ # Update a specific note for a specific list member.
2010
+ #
2011
+ # @param request_options [Hash]
2012
+ # @param params [Mailchimp::Lists::Types::UpdateMemberNoteListsRequest]
2013
+ # @option request_options [String] :base_url
2014
+ # @option request_options [Hash{String => Object}] :additional_headers
2015
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2016
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2017
+ # @option request_options [Integer] :timeout_in_seconds
2018
+ # @option params [String] :list_id
2019
+ # @option params [String] :subscriber_hash
2020
+ # @option params [String] :note_id
2021
+ #
2022
+ # @example
2023
+ # client.lists.update_member_note(
2024
+ # list_id: "list_id",
2025
+ # subscriber_hash: "subscriber_hash",
2026
+ # note_id: "note_id"
2027
+ # )
2028
+ #
2029
+ # @return [Mailchimp::Types::MemberNotes]
2030
+ def update_member_note(request_options: {}, **params)
2031
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2032
+ request_data = Mailchimp::Lists::Types::UpdateMemberNoteListsRequest.new(params).to_h
2033
+ non_body_param_names = %w[list_id subscriber_hash note_id]
2034
+ body = request_data.except(*non_body_param_names)
2035
+
2036
+ request = Mailchimp::Internal::JSON::Request.new(
2037
+ base_url: request_options[:base_url],
2038
+ method: "PATCH",
2039
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/members/#{URI.encode_uri_component(params[:subscriber_hash].to_s)}/notes/#{URI.encode_uri_component(params[:note_id].to_s)}",
2040
+ body: body,
2041
+ request_options: request_options
2042
+ )
2043
+ begin
2044
+ response = @client.send(request)
2045
+ rescue Net::HTTPRequestTimeout
2046
+ raise Mailchimp::Errors::TimeoutError
2047
+ end
2048
+ code = response.code.to_i
2049
+ if code.between?(200, 299)
2050
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::MemberNotes.load(response.body))
2051
+ else
2052
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2053
+ raise error_class.new(response.body, code: code)
2054
+ end
2055
+ end
2056
+
2057
+ # Get the tags on a list member.
2058
+ #
2059
+ # @param request_options [Hash]
2060
+ # @param params [Hash]
2061
+ # @option request_options [String] :base_url
2062
+ # @option request_options [Hash{String => Object}] :additional_headers
2063
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2064
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2065
+ # @option request_options [Integer] :timeout_in_seconds
2066
+ # @option params [String] :list_id
2067
+ # @option params [String] :subscriber_hash
2068
+ # @option params [String, nil] :fields
2069
+ # @option params [String, nil] :exclude_fields
2070
+ # @option params [Integer, nil] :count
2071
+ # @option params [Integer, nil] :offset
2072
+ #
2073
+ # @example
2074
+ # client.lists.list_member_tags(
2075
+ # list_id: "list_id",
2076
+ # subscriber_hash: "subscriber_hash"
2077
+ # )
2078
+ #
2079
+ # @return [Mailchimp::Lists::Types::ListMemberTagsListsResponse]
2080
+ def list_member_tags(request_options: {}, **params)
2081
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2082
+ query_params = {}
2083
+ query_params["fields"] = params[:fields] if params.key?(:fields)
2084
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
2085
+ query_params["count"] = params[:count] if params.key?(:count)
2086
+ query_params["offset"] = params[:offset] if params.key?(:offset)
2087
+
2088
+ Mailchimp::Internal::OffsetItemIterator.new(
2089
+ initial_page: query_params["offset"],
2090
+ item_field: :tags,
2091
+ has_next_field: nil,
2092
+ step: false
2093
+ ) do |next_page|
2094
+ query_params["offset"] = next_page
2095
+ request = Mailchimp::Internal::JSON::Request.new(
2096
+ base_url: request_options[:base_url],
2097
+ method: "GET",
2098
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/members/#{URI.encode_uri_component(params[:subscriber_hash].to_s)}/tags",
2099
+ query: query_params,
2100
+ request_options: request_options
2101
+ )
2102
+ begin
2103
+ response = @client.send(request)
2104
+ rescue Net::HTTPRequestTimeout
2105
+ raise Mailchimp::Errors::TimeoutError
2106
+ end
2107
+ code = response.code.to_i
2108
+ if code.between?(200, 299)
2109
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListMemberTagsListsResponse.load(response.body))
2110
+ [parsed_response, response]
2111
+ else
2112
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2113
+ raise error_class.new(response.body, code: code)
2114
+ end
2115
+ end
2116
+ end
2117
+
2118
+ # Add or remove tags from a list member. If a tag that does not exist is passed in and set as 'active', a new tag
2119
+ # will be created.
2120
+ #
2121
+ # @param request_options [Hash]
2122
+ # @param params [Mailchimp::Lists::Types::CreateMemberTagListsRequest]
2123
+ # @option request_options [String] :base_url
2124
+ # @option request_options [Hash{String => Object}] :additional_headers
2125
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2126
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2127
+ # @option request_options [Integer] :timeout_in_seconds
2128
+ # @option params [String] :list_id
2129
+ # @option params [String] :subscriber_hash
2130
+ #
2131
+ # @example
2132
+ # client.lists.create_member_tag(
2133
+ # list_id: "list_id",
2134
+ # subscriber_hash: "subscriber_hash",
2135
+ # tags: [{
2136
+ # name: "name",
2137
+ # status: "inactive"
2138
+ # }]
2139
+ # )
2140
+ #
2141
+ # @return [untyped]
2142
+ def create_member_tag(request_options: {}, **params)
2143
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2144
+ request_data = Mailchimp::Lists::Types::CreateMemberTagListsRequest.new(params).to_h
2145
+ non_body_param_names = %w[list_id subscriber_hash]
2146
+ body = request_data.except(*non_body_param_names)
2147
+
2148
+ request = Mailchimp::Internal::JSON::Request.new(
2149
+ base_url: request_options[:base_url],
2150
+ method: "POST",
2151
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/members/#{URI.encode_uri_component(params[:subscriber_hash].to_s)}/tags",
2152
+ body: body,
2153
+ request_options: request_options
2154
+ )
2155
+ begin
2156
+ response = @client.send(request)
2157
+ rescue Net::HTTPRequestTimeout
2158
+ raise Mailchimp::Errors::TimeoutError
2159
+ end
2160
+ code = response.code.to_i
2161
+ return if code.between?(200, 299)
2162
+
2163
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2164
+ raise error_class.new(response.body, code: code)
2165
+ end
2166
+
2167
+ # Get a list of all merge fields for an audience.
2168
+ #
2169
+ # @param request_options [Hash]
2170
+ # @param params [Hash]
2171
+ # @option request_options [String] :base_url
2172
+ # @option request_options [Hash{String => Object}] :additional_headers
2173
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2174
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2175
+ # @option request_options [Integer] :timeout_in_seconds
2176
+ # @option params [String] :list_id
2177
+ # @option params [String, nil] :fields
2178
+ # @option params [String, nil] :exclude_fields
2179
+ # @option params [Integer, nil] :count
2180
+ # @option params [Integer, nil] :offset
2181
+ # @option params [String, nil] :type
2182
+ # @option params [Boolean, nil] :required
2183
+ #
2184
+ # @example
2185
+ # client.lists.list_merge_fields(list_id: "list_id")
2186
+ #
2187
+ # @return [Mailchimp::Lists::Types::ListMergeFieldsListsResponse]
2188
+ def list_merge_fields(request_options: {}, **params)
2189
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2190
+ query_params = {}
2191
+ query_params["fields"] = params[:fields] if params.key?(:fields)
2192
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
2193
+ query_params["count"] = params[:count] if params.key?(:count)
2194
+ query_params["offset"] = params[:offset] if params.key?(:offset)
2195
+ query_params["type"] = params[:type] if params.key?(:type)
2196
+ query_params["required"] = params[:required] if params.key?(:required)
2197
+
2198
+ Mailchimp::Internal::OffsetItemIterator.new(
2199
+ initial_page: query_params["offset"],
2200
+ item_field: :merge_fields,
2201
+ has_next_field: nil,
2202
+ step: false
2203
+ ) do |next_page|
2204
+ query_params["offset"] = next_page
2205
+ request = Mailchimp::Internal::JSON::Request.new(
2206
+ base_url: request_options[:base_url],
2207
+ method: "GET",
2208
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/merge-fields",
2209
+ query: query_params,
2210
+ request_options: request_options
2211
+ )
2212
+ begin
2213
+ response = @client.send(request)
2214
+ rescue Net::HTTPRequestTimeout
2215
+ raise Mailchimp::Errors::TimeoutError
2216
+ end
2217
+ code = response.code.to_i
2218
+ if code.between?(200, 299)
2219
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListMergeFieldsListsResponse.load(response.body))
2220
+ [parsed_response, response]
2221
+ else
2222
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2223
+ raise error_class.new(response.body, code: code)
2224
+ end
2225
+ end
2226
+ end
2227
+
2228
+ # Add a new merge field for a specific audience.
2229
+ #
2230
+ # @param request_options [Hash]
2231
+ # @param params [Mailchimp::Lists::Types::CreateMergeFieldListsRequest]
2232
+ # @option request_options [String] :base_url
2233
+ # @option request_options [Hash{String => Object}] :additional_headers
2234
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2235
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2236
+ # @option request_options [Integer] :timeout_in_seconds
2237
+ # @option params [String] :list_id
2238
+ #
2239
+ # @example
2240
+ # client.lists.create_merge_field(
2241
+ # list_id: "list_id",
2242
+ # name: "name",
2243
+ # type: "text"
2244
+ # )
2245
+ #
2246
+ # @return [Mailchimp::Types::MergeField]
2247
+ def create_merge_field(request_options: {}, **params)
2248
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2249
+ request_data = Mailchimp::Lists::Types::CreateMergeFieldListsRequest.new(params).to_h
2250
+ non_body_param_names = %w[list_id]
2251
+ body = request_data.except(*non_body_param_names)
2252
+
2253
+ request = Mailchimp::Internal::JSON::Request.new(
2254
+ base_url: request_options[:base_url],
2255
+ method: "POST",
2256
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/merge-fields",
2257
+ body: body,
2258
+ request_options: request_options
2259
+ )
2260
+ begin
2261
+ response = @client.send(request)
2262
+ rescue Net::HTTPRequestTimeout
2263
+ raise Mailchimp::Errors::TimeoutError
2264
+ end
2265
+ code = response.code.to_i
2266
+ if code.between?(200, 299)
2267
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::MergeField.load(response.body))
2268
+ else
2269
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2270
+ raise error_class.new(response.body, code: code)
2271
+ end
2272
+ end
2273
+
2274
+ # Get information about a specific merge field.
2275
+ #
2276
+ # @param request_options [Hash]
2277
+ # @param params [Hash]
2278
+ # @option request_options [String] :base_url
2279
+ # @option request_options [Hash{String => Object}] :additional_headers
2280
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2281
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2282
+ # @option request_options [Integer] :timeout_in_seconds
2283
+ # @option params [String] :list_id
2284
+ # @option params [String] :merge_id
2285
+ # @option params [String, nil] :exclude_fields
2286
+ # @option params [String, nil] :fields
2287
+ #
2288
+ # @example
2289
+ # client.lists.get_merge_field(
2290
+ # list_id: "list_id",
2291
+ # merge_id: "merge_id"
2292
+ # )
2293
+ #
2294
+ # @return [Mailchimp::Types::MergeField]
2295
+ def get_merge_field(request_options: {}, **params)
2296
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2297
+ query_params = {}
2298
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
2299
+ query_params["fields"] = params[:fields] if params.key?(:fields)
2300
+
2301
+ request = Mailchimp::Internal::JSON::Request.new(
2302
+ base_url: request_options[:base_url],
2303
+ method: "GET",
2304
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/merge-fields/#{URI.encode_uri_component(params[:merge_id].to_s)}",
2305
+ query: query_params,
2306
+ request_options: request_options
2307
+ )
2308
+ begin
2309
+ response = @client.send(request)
2310
+ rescue Net::HTTPRequestTimeout
2311
+ raise Mailchimp::Errors::TimeoutError
2312
+ end
2313
+ code = response.code.to_i
2314
+ if code.between?(200, 299)
2315
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::MergeField.load(response.body))
2316
+ else
2317
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2318
+ raise error_class.new(response.body, code: code)
2319
+ end
2320
+ end
2321
+
2322
+ # Delete a specific merge field.
2323
+ #
2324
+ # @param request_options [Hash]
2325
+ # @param params [Hash]
2326
+ # @option request_options [String] :base_url
2327
+ # @option request_options [Hash{String => Object}] :additional_headers
2328
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2329
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2330
+ # @option request_options [Integer] :timeout_in_seconds
2331
+ # @option params [String] :list_id
2332
+ # @option params [String] :merge_id
2333
+ #
2334
+ # @example
2335
+ # client.lists.delete_merge_field(
2336
+ # list_id: "list_id",
2337
+ # merge_id: "merge_id"
2338
+ # )
2339
+ #
2340
+ # @return [untyped]
2341
+ def delete_merge_field(request_options: {}, **params)
2342
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2343
+ request = Mailchimp::Internal::JSON::Request.new(
2344
+ base_url: request_options[:base_url],
2345
+ method: "DELETE",
2346
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/merge-fields/#{URI.encode_uri_component(params[:merge_id].to_s)}",
2347
+ request_options: request_options
2348
+ )
2349
+ begin
2350
+ response = @client.send(request)
2351
+ rescue Net::HTTPRequestTimeout
2352
+ raise Mailchimp::Errors::TimeoutError
2353
+ end
2354
+ code = response.code.to_i
2355
+ return if code.between?(200, 299)
2356
+
2357
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2358
+ raise error_class.new(response.body, code: code)
2359
+ end
2360
+
2361
+ # Update a specific merge field.
2362
+ #
2363
+ # @param request_options [Hash]
2364
+ # @param params [Mailchimp::Lists::Types::UpdateMergeFieldListsRequest]
2365
+ # @option request_options [String] :base_url
2366
+ # @option request_options [Hash{String => Object}] :additional_headers
2367
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2368
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2369
+ # @option request_options [Integer] :timeout_in_seconds
2370
+ # @option params [String] :list_id
2371
+ # @option params [String] :merge_id
2372
+ #
2373
+ # @example
2374
+ # client.lists.update_merge_field(
2375
+ # list_id: "list_id",
2376
+ # merge_id: "merge_id"
2377
+ # )
2378
+ #
2379
+ # @return [Mailchimp::Types::MergeField]
2380
+ def update_merge_field(request_options: {}, **params)
2381
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2382
+ request_data = Mailchimp::Lists::Types::UpdateMergeFieldListsRequest.new(params).to_h
2383
+ non_body_param_names = %w[list_id merge_id]
2384
+ body = request_data.except(*non_body_param_names)
2385
+
2386
+ request = Mailchimp::Internal::JSON::Request.new(
2387
+ base_url: request_options[:base_url],
2388
+ method: "PATCH",
2389
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/merge-fields/#{URI.encode_uri_component(params[:merge_id].to_s)}",
2390
+ body: body,
2391
+ request_options: request_options
2392
+ )
2393
+ begin
2394
+ response = @client.send(request)
2395
+ rescue Net::HTTPRequestTimeout
2396
+ raise Mailchimp::Errors::TimeoutError
2397
+ end
2398
+ code = response.code.to_i
2399
+ if code.between?(200, 299)
2400
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::MergeField.load(response.body))
2401
+ else
2402
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2403
+ raise error_class.new(response.body, code: code)
2404
+ end
2405
+ end
2406
+
2407
+ # Get information about all available segments for a specific list.
2408
+ #
2409
+ # @param request_options [Hash]
2410
+ # @param params [Hash]
2411
+ # @option request_options [String] :base_url
2412
+ # @option request_options [Hash{String => Object}] :additional_headers
2413
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2414
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2415
+ # @option request_options [Integer] :timeout_in_seconds
2416
+ # @option params [String] :list_id
2417
+ # @option params [String, nil] :fields
2418
+ # @option params [String, nil] :exclude_fields
2419
+ # @option params [Integer, nil] :count
2420
+ # @option params [Integer, nil] :offset
2421
+ # @option params [String, nil] :type
2422
+ # @option params [String, nil] :since_created_at
2423
+ # @option params [String, nil] :before_created_at
2424
+ # @option params [Boolean, nil] :include_cleaned
2425
+ # @option params [Boolean, nil] :include_transactional
2426
+ # @option params [Boolean, nil] :include_unsubscribed
2427
+ # @option params [String, nil] :since_updated_at
2428
+ # @option params [String, nil] :before_updated_at
2429
+ # @option params [Mailchimp::Lists::Types::ListSegmentsListsRequestExcludeType, nil] :exclude_type
2430
+ #
2431
+ # @example
2432
+ # client.lists.list_segments(list_id: "list_id")
2433
+ #
2434
+ # @return [Mailchimp::Lists::Types::ListSegmentsListsResponse]
2435
+ def list_segments(request_options: {}, **params)
2436
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2437
+ query_params = {}
2438
+ query_params["fields"] = params[:fields] if params.key?(:fields)
2439
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
2440
+ query_params["count"] = params[:count] if params.key?(:count)
2441
+ query_params["offset"] = params[:offset] if params.key?(:offset)
2442
+ query_params["type"] = params[:type] if params.key?(:type)
2443
+ query_params["since_created_at"] = params[:since_created_at] if params.key?(:since_created_at)
2444
+ query_params["before_created_at"] = params[:before_created_at] if params.key?(:before_created_at)
2445
+ query_params["include_cleaned"] = params[:include_cleaned] if params.key?(:include_cleaned)
2446
+ query_params["include_transactional"] = params[:include_transactional] if params.key?(:include_transactional)
2447
+ query_params["include_unsubscribed"] = params[:include_unsubscribed] if params.key?(:include_unsubscribed)
2448
+ query_params["since_updated_at"] = params[:since_updated_at] if params.key?(:since_updated_at)
2449
+ query_params["before_updated_at"] = params[:before_updated_at] if params.key?(:before_updated_at)
2450
+ query_params["exclude_type"] = params[:exclude_type] if params.key?(:exclude_type)
2451
+
2452
+ Mailchimp::Internal::OffsetItemIterator.new(
2453
+ initial_page: query_params["offset"],
2454
+ item_field: :segments,
2455
+ has_next_field: nil,
2456
+ step: false
2457
+ ) do |next_page|
2458
+ query_params["offset"] = next_page
2459
+ request = Mailchimp::Internal::JSON::Request.new(
2460
+ base_url: request_options[:base_url],
2461
+ method: "GET",
2462
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/segments",
2463
+ query: query_params,
2464
+ request_options: request_options
2465
+ )
2466
+ begin
2467
+ response = @client.send(request)
2468
+ rescue Net::HTTPRequestTimeout
2469
+ raise Mailchimp::Errors::TimeoutError
2470
+ end
2471
+ code = response.code.to_i
2472
+ if code.between?(200, 299)
2473
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListSegmentsListsResponse.load(response.body))
2474
+ [parsed_response, response]
2475
+ else
2476
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2477
+ raise error_class.new(response.body, code: code)
2478
+ end
2479
+ end
2480
+ end
2481
+
2482
+ # Create a new segment in a specific list.
2483
+ #
2484
+ # @param request_options [Hash]
2485
+ # @param params [Mailchimp::Lists::Types::CreateSegmentListsRequest]
2486
+ # @option request_options [String] :base_url
2487
+ # @option request_options [Hash{String => Object}] :additional_headers
2488
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2489
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2490
+ # @option request_options [Integer] :timeout_in_seconds
2491
+ # @option params [String] :list_id
2492
+ #
2493
+ # @example
2494
+ # client.lists.create_segment(
2495
+ # list_id: "list_id",
2496
+ # name: "name"
2497
+ # )
2498
+ #
2499
+ # @return [Mailchimp::Types::List]
2500
+ def create_segment(request_options: {}, **params)
2501
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2502
+ request_data = Mailchimp::Lists::Types::CreateSegmentListsRequest.new(params).to_h
2503
+ non_body_param_names = %w[list_id]
2504
+ body = request_data.except(*non_body_param_names)
2505
+
2506
+ request = Mailchimp::Internal::JSON::Request.new(
2507
+ base_url: request_options[:base_url],
2508
+ method: "POST",
2509
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/segments",
2510
+ body: body,
2511
+ request_options: request_options
2512
+ )
2513
+ begin
2514
+ response = @client.send(request)
2515
+ rescue Net::HTTPRequestTimeout
2516
+ raise Mailchimp::Errors::TimeoutError
2517
+ end
2518
+ code = response.code.to_i
2519
+ if code.between?(200, 299)
2520
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::List.load(response.body))
2521
+ else
2522
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2523
+ raise error_class.new(response.body, code: code)
2524
+ end
2525
+ end
2526
+
2527
+ # Get information about a specific segment.
2528
+ #
2529
+ # @param request_options [Hash]
2530
+ # @param params [Hash]
2531
+ # @option request_options [String] :base_url
2532
+ # @option request_options [Hash{String => Object}] :additional_headers
2533
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2534
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2535
+ # @option request_options [Integer] :timeout_in_seconds
2536
+ # @option params [String] :list_id
2537
+ # @option params [String] :segment_id
2538
+ # @option params [String, nil] :fields
2539
+ # @option params [String, nil] :exclude_fields
2540
+ # @option params [Boolean, nil] :include_cleaned
2541
+ # @option params [Boolean, nil] :include_transactional
2542
+ # @option params [Boolean, nil] :include_unsubscribed
2543
+ #
2544
+ # @example
2545
+ # client.lists.get_segment(
2546
+ # list_id: "list_id",
2547
+ # segment_id: "segment_id"
2548
+ # )
2549
+ #
2550
+ # @return [Mailchimp::Types::List]
2551
+ def get_segment(request_options: {}, **params)
2552
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2553
+ query_params = {}
2554
+ query_params["fields"] = params[:fields] if params.key?(:fields)
2555
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
2556
+ query_params["include_cleaned"] = params[:include_cleaned] if params.key?(:include_cleaned)
2557
+ query_params["include_transactional"] = params[:include_transactional] if params.key?(:include_transactional)
2558
+ query_params["include_unsubscribed"] = params[:include_unsubscribed] if params.key?(:include_unsubscribed)
2559
+
2560
+ request = Mailchimp::Internal::JSON::Request.new(
2561
+ base_url: request_options[:base_url],
2562
+ method: "GET",
2563
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/segments/#{URI.encode_uri_component(params[:segment_id].to_s)}",
2564
+ query: query_params,
2565
+ request_options: request_options
2566
+ )
2567
+ begin
2568
+ response = @client.send(request)
2569
+ rescue Net::HTTPRequestTimeout
2570
+ raise Mailchimp::Errors::TimeoutError
2571
+ end
2572
+ code = response.code.to_i
2573
+ if code.between?(200, 299)
2574
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::List.load(response.body))
2575
+ else
2576
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2577
+ raise error_class.new(response.body, code: code)
2578
+ end
2579
+ end
2580
+
2581
+ # Batch add/remove list members to static segment
2582
+ #
2583
+ # @param request_options [Hash]
2584
+ # @param params [Mailchimp::Lists::Types::BatchAddOrRemoveMembersListsRequest]
2585
+ # @option request_options [String] :base_url
2586
+ # @option request_options [Hash{String => Object}] :additional_headers
2587
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2588
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2589
+ # @option request_options [Integer] :timeout_in_seconds
2590
+ # @option params [String] :list_id
2591
+ # @option params [String] :segment_id
2592
+ #
2593
+ # @example
2594
+ # client.lists.batch_add_or_remove_members(
2595
+ # list_id: "list_id",
2596
+ # segment_id: "segment_id"
2597
+ # )
2598
+ #
2599
+ # @return [Mailchimp::Lists::Types::BatchAddOrRemoveMembersListsResponse]
2600
+ def batch_add_or_remove_members(request_options: {}, **params)
2601
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2602
+ request_data = Mailchimp::Lists::Types::BatchAddOrRemoveMembersListsRequest.new(params).to_h
2603
+ non_body_param_names = %w[list_id segment_id]
2604
+ body = request_data.except(*non_body_param_names)
2605
+
2606
+ request = Mailchimp::Internal::JSON::Request.new(
2607
+ base_url: request_options[:base_url],
2608
+ method: "POST",
2609
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/segments/#{URI.encode_uri_component(params[:segment_id].to_s)}",
2610
+ body: body,
2611
+ request_options: request_options
2612
+ )
2613
+ begin
2614
+ response = @client.send(request)
2615
+ rescue Net::HTTPRequestTimeout
2616
+ raise Mailchimp::Errors::TimeoutError
2617
+ end
2618
+ code = response.code.to_i
2619
+ if code.between?(200, 299)
2620
+ (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::BatchAddOrRemoveMembersListsResponse.load(response.body))
2621
+ else
2622
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2623
+ raise error_class.new(response.body, code: code)
2624
+ end
2625
+ end
2626
+
2627
+ # Delete a specific segment in a list.
2628
+ #
2629
+ # @param request_options [Hash]
2630
+ # @param params [Hash]
2631
+ # @option request_options [String] :base_url
2632
+ # @option request_options [Hash{String => Object}] :additional_headers
2633
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2634
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2635
+ # @option request_options [Integer] :timeout_in_seconds
2636
+ # @option params [String] :list_id
2637
+ # @option params [String] :segment_id
2638
+ #
2639
+ # @example
2640
+ # client.lists.delete_segment(
2641
+ # list_id: "list_id",
2642
+ # segment_id: "segment_id"
2643
+ # )
2644
+ #
2645
+ # @return [untyped]
2646
+ def delete_segment(request_options: {}, **params)
2647
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2648
+ request = Mailchimp::Internal::JSON::Request.new(
2649
+ base_url: request_options[:base_url],
2650
+ method: "DELETE",
2651
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/segments/#{URI.encode_uri_component(params[:segment_id].to_s)}",
2652
+ request_options: request_options
2653
+ )
2654
+ begin
2655
+ response = @client.send(request)
2656
+ rescue Net::HTTPRequestTimeout
2657
+ raise Mailchimp::Errors::TimeoutError
2658
+ end
2659
+ code = response.code.to_i
2660
+ return if code.between?(200, 299)
2661
+
2662
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2663
+ raise error_class.new(response.body, code: code)
2664
+ end
2665
+
2666
+ # Update a specific segment in a list.
2667
+ #
2668
+ # @param request_options [Hash]
2669
+ # @param params [Mailchimp::Lists::Types::UpdateSegmentListsRequest]
2670
+ # @option request_options [String] :base_url
2671
+ # @option request_options [Hash{String => Object}] :additional_headers
2672
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2673
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2674
+ # @option request_options [Integer] :timeout_in_seconds
2675
+ # @option params [String] :list_id
2676
+ # @option params [String] :segment_id
2677
+ #
2678
+ # @example
2679
+ # client.lists.update_segment(
2680
+ # list_id: "list_id",
2681
+ # segment_id: "segment_id"
2682
+ # )
2683
+ #
2684
+ # @return [Mailchimp::Types::List]
2685
+ def update_segment(request_options: {}, **params)
2686
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2687
+ request_data = Mailchimp::Lists::Types::UpdateSegmentListsRequest.new(params).to_h
2688
+ non_body_param_names = %w[list_id segment_id]
2689
+ body = request_data.except(*non_body_param_names)
2690
+
2691
+ request = Mailchimp::Internal::JSON::Request.new(
2692
+ base_url: request_options[:base_url],
2693
+ method: "PATCH",
2694
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/segments/#{URI.encode_uri_component(params[:segment_id].to_s)}",
2695
+ body: body,
2696
+ request_options: request_options
2697
+ )
2698
+ begin
2699
+ response = @client.send(request)
2700
+ rescue Net::HTTPRequestTimeout
2701
+ raise Mailchimp::Errors::TimeoutError
2702
+ end
2703
+ code = response.code.to_i
2704
+ if code.between?(200, 299)
2705
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::List.load(response.body))
2706
+ else
2707
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2708
+ raise error_class.new(response.body, code: code)
2709
+ end
2710
+ end
2711
+
2712
+ # Get information about members in a saved segment.
2713
+ #
2714
+ # @param request_options [Hash]
2715
+ # @param params [Hash]
2716
+ # @option request_options [String] :base_url
2717
+ # @option request_options [Hash{String => Object}] :additional_headers
2718
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2719
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2720
+ # @option request_options [Integer] :timeout_in_seconds
2721
+ # @option params [String] :list_id
2722
+ # @option params [String] :segment_id
2723
+ # @option params [String, nil] :fields
2724
+ # @option params [String, nil] :exclude_fields
2725
+ # @option params [Integer, nil] :count
2726
+ # @option params [Integer, nil] :offset
2727
+ # @option params [Boolean, nil] :include_cleaned
2728
+ # @option params [Boolean, nil] :include_transactional
2729
+ # @option params [Boolean, nil] :include_unsubscribed
2730
+ #
2731
+ # @example
2732
+ # client.lists.list_segment_members(
2733
+ # list_id: "list_id",
2734
+ # segment_id: "segment_id"
2735
+ # )
2736
+ #
2737
+ # @return [Mailchimp::Lists::Types::ListSegmentMembersListsResponse]
2738
+ def list_segment_members(request_options: {}, **params)
2739
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2740
+ query_params = {}
2741
+ query_params["fields"] = params[:fields] if params.key?(:fields)
2742
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
2743
+ query_params["count"] = params[:count] if params.key?(:count)
2744
+ query_params["offset"] = params[:offset] if params.key?(:offset)
2745
+ query_params["include_cleaned"] = params[:include_cleaned] if params.key?(:include_cleaned)
2746
+ query_params["include_transactional"] = params[:include_transactional] if params.key?(:include_transactional)
2747
+ query_params["include_unsubscribed"] = params[:include_unsubscribed] if params.key?(:include_unsubscribed)
2748
+
2749
+ Mailchimp::Internal::OffsetItemIterator.new(
2750
+ initial_page: query_params["offset"],
2751
+ item_field: :members,
2752
+ has_next_field: nil,
2753
+ step: false
2754
+ ) do |next_page|
2755
+ query_params["offset"] = next_page
2756
+ request = Mailchimp::Internal::JSON::Request.new(
2757
+ base_url: request_options[:base_url],
2758
+ method: "GET",
2759
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/segments/#{URI.encode_uri_component(params[:segment_id].to_s)}/members",
2760
+ query: query_params,
2761
+ request_options: request_options
2762
+ )
2763
+ begin
2764
+ response = @client.send(request)
2765
+ rescue Net::HTTPRequestTimeout
2766
+ raise Mailchimp::Errors::TimeoutError
2767
+ end
2768
+ code = response.code.to_i
2769
+ if code.between?(200, 299)
2770
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListSegmentMembersListsResponse.load(response.body))
2771
+ [parsed_response, response]
2772
+ else
2773
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2774
+ raise error_class.new(response.body, code: code)
2775
+ end
2776
+ end
2777
+ end
2778
+
2779
+ # Add a member to a static segment.
2780
+ #
2781
+ # @param request_options [Hash]
2782
+ # @param params [Mailchimp::Lists::Types::CreateSegmentMemberListsRequest]
2783
+ # @option request_options [String] :base_url
2784
+ # @option request_options [Hash{String => Object}] :additional_headers
2785
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2786
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2787
+ # @option request_options [Integer] :timeout_in_seconds
2788
+ # @option params [String] :list_id
2789
+ # @option params [String] :segment_id
2790
+ #
2791
+ # @example
2792
+ # client.lists.create_segment_member(
2793
+ # list_id: "list_id",
2794
+ # segment_id: "segment_id",
2795
+ # email_address: "email_address"
2796
+ # )
2797
+ #
2798
+ # @return [Mailchimp::Types::ListsSegmentsMembers]
2799
+ def create_segment_member(request_options: {}, **params)
2800
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2801
+ request_data = Mailchimp::Lists::Types::CreateSegmentMemberListsRequest.new(params).to_h
2802
+ non_body_param_names = %w[list_id segment_id]
2803
+ body = request_data.except(*non_body_param_names)
2804
+
2805
+ request = Mailchimp::Internal::JSON::Request.new(
2806
+ base_url: request_options[:base_url],
2807
+ method: "POST",
2808
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/segments/#{URI.encode_uri_component(params[:segment_id].to_s)}/members",
2809
+ body: body,
2810
+ request_options: request_options
2811
+ )
2812
+ begin
2813
+ response = @client.send(request)
2814
+ rescue Net::HTTPRequestTimeout
2815
+ raise Mailchimp::Errors::TimeoutError
2816
+ end
2817
+ code = response.code.to_i
2818
+ if code.between?(200, 299)
2819
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ListsSegmentsMembers.load(response.body))
2820
+ else
2821
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2822
+ raise error_class.new(response.body, code: code)
2823
+ end
2824
+ end
2825
+
2826
+ # Remove a member from the specified static segment.
2827
+ #
2828
+ # @param request_options [Hash]
2829
+ # @param params [Hash]
2830
+ # @option request_options [String] :base_url
2831
+ # @option request_options [Hash{String => Object}] :additional_headers
2832
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2833
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2834
+ # @option request_options [Integer] :timeout_in_seconds
2835
+ # @option params [String] :list_id
2836
+ # @option params [String] :segment_id
2837
+ # @option params [String] :subscriber_hash
2838
+ #
2839
+ # @example
2840
+ # client.lists.delete_segment_member(
2841
+ # list_id: "list_id",
2842
+ # segment_id: "segment_id",
2843
+ # subscriber_hash: "subscriber_hash"
2844
+ # )
2845
+ #
2846
+ # @return [untyped]
2847
+ def delete_segment_member(request_options: {}, **params)
2848
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2849
+ request = Mailchimp::Internal::JSON::Request.new(
2850
+ base_url: request_options[:base_url],
2851
+ method: "DELETE",
2852
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/segments/#{URI.encode_uri_component(params[:segment_id].to_s)}/members/#{URI.encode_uri_component(params[:subscriber_hash].to_s)}",
2853
+ request_options: request_options
2854
+ )
2855
+ begin
2856
+ response = @client.send(request)
2857
+ rescue Net::HTTPRequestTimeout
2858
+ raise Mailchimp::Errors::TimeoutError
2859
+ end
2860
+ code = response.code.to_i
2861
+ return if code.between?(200, 299)
2862
+
2863
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2864
+ raise error_class.new(response.body, code: code)
2865
+ end
2866
+
2867
+ # Get signup forms for a specific list.
2868
+ #
2869
+ # @param request_options [Hash]
2870
+ # @param params [Hash]
2871
+ # @option request_options [String] :base_url
2872
+ # @option request_options [Hash{String => Object}] :additional_headers
2873
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2874
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2875
+ # @option request_options [Integer] :timeout_in_seconds
2876
+ # @option params [String] :list_id
2877
+ #
2878
+ # @example
2879
+ # client.lists.list_signup_forms(list_id: "list_id")
2880
+ #
2881
+ # @return [Mailchimp::Lists::Types::ListSignupFormsListsResponse]
2882
+ def list_signup_forms(request_options: {}, **params)
2883
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2884
+ request = Mailchimp::Internal::JSON::Request.new(
2885
+ base_url: request_options[:base_url],
2886
+ method: "GET",
2887
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/signup-forms",
2888
+ request_options: request_options
2889
+ )
2890
+ begin
2891
+ response = @client.send(request)
2892
+ rescue Net::HTTPRequestTimeout
2893
+ raise Mailchimp::Errors::TimeoutError
2894
+ end
2895
+ code = response.code.to_i
2896
+ if code.between?(200, 299)
2897
+ (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListSignupFormsListsResponse.load(response.body))
2898
+ else
2899
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2900
+ raise error_class.new(response.body, code: code)
2901
+ end
2902
+ end
2903
+
2904
+ # Customize a list's default signup form.
2905
+ #
2906
+ # @param request_options [Hash]
2907
+ # @param params [Mailchimp::Lists::Types::CreateSignupFormListsRequest]
2908
+ # @option request_options [String] :base_url
2909
+ # @option request_options [Hash{String => Object}] :additional_headers
2910
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2911
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2912
+ # @option request_options [Integer] :timeout_in_seconds
2913
+ # @option params [String] :list_id
2914
+ #
2915
+ # @example
2916
+ # client.lists.create_signup_form(list_id: "list_id")
2917
+ #
2918
+ # @return [Mailchimp::Types::SignupForm]
2919
+ def create_signup_form(request_options: {}, **params)
2920
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2921
+ request_data = Mailchimp::Lists::Types::CreateSignupFormListsRequest.new(params).to_h
2922
+ non_body_param_names = %w[list_id]
2923
+ body = request_data.except(*non_body_param_names)
2924
+
2925
+ request = Mailchimp::Internal::JSON::Request.new(
2926
+ base_url: request_options[:base_url],
2927
+ method: "POST",
2928
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/signup-forms",
2929
+ body: body,
2930
+ request_options: request_options
2931
+ )
2932
+ begin
2933
+ response = @client.send(request)
2934
+ rescue Net::HTTPRequestTimeout
2935
+ raise Mailchimp::Errors::TimeoutError
2936
+ end
2937
+ code = response.code.to_i
2938
+ if code.between?(200, 299)
2939
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::SignupForm.load(response.body))
2940
+ else
2941
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2942
+ raise error_class.new(response.body, code: code)
2943
+ end
2944
+ end
2945
+
2946
+ # Get information about all available surveys for a specific list.
2947
+ #
2948
+ # @param request_options [Hash]
2949
+ # @param params [Hash]
2950
+ # @option request_options [String] :base_url
2951
+ # @option request_options [Hash{String => Object}] :additional_headers
2952
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2953
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2954
+ # @option request_options [Integer] :timeout_in_seconds
2955
+ # @option params [String] :list_id
2956
+ #
2957
+ # @example
2958
+ # client.lists.list_surveys(list_id: "list_id")
2959
+ #
2960
+ # @return [Object]
2961
+ def list_surveys(request_options: {}, **params)
2962
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2963
+ request = Mailchimp::Internal::JSON::Request.new(
2964
+ base_url: request_options[:base_url],
2965
+ method: "GET",
2966
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/surveys",
2967
+ request_options: request_options
2968
+ )
2969
+ begin
2970
+ response = @client.send(request)
2971
+ rescue Net::HTTPRequestTimeout
2972
+ raise Mailchimp::Errors::TimeoutError
2973
+ end
2974
+ code = response.code.to_i
2975
+ if code.between?(200, 299)
2976
+ (response.body.to_s.empty? ? nil : JSON.parse(response.body, symbolize_names: true))
2977
+ else
2978
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2979
+ raise error_class.new(response.body, code: code)
2980
+ end
2981
+ end
2982
+
2983
+ # Create a draft survey for an audience.
2984
+ #
2985
+ # @param request_options [Hash]
2986
+ # @param params [Mailchimp::Lists::Types::CreateSurveyListsRequest]
2987
+ # @option request_options [String] :base_url
2988
+ # @option request_options [Hash{String => Object}] :additional_headers
2989
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2990
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2991
+ # @option request_options [Integer] :timeout_in_seconds
2992
+ # @option params [String] :list_id
2993
+ #
2994
+ # @example
2995
+ # client.lists.create_survey(list_id: "list_id")
2996
+ #
2997
+ # @return [Object]
2998
+ def create_survey(request_options: {}, **params)
2999
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
3000
+ request_data = Mailchimp::Lists::Types::CreateSurveyListsRequest.new(params).to_h
3001
+ non_body_param_names = %w[list_id]
3002
+ body = request_data.except(*non_body_param_names)
3003
+
3004
+ request = Mailchimp::Internal::JSON::Request.new(
3005
+ base_url: request_options[:base_url],
3006
+ method: "POST",
3007
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/surveys",
3008
+ body: body,
3009
+ request_options: request_options
3010
+ )
3011
+ begin
3012
+ response = @client.send(request)
3013
+ rescue Net::HTTPRequestTimeout
3014
+ raise Mailchimp::Errors::TimeoutError
3015
+ end
3016
+ code = response.code.to_i
3017
+ if code.between?(200, 299)
3018
+ (response.body.to_s.empty? ? nil : JSON.parse(response.body, symbolize_names: true))
3019
+ else
3020
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
3021
+ raise error_class.new(response.body, code: code)
3022
+ end
3023
+ end
3024
+
3025
+ # Get details about a specific survey.
3026
+ #
3027
+ # @param request_options [Hash]
3028
+ # @param params [Hash]
3029
+ # @option request_options [String] :base_url
3030
+ # @option request_options [Hash{String => Object}] :additional_headers
3031
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
3032
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
3033
+ # @option request_options [Integer] :timeout_in_seconds
3034
+ # @option params [String] :list_id
3035
+ # @option params [String] :survey_id
3036
+ #
3037
+ # @example
3038
+ # client.lists.get_survey(
3039
+ # list_id: "list_id",
3040
+ # survey_id: "survey_id"
3041
+ # )
3042
+ #
3043
+ # @return [Object]
3044
+ def get_survey(request_options: {}, **params)
3045
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
3046
+ request = Mailchimp::Internal::JSON::Request.new(
3047
+ base_url: request_options[:base_url],
3048
+ method: "GET",
3049
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/surveys/#{URI.encode_uri_component(params[:survey_id].to_s)}",
3050
+ request_options: request_options
3051
+ )
3052
+ begin
3053
+ response = @client.send(request)
3054
+ rescue Net::HTTPRequestTimeout
3055
+ raise Mailchimp::Errors::TimeoutError
3056
+ end
3057
+ code = response.code.to_i
3058
+ if code.between?(200, 299)
3059
+ (response.body.to_s.empty? ? nil : JSON.parse(response.body, symbolize_names: true))
3060
+ else
3061
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
3062
+ raise error_class.new(response.body, code: code)
3063
+ end
3064
+ end
3065
+
3066
+ # Delete a survey.
3067
+ #
3068
+ # @param request_options [Hash]
3069
+ # @param params [Hash]
3070
+ # @option request_options [String] :base_url
3071
+ # @option request_options [Hash{String => Object}] :additional_headers
3072
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
3073
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
3074
+ # @option request_options [Integer] :timeout_in_seconds
3075
+ # @option params [String] :list_id
3076
+ # @option params [String] :survey_id
3077
+ #
3078
+ # @example
3079
+ # client.lists.delete_survey(
3080
+ # list_id: "list_id",
3081
+ # survey_id: "survey_id"
3082
+ # )
3083
+ #
3084
+ # @return [untyped]
3085
+ def delete_survey(request_options: {}, **params)
3086
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
3087
+ request = Mailchimp::Internal::JSON::Request.new(
3088
+ base_url: request_options[:base_url],
3089
+ method: "DELETE",
3090
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/surveys/#{URI.encode_uri_component(params[:survey_id].to_s)}",
3091
+ request_options: request_options
3092
+ )
3093
+ begin
3094
+ response = @client.send(request)
3095
+ rescue Net::HTTPRequestTimeout
3096
+ raise Mailchimp::Errors::TimeoutError
3097
+ end
3098
+ code = response.code.to_i
3099
+ return if code.between?(200, 299)
3100
+
3101
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
3102
+ raise error_class.new(response.body, code: code)
3103
+ end
3104
+
3105
+ # Update a survey. When sections is provided, send the complete section list in display order. Any existing
3106
+ # section not included is deleted.
3107
+ #
3108
+ # @param request_options [Hash]
3109
+ # @param params [Mailchimp::Lists::Types::UpdateSurveyListsRequest]
3110
+ # @option request_options [String] :base_url
3111
+ # @option request_options [Hash{String => Object}] :additional_headers
3112
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
3113
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
3114
+ # @option request_options [Integer] :timeout_in_seconds
3115
+ # @option params [String] :list_id
3116
+ # @option params [String] :survey_id
3117
+ #
3118
+ # @example
3119
+ # client.lists.update_survey(
3120
+ # list_id: "list_id",
3121
+ # survey_id: "survey_id"
3122
+ # )
3123
+ #
3124
+ # @return [Object]
3125
+ def update_survey(request_options: {}, **params)
3126
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
3127
+ request_data = Mailchimp::Lists::Types::UpdateSurveyListsRequest.new(params).to_h
3128
+ non_body_param_names = %w[list_id survey_id]
3129
+ body = request_data.except(*non_body_param_names)
3130
+
3131
+ request = Mailchimp::Internal::JSON::Request.new(
3132
+ base_url: request_options[:base_url],
3133
+ method: "PATCH",
3134
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/surveys/#{URI.encode_uri_component(params[:survey_id].to_s)}",
3135
+ body: body,
3136
+ request_options: request_options
3137
+ )
3138
+ begin
3139
+ response = @client.send(request)
3140
+ rescue Net::HTTPRequestTimeout
3141
+ raise Mailchimp::Errors::TimeoutError
3142
+ end
3143
+ code = response.code.to_i
3144
+ if code.between?(200, 299)
3145
+ (response.body.to_s.empty? ? nil : JSON.parse(response.body, symbolize_names: true))
3146
+ else
3147
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
3148
+ raise error_class.new(response.body, code: code)
3149
+ end
3150
+ end
3151
+
3152
+ # Replicate a survey.
3153
+ #
3154
+ # @param request_options [Hash]
3155
+ # @param params [Mailchimp::Lists::Types::CreateListSurveyActionReplicateListsRequest]
3156
+ # @option request_options [String] :base_url
3157
+ # @option request_options [Hash{String => Object}] :additional_headers
3158
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
3159
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
3160
+ # @option request_options [Integer] :timeout_in_seconds
3161
+ # @option params [String] :list_id_path_param
3162
+ # @option params [String] :survey_id
3163
+ #
3164
+ # @example
3165
+ # client.lists.create_list_survey_action_replicate(
3166
+ # list_id_path_param: "list_id",
3167
+ # survey_id: "survey_id"
3168
+ # )
3169
+ #
3170
+ # @return [Object]
3171
+ def create_list_survey_action_replicate(request_options: {}, **params)
3172
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
3173
+ request_data = Mailchimp::Lists::Types::CreateListSurveyActionReplicateListsRequest.new(params).to_h
3174
+ non_body_param_names = %w[list_idPathParam survey_id]
3175
+ body = request_data.except(*non_body_param_names)
3176
+
3177
+ request = Mailchimp::Internal::JSON::Request.new(
3178
+ base_url: request_options[:base_url],
3179
+ method: "POST",
3180
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id_path_param].to_s)}/surveys/#{URI.encode_uri_component(params[:survey_id].to_s)}/actions/replicate",
3181
+ body: body,
3182
+ request_options: request_options
3183
+ )
3184
+ begin
3185
+ response = @client.send(request)
3186
+ rescue Net::HTTPRequestTimeout
3187
+ raise Mailchimp::Errors::TimeoutError
3188
+ end
3189
+ code = response.code.to_i
3190
+ if code.between?(200, 299)
3191
+ (response.body.to_s.empty? ? nil : JSON.parse(response.body, symbolize_names: true))
3192
+ else
3193
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
3194
+ raise error_class.new(response.body, code: code)
3195
+ end
3196
+ end
3197
+
3198
+ # Search for tags on a list by name. If no name is provided, will return all tags on the list.
3199
+ #
3200
+ # @param request_options [Hash]
3201
+ # @param params [Hash]
3202
+ # @option request_options [String] :base_url
3203
+ # @option request_options [Hash{String => Object}] :additional_headers
3204
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
3205
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
3206
+ # @option request_options [Integer] :timeout_in_seconds
3207
+ # @option params [String] :list_id
3208
+ # @option params [String, nil] :name
3209
+ #
3210
+ # @example
3211
+ # client.lists.list_tag_search(list_id: "list_id")
3212
+ #
3213
+ # @return [Mailchimp::Lists::Types::ListTagSearchListsResponse]
3214
+ def list_tag_search(request_options: {}, **params)
3215
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
3216
+ query_params = {}
3217
+ query_params["name"] = params[:name] if params.key?(:name)
3218
+
3219
+ request = Mailchimp::Internal::JSON::Request.new(
3220
+ base_url: request_options[:base_url],
3221
+ method: "GET",
3222
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/tag-search",
3223
+ query: query_params,
3224
+ request_options: request_options
3225
+ )
3226
+ begin
3227
+ response = @client.send(request)
3228
+ rescue Net::HTTPRequestTimeout
3229
+ raise Mailchimp::Errors::TimeoutError
3230
+ end
3231
+ code = response.code.to_i
3232
+ if code.between?(200, 299)
3233
+ (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListTagSearchListsResponse.load(response.body))
3234
+ else
3235
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
3236
+ raise error_class.new(response.body, code: code)
3237
+ end
3238
+ end
3239
+
3240
+ # Get information about all webhooks for a specific list.
3241
+ #
3242
+ # @param request_options [Hash]
3243
+ # @param params [Hash]
3244
+ # @option request_options [String] :base_url
3245
+ # @option request_options [Hash{String => Object}] :additional_headers
3246
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
3247
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
3248
+ # @option request_options [Integer] :timeout_in_seconds
3249
+ # @option params [String] :list_id
3250
+ #
3251
+ # @example
3252
+ # client.lists.list_webhooks(list_id: "list_id")
3253
+ #
3254
+ # @return [Mailchimp::Lists::Types::ListWebhooksListsResponse]
3255
+ def list_webhooks(request_options: {}, **params)
3256
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
3257
+ request = Mailchimp::Internal::JSON::Request.new(
3258
+ base_url: request_options[:base_url],
3259
+ method: "GET",
3260
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/webhooks",
3261
+ request_options: request_options
3262
+ )
3263
+ begin
3264
+ response = @client.send(request)
3265
+ rescue Net::HTTPRequestTimeout
3266
+ raise Mailchimp::Errors::TimeoutError
3267
+ end
3268
+ code = response.code.to_i
3269
+ if code.between?(200, 299)
3270
+ (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::ListWebhooksListsResponse.load(response.body))
3271
+ else
3272
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
3273
+ raise error_class.new(response.body, code: code)
3274
+ end
3275
+ end
3276
+
3277
+ # Create a new webhook for a specific list.
3278
+ #
3279
+ # @param request_options [Hash]
3280
+ # @param params [Mailchimp::Types::AddWebhook]
3281
+ # @option request_options [String] :base_url
3282
+ # @option request_options [Hash{String => Object}] :additional_headers
3283
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
3284
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
3285
+ # @option request_options [Integer] :timeout_in_seconds
3286
+ # @option params [String] :list_id
3287
+ #
3288
+ # @example
3289
+ # client.lists.create_webhook(list_id: "list_id")
3290
+ #
3291
+ # @return [Mailchimp::Lists::Types::CreateWebhookListsResponse]
3292
+ def create_webhook(request_options: {}, **params)
3293
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
3294
+ path_param_names = %i[list_id]
3295
+ body_params = params.except(*path_param_names)
3296
+
3297
+ request = Mailchimp::Internal::JSON::Request.new(
3298
+ base_url: request_options[:base_url],
3299
+ method: "POST",
3300
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/webhooks",
3301
+ body: Mailchimp::Types::AddWebhook.new(body_params).to_h,
3302
+ request_options: request_options
3303
+ )
3304
+ begin
3305
+ response = @client.send(request)
3306
+ rescue Net::HTTPRequestTimeout
3307
+ raise Mailchimp::Errors::TimeoutError
3308
+ end
3309
+ code = response.code.to_i
3310
+ if code.between?(200, 299)
3311
+ (response.body.to_s.empty? ? nil : Mailchimp::Lists::Types::CreateWebhookListsResponse.load(response.body))
3312
+ else
3313
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
3314
+ raise error_class.new(response.body, code: code)
3315
+ end
3316
+ end
3317
+
3318
+ # Get information about a specific webhook.
3319
+ #
3320
+ # @param request_options [Hash]
3321
+ # @param params [Hash]
3322
+ # @option request_options [String] :base_url
3323
+ # @option request_options [Hash{String => Object}] :additional_headers
3324
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
3325
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
3326
+ # @option request_options [Integer] :timeout_in_seconds
3327
+ # @option params [String] :list_id
3328
+ # @option params [String] :webhook_id
3329
+ #
3330
+ # @example
3331
+ # client.lists.get_webhook(
3332
+ # list_id: "list_id",
3333
+ # webhook_id: "webhook_id"
3334
+ # )
3335
+ #
3336
+ # @return [Mailchimp::Types::ListWebhooks]
3337
+ def get_webhook(request_options: {}, **params)
3338
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
3339
+ request = Mailchimp::Internal::JSON::Request.new(
3340
+ base_url: request_options[:base_url],
3341
+ method: "GET",
3342
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/webhooks/#{URI.encode_uri_component(params[:webhook_id].to_s)}",
3343
+ request_options: request_options
3344
+ )
3345
+ begin
3346
+ response = @client.send(request)
3347
+ rescue Net::HTTPRequestTimeout
3348
+ raise Mailchimp::Errors::TimeoutError
3349
+ end
3350
+ code = response.code.to_i
3351
+ if code.between?(200, 299)
3352
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ListWebhooks.load(response.body))
3353
+ else
3354
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
3355
+ raise error_class.new(response.body, code: code)
3356
+ end
3357
+ end
3358
+
3359
+ # Delete a specific webhook in a list.
3360
+ #
3361
+ # @param request_options [Hash]
3362
+ # @param params [Hash]
3363
+ # @option request_options [String] :base_url
3364
+ # @option request_options [Hash{String => Object}] :additional_headers
3365
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
3366
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
3367
+ # @option request_options [Integer] :timeout_in_seconds
3368
+ # @option params [String] :list_id
3369
+ # @option params [String] :webhook_id
3370
+ #
3371
+ # @example
3372
+ # client.lists.delete_webhook(
3373
+ # list_id: "list_id",
3374
+ # webhook_id: "webhook_id"
3375
+ # )
3376
+ #
3377
+ # @return [untyped]
3378
+ def delete_webhook(request_options: {}, **params)
3379
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
3380
+ request = Mailchimp::Internal::JSON::Request.new(
3381
+ base_url: request_options[:base_url],
3382
+ method: "DELETE",
3383
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/webhooks/#{URI.encode_uri_component(params[:webhook_id].to_s)}",
3384
+ request_options: request_options
3385
+ )
3386
+ begin
3387
+ response = @client.send(request)
3388
+ rescue Net::HTTPRequestTimeout
3389
+ raise Mailchimp::Errors::TimeoutError
3390
+ end
3391
+ code = response.code.to_i
3392
+ return if code.between?(200, 299)
3393
+
3394
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
3395
+ raise error_class.new(response.body, code: code)
3396
+ end
3397
+
3398
+ # Update the settings for an existing webhook.
3399
+ #
3400
+ # @param request_options [Hash]
3401
+ # @param params [Mailchimp::Types::AddWebhook]
3402
+ # @option request_options [String] :base_url
3403
+ # @option request_options [Hash{String => Object}] :additional_headers
3404
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
3405
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
3406
+ # @option request_options [Integer] :timeout_in_seconds
3407
+ # @option params [String] :list_id
3408
+ # @option params [String] :webhook_id
3409
+ #
3410
+ # @example
3411
+ # client.lists.update_webhook(
3412
+ # list_id: "list_id",
3413
+ # webhook_id: "webhook_id"
3414
+ # )
3415
+ #
3416
+ # @return [Mailchimp::Types::ListWebhooks]
3417
+ def update_webhook(request_options: {}, **params)
3418
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
3419
+ path_param_names = %i[list_id webhook_id]
3420
+ body_params = params.except(*path_param_names)
3421
+
3422
+ request = Mailchimp::Internal::JSON::Request.new(
3423
+ base_url: request_options[:base_url],
3424
+ method: "PATCH",
3425
+ path: "3.0/lists/#{URI.encode_uri_component(params[:list_id].to_s)}/webhooks/#{URI.encode_uri_component(params[:webhook_id].to_s)}",
3426
+ body: Mailchimp::Types::AddWebhook.new(body_params).to_h,
3427
+ request_options: request_options
3428
+ )
3429
+ begin
3430
+ response = @client.send(request)
3431
+ rescue Net::HTTPRequestTimeout
3432
+ raise Mailchimp::Errors::TimeoutError
3433
+ end
3434
+ code = response.code.to_i
3435
+ if code.between?(200, 299)
3436
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ListWebhooks.load(response.body))
3437
+ else
3438
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
3439
+ raise error_class.new(response.body, code: code)
3440
+ end
3441
+ end
3442
+ end
3443
+ end
3444
+ end