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,2938 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mailchimp
4
+ module Ecommerce
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 the e-commerce endpoint's resources.
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
+ #
23
+ # @example
24
+ # client.ecommerce.list
25
+ #
26
+ # @return [Mailchimp::Ecommerce::Types::ListEcommerceResponse]
27
+ def list(request_options: {}, **_params)
28
+ request = Mailchimp::Internal::JSON::Request.new(
29
+ base_url: request_options[:base_url],
30
+ method: "GET",
31
+ path: "3.0/ecommerce",
32
+ request_options: request_options
33
+ )
34
+ begin
35
+ response = @client.send(request)
36
+ rescue Net::HTTPRequestTimeout
37
+ raise Mailchimp::Errors::TimeoutError
38
+ end
39
+ code = response.code.to_i
40
+ if code.between?(200, 299)
41
+ (response.body.to_s.empty? ? nil : Mailchimp::Ecommerce::Types::ListEcommerceResponse.load(response.body))
42
+ else
43
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
44
+ raise error_class.new(response.body, code: code)
45
+ end
46
+ end
47
+
48
+ # Get information about an account's orders.
49
+ #
50
+ # @param request_options [Hash]
51
+ # @param params [Hash]
52
+ # @option request_options [String] :base_url
53
+ # @option request_options [Hash{String => Object}] :additional_headers
54
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
55
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
56
+ # @option request_options [Integer] :timeout_in_seconds
57
+ # @option params [String, nil] :fields
58
+ # @option params [String, nil] :exclude_fields
59
+ # @option params [Integer, nil] :count
60
+ # @option params [Integer, nil] :offset
61
+ # @option params [String, nil] :campaign_id
62
+ # @option params [String, nil] :outreach_id
63
+ # @option params [String, nil] :customer_id
64
+ # @option params [Boolean, nil] :has_outreach
65
+ #
66
+ # @example
67
+ # client.ecommerce.list_orders
68
+ #
69
+ # @return [Mailchimp::Ecommerce::Types::ListOrdersEcommerceResponse]
70
+ def list_orders(request_options: {}, **params)
71
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
72
+ query_params = {}
73
+ query_params["fields"] = params[:fields] if params.key?(:fields)
74
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
75
+ query_params["count"] = params[:count] if params.key?(:count)
76
+ query_params["offset"] = params[:offset] if params.key?(:offset)
77
+ query_params["campaign_id"] = params[:campaign_id] if params.key?(:campaign_id)
78
+ query_params["outreach_id"] = params[:outreach_id] if params.key?(:outreach_id)
79
+ query_params["customer_id"] = params[:customer_id] if params.key?(:customer_id)
80
+ query_params["has_outreach"] = params[:has_outreach] if params.key?(:has_outreach)
81
+
82
+ Mailchimp::Internal::OffsetItemIterator.new(
83
+ initial_page: query_params["offset"],
84
+ item_field: :orders,
85
+ has_next_field: nil,
86
+ step: false
87
+ ) do |next_page|
88
+ query_params["offset"] = next_page
89
+ request = Mailchimp::Internal::JSON::Request.new(
90
+ base_url: request_options[:base_url],
91
+ method: "GET",
92
+ path: "3.0/ecommerce/orders",
93
+ query: query_params,
94
+ request_options: request_options
95
+ )
96
+ begin
97
+ response = @client.send(request)
98
+ rescue Net::HTTPRequestTimeout
99
+ raise Mailchimp::Errors::TimeoutError
100
+ end
101
+ code = response.code.to_i
102
+ if code.between?(200, 299)
103
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Ecommerce::Types::ListOrdersEcommerceResponse.load(response.body))
104
+ [parsed_response, response]
105
+ else
106
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
107
+ raise error_class.new(response.body, code: code)
108
+ end
109
+ end
110
+ end
111
+
112
+ # Get information about all stores in the account.
113
+ #
114
+ # @param request_options [Hash]
115
+ # @param params [Hash]
116
+ # @option request_options [String] :base_url
117
+ # @option request_options [Hash{String => Object}] :additional_headers
118
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
119
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
120
+ # @option request_options [Integer] :timeout_in_seconds
121
+ # @option params [String, nil] :fields
122
+ # @option params [String, nil] :exclude_fields
123
+ # @option params [Integer, nil] :count
124
+ # @option params [Integer, nil] :offset
125
+ #
126
+ # @example
127
+ # client.ecommerce.list_stores
128
+ #
129
+ # @return [Mailchimp::Ecommerce::Types::ListStoresEcommerceResponse]
130
+ def list_stores(request_options: {}, **params)
131
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
132
+ query_params = {}
133
+ query_params["fields"] = params[:fields] if params.key?(:fields)
134
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
135
+ query_params["count"] = params[:count] if params.key?(:count)
136
+ query_params["offset"] = params[:offset] if params.key?(:offset)
137
+
138
+ Mailchimp::Internal::OffsetItemIterator.new(
139
+ initial_page: query_params["offset"],
140
+ item_field: :stores,
141
+ has_next_field: nil,
142
+ step: false
143
+ ) do |next_page|
144
+ query_params["offset"] = next_page
145
+ request = Mailchimp::Internal::JSON::Request.new(
146
+ base_url: request_options[:base_url],
147
+ method: "GET",
148
+ path: "3.0/ecommerce/stores",
149
+ query: query_params,
150
+ request_options: request_options
151
+ )
152
+ begin
153
+ response = @client.send(request)
154
+ rescue Net::HTTPRequestTimeout
155
+ raise Mailchimp::Errors::TimeoutError
156
+ end
157
+ code = response.code.to_i
158
+ if code.between?(200, 299)
159
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Ecommerce::Types::ListStoresEcommerceResponse.load(response.body))
160
+ [parsed_response, response]
161
+ else
162
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
163
+ raise error_class.new(response.body, code: code)
164
+ end
165
+ end
166
+ end
167
+
168
+ # Add a new store to your Mailchimp account.
169
+ #
170
+ # @param request_options [Hash]
171
+ # @param params [Mailchimp::Ecommerce::Types::CreateStoreEcommerceRequest]
172
+ # @option request_options [String] :base_url
173
+ # @option request_options [Hash{String => Object}] :additional_headers
174
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
175
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
176
+ # @option request_options [Integer] :timeout_in_seconds
177
+ #
178
+ # @example
179
+ # client.ecommerce.create_store(
180
+ # currency_code: "USD",
181
+ # id: "example_store",
182
+ # list_id: "1a2df69511",
183
+ # name: "Freddie's Cat Hat Emporium"
184
+ # )
185
+ #
186
+ # @return [Mailchimp::Types::ECommerceStore]
187
+ def create_store(request_options: {}, **params)
188
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
189
+ request = Mailchimp::Internal::JSON::Request.new(
190
+ base_url: request_options[:base_url],
191
+ method: "POST",
192
+ path: "3.0/ecommerce/stores",
193
+ body: Mailchimp::Ecommerce::Types::CreateStoreEcommerceRequest.new(params).to_h,
194
+ request_options: request_options
195
+ )
196
+ begin
197
+ response = @client.send(request)
198
+ rescue Net::HTTPRequestTimeout
199
+ raise Mailchimp::Errors::TimeoutError
200
+ end
201
+ code = response.code.to_i
202
+ if code.between?(200, 299)
203
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceStore.load(response.body))
204
+ else
205
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
206
+ raise error_class.new(response.body, code: code)
207
+ end
208
+ end
209
+
210
+ # Get information about a specific store.
211
+ #
212
+ # @param request_options [Hash]
213
+ # @param params [Hash]
214
+ # @option request_options [String] :base_url
215
+ # @option request_options [Hash{String => Object}] :additional_headers
216
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
217
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
218
+ # @option request_options [Integer] :timeout_in_seconds
219
+ # @option params [String] :store_id
220
+ # @option params [String, nil] :fields
221
+ # @option params [String, nil] :exclude_fields
222
+ #
223
+ # @example
224
+ # client.ecommerce.get_store(store_id: "store_id")
225
+ #
226
+ # @return [Mailchimp::Types::ECommerceStore]
227
+ def get_store(request_options: {}, **params)
228
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
229
+ query_params = {}
230
+ query_params["fields"] = params[:fields] if params.key?(:fields)
231
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
232
+
233
+ request = Mailchimp::Internal::JSON::Request.new(
234
+ base_url: request_options[:base_url],
235
+ method: "GET",
236
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}",
237
+ query: query_params,
238
+ request_options: request_options
239
+ )
240
+ begin
241
+ response = @client.send(request)
242
+ rescue Net::HTTPRequestTimeout
243
+ raise Mailchimp::Errors::TimeoutError
244
+ end
245
+ code = response.code.to_i
246
+ if code.between?(200, 299)
247
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceStore.load(response.body))
248
+ else
249
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
250
+ raise error_class.new(response.body, code: code)
251
+ end
252
+ end
253
+
254
+ # Delete a store. Deleting a store will also delete any associated subresources, including Customers, Orders,
255
+ # Products, and Carts.
256
+ #
257
+ # @param request_options [Hash]
258
+ # @param params [Hash]
259
+ # @option request_options [String] :base_url
260
+ # @option request_options [Hash{String => Object}] :additional_headers
261
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
262
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
263
+ # @option request_options [Integer] :timeout_in_seconds
264
+ # @option params [String] :store_id
265
+ #
266
+ # @example
267
+ # client.ecommerce.delete_store(store_id: "store_id")
268
+ #
269
+ # @return [untyped]
270
+ def delete_store(request_options: {}, **params)
271
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
272
+ request = Mailchimp::Internal::JSON::Request.new(
273
+ base_url: request_options[:base_url],
274
+ method: "DELETE",
275
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}",
276
+ request_options: request_options
277
+ )
278
+ begin
279
+ response = @client.send(request)
280
+ rescue Net::HTTPRequestTimeout
281
+ raise Mailchimp::Errors::TimeoutError
282
+ end
283
+ code = response.code.to_i
284
+ return if code.between?(200, 299)
285
+
286
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
287
+ raise error_class.new(response.body, code: code)
288
+ end
289
+
290
+ # Update a store.
291
+ #
292
+ # @param request_options [Hash]
293
+ # @param params [Mailchimp::Ecommerce::Types::UpdateStoreEcommerceRequest]
294
+ # @option request_options [String] :base_url
295
+ # @option request_options [Hash{String => Object}] :additional_headers
296
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
297
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
298
+ # @option request_options [Integer] :timeout_in_seconds
299
+ # @option params [String] :store_id
300
+ #
301
+ # @example
302
+ # client.ecommerce.update_store(store_id: "store_id")
303
+ #
304
+ # @return [Mailchimp::Types::ECommerceStore]
305
+ def update_store(request_options: {}, **params)
306
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
307
+ request_data = Mailchimp::Ecommerce::Types::UpdateStoreEcommerceRequest.new(params).to_h
308
+ non_body_param_names = %w[store_id]
309
+ body = request_data.except(*non_body_param_names)
310
+
311
+ request = Mailchimp::Internal::JSON::Request.new(
312
+ base_url: request_options[:base_url],
313
+ method: "PATCH",
314
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}",
315
+ body: body,
316
+ request_options: request_options
317
+ )
318
+ begin
319
+ response = @client.send(request)
320
+ rescue Net::HTTPRequestTimeout
321
+ raise Mailchimp::Errors::TimeoutError
322
+ end
323
+ code = response.code.to_i
324
+ if code.between?(200, 299)
325
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceStore.load(response.body))
326
+ else
327
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
328
+ raise error_class.new(response.body, code: code)
329
+ end
330
+ end
331
+
332
+ # Get information about a store's carts.
333
+ #
334
+ # @param request_options [Hash]
335
+ # @param params [Hash]
336
+ # @option request_options [String] :base_url
337
+ # @option request_options [Hash{String => Object}] :additional_headers
338
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
339
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
340
+ # @option request_options [Integer] :timeout_in_seconds
341
+ # @option params [String] :store_id
342
+ # @option params [String, nil] :fields
343
+ # @option params [String, nil] :exclude_fields
344
+ # @option params [Integer, nil] :count
345
+ # @option params [Integer, nil] :offset
346
+ #
347
+ # @example
348
+ # client.ecommerce.list_store_carts(store_id: "store_id")
349
+ #
350
+ # @return [Mailchimp::Ecommerce::Types::ListStoreCartsEcommerceResponse]
351
+ def list_store_carts(request_options: {}, **params)
352
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
353
+ query_params = {}
354
+ query_params["fields"] = params[:fields] if params.key?(:fields)
355
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
356
+ query_params["count"] = params[:count] if params.key?(:count)
357
+ query_params["offset"] = params[:offset] if params.key?(:offset)
358
+
359
+ Mailchimp::Internal::OffsetItemIterator.new(
360
+ initial_page: query_params["offset"],
361
+ item_field: :carts,
362
+ has_next_field: nil,
363
+ step: false
364
+ ) do |next_page|
365
+ query_params["offset"] = next_page
366
+ request = Mailchimp::Internal::JSON::Request.new(
367
+ base_url: request_options[:base_url],
368
+ method: "GET",
369
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/carts",
370
+ query: query_params,
371
+ request_options: request_options
372
+ )
373
+ begin
374
+ response = @client.send(request)
375
+ rescue Net::HTTPRequestTimeout
376
+ raise Mailchimp::Errors::TimeoutError
377
+ end
378
+ code = response.code.to_i
379
+ if code.between?(200, 299)
380
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Ecommerce::Types::ListStoreCartsEcommerceResponse.load(response.body))
381
+ [parsed_response, response]
382
+ else
383
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
384
+ raise error_class.new(response.body, code: code)
385
+ end
386
+ end
387
+ end
388
+
389
+ # Add a new cart to a store.
390
+ #
391
+ # @param request_options [Hash]
392
+ # @param params [Mailchimp::Ecommerce::Types::CreateStoreCartEcommerceRequest]
393
+ # @option request_options [String] :base_url
394
+ # @option request_options [Hash{String => Object}] :additional_headers
395
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
396
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
397
+ # @option request_options [Integer] :timeout_in_seconds
398
+ # @option params [String] :store_id
399
+ #
400
+ # @example
401
+ # client.ecommerce.create_store_cart(
402
+ # store_id: "store_id",
403
+ # currency_code: "currency_code",
404
+ # customer: {
405
+ # id: "id"
406
+ # },
407
+ # id: "id",
408
+ # lines: [{
409
+ # id: "id",
410
+ # price: 1.1,
411
+ # product_id: "product_id",
412
+ # product_variant_id: "product_variant_id",
413
+ # quantity: 1
414
+ # }],
415
+ # order_total: 1.1
416
+ # )
417
+ #
418
+ # @return [Mailchimp::Types::ECommerceCart]
419
+ def create_store_cart(request_options: {}, **params)
420
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
421
+ request_data = Mailchimp::Ecommerce::Types::CreateStoreCartEcommerceRequest.new(params).to_h
422
+ non_body_param_names = %w[store_id]
423
+ body = request_data.except(*non_body_param_names)
424
+
425
+ request = Mailchimp::Internal::JSON::Request.new(
426
+ base_url: request_options[:base_url],
427
+ method: "POST",
428
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/carts",
429
+ body: body,
430
+ request_options: request_options
431
+ )
432
+ begin
433
+ response = @client.send(request)
434
+ rescue Net::HTTPRequestTimeout
435
+ raise Mailchimp::Errors::TimeoutError
436
+ end
437
+ code = response.code.to_i
438
+ if code.between?(200, 299)
439
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceCart.load(response.body))
440
+ else
441
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
442
+ raise error_class.new(response.body, code: code)
443
+ end
444
+ end
445
+
446
+ # Get information about a specific cart.
447
+ #
448
+ # @param request_options [Hash]
449
+ # @param params [Hash]
450
+ # @option request_options [String] :base_url
451
+ # @option request_options [Hash{String => Object}] :additional_headers
452
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
453
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
454
+ # @option request_options [Integer] :timeout_in_seconds
455
+ # @option params [String] :store_id
456
+ # @option params [String] :cart_id
457
+ # @option params [String, nil] :fields
458
+ # @option params [String, nil] :exclude_fields
459
+ #
460
+ # @example
461
+ # client.ecommerce.get_store_cart(
462
+ # store_id: "store_id",
463
+ # cart_id: "cart_id"
464
+ # )
465
+ #
466
+ # @return [Mailchimp::Types::ECommerceCart]
467
+ def get_store_cart(request_options: {}, **params)
468
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
469
+ query_params = {}
470
+ query_params["fields"] = params[:fields] if params.key?(:fields)
471
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
472
+
473
+ request = Mailchimp::Internal::JSON::Request.new(
474
+ base_url: request_options[:base_url],
475
+ method: "GET",
476
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/carts/#{URI.encode_uri_component(params[:cart_id].to_s)}",
477
+ query: query_params,
478
+ request_options: request_options
479
+ )
480
+ begin
481
+ response = @client.send(request)
482
+ rescue Net::HTTPRequestTimeout
483
+ raise Mailchimp::Errors::TimeoutError
484
+ end
485
+ code = response.code.to_i
486
+ if code.between?(200, 299)
487
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceCart.load(response.body))
488
+ else
489
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
490
+ raise error_class.new(response.body, code: code)
491
+ end
492
+ end
493
+
494
+ # Delete a cart.
495
+ #
496
+ # @param request_options [Hash]
497
+ # @param params [Hash]
498
+ # @option request_options [String] :base_url
499
+ # @option request_options [Hash{String => Object}] :additional_headers
500
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
501
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
502
+ # @option request_options [Integer] :timeout_in_seconds
503
+ # @option params [String] :store_id
504
+ # @option params [String] :cart_id
505
+ #
506
+ # @example
507
+ # client.ecommerce.delete_store_cart(
508
+ # store_id: "store_id",
509
+ # cart_id: "cart_id"
510
+ # )
511
+ #
512
+ # @return [untyped]
513
+ def delete_store_cart(request_options: {}, **params)
514
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
515
+ request = Mailchimp::Internal::JSON::Request.new(
516
+ base_url: request_options[:base_url],
517
+ method: "DELETE",
518
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/carts/#{URI.encode_uri_component(params[:cart_id].to_s)}",
519
+ request_options: request_options
520
+ )
521
+ begin
522
+ response = @client.send(request)
523
+ rescue Net::HTTPRequestTimeout
524
+ raise Mailchimp::Errors::TimeoutError
525
+ end
526
+ code = response.code.to_i
527
+ return if code.between?(200, 299)
528
+
529
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
530
+ raise error_class.new(response.body, code: code)
531
+ end
532
+
533
+ # Update a specific cart.
534
+ #
535
+ # @param request_options [Hash]
536
+ # @param params [Mailchimp::Ecommerce::Types::UpdateStoreCartEcommerceRequest]
537
+ # @option request_options [String] :base_url
538
+ # @option request_options [Hash{String => Object}] :additional_headers
539
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
540
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
541
+ # @option request_options [Integer] :timeout_in_seconds
542
+ # @option params [String] :store_id
543
+ # @option params [String] :cart_id
544
+ #
545
+ # @example
546
+ # client.ecommerce.update_store_cart(
547
+ # store_id: "store_id",
548
+ # cart_id: "cart_id"
549
+ # )
550
+ #
551
+ # @return [Mailchimp::Types::ECommerceCart]
552
+ def update_store_cart(request_options: {}, **params)
553
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
554
+ request_data = Mailchimp::Ecommerce::Types::UpdateStoreCartEcommerceRequest.new(params).to_h
555
+ non_body_param_names = %w[store_id cart_id]
556
+ body = request_data.except(*non_body_param_names)
557
+
558
+ request = Mailchimp::Internal::JSON::Request.new(
559
+ base_url: request_options[:base_url],
560
+ method: "PATCH",
561
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/carts/#{URI.encode_uri_component(params[:cart_id].to_s)}",
562
+ body: body,
563
+ request_options: request_options
564
+ )
565
+ begin
566
+ response = @client.send(request)
567
+ rescue Net::HTTPRequestTimeout
568
+ raise Mailchimp::Errors::TimeoutError
569
+ end
570
+ code = response.code.to_i
571
+ if code.between?(200, 299)
572
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceCart.load(response.body))
573
+ else
574
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
575
+ raise error_class.new(response.body, code: code)
576
+ end
577
+ end
578
+
579
+ # Get information about a cart's line items.
580
+ #
581
+ # @param request_options [Hash]
582
+ # @param params [Hash]
583
+ # @option request_options [String] :base_url
584
+ # @option request_options [Hash{String => Object}] :additional_headers
585
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
586
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
587
+ # @option request_options [Integer] :timeout_in_seconds
588
+ # @option params [String] :store_id
589
+ # @option params [String] :cart_id
590
+ # @option params [String, nil] :fields
591
+ # @option params [String, nil] :exclude_fields
592
+ # @option params [Integer, nil] :count
593
+ # @option params [Integer, nil] :offset
594
+ #
595
+ # @example
596
+ # client.ecommerce.list_store_cart_lines(
597
+ # store_id: "store_id",
598
+ # cart_id: "cart_id"
599
+ # )
600
+ #
601
+ # @return [Mailchimp::Ecommerce::Types::ListStoreCartLinesEcommerceResponse]
602
+ def list_store_cart_lines(request_options: {}, **params)
603
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
604
+ query_params = {}
605
+ query_params["fields"] = params[:fields] if params.key?(:fields)
606
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
607
+ query_params["count"] = params[:count] if params.key?(:count)
608
+ query_params["offset"] = params[:offset] if params.key?(:offset)
609
+
610
+ Mailchimp::Internal::OffsetItemIterator.new(
611
+ initial_page: query_params["offset"],
612
+ item_field: :lines,
613
+ has_next_field: nil,
614
+ step: false
615
+ ) do |next_page|
616
+ query_params["offset"] = next_page
617
+ request = Mailchimp::Internal::JSON::Request.new(
618
+ base_url: request_options[:base_url],
619
+ method: "GET",
620
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/carts/#{URI.encode_uri_component(params[:cart_id].to_s)}/lines",
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
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Ecommerce::Types::ListStoreCartLinesEcommerceResponse.load(response.body))
632
+ [parsed_response, response]
633
+ else
634
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
635
+ raise error_class.new(response.body, code: code)
636
+ end
637
+ end
638
+ end
639
+
640
+ # Add a new line item to an existing cart.
641
+ #
642
+ # @param request_options [Hash]
643
+ # @param params [Mailchimp::Ecommerce::Types::CreateStoreCartLineEcommerceRequest]
644
+ # @option request_options [String] :base_url
645
+ # @option request_options [Hash{String => Object}] :additional_headers
646
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
647
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
648
+ # @option request_options [Integer] :timeout_in_seconds
649
+ # @option params [String] :store_id
650
+ # @option params [String] :cart_id
651
+ #
652
+ # @example
653
+ # client.ecommerce.create_store_cart_line(
654
+ # store_id: "store_id",
655
+ # cart_id: "cart_id",
656
+ # id: "id",
657
+ # price: 1.1,
658
+ # product_id: "product_id",
659
+ # product_variant_id: "product_variant_id",
660
+ # quantity: 1
661
+ # )
662
+ #
663
+ # @return [Mailchimp::Types::ECommerceCartLineItem]
664
+ def create_store_cart_line(request_options: {}, **params)
665
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
666
+ request_data = Mailchimp::Ecommerce::Types::CreateStoreCartLineEcommerceRequest.new(params).to_h
667
+ non_body_param_names = %w[store_id cart_id]
668
+ body = request_data.except(*non_body_param_names)
669
+
670
+ request = Mailchimp::Internal::JSON::Request.new(
671
+ base_url: request_options[:base_url],
672
+ method: "POST",
673
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/carts/#{URI.encode_uri_component(params[:cart_id].to_s)}/lines",
674
+ body: body,
675
+ request_options: request_options
676
+ )
677
+ begin
678
+ response = @client.send(request)
679
+ rescue Net::HTTPRequestTimeout
680
+ raise Mailchimp::Errors::TimeoutError
681
+ end
682
+ code = response.code.to_i
683
+ if code.between?(200, 299)
684
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceCartLineItem.load(response.body))
685
+ else
686
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
687
+ raise error_class.new(response.body, code: code)
688
+ end
689
+ end
690
+
691
+ # Get information about a specific cart line item.
692
+ #
693
+ # @param request_options [Hash]
694
+ # @param params [Hash]
695
+ # @option request_options [String] :base_url
696
+ # @option request_options [Hash{String => Object}] :additional_headers
697
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
698
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
699
+ # @option request_options [Integer] :timeout_in_seconds
700
+ # @option params [String] :store_id
701
+ # @option params [String] :cart_id
702
+ # @option params [String] :line_id
703
+ # @option params [String, nil] :fields
704
+ # @option params [String, nil] :exclude_fields
705
+ #
706
+ # @example
707
+ # client.ecommerce.get_store_cart_line(
708
+ # store_id: "store_id",
709
+ # cart_id: "cart_id",
710
+ # line_id: "line_id"
711
+ # )
712
+ #
713
+ # @return [Mailchimp::Types::ECommerceCartLineItem]
714
+ def get_store_cart_line(request_options: {}, **params)
715
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
716
+ query_params = {}
717
+ query_params["fields"] = params[:fields] if params.key?(:fields)
718
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
719
+
720
+ request = Mailchimp::Internal::JSON::Request.new(
721
+ base_url: request_options[:base_url],
722
+ method: "GET",
723
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/carts/#{URI.encode_uri_component(params[:cart_id].to_s)}/lines/#{URI.encode_uri_component(params[:line_id].to_s)}",
724
+ query: query_params,
725
+ request_options: request_options
726
+ )
727
+ begin
728
+ response = @client.send(request)
729
+ rescue Net::HTTPRequestTimeout
730
+ raise Mailchimp::Errors::TimeoutError
731
+ end
732
+ code = response.code.to_i
733
+ if code.between?(200, 299)
734
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceCartLineItem.load(response.body))
735
+ else
736
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
737
+ raise error_class.new(response.body, code: code)
738
+ end
739
+ end
740
+
741
+ # Delete a specific cart line item.
742
+ #
743
+ # @param request_options [Hash]
744
+ # @param params [Hash]
745
+ # @option request_options [String] :base_url
746
+ # @option request_options [Hash{String => Object}] :additional_headers
747
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
748
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
749
+ # @option request_options [Integer] :timeout_in_seconds
750
+ # @option params [String] :store_id
751
+ # @option params [String] :cart_id
752
+ # @option params [String] :line_id
753
+ #
754
+ # @example
755
+ # client.ecommerce.delete_store_cart_line(
756
+ # store_id: "store_id",
757
+ # cart_id: "cart_id",
758
+ # line_id: "line_id"
759
+ # )
760
+ #
761
+ # @return [untyped]
762
+ def delete_store_cart_line(request_options: {}, **params)
763
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
764
+ request = Mailchimp::Internal::JSON::Request.new(
765
+ base_url: request_options[:base_url],
766
+ method: "DELETE",
767
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/carts/#{URI.encode_uri_component(params[:cart_id].to_s)}/lines/#{URI.encode_uri_component(params[:line_id].to_s)}",
768
+ request_options: request_options
769
+ )
770
+ begin
771
+ response = @client.send(request)
772
+ rescue Net::HTTPRequestTimeout
773
+ raise Mailchimp::Errors::TimeoutError
774
+ end
775
+ code = response.code.to_i
776
+ return if code.between?(200, 299)
777
+
778
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
779
+ raise error_class.new(response.body, code: code)
780
+ end
781
+
782
+ # Update a specific cart line item.
783
+ #
784
+ # @param request_options [Hash]
785
+ # @param params [Mailchimp::Ecommerce::Types::UpdateStoreCartLineEcommerceRequest]
786
+ # @option request_options [String] :base_url
787
+ # @option request_options [Hash{String => Object}] :additional_headers
788
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
789
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
790
+ # @option request_options [Integer] :timeout_in_seconds
791
+ # @option params [String] :store_id
792
+ # @option params [String] :cart_id
793
+ # @option params [String] :line_id
794
+ #
795
+ # @example
796
+ # client.ecommerce.update_store_cart_line(
797
+ # store_id: "store_id",
798
+ # cart_id: "cart_id",
799
+ # line_id: "line_id"
800
+ # )
801
+ #
802
+ # @return [Mailchimp::Types::ECommerceCartLineItem]
803
+ def update_store_cart_line(request_options: {}, **params)
804
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
805
+ request_data = Mailchimp::Ecommerce::Types::UpdateStoreCartLineEcommerceRequest.new(params).to_h
806
+ non_body_param_names = %w[store_id cart_id line_id]
807
+ body = request_data.except(*non_body_param_names)
808
+
809
+ request = Mailchimp::Internal::JSON::Request.new(
810
+ base_url: request_options[:base_url],
811
+ method: "PATCH",
812
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/carts/#{URI.encode_uri_component(params[:cart_id].to_s)}/lines/#{URI.encode_uri_component(params[:line_id].to_s)}",
813
+ body: body,
814
+ request_options: request_options
815
+ )
816
+ begin
817
+ response = @client.send(request)
818
+ rescue Net::HTTPRequestTimeout
819
+ raise Mailchimp::Errors::TimeoutError
820
+ end
821
+ code = response.code.to_i
822
+ if code.between?(200, 299)
823
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceCartLineItem.load(response.body))
824
+ else
825
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
826
+ raise error_class.new(response.body, code: code)
827
+ end
828
+ end
829
+
830
+ # Get information about a store's customers.
831
+ #
832
+ # @param request_options [Hash]
833
+ # @param params [Hash]
834
+ # @option request_options [String] :base_url
835
+ # @option request_options [Hash{String => Object}] :additional_headers
836
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
837
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
838
+ # @option request_options [Integer] :timeout_in_seconds
839
+ # @option params [String] :store_id
840
+ # @option params [String, nil] :fields
841
+ # @option params [String, nil] :exclude_fields
842
+ # @option params [Integer, nil] :count
843
+ # @option params [Integer, nil] :offset
844
+ # @option params [String, nil] :email_address
845
+ #
846
+ # @example
847
+ # client.ecommerce.list_store_customers(store_id: "store_id")
848
+ #
849
+ # @return [Mailchimp::Ecommerce::Types::ListStoreCustomersEcommerceResponse]
850
+ def list_store_customers(request_options: {}, **params)
851
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
852
+ query_params = {}
853
+ query_params["fields"] = params[:fields] if params.key?(:fields)
854
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
855
+ query_params["count"] = params[:count] if params.key?(:count)
856
+ query_params["offset"] = params[:offset] if params.key?(:offset)
857
+ query_params["email_address"] = params[:email_address] if params.key?(:email_address)
858
+
859
+ Mailchimp::Internal::OffsetItemIterator.new(
860
+ initial_page: query_params["offset"],
861
+ item_field: :customers,
862
+ has_next_field: nil,
863
+ step: false
864
+ ) do |next_page|
865
+ query_params["offset"] = next_page
866
+ request = Mailchimp::Internal::JSON::Request.new(
867
+ base_url: request_options[:base_url],
868
+ method: "GET",
869
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/customers",
870
+ query: query_params,
871
+ request_options: request_options
872
+ )
873
+ begin
874
+ response = @client.send(request)
875
+ rescue Net::HTTPRequestTimeout
876
+ raise Mailchimp::Errors::TimeoutError
877
+ end
878
+ code = response.code.to_i
879
+ if code.between?(200, 299)
880
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Ecommerce::Types::ListStoreCustomersEcommerceResponse.load(response.body))
881
+ [parsed_response, response]
882
+ else
883
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
884
+ raise error_class.new(response.body, code: code)
885
+ end
886
+ end
887
+ end
888
+
889
+ # Add a new customer to a store.
890
+ #
891
+ # @param request_options [Hash]
892
+ # @param params [Mailchimp::Ecommerce::Types::CreateStoreCustomerEcommerceRequest]
893
+ # @option request_options [String] :base_url
894
+ # @option request_options [Hash{String => Object}] :additional_headers
895
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
896
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
897
+ # @option request_options [Integer] :timeout_in_seconds
898
+ # @option params [String] :store_id
899
+ #
900
+ # @example
901
+ # client.ecommerce.create_store_customer(
902
+ # store_id: "store_id",
903
+ # id: "id",
904
+ # opt_in_status: true
905
+ # )
906
+ #
907
+ # @return [Mailchimp::Types::ECommerceCustomer]
908
+ def create_store_customer(request_options: {}, **params)
909
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
910
+ request_data = Mailchimp::Ecommerce::Types::CreateStoreCustomerEcommerceRequest.new(params).to_h
911
+ non_body_param_names = %w[store_id]
912
+ body = request_data.except(*non_body_param_names)
913
+
914
+ request = Mailchimp::Internal::JSON::Request.new(
915
+ base_url: request_options[:base_url],
916
+ method: "POST",
917
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/customers",
918
+ body: body,
919
+ request_options: request_options
920
+ )
921
+ begin
922
+ response = @client.send(request)
923
+ rescue Net::HTTPRequestTimeout
924
+ raise Mailchimp::Errors::TimeoutError
925
+ end
926
+ code = response.code.to_i
927
+ if code.between?(200, 299)
928
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceCustomer.load(response.body))
929
+ else
930
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
931
+ raise error_class.new(response.body, code: code)
932
+ end
933
+ end
934
+
935
+ # Get information about a specific customer.
936
+ #
937
+ # @param request_options [Hash]
938
+ # @param params [Hash]
939
+ # @option request_options [String] :base_url
940
+ # @option request_options [Hash{String => Object}] :additional_headers
941
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
942
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
943
+ # @option request_options [Integer] :timeout_in_seconds
944
+ # @option params [String] :store_id
945
+ # @option params [String] :customer_id
946
+ # @option params [String, nil] :fields
947
+ # @option params [String, nil] :exclude_fields
948
+ #
949
+ # @example
950
+ # client.ecommerce.get_store_customer(
951
+ # store_id: "store_id",
952
+ # customer_id: "customer_id"
953
+ # )
954
+ #
955
+ # @return [Mailchimp::Types::ECommerceCustomer]
956
+ def get_store_customer(request_options: {}, **params)
957
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
958
+ query_params = {}
959
+ query_params["fields"] = params[:fields] if params.key?(:fields)
960
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
961
+
962
+ request = Mailchimp::Internal::JSON::Request.new(
963
+ base_url: request_options[:base_url],
964
+ method: "GET",
965
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/customers/#{URI.encode_uri_component(params[:customer_id].to_s)}",
966
+ query: query_params,
967
+ request_options: request_options
968
+ )
969
+ begin
970
+ response = @client.send(request)
971
+ rescue Net::HTTPRequestTimeout
972
+ raise Mailchimp::Errors::TimeoutError
973
+ end
974
+ code = response.code.to_i
975
+ if code.between?(200, 299)
976
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceCustomer.load(response.body))
977
+ else
978
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
979
+ raise error_class.new(response.body, code: code)
980
+ end
981
+ end
982
+
983
+ # Add or update a customer.
984
+ #
985
+ # @param request_options [Hash]
986
+ # @param params [Mailchimp::Ecommerce::Types::UpsertStoreCustomerEcommerceRequest]
987
+ # @option request_options [String] :base_url
988
+ # @option request_options [Hash{String => Object}] :additional_headers
989
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
990
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
991
+ # @option request_options [Integer] :timeout_in_seconds
992
+ # @option params [String] :store_id
993
+ # @option params [String] :customer_id
994
+ #
995
+ # @example
996
+ # client.ecommerce.upsert_store_customer(
997
+ # store_id: "store_id",
998
+ # customer_id: "customer_id"
999
+ # )
1000
+ #
1001
+ # @return [Mailchimp::Types::ECommerceCustomer]
1002
+ def upsert_store_customer(request_options: {}, **params)
1003
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1004
+ request_data = Mailchimp::Ecommerce::Types::UpsertStoreCustomerEcommerceRequest.new(params).to_h
1005
+ non_body_param_names = %w[store_id customer_id]
1006
+ body = request_data.except(*non_body_param_names)
1007
+
1008
+ request = Mailchimp::Internal::JSON::Request.new(
1009
+ base_url: request_options[:base_url],
1010
+ method: "PUT",
1011
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/customers/#{URI.encode_uri_component(params[:customer_id].to_s)}",
1012
+ body: body,
1013
+ request_options: request_options
1014
+ )
1015
+ begin
1016
+ response = @client.send(request)
1017
+ rescue Net::HTTPRequestTimeout
1018
+ raise Mailchimp::Errors::TimeoutError
1019
+ end
1020
+ code = response.code.to_i
1021
+ if code.between?(200, 299)
1022
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceCustomer.load(response.body))
1023
+ else
1024
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1025
+ raise error_class.new(response.body, code: code)
1026
+ end
1027
+ end
1028
+
1029
+ # Delete a customer from a store.
1030
+ #
1031
+ # @param request_options [Hash]
1032
+ # @param params [Hash]
1033
+ # @option request_options [String] :base_url
1034
+ # @option request_options [Hash{String => Object}] :additional_headers
1035
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1036
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1037
+ # @option request_options [Integer] :timeout_in_seconds
1038
+ # @option params [String] :store_id
1039
+ # @option params [String] :customer_id
1040
+ #
1041
+ # @example
1042
+ # client.ecommerce.delete_store_customer(
1043
+ # store_id: "store_id",
1044
+ # customer_id: "customer_id"
1045
+ # )
1046
+ #
1047
+ # @return [untyped]
1048
+ def delete_store_customer(request_options: {}, **params)
1049
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1050
+ request = Mailchimp::Internal::JSON::Request.new(
1051
+ base_url: request_options[:base_url],
1052
+ method: "DELETE",
1053
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/customers/#{URI.encode_uri_component(params[:customer_id].to_s)}",
1054
+ request_options: request_options
1055
+ )
1056
+ begin
1057
+ response = @client.send(request)
1058
+ rescue Net::HTTPRequestTimeout
1059
+ raise Mailchimp::Errors::TimeoutError
1060
+ end
1061
+ code = response.code.to_i
1062
+ return if code.between?(200, 299)
1063
+
1064
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1065
+ raise error_class.new(response.body, code: code)
1066
+ end
1067
+
1068
+ # Update a customer.
1069
+ #
1070
+ # @param request_options [Hash]
1071
+ # @param params [Mailchimp::Types::EcommerceStoresCartsPatch]
1072
+ # @option request_options [String] :base_url
1073
+ # @option request_options [Hash{String => Object}] :additional_headers
1074
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1075
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1076
+ # @option request_options [Integer] :timeout_in_seconds
1077
+ # @option params [String] :store_id
1078
+ # @option params [String] :customer_id
1079
+ #
1080
+ # @example
1081
+ # client.ecommerce.update_store_customer(
1082
+ # store_id: "store_id",
1083
+ # customer_id: "customer_id"
1084
+ # )
1085
+ #
1086
+ # @return [Mailchimp::Types::ECommerceCustomer]
1087
+ def update_store_customer(request_options: {}, **params)
1088
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1089
+ path_param_names = %i[store_id customer_id]
1090
+ body_params = params.except(*path_param_names)
1091
+
1092
+ request = Mailchimp::Internal::JSON::Request.new(
1093
+ base_url: request_options[:base_url],
1094
+ method: "PATCH",
1095
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/customers/#{URI.encode_uri_component(params[:customer_id].to_s)}",
1096
+ body: Mailchimp::Types::EcommerceStoresCartsPatch.new(body_params).to_h,
1097
+ request_options: request_options
1098
+ )
1099
+ begin
1100
+ response = @client.send(request)
1101
+ rescue Net::HTTPRequestTimeout
1102
+ raise Mailchimp::Errors::TimeoutError
1103
+ end
1104
+ code = response.code.to_i
1105
+ if code.between?(200, 299)
1106
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceCustomer.load(response.body))
1107
+ else
1108
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1109
+ raise error_class.new(response.body, code: code)
1110
+ end
1111
+ end
1112
+
1113
+ # Get information about a store's orders.
1114
+ #
1115
+ # @param request_options [Hash]
1116
+ # @param params [Hash]
1117
+ # @option request_options [String] :base_url
1118
+ # @option request_options [Hash{String => Object}] :additional_headers
1119
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1120
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1121
+ # @option request_options [Integer] :timeout_in_seconds
1122
+ # @option params [String] :store_id
1123
+ # @option params [String, nil] :fields
1124
+ # @option params [String, nil] :exclude_fields
1125
+ # @option params [Integer, nil] :count
1126
+ # @option params [Integer, nil] :offset
1127
+ # @option params [String, nil] :customer_id
1128
+ # @option params [Boolean, nil] :has_outreach
1129
+ # @option params [String, nil] :campaign_id
1130
+ # @option params [String, nil] :outreach_id
1131
+ #
1132
+ # @example
1133
+ # client.ecommerce.list_store_orders(store_id: "store_id")
1134
+ #
1135
+ # @return [Mailchimp::Ecommerce::Types::ListStoreOrdersEcommerceResponse]
1136
+ def list_store_orders(request_options: {}, **params)
1137
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1138
+ query_params = {}
1139
+ query_params["fields"] = params[:fields] if params.key?(:fields)
1140
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
1141
+ query_params["count"] = params[:count] if params.key?(:count)
1142
+ query_params["offset"] = params[:offset] if params.key?(:offset)
1143
+ query_params["customer_id"] = params[:customer_id] if params.key?(:customer_id)
1144
+ query_params["has_outreach"] = params[:has_outreach] if params.key?(:has_outreach)
1145
+ query_params["campaign_id"] = params[:campaign_id] if params.key?(:campaign_id)
1146
+ query_params["outreach_id"] = params[:outreach_id] if params.key?(:outreach_id)
1147
+
1148
+ Mailchimp::Internal::OffsetItemIterator.new(
1149
+ initial_page: query_params["offset"],
1150
+ item_field: :orders,
1151
+ has_next_field: nil,
1152
+ step: false
1153
+ ) do |next_page|
1154
+ query_params["offset"] = next_page
1155
+ request = Mailchimp::Internal::JSON::Request.new(
1156
+ base_url: request_options[:base_url],
1157
+ method: "GET",
1158
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/orders",
1159
+ query: query_params,
1160
+ request_options: request_options
1161
+ )
1162
+ begin
1163
+ response = @client.send(request)
1164
+ rescue Net::HTTPRequestTimeout
1165
+ raise Mailchimp::Errors::TimeoutError
1166
+ end
1167
+ code = response.code.to_i
1168
+ if code.between?(200, 299)
1169
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Ecommerce::Types::ListStoreOrdersEcommerceResponse.load(response.body))
1170
+ [parsed_response, response]
1171
+ else
1172
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1173
+ raise error_class.new(response.body, code: code)
1174
+ end
1175
+ end
1176
+ end
1177
+
1178
+ # Add a new order to a store.
1179
+ #
1180
+ # @param request_options [Hash]
1181
+ # @param params [Mailchimp::Ecommerce::Types::CreateStoreOrderEcommerceRequest]
1182
+ # @option request_options [String] :base_url
1183
+ # @option request_options [Hash{String => Object}] :additional_headers
1184
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1185
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1186
+ # @option request_options [Integer] :timeout_in_seconds
1187
+ # @option params [String] :store_id
1188
+ #
1189
+ # @example
1190
+ # client.ecommerce.create_store_order(
1191
+ # store_id: "store_id",
1192
+ # currency_code: "currency_code",
1193
+ # customer: {
1194
+ # id: "id"
1195
+ # },
1196
+ # id: "id",
1197
+ # lines: [{
1198
+ # id: "id",
1199
+ # price: 1.1,
1200
+ # product_id: "product_id",
1201
+ # product_variant_id: "product_variant_id",
1202
+ # quantity: 1
1203
+ # }],
1204
+ # order_total: 1.1
1205
+ # )
1206
+ #
1207
+ # @return [Mailchimp::Types::ECommerceOrder]
1208
+ def create_store_order(request_options: {}, **params)
1209
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1210
+ request_data = Mailchimp::Ecommerce::Types::CreateStoreOrderEcommerceRequest.new(params).to_h
1211
+ non_body_param_names = %w[store_id]
1212
+ body = request_data.except(*non_body_param_names)
1213
+
1214
+ request = Mailchimp::Internal::JSON::Request.new(
1215
+ base_url: request_options[:base_url],
1216
+ method: "POST",
1217
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/orders",
1218
+ body: body,
1219
+ request_options: request_options
1220
+ )
1221
+ begin
1222
+ response = @client.send(request)
1223
+ rescue Net::HTTPRequestTimeout
1224
+ raise Mailchimp::Errors::TimeoutError
1225
+ end
1226
+ code = response.code.to_i
1227
+ if code.between?(200, 299)
1228
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceOrder.load(response.body))
1229
+ else
1230
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1231
+ raise error_class.new(response.body, code: code)
1232
+ end
1233
+ end
1234
+
1235
+ # Get information about a specific order.
1236
+ #
1237
+ # @param request_options [Hash]
1238
+ # @param params [Hash]
1239
+ # @option request_options [String] :base_url
1240
+ # @option request_options [Hash{String => Object}] :additional_headers
1241
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1242
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1243
+ # @option request_options [Integer] :timeout_in_seconds
1244
+ # @option params [String] :store_id
1245
+ # @option params [String] :order_id
1246
+ # @option params [String, nil] :fields
1247
+ # @option params [String, nil] :exclude_fields
1248
+ #
1249
+ # @example
1250
+ # client.ecommerce.get_store_order(
1251
+ # store_id: "store_id",
1252
+ # order_id: "order_id"
1253
+ # )
1254
+ #
1255
+ # @return [Mailchimp::Types::ECommerceOrder]
1256
+ def get_store_order(request_options: {}, **params)
1257
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1258
+ query_params = {}
1259
+ query_params["fields"] = params[:fields] if params.key?(:fields)
1260
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
1261
+
1262
+ request = Mailchimp::Internal::JSON::Request.new(
1263
+ base_url: request_options[:base_url],
1264
+ method: "GET",
1265
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/orders/#{URI.encode_uri_component(params[:order_id].to_s)}",
1266
+ query: query_params,
1267
+ request_options: request_options
1268
+ )
1269
+ begin
1270
+ response = @client.send(request)
1271
+ rescue Net::HTTPRequestTimeout
1272
+ raise Mailchimp::Errors::TimeoutError
1273
+ end
1274
+ code = response.code.to_i
1275
+ if code.between?(200, 299)
1276
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceOrder.load(response.body))
1277
+ else
1278
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1279
+ raise error_class.new(response.body, code: code)
1280
+ end
1281
+ end
1282
+
1283
+ # Delete an order.
1284
+ #
1285
+ # @param request_options [Hash]
1286
+ # @param params [Hash]
1287
+ # @option request_options [String] :base_url
1288
+ # @option request_options [Hash{String => Object}] :additional_headers
1289
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1290
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1291
+ # @option request_options [Integer] :timeout_in_seconds
1292
+ # @option params [String] :store_id
1293
+ # @option params [String] :order_id
1294
+ #
1295
+ # @example
1296
+ # client.ecommerce.delete_store_order(
1297
+ # store_id: "store_id",
1298
+ # order_id: "order_id"
1299
+ # )
1300
+ #
1301
+ # @return [untyped]
1302
+ def delete_store_order(request_options: {}, **params)
1303
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1304
+ request = Mailchimp::Internal::JSON::Request.new(
1305
+ base_url: request_options[:base_url],
1306
+ method: "DELETE",
1307
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/orders/#{URI.encode_uri_component(params[:order_id].to_s)}",
1308
+ request_options: request_options
1309
+ )
1310
+ begin
1311
+ response = @client.send(request)
1312
+ rescue Net::HTTPRequestTimeout
1313
+ raise Mailchimp::Errors::TimeoutError
1314
+ end
1315
+ code = response.code.to_i
1316
+ return if code.between?(200, 299)
1317
+
1318
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1319
+ raise error_class.new(response.body, code: code)
1320
+ end
1321
+
1322
+ # Update a specific order.
1323
+ #
1324
+ # @param request_options [Hash]
1325
+ # @param params [Mailchimp::Ecommerce::Types::UpdateStoreOrderEcommerceRequest]
1326
+ # @option request_options [String] :base_url
1327
+ # @option request_options [Hash{String => Object}] :additional_headers
1328
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1329
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1330
+ # @option request_options [Integer] :timeout_in_seconds
1331
+ # @option params [String] :store_id
1332
+ # @option params [String] :order_id
1333
+ #
1334
+ # @example
1335
+ # client.ecommerce.update_store_order(
1336
+ # store_id: "store_id",
1337
+ # order_id: "order_id"
1338
+ # )
1339
+ #
1340
+ # @return [Mailchimp::Types::ECommerceOrder]
1341
+ def update_store_order(request_options: {}, **params)
1342
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1343
+ request_data = Mailchimp::Ecommerce::Types::UpdateStoreOrderEcommerceRequest.new(params).to_h
1344
+ non_body_param_names = %w[store_id order_id]
1345
+ body = request_data.except(*non_body_param_names)
1346
+
1347
+ request = Mailchimp::Internal::JSON::Request.new(
1348
+ base_url: request_options[:base_url],
1349
+ method: "PATCH",
1350
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/orders/#{URI.encode_uri_component(params[:order_id].to_s)}",
1351
+ body: body,
1352
+ request_options: request_options
1353
+ )
1354
+ begin
1355
+ response = @client.send(request)
1356
+ rescue Net::HTTPRequestTimeout
1357
+ raise Mailchimp::Errors::TimeoutError
1358
+ end
1359
+ code = response.code.to_i
1360
+ if code.between?(200, 299)
1361
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceOrder.load(response.body))
1362
+ else
1363
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1364
+ raise error_class.new(response.body, code: code)
1365
+ end
1366
+ end
1367
+
1368
+ # Get information about an order's line items.
1369
+ #
1370
+ # @param request_options [Hash]
1371
+ # @param params [Hash]
1372
+ # @option request_options [String] :base_url
1373
+ # @option request_options [Hash{String => Object}] :additional_headers
1374
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1375
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1376
+ # @option request_options [Integer] :timeout_in_seconds
1377
+ # @option params [String] :store_id
1378
+ # @option params [String] :order_id
1379
+ # @option params [String, nil] :fields
1380
+ # @option params [String, nil] :exclude_fields
1381
+ # @option params [Integer, nil] :count
1382
+ # @option params [Integer, nil] :offset
1383
+ #
1384
+ # @example
1385
+ # client.ecommerce.list_store_order_lines(
1386
+ # store_id: "store_id",
1387
+ # order_id: "order_id"
1388
+ # )
1389
+ #
1390
+ # @return [Mailchimp::Ecommerce::Types::ListStoreOrderLinesEcommerceResponse]
1391
+ def list_store_order_lines(request_options: {}, **params)
1392
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1393
+ query_params = {}
1394
+ query_params["fields"] = params[:fields] if params.key?(:fields)
1395
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
1396
+ query_params["count"] = params[:count] if params.key?(:count)
1397
+ query_params["offset"] = params[:offset] if params.key?(:offset)
1398
+
1399
+ Mailchimp::Internal::OffsetItemIterator.new(
1400
+ initial_page: query_params["offset"],
1401
+ item_field: :lines,
1402
+ has_next_field: nil,
1403
+ step: false
1404
+ ) do |next_page|
1405
+ query_params["offset"] = next_page
1406
+ request = Mailchimp::Internal::JSON::Request.new(
1407
+ base_url: request_options[:base_url],
1408
+ method: "GET",
1409
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/orders/#{URI.encode_uri_component(params[:order_id].to_s)}/lines",
1410
+ query: query_params,
1411
+ request_options: request_options
1412
+ )
1413
+ begin
1414
+ response = @client.send(request)
1415
+ rescue Net::HTTPRequestTimeout
1416
+ raise Mailchimp::Errors::TimeoutError
1417
+ end
1418
+ code = response.code.to_i
1419
+ if code.between?(200, 299)
1420
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Ecommerce::Types::ListStoreOrderLinesEcommerceResponse.load(response.body))
1421
+ [parsed_response, response]
1422
+ else
1423
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1424
+ raise error_class.new(response.body, code: code)
1425
+ end
1426
+ end
1427
+ end
1428
+
1429
+ # Add a new line item to an existing order.
1430
+ #
1431
+ # @param request_options [Hash]
1432
+ # @param params [Mailchimp::Ecommerce::Types::CreateStoreOrderLineEcommerceRequest]
1433
+ # @option request_options [String] :base_url
1434
+ # @option request_options [Hash{String => Object}] :additional_headers
1435
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1436
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1437
+ # @option request_options [Integer] :timeout_in_seconds
1438
+ # @option params [String] :store_id
1439
+ # @option params [String] :order_id
1440
+ #
1441
+ # @example
1442
+ # client.ecommerce.create_store_order_line(
1443
+ # store_id: "store_id",
1444
+ # order_id: "order_id",
1445
+ # id: "id",
1446
+ # price: 1.1,
1447
+ # product_id: "product_id",
1448
+ # product_variant_id: "product_variant_id",
1449
+ # quantity: 1
1450
+ # )
1451
+ #
1452
+ # @return [Mailchimp::Types::ECommerceOrderLineItem]
1453
+ def create_store_order_line(request_options: {}, **params)
1454
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1455
+ request_data = Mailchimp::Ecommerce::Types::CreateStoreOrderLineEcommerceRequest.new(params).to_h
1456
+ non_body_param_names = %w[store_id order_id]
1457
+ body = request_data.except(*non_body_param_names)
1458
+
1459
+ request = Mailchimp::Internal::JSON::Request.new(
1460
+ base_url: request_options[:base_url],
1461
+ method: "POST",
1462
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/orders/#{URI.encode_uri_component(params[:order_id].to_s)}/lines",
1463
+ body: body,
1464
+ request_options: request_options
1465
+ )
1466
+ begin
1467
+ response = @client.send(request)
1468
+ rescue Net::HTTPRequestTimeout
1469
+ raise Mailchimp::Errors::TimeoutError
1470
+ end
1471
+ code = response.code.to_i
1472
+ if code.between?(200, 299)
1473
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceOrderLineItem.load(response.body))
1474
+ else
1475
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1476
+ raise error_class.new(response.body, code: code)
1477
+ end
1478
+ end
1479
+
1480
+ # Get information about a specific order line item.
1481
+ #
1482
+ # @param request_options [Hash]
1483
+ # @param params [Hash]
1484
+ # @option request_options [String] :base_url
1485
+ # @option request_options [Hash{String => Object}] :additional_headers
1486
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1487
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1488
+ # @option request_options [Integer] :timeout_in_seconds
1489
+ # @option params [String] :store_id
1490
+ # @option params [String] :order_id
1491
+ # @option params [String] :line_id
1492
+ # @option params [String, nil] :fields
1493
+ # @option params [String, nil] :exclude_fields
1494
+ #
1495
+ # @example
1496
+ # client.ecommerce.get_store_order_line(
1497
+ # store_id: "store_id",
1498
+ # order_id: "order_id",
1499
+ # line_id: "line_id"
1500
+ # )
1501
+ #
1502
+ # @return [Mailchimp::Types::ECommerceOrderLineItem]
1503
+ def get_store_order_line(request_options: {}, **params)
1504
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1505
+ query_params = {}
1506
+ query_params["fields"] = params[:fields] if params.key?(:fields)
1507
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
1508
+
1509
+ request = Mailchimp::Internal::JSON::Request.new(
1510
+ base_url: request_options[:base_url],
1511
+ method: "GET",
1512
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/orders/#{URI.encode_uri_component(params[:order_id].to_s)}/lines/#{URI.encode_uri_component(params[:line_id].to_s)}",
1513
+ query: query_params,
1514
+ request_options: request_options
1515
+ )
1516
+ begin
1517
+ response = @client.send(request)
1518
+ rescue Net::HTTPRequestTimeout
1519
+ raise Mailchimp::Errors::TimeoutError
1520
+ end
1521
+ code = response.code.to_i
1522
+ if code.between?(200, 299)
1523
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceOrderLineItem.load(response.body))
1524
+ else
1525
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1526
+ raise error_class.new(response.body, code: code)
1527
+ end
1528
+ end
1529
+
1530
+ # Delete a specific order line item.
1531
+ #
1532
+ # @param request_options [Hash]
1533
+ # @param params [Hash]
1534
+ # @option request_options [String] :base_url
1535
+ # @option request_options [Hash{String => Object}] :additional_headers
1536
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1537
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1538
+ # @option request_options [Integer] :timeout_in_seconds
1539
+ # @option params [String] :store_id
1540
+ # @option params [String] :order_id
1541
+ # @option params [String] :line_id
1542
+ #
1543
+ # @example
1544
+ # client.ecommerce.delete_store_order_line(
1545
+ # store_id: "store_id",
1546
+ # order_id: "order_id",
1547
+ # line_id: "line_id"
1548
+ # )
1549
+ #
1550
+ # @return [untyped]
1551
+ def delete_store_order_line(request_options: {}, **params)
1552
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1553
+ request = Mailchimp::Internal::JSON::Request.new(
1554
+ base_url: request_options[:base_url],
1555
+ method: "DELETE",
1556
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/orders/#{URI.encode_uri_component(params[:order_id].to_s)}/lines/#{URI.encode_uri_component(params[:line_id].to_s)}",
1557
+ request_options: request_options
1558
+ )
1559
+ begin
1560
+ response = @client.send(request)
1561
+ rescue Net::HTTPRequestTimeout
1562
+ raise Mailchimp::Errors::TimeoutError
1563
+ end
1564
+ code = response.code.to_i
1565
+ return if code.between?(200, 299)
1566
+
1567
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1568
+ raise error_class.new(response.body, code: code)
1569
+ end
1570
+
1571
+ # Update a specific order line item.
1572
+ #
1573
+ # @param request_options [Hash]
1574
+ # @param params [Mailchimp::Ecommerce::Types::UpdateStoreOrderLineEcommerceRequest]
1575
+ # @option request_options [String] :base_url
1576
+ # @option request_options [Hash{String => Object}] :additional_headers
1577
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1578
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1579
+ # @option request_options [Integer] :timeout_in_seconds
1580
+ # @option params [String] :store_id
1581
+ # @option params [String] :order_id
1582
+ # @option params [String] :line_id
1583
+ #
1584
+ # @example
1585
+ # client.ecommerce.update_store_order_line(
1586
+ # store_id: "store_id",
1587
+ # order_id: "order_id",
1588
+ # line_id: "line_id"
1589
+ # )
1590
+ #
1591
+ # @return [Mailchimp::Types::ECommerceOrderLineItem]
1592
+ def update_store_order_line(request_options: {}, **params)
1593
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1594
+ request_data = Mailchimp::Ecommerce::Types::UpdateStoreOrderLineEcommerceRequest.new(params).to_h
1595
+ non_body_param_names = %w[store_id order_id line_id]
1596
+ body = request_data.except(*non_body_param_names)
1597
+
1598
+ request = Mailchimp::Internal::JSON::Request.new(
1599
+ base_url: request_options[:base_url],
1600
+ method: "PATCH",
1601
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/orders/#{URI.encode_uri_component(params[:order_id].to_s)}/lines/#{URI.encode_uri_component(params[:line_id].to_s)}",
1602
+ body: body,
1603
+ request_options: request_options
1604
+ )
1605
+ begin
1606
+ response = @client.send(request)
1607
+ rescue Net::HTTPRequestTimeout
1608
+ raise Mailchimp::Errors::TimeoutError
1609
+ end
1610
+ code = response.code.to_i
1611
+ if code.between?(200, 299)
1612
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceOrderLineItem.load(response.body))
1613
+ else
1614
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1615
+ raise error_class.new(response.body, code: code)
1616
+ end
1617
+ end
1618
+
1619
+ # Get information about a store's products.
1620
+ #
1621
+ # @param request_options [Hash]
1622
+ # @param params [Hash]
1623
+ # @option request_options [String] :base_url
1624
+ # @option request_options [Hash{String => Object}] :additional_headers
1625
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1626
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1627
+ # @option request_options [Integer] :timeout_in_seconds
1628
+ # @option params [String] :store_id
1629
+ # @option params [String, nil] :fields
1630
+ # @option params [String, nil] :exclude_fields
1631
+ # @option params [Integer, nil] :count
1632
+ # @option params [Integer, nil] :offset
1633
+ #
1634
+ # @example
1635
+ # client.ecommerce.list_store_products(store_id: "store_id")
1636
+ #
1637
+ # @return [Mailchimp::Ecommerce::Types::ListStoreProductsEcommerceResponse]
1638
+ def list_store_products(request_options: {}, **params)
1639
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1640
+ query_params = {}
1641
+ query_params["fields"] = params[:fields] if params.key?(:fields)
1642
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
1643
+ query_params["count"] = params[:count] if params.key?(:count)
1644
+ query_params["offset"] = params[:offset] if params.key?(:offset)
1645
+
1646
+ Mailchimp::Internal::OffsetItemIterator.new(
1647
+ initial_page: query_params["offset"],
1648
+ item_field: :products,
1649
+ has_next_field: nil,
1650
+ step: false
1651
+ ) do |next_page|
1652
+ query_params["offset"] = next_page
1653
+ request = Mailchimp::Internal::JSON::Request.new(
1654
+ base_url: request_options[:base_url],
1655
+ method: "GET",
1656
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/products",
1657
+ query: query_params,
1658
+ request_options: request_options
1659
+ )
1660
+ begin
1661
+ response = @client.send(request)
1662
+ rescue Net::HTTPRequestTimeout
1663
+ raise Mailchimp::Errors::TimeoutError
1664
+ end
1665
+ code = response.code.to_i
1666
+ if code.between?(200, 299)
1667
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Ecommerce::Types::ListStoreProductsEcommerceResponse.load(response.body))
1668
+ [parsed_response, response]
1669
+ else
1670
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1671
+ raise error_class.new(response.body, code: code)
1672
+ end
1673
+ end
1674
+ end
1675
+
1676
+ # Add a new product to a store.
1677
+ #
1678
+ # @param request_options [Hash]
1679
+ # @param params [Mailchimp::Types::EcommerceStoresOrdersPost]
1680
+ # @option request_options [String] :base_url
1681
+ # @option request_options [Hash{String => Object}] :additional_headers
1682
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1683
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1684
+ # @option request_options [Integer] :timeout_in_seconds
1685
+ # @option params [String] :store_id
1686
+ #
1687
+ # @example
1688
+ # client.ecommerce.create_store_product(
1689
+ # store_id: "store_id",
1690
+ # id: "id",
1691
+ # title: "Cat Hat",
1692
+ # variants: [{
1693
+ # id: "id",
1694
+ # title: "Cat Hat"
1695
+ # }]
1696
+ # )
1697
+ #
1698
+ # @return [Mailchimp::Types::ECommerceProduct]
1699
+ def create_store_product(request_options: {}, **params)
1700
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1701
+ path_param_names = %i[store_id]
1702
+ body_params = params.except(*path_param_names)
1703
+
1704
+ request = Mailchimp::Internal::JSON::Request.new(
1705
+ base_url: request_options[:base_url],
1706
+ method: "POST",
1707
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/products",
1708
+ body: Mailchimp::Types::EcommerceStoresOrdersPost.new(body_params).to_h,
1709
+ request_options: request_options
1710
+ )
1711
+ begin
1712
+ response = @client.send(request)
1713
+ rescue Net::HTTPRequestTimeout
1714
+ raise Mailchimp::Errors::TimeoutError
1715
+ end
1716
+ code = response.code.to_i
1717
+ if code.between?(200, 299)
1718
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceProduct.load(response.body))
1719
+ else
1720
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1721
+ raise error_class.new(response.body, code: code)
1722
+ end
1723
+ end
1724
+
1725
+ # Get information about a specific product.
1726
+ #
1727
+ # @param request_options [Hash]
1728
+ # @param params [Hash]
1729
+ # @option request_options [String] :base_url
1730
+ # @option request_options [Hash{String => Object}] :additional_headers
1731
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1732
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1733
+ # @option request_options [Integer] :timeout_in_seconds
1734
+ # @option params [String] :store_id
1735
+ # @option params [String] :product_id
1736
+ # @option params [String, nil] :fields
1737
+ # @option params [String, nil] :exclude_fields
1738
+ #
1739
+ # @example
1740
+ # client.ecommerce.get_store_product(
1741
+ # store_id: "store_id",
1742
+ # product_id: "product_id"
1743
+ # )
1744
+ #
1745
+ # @return [Mailchimp::Types::ECommerceProduct]
1746
+ def get_store_product(request_options: {}, **params)
1747
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1748
+ query_params = {}
1749
+ query_params["fields"] = params[:fields] if params.key?(:fields)
1750
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
1751
+
1752
+ request = Mailchimp::Internal::JSON::Request.new(
1753
+ base_url: request_options[:base_url],
1754
+ method: "GET",
1755
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/products/#{URI.encode_uri_component(params[:product_id].to_s)}",
1756
+ query: query_params,
1757
+ request_options: request_options
1758
+ )
1759
+ begin
1760
+ response = @client.send(request)
1761
+ rescue Net::HTTPRequestTimeout
1762
+ raise Mailchimp::Errors::TimeoutError
1763
+ end
1764
+ code = response.code.to_i
1765
+ if code.between?(200, 299)
1766
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceProduct.load(response.body))
1767
+ else
1768
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1769
+ raise error_class.new(response.body, code: code)
1770
+ end
1771
+ end
1772
+
1773
+ # Update a specific product.
1774
+ #
1775
+ # @param request_options [Hash]
1776
+ # @param params [Mailchimp::Ecommerce::Types::UpsertStoreProductEcommerceRequest]
1777
+ # @option request_options [String] :base_url
1778
+ # @option request_options [Hash{String => Object}] :additional_headers
1779
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1780
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1781
+ # @option request_options [Integer] :timeout_in_seconds
1782
+ # @option params [String] :store_id
1783
+ # @option params [String] :product_id
1784
+ #
1785
+ # @example
1786
+ # client.ecommerce.upsert_store_product(
1787
+ # store_id: "store_id",
1788
+ # product_id: "product_id",
1789
+ # id: "id"
1790
+ # )
1791
+ #
1792
+ # @return [Mailchimp::Types::ECommerceProduct]
1793
+ def upsert_store_product(request_options: {}, **params)
1794
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1795
+ request_data = Mailchimp::Ecommerce::Types::UpsertStoreProductEcommerceRequest.new(params).to_h
1796
+ non_body_param_names = %w[store_id product_id]
1797
+ body = request_data.except(*non_body_param_names)
1798
+
1799
+ request = Mailchimp::Internal::JSON::Request.new(
1800
+ base_url: request_options[:base_url],
1801
+ method: "PUT",
1802
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/products/#{URI.encode_uri_component(params[:product_id].to_s)}",
1803
+ body: body,
1804
+ request_options: request_options
1805
+ )
1806
+ begin
1807
+ response = @client.send(request)
1808
+ rescue Net::HTTPRequestTimeout
1809
+ raise Mailchimp::Errors::TimeoutError
1810
+ end
1811
+ code = response.code.to_i
1812
+ if code.between?(200, 299)
1813
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceProduct.load(response.body))
1814
+ else
1815
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1816
+ raise error_class.new(response.body, code: code)
1817
+ end
1818
+ end
1819
+
1820
+ # Delete a product.
1821
+ #
1822
+ # @param request_options [Hash]
1823
+ # @param params [Hash]
1824
+ # @option request_options [String] :base_url
1825
+ # @option request_options [Hash{String => Object}] :additional_headers
1826
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1827
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1828
+ # @option request_options [Integer] :timeout_in_seconds
1829
+ # @option params [String] :store_id
1830
+ # @option params [String] :product_id
1831
+ #
1832
+ # @example
1833
+ # client.ecommerce.delete_store_product(
1834
+ # store_id: "store_id",
1835
+ # product_id: "product_id"
1836
+ # )
1837
+ #
1838
+ # @return [untyped]
1839
+ def delete_store_product(request_options: {}, **params)
1840
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1841
+ request = Mailchimp::Internal::JSON::Request.new(
1842
+ base_url: request_options[:base_url],
1843
+ method: "DELETE",
1844
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/products/#{URI.encode_uri_component(params[:product_id].to_s)}",
1845
+ request_options: request_options
1846
+ )
1847
+ begin
1848
+ response = @client.send(request)
1849
+ rescue Net::HTTPRequestTimeout
1850
+ raise Mailchimp::Errors::TimeoutError
1851
+ end
1852
+ code = response.code.to_i
1853
+ return if code.between?(200, 299)
1854
+
1855
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1856
+ raise error_class.new(response.body, code: code)
1857
+ end
1858
+
1859
+ # Update a specific product.
1860
+ #
1861
+ # @param request_options [Hash]
1862
+ # @param params [Mailchimp::Ecommerce::Types::UpdateStoreProductEcommerceRequest]
1863
+ # @option request_options [String] :base_url
1864
+ # @option request_options [Hash{String => Object}] :additional_headers
1865
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1866
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1867
+ # @option request_options [Integer] :timeout_in_seconds
1868
+ # @option params [String] :store_id
1869
+ # @option params [String] :product_id
1870
+ #
1871
+ # @example
1872
+ # client.ecommerce.update_store_product(
1873
+ # store_id: "store_id",
1874
+ # product_id: "product_id"
1875
+ # )
1876
+ #
1877
+ # @return [Mailchimp::Types::ECommerceProduct]
1878
+ def update_store_product(request_options: {}, **params)
1879
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1880
+ request_data = Mailchimp::Ecommerce::Types::UpdateStoreProductEcommerceRequest.new(params).to_h
1881
+ non_body_param_names = %w[store_id product_id]
1882
+ body = request_data.except(*non_body_param_names)
1883
+
1884
+ request = Mailchimp::Internal::JSON::Request.new(
1885
+ base_url: request_options[:base_url],
1886
+ method: "PATCH",
1887
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/products/#{URI.encode_uri_component(params[:product_id].to_s)}",
1888
+ body: body,
1889
+ request_options: request_options
1890
+ )
1891
+ begin
1892
+ response = @client.send(request)
1893
+ rescue Net::HTTPRequestTimeout
1894
+ raise Mailchimp::Errors::TimeoutError
1895
+ end
1896
+ code = response.code.to_i
1897
+ if code.between?(200, 299)
1898
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceProduct.load(response.body))
1899
+ else
1900
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1901
+ raise error_class.new(response.body, code: code)
1902
+ end
1903
+ end
1904
+
1905
+ # Get information about a product's images.
1906
+ #
1907
+ # @param request_options [Hash]
1908
+ # @param params [Hash]
1909
+ # @option request_options [String] :base_url
1910
+ # @option request_options [Hash{String => Object}] :additional_headers
1911
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1912
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1913
+ # @option request_options [Integer] :timeout_in_seconds
1914
+ # @option params [String] :store_id
1915
+ # @option params [String] :product_id
1916
+ # @option params [String, nil] :fields
1917
+ # @option params [String, nil] :exclude_fields
1918
+ # @option params [Integer, nil] :count
1919
+ # @option params [Integer, nil] :offset
1920
+ #
1921
+ # @example
1922
+ # client.ecommerce.list_store_product_images(
1923
+ # store_id: "store_id",
1924
+ # product_id: "product_id"
1925
+ # )
1926
+ #
1927
+ # @return [Mailchimp::Ecommerce::Types::ListStoreProductImagesEcommerceResponse]
1928
+ def list_store_product_images(request_options: {}, **params)
1929
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1930
+ query_params = {}
1931
+ query_params["fields"] = params[:fields] if params.key?(:fields)
1932
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
1933
+ query_params["count"] = params[:count] if params.key?(:count)
1934
+ query_params["offset"] = params[:offset] if params.key?(:offset)
1935
+
1936
+ Mailchimp::Internal::OffsetItemIterator.new(
1937
+ initial_page: query_params["offset"],
1938
+ item_field: :images,
1939
+ has_next_field: nil,
1940
+ step: false
1941
+ ) do |next_page|
1942
+ query_params["offset"] = next_page
1943
+ request = Mailchimp::Internal::JSON::Request.new(
1944
+ base_url: request_options[:base_url],
1945
+ method: "GET",
1946
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/products/#{URI.encode_uri_component(params[:product_id].to_s)}/images",
1947
+ query: query_params,
1948
+ request_options: request_options
1949
+ )
1950
+ begin
1951
+ response = @client.send(request)
1952
+ rescue Net::HTTPRequestTimeout
1953
+ raise Mailchimp::Errors::TimeoutError
1954
+ end
1955
+ code = response.code.to_i
1956
+ if code.between?(200, 299)
1957
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Ecommerce::Types::ListStoreProductImagesEcommerceResponse.load(response.body))
1958
+ [parsed_response, response]
1959
+ else
1960
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
1961
+ raise error_class.new(response.body, code: code)
1962
+ end
1963
+ end
1964
+ end
1965
+
1966
+ # Add a new image to the product.
1967
+ #
1968
+ # @param request_options [Hash]
1969
+ # @param params [Mailchimp::Ecommerce::Types::CreateStoreProductImageEcommerceRequest]
1970
+ # @option request_options [String] :base_url
1971
+ # @option request_options [Hash{String => Object}] :additional_headers
1972
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1973
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1974
+ # @option request_options [Integer] :timeout_in_seconds
1975
+ # @option params [String] :store_id
1976
+ # @option params [String] :product_id
1977
+ #
1978
+ # @example
1979
+ # client.ecommerce.create_store_product_image(
1980
+ # store_id: "store_id",
1981
+ # product_id: "product_id",
1982
+ # id: "id",
1983
+ # url: "url"
1984
+ # )
1985
+ #
1986
+ # @return [Mailchimp::Ecommerce::Types::CreateStoreProductImageEcommerceResponse]
1987
+ def create_store_product_image(request_options: {}, **params)
1988
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
1989
+ request_data = Mailchimp::Ecommerce::Types::CreateStoreProductImageEcommerceRequest.new(params).to_h
1990
+ non_body_param_names = %w[store_id product_id]
1991
+ body = request_data.except(*non_body_param_names)
1992
+
1993
+ request = Mailchimp::Internal::JSON::Request.new(
1994
+ base_url: request_options[:base_url],
1995
+ method: "POST",
1996
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/products/#{URI.encode_uri_component(params[:product_id].to_s)}/images",
1997
+ body: body,
1998
+ request_options: request_options
1999
+ )
2000
+ begin
2001
+ response = @client.send(request)
2002
+ rescue Net::HTTPRequestTimeout
2003
+ raise Mailchimp::Errors::TimeoutError
2004
+ end
2005
+ code = response.code.to_i
2006
+ if code.between?(200, 299)
2007
+ (response.body.to_s.empty? ? nil : Mailchimp::Ecommerce::Types::CreateStoreProductImageEcommerceResponse.load(response.body))
2008
+ else
2009
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2010
+ raise error_class.new(response.body, code: code)
2011
+ end
2012
+ end
2013
+
2014
+ # Get information about a specific product image.
2015
+ #
2016
+ # @param request_options [Hash]
2017
+ # @param params [Hash]
2018
+ # @option request_options [String] :base_url
2019
+ # @option request_options [Hash{String => Object}] :additional_headers
2020
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2021
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2022
+ # @option request_options [Integer] :timeout_in_seconds
2023
+ # @option params [String] :store_id
2024
+ # @option params [String] :product_id
2025
+ # @option params [String] :image_id
2026
+ # @option params [String, nil] :fields
2027
+ # @option params [String, nil] :exclude_fields
2028
+ #
2029
+ # @example
2030
+ # client.ecommerce.get_store_product_image(
2031
+ # store_id: "store_id",
2032
+ # product_id: "product_id",
2033
+ # image_id: "image_id"
2034
+ # )
2035
+ #
2036
+ # @return [Mailchimp::Ecommerce::Types::GetStoreProductImageEcommerceResponse]
2037
+ def get_store_product_image(request_options: {}, **params)
2038
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2039
+ query_params = {}
2040
+ query_params["fields"] = params[:fields] if params.key?(:fields)
2041
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
2042
+
2043
+ request = Mailchimp::Internal::JSON::Request.new(
2044
+ base_url: request_options[:base_url],
2045
+ method: "GET",
2046
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/products/#{URI.encode_uri_component(params[:product_id].to_s)}/images/#{URI.encode_uri_component(params[:image_id].to_s)}",
2047
+ query: query_params,
2048
+ request_options: request_options
2049
+ )
2050
+ begin
2051
+ response = @client.send(request)
2052
+ rescue Net::HTTPRequestTimeout
2053
+ raise Mailchimp::Errors::TimeoutError
2054
+ end
2055
+ code = response.code.to_i
2056
+ if code.between?(200, 299)
2057
+ (response.body.to_s.empty? ? nil : Mailchimp::Ecommerce::Types::GetStoreProductImageEcommerceResponse.load(response.body))
2058
+ else
2059
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2060
+ raise error_class.new(response.body, code: code)
2061
+ end
2062
+ end
2063
+
2064
+ # Delete a product image.
2065
+ #
2066
+ # @param request_options [Hash]
2067
+ # @param params [Hash]
2068
+ # @option request_options [String] :base_url
2069
+ # @option request_options [Hash{String => Object}] :additional_headers
2070
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2071
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2072
+ # @option request_options [Integer] :timeout_in_seconds
2073
+ # @option params [String] :store_id
2074
+ # @option params [String] :product_id
2075
+ # @option params [String] :image_id
2076
+ #
2077
+ # @example
2078
+ # client.ecommerce.delete_store_product_image(
2079
+ # store_id: "store_id",
2080
+ # product_id: "product_id",
2081
+ # image_id: "image_id"
2082
+ # )
2083
+ #
2084
+ # @return [untyped]
2085
+ def delete_store_product_image(request_options: {}, **params)
2086
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2087
+ request = Mailchimp::Internal::JSON::Request.new(
2088
+ base_url: request_options[:base_url],
2089
+ method: "DELETE",
2090
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/products/#{URI.encode_uri_component(params[:product_id].to_s)}/images/#{URI.encode_uri_component(params[:image_id].to_s)}",
2091
+ request_options: request_options
2092
+ )
2093
+ begin
2094
+ response = @client.send(request)
2095
+ rescue Net::HTTPRequestTimeout
2096
+ raise Mailchimp::Errors::TimeoutError
2097
+ end
2098
+ code = response.code.to_i
2099
+ return if code.between?(200, 299)
2100
+
2101
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2102
+ raise error_class.new(response.body, code: code)
2103
+ end
2104
+
2105
+ # Update a product image.
2106
+ #
2107
+ # @param request_options [Hash]
2108
+ # @param params [Mailchimp::Ecommerce::Types::UpdateStoreProductImageEcommerceRequest]
2109
+ # @option request_options [String] :base_url
2110
+ # @option request_options [Hash{String => Object}] :additional_headers
2111
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2112
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2113
+ # @option request_options [Integer] :timeout_in_seconds
2114
+ # @option params [String] :store_id
2115
+ # @option params [String] :product_id
2116
+ # @option params [String] :image_id
2117
+ #
2118
+ # @example
2119
+ # client.ecommerce.update_store_product_image(
2120
+ # store_id: "store_id",
2121
+ # product_id: "product_id",
2122
+ # image_id: "image_id"
2123
+ # )
2124
+ #
2125
+ # @return [Mailchimp::Ecommerce::Types::UpdateStoreProductImageEcommerceResponse]
2126
+ def update_store_product_image(request_options: {}, **params)
2127
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2128
+ request_data = Mailchimp::Ecommerce::Types::UpdateStoreProductImageEcommerceRequest.new(params).to_h
2129
+ non_body_param_names = %w[store_id product_id image_id]
2130
+ body = request_data.except(*non_body_param_names)
2131
+
2132
+ request = Mailchimp::Internal::JSON::Request.new(
2133
+ base_url: request_options[:base_url],
2134
+ method: "PATCH",
2135
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/products/#{URI.encode_uri_component(params[:product_id].to_s)}/images/#{URI.encode_uri_component(params[:image_id].to_s)}",
2136
+ body: body,
2137
+ request_options: request_options
2138
+ )
2139
+ begin
2140
+ response = @client.send(request)
2141
+ rescue Net::HTTPRequestTimeout
2142
+ raise Mailchimp::Errors::TimeoutError
2143
+ end
2144
+ code = response.code.to_i
2145
+ if code.between?(200, 299)
2146
+ (response.body.to_s.empty? ? nil : Mailchimp::Ecommerce::Types::UpdateStoreProductImageEcommerceResponse.load(response.body))
2147
+ else
2148
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2149
+ raise error_class.new(response.body, code: code)
2150
+ end
2151
+ end
2152
+
2153
+ # Get information about a product's variants.
2154
+ #
2155
+ # @param request_options [Hash]
2156
+ # @param params [Hash]
2157
+ # @option request_options [String] :base_url
2158
+ # @option request_options [Hash{String => Object}] :additional_headers
2159
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2160
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2161
+ # @option request_options [Integer] :timeout_in_seconds
2162
+ # @option params [String] :store_id
2163
+ # @option params [String] :product_id
2164
+ # @option params [String, nil] :fields
2165
+ # @option params [String, nil] :exclude_fields
2166
+ # @option params [Integer, nil] :count
2167
+ # @option params [Integer, nil] :offset
2168
+ #
2169
+ # @example
2170
+ # client.ecommerce.list_store_product_variants(
2171
+ # store_id: "store_id",
2172
+ # product_id: "product_id"
2173
+ # )
2174
+ #
2175
+ # @return [Mailchimp::Ecommerce::Types::ListStoreProductVariantsEcommerceResponse]
2176
+ def list_store_product_variants(request_options: {}, **params)
2177
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2178
+ query_params = {}
2179
+ query_params["fields"] = params[:fields] if params.key?(:fields)
2180
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
2181
+ query_params["count"] = params[:count] if params.key?(:count)
2182
+ query_params["offset"] = params[:offset] if params.key?(:offset)
2183
+
2184
+ Mailchimp::Internal::OffsetItemIterator.new(
2185
+ initial_page: query_params["offset"],
2186
+ item_field: :variants,
2187
+ has_next_field: nil,
2188
+ step: false
2189
+ ) do |next_page|
2190
+ query_params["offset"] = next_page
2191
+ request = Mailchimp::Internal::JSON::Request.new(
2192
+ base_url: request_options[:base_url],
2193
+ method: "GET",
2194
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/products/#{URI.encode_uri_component(params[:product_id].to_s)}/variants",
2195
+ query: query_params,
2196
+ request_options: request_options
2197
+ )
2198
+ begin
2199
+ response = @client.send(request)
2200
+ rescue Net::HTTPRequestTimeout
2201
+ raise Mailchimp::Errors::TimeoutError
2202
+ end
2203
+ code = response.code.to_i
2204
+ if code.between?(200, 299)
2205
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Ecommerce::Types::ListStoreProductVariantsEcommerceResponse.load(response.body))
2206
+ [parsed_response, response]
2207
+ else
2208
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2209
+ raise error_class.new(response.body, code: code)
2210
+ end
2211
+ end
2212
+ end
2213
+
2214
+ # Add a new variant to the product.
2215
+ #
2216
+ # @param request_options [Hash]
2217
+ # @param params [Mailchimp::Ecommerce::Types::CreateStoreProductVariantEcommerceRequest]
2218
+ # @option request_options [String] :base_url
2219
+ # @option request_options [Hash{String => Object}] :additional_headers
2220
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2221
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2222
+ # @option request_options [Integer] :timeout_in_seconds
2223
+ # @option params [String] :store_id
2224
+ # @option params [String] :product_id
2225
+ #
2226
+ # @example
2227
+ # client.ecommerce.create_store_product_variant(
2228
+ # store_id: "store_id",
2229
+ # product_id: "product_id",
2230
+ # id: "id",
2231
+ # title: "Cat Hat"
2232
+ # )
2233
+ #
2234
+ # @return [Mailchimp::Types::ECommerceProductVariant]
2235
+ def create_store_product_variant(request_options: {}, **params)
2236
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2237
+ request_data = Mailchimp::Ecommerce::Types::CreateStoreProductVariantEcommerceRequest.new(params).to_h
2238
+ non_body_param_names = %w[store_id product_id]
2239
+ body = request_data.except(*non_body_param_names)
2240
+
2241
+ request = Mailchimp::Internal::JSON::Request.new(
2242
+ base_url: request_options[:base_url],
2243
+ method: "POST",
2244
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/products/#{URI.encode_uri_component(params[:product_id].to_s)}/variants",
2245
+ body: body,
2246
+ request_options: request_options
2247
+ )
2248
+ begin
2249
+ response = @client.send(request)
2250
+ rescue Net::HTTPRequestTimeout
2251
+ raise Mailchimp::Errors::TimeoutError
2252
+ end
2253
+ code = response.code.to_i
2254
+ if code.between?(200, 299)
2255
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceProductVariant.load(response.body))
2256
+ else
2257
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2258
+ raise error_class.new(response.body, code: code)
2259
+ end
2260
+ end
2261
+
2262
+ # Get information about a specific product variant.
2263
+ #
2264
+ # @param request_options [Hash]
2265
+ # @param params [Hash]
2266
+ # @option request_options [String] :base_url
2267
+ # @option request_options [Hash{String => Object}] :additional_headers
2268
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2269
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2270
+ # @option request_options [Integer] :timeout_in_seconds
2271
+ # @option params [String] :store_id
2272
+ # @option params [String] :product_id
2273
+ # @option params [String] :variant_id
2274
+ # @option params [String, nil] :fields
2275
+ # @option params [String, nil] :exclude_fields
2276
+ #
2277
+ # @example
2278
+ # client.ecommerce.get_store_product_variant(
2279
+ # store_id: "store_id",
2280
+ # product_id: "product_id",
2281
+ # variant_id: "variant_id"
2282
+ # )
2283
+ #
2284
+ # @return [Mailchimp::Types::ECommerceProductVariant]
2285
+ def get_store_product_variant(request_options: {}, **params)
2286
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2287
+ query_params = {}
2288
+ query_params["fields"] = params[:fields] if params.key?(:fields)
2289
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
2290
+
2291
+ request = Mailchimp::Internal::JSON::Request.new(
2292
+ base_url: request_options[:base_url],
2293
+ method: "GET",
2294
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/products/#{URI.encode_uri_component(params[:product_id].to_s)}/variants/#{URI.encode_uri_component(params[:variant_id].to_s)}",
2295
+ query: query_params,
2296
+ request_options: request_options
2297
+ )
2298
+ begin
2299
+ response = @client.send(request)
2300
+ rescue Net::HTTPRequestTimeout
2301
+ raise Mailchimp::Errors::TimeoutError
2302
+ end
2303
+ code = response.code.to_i
2304
+ if code.between?(200, 299)
2305
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceProductVariant.load(response.body))
2306
+ else
2307
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2308
+ raise error_class.new(response.body, code: code)
2309
+ end
2310
+ end
2311
+
2312
+ # Add or update a product variant.
2313
+ #
2314
+ # @param request_options [Hash]
2315
+ # @param params [Mailchimp::Ecommerce::Types::UpsertStoreProductVariantEcommerceRequest]
2316
+ # @option request_options [String] :base_url
2317
+ # @option request_options [Hash{String => Object}] :additional_headers
2318
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2319
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2320
+ # @option request_options [Integer] :timeout_in_seconds
2321
+ # @option params [String] :store_id
2322
+ # @option params [String] :product_id
2323
+ # @option params [String] :variant_id
2324
+ #
2325
+ # @example
2326
+ # client.ecommerce.upsert_store_product_variant(
2327
+ # store_id: "store_id",
2328
+ # product_id: "product_id",
2329
+ # variant_id: "variant_id"
2330
+ # )
2331
+ #
2332
+ # @return [Mailchimp::Types::ECommerceProductVariant]
2333
+ def upsert_store_product_variant(request_options: {}, **params)
2334
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2335
+ request_data = Mailchimp::Ecommerce::Types::UpsertStoreProductVariantEcommerceRequest.new(params).to_h
2336
+ non_body_param_names = %w[store_id product_id variant_id]
2337
+ body = request_data.except(*non_body_param_names)
2338
+
2339
+ request = Mailchimp::Internal::JSON::Request.new(
2340
+ base_url: request_options[:base_url],
2341
+ method: "PUT",
2342
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/products/#{URI.encode_uri_component(params[:product_id].to_s)}/variants/#{URI.encode_uri_component(params[:variant_id].to_s)}",
2343
+ body: body,
2344
+ request_options: request_options
2345
+ )
2346
+ begin
2347
+ response = @client.send(request)
2348
+ rescue Net::HTTPRequestTimeout
2349
+ raise Mailchimp::Errors::TimeoutError
2350
+ end
2351
+ code = response.code.to_i
2352
+ if code.between?(200, 299)
2353
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceProductVariant.load(response.body))
2354
+ else
2355
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2356
+ raise error_class.new(response.body, code: code)
2357
+ end
2358
+ end
2359
+
2360
+ # Delete a product variant.
2361
+ #
2362
+ # @param request_options [Hash]
2363
+ # @param params [Hash]
2364
+ # @option request_options [String] :base_url
2365
+ # @option request_options [Hash{String => Object}] :additional_headers
2366
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2367
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2368
+ # @option request_options [Integer] :timeout_in_seconds
2369
+ # @option params [String] :store_id
2370
+ # @option params [String] :product_id
2371
+ # @option params [String] :variant_id
2372
+ #
2373
+ # @example
2374
+ # client.ecommerce.delete_store_product_variant(
2375
+ # store_id: "store_id",
2376
+ # product_id: "product_id",
2377
+ # variant_id: "variant_id"
2378
+ # )
2379
+ #
2380
+ # @return [untyped]
2381
+ def delete_store_product_variant(request_options: {}, **params)
2382
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2383
+ request = Mailchimp::Internal::JSON::Request.new(
2384
+ base_url: request_options[:base_url],
2385
+ method: "DELETE",
2386
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/products/#{URI.encode_uri_component(params[:product_id].to_s)}/variants/#{URI.encode_uri_component(params[:variant_id].to_s)}",
2387
+ request_options: request_options
2388
+ )
2389
+ begin
2390
+ response = @client.send(request)
2391
+ rescue Net::HTTPRequestTimeout
2392
+ raise Mailchimp::Errors::TimeoutError
2393
+ end
2394
+ code = response.code.to_i
2395
+ return if code.between?(200, 299)
2396
+
2397
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2398
+ raise error_class.new(response.body, code: code)
2399
+ end
2400
+
2401
+ # Update a product variant.
2402
+ #
2403
+ # @param request_options [Hash]
2404
+ # @param params [Mailchimp::Ecommerce::Types::UpdateStoreProductVariantEcommerceRequest]
2405
+ # @option request_options [String] :base_url
2406
+ # @option request_options [Hash{String => Object}] :additional_headers
2407
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2408
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2409
+ # @option request_options [Integer] :timeout_in_seconds
2410
+ # @option params [String] :store_id
2411
+ # @option params [String] :product_id
2412
+ # @option params [String] :variant_id
2413
+ #
2414
+ # @example
2415
+ # client.ecommerce.update_store_product_variant(
2416
+ # store_id: "store_id",
2417
+ # product_id: "product_id",
2418
+ # variant_id: "variant_id"
2419
+ # )
2420
+ #
2421
+ # @return [Mailchimp::Types::ECommerceProductVariant]
2422
+ def update_store_product_variant(request_options: {}, **params)
2423
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2424
+ request_data = Mailchimp::Ecommerce::Types::UpdateStoreProductVariantEcommerceRequest.new(params).to_h
2425
+ non_body_param_names = %w[store_id product_id variant_id]
2426
+ body = request_data.except(*non_body_param_names)
2427
+
2428
+ request = Mailchimp::Internal::JSON::Request.new(
2429
+ base_url: request_options[:base_url],
2430
+ method: "PATCH",
2431
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/products/#{URI.encode_uri_component(params[:product_id].to_s)}/variants/#{URI.encode_uri_component(params[:variant_id].to_s)}",
2432
+ body: body,
2433
+ request_options: request_options
2434
+ )
2435
+ begin
2436
+ response = @client.send(request)
2437
+ rescue Net::HTTPRequestTimeout
2438
+ raise Mailchimp::Errors::TimeoutError
2439
+ end
2440
+ code = response.code.to_i
2441
+ if code.between?(200, 299)
2442
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommerceProductVariant.load(response.body))
2443
+ else
2444
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2445
+ raise error_class.new(response.body, code: code)
2446
+ end
2447
+ end
2448
+
2449
+ # Get information about a store's promo rules.
2450
+ #
2451
+ # @param request_options [Hash]
2452
+ # @param params [Hash]
2453
+ # @option request_options [String] :base_url
2454
+ # @option request_options [Hash{String => Object}] :additional_headers
2455
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2456
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2457
+ # @option request_options [Integer] :timeout_in_seconds
2458
+ # @option params [String] :store_id
2459
+ # @option params [String, nil] :fields
2460
+ # @option params [String, nil] :exclude_fields
2461
+ # @option params [Integer, nil] :count
2462
+ # @option params [Integer, nil] :offset
2463
+ #
2464
+ # @example
2465
+ # client.ecommerce.list_store_promo_rules(store_id: "store_id")
2466
+ #
2467
+ # @return [Mailchimp::Ecommerce::Types::ListStorePromoRulesEcommerceResponse]
2468
+ def list_store_promo_rules(request_options: {}, **params)
2469
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2470
+ query_params = {}
2471
+ query_params["fields"] = params[:fields] if params.key?(:fields)
2472
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
2473
+ query_params["count"] = params[:count] if params.key?(:count)
2474
+ query_params["offset"] = params[:offset] if params.key?(:offset)
2475
+
2476
+ Mailchimp::Internal::OffsetItemIterator.new(
2477
+ initial_page: query_params["offset"],
2478
+ item_field: :promo_rules,
2479
+ has_next_field: nil,
2480
+ step: false
2481
+ ) do |next_page|
2482
+ query_params["offset"] = next_page
2483
+ request = Mailchimp::Internal::JSON::Request.new(
2484
+ base_url: request_options[:base_url],
2485
+ method: "GET",
2486
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/promo-rules",
2487
+ query: query_params,
2488
+ request_options: request_options
2489
+ )
2490
+ begin
2491
+ response = @client.send(request)
2492
+ rescue Net::HTTPRequestTimeout
2493
+ raise Mailchimp::Errors::TimeoutError
2494
+ end
2495
+ code = response.code.to_i
2496
+ if code.between?(200, 299)
2497
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Ecommerce::Types::ListStorePromoRulesEcommerceResponse.load(response.body))
2498
+ [parsed_response, response]
2499
+ else
2500
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2501
+ raise error_class.new(response.body, code: code)
2502
+ end
2503
+ end
2504
+ end
2505
+
2506
+ # Add a new promo rule to a store.
2507
+ #
2508
+ # @param request_options [Hash]
2509
+ # @param params [Mailchimp::Ecommerce::Types::CreateStorePromoRuleEcommerceRequest]
2510
+ # @option request_options [String] :base_url
2511
+ # @option request_options [Hash{String => Object}] :additional_headers
2512
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2513
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2514
+ # @option request_options [Integer] :timeout_in_seconds
2515
+ # @option params [String] :store_id
2516
+ #
2517
+ # @example
2518
+ # client.ecommerce.create_store_promo_rule(
2519
+ # store_id: "store_id",
2520
+ # amount: 1.1,
2521
+ # description: "Save BIG during our summer sale!",
2522
+ # id: "id",
2523
+ # target: "per_item",
2524
+ # type: "fixed"
2525
+ # )
2526
+ #
2527
+ # @return [Mailchimp::Types::ECommercePromoRule]
2528
+ def create_store_promo_rule(request_options: {}, **params)
2529
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2530
+ request_data = Mailchimp::Ecommerce::Types::CreateStorePromoRuleEcommerceRequest.new(params).to_h
2531
+ non_body_param_names = %w[store_id]
2532
+ body = request_data.except(*non_body_param_names)
2533
+
2534
+ request = Mailchimp::Internal::JSON::Request.new(
2535
+ base_url: request_options[:base_url],
2536
+ method: "POST",
2537
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/promo-rules",
2538
+ body: body,
2539
+ request_options: request_options
2540
+ )
2541
+ begin
2542
+ response = @client.send(request)
2543
+ rescue Net::HTTPRequestTimeout
2544
+ raise Mailchimp::Errors::TimeoutError
2545
+ end
2546
+ code = response.code.to_i
2547
+ if code.between?(200, 299)
2548
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommercePromoRule.load(response.body))
2549
+ else
2550
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2551
+ raise error_class.new(response.body, code: code)
2552
+ end
2553
+ end
2554
+
2555
+ # Get information about a specific promo rule.
2556
+ #
2557
+ # @param request_options [Hash]
2558
+ # @param params [Hash]
2559
+ # @option request_options [String] :base_url
2560
+ # @option request_options [Hash{String => Object}] :additional_headers
2561
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2562
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2563
+ # @option request_options [Integer] :timeout_in_seconds
2564
+ # @option params [String] :store_id
2565
+ # @option params [String] :promo_rule_id
2566
+ # @option params [String, nil] :fields
2567
+ # @option params [String, nil] :exclude_fields
2568
+ #
2569
+ # @example
2570
+ # client.ecommerce.get_store_promo_rule(
2571
+ # store_id: "store_id",
2572
+ # promo_rule_id: "promo_rule_id"
2573
+ # )
2574
+ #
2575
+ # @return [Mailchimp::Types::ECommercePromoRule]
2576
+ def get_store_promo_rule(request_options: {}, **params)
2577
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2578
+ query_params = {}
2579
+ query_params["fields"] = params[:fields] if params.key?(:fields)
2580
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
2581
+
2582
+ request = Mailchimp::Internal::JSON::Request.new(
2583
+ base_url: request_options[:base_url],
2584
+ method: "GET",
2585
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/promo-rules/#{URI.encode_uri_component(params[:promo_rule_id].to_s)}",
2586
+ query: query_params,
2587
+ request_options: request_options
2588
+ )
2589
+ begin
2590
+ response = @client.send(request)
2591
+ rescue Net::HTTPRequestTimeout
2592
+ raise Mailchimp::Errors::TimeoutError
2593
+ end
2594
+ code = response.code.to_i
2595
+ if code.between?(200, 299)
2596
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommercePromoRule.load(response.body))
2597
+ else
2598
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2599
+ raise error_class.new(response.body, code: code)
2600
+ end
2601
+ end
2602
+
2603
+ # Delete a promo rule from a store.
2604
+ #
2605
+ # @param request_options [Hash]
2606
+ # @param params [Hash]
2607
+ # @option request_options [String] :base_url
2608
+ # @option request_options [Hash{String => Object}] :additional_headers
2609
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2610
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2611
+ # @option request_options [Integer] :timeout_in_seconds
2612
+ # @option params [String] :store_id
2613
+ # @option params [String] :promo_rule_id
2614
+ #
2615
+ # @example
2616
+ # client.ecommerce.delete_store_promo_rule(
2617
+ # store_id: "store_id",
2618
+ # promo_rule_id: "promo_rule_id"
2619
+ # )
2620
+ #
2621
+ # @return [untyped]
2622
+ def delete_store_promo_rule(request_options: {}, **params)
2623
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2624
+ request = Mailchimp::Internal::JSON::Request.new(
2625
+ base_url: request_options[:base_url],
2626
+ method: "DELETE",
2627
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/promo-rules/#{URI.encode_uri_component(params[:promo_rule_id].to_s)}",
2628
+ request_options: request_options
2629
+ )
2630
+ begin
2631
+ response = @client.send(request)
2632
+ rescue Net::HTTPRequestTimeout
2633
+ raise Mailchimp::Errors::TimeoutError
2634
+ end
2635
+ code = response.code.to_i
2636
+ return if code.between?(200, 299)
2637
+
2638
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2639
+ raise error_class.new(response.body, code: code)
2640
+ end
2641
+
2642
+ # Update a promo rule.
2643
+ #
2644
+ # @param request_options [Hash]
2645
+ # @param params [Mailchimp::Ecommerce::Types::UpdateStorePromoRuleEcommerceRequest]
2646
+ # @option request_options [String] :base_url
2647
+ # @option request_options [Hash{String => Object}] :additional_headers
2648
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2649
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2650
+ # @option request_options [Integer] :timeout_in_seconds
2651
+ # @option params [String] :store_id
2652
+ # @option params [String] :promo_rule_id
2653
+ #
2654
+ # @example
2655
+ # client.ecommerce.update_store_promo_rule(
2656
+ # store_id: "store_id",
2657
+ # promo_rule_id: "promo_rule_id"
2658
+ # )
2659
+ #
2660
+ # @return [Mailchimp::Types::ECommercePromoRule]
2661
+ def update_store_promo_rule(request_options: {}, **params)
2662
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2663
+ request_data = Mailchimp::Ecommerce::Types::UpdateStorePromoRuleEcommerceRequest.new(params).to_h
2664
+ non_body_param_names = %w[store_id promo_rule_id]
2665
+ body = request_data.except(*non_body_param_names)
2666
+
2667
+ request = Mailchimp::Internal::JSON::Request.new(
2668
+ base_url: request_options[:base_url],
2669
+ method: "PATCH",
2670
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/promo-rules/#{URI.encode_uri_component(params[:promo_rule_id].to_s)}",
2671
+ body: body,
2672
+ request_options: request_options
2673
+ )
2674
+ begin
2675
+ response = @client.send(request)
2676
+ rescue Net::HTTPRequestTimeout
2677
+ raise Mailchimp::Errors::TimeoutError
2678
+ end
2679
+ code = response.code.to_i
2680
+ if code.between?(200, 299)
2681
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommercePromoRule.load(response.body))
2682
+ else
2683
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2684
+ raise error_class.new(response.body, code: code)
2685
+ end
2686
+ end
2687
+
2688
+ # Get information about a store's promo codes.
2689
+ #
2690
+ # @param request_options [Hash]
2691
+ # @param params [Hash]
2692
+ # @option request_options [String] :base_url
2693
+ # @option request_options [Hash{String => Object}] :additional_headers
2694
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2695
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2696
+ # @option request_options [Integer] :timeout_in_seconds
2697
+ # @option params [String] :store_id
2698
+ # @option params [String] :promo_rule_id
2699
+ # @option params [String, nil] :fields
2700
+ # @option params [String, nil] :exclude_fields
2701
+ # @option params [Integer, nil] :count
2702
+ # @option params [Integer, nil] :offset
2703
+ #
2704
+ # @example
2705
+ # client.ecommerce.list_store_promo_rule_promo_codes(
2706
+ # store_id: "store_id",
2707
+ # promo_rule_id: "promo_rule_id"
2708
+ # )
2709
+ #
2710
+ # @return [Mailchimp::Ecommerce::Types::ListStorePromoRulePromoCodesEcommerceResponse]
2711
+ def list_store_promo_rule_promo_codes(request_options: {}, **params)
2712
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2713
+ query_params = {}
2714
+ query_params["fields"] = params[:fields] if params.key?(:fields)
2715
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
2716
+ query_params["count"] = params[:count] if params.key?(:count)
2717
+ query_params["offset"] = params[:offset] if params.key?(:offset)
2718
+
2719
+ Mailchimp::Internal::OffsetItemIterator.new(
2720
+ initial_page: query_params["offset"],
2721
+ item_field: :promo_codes,
2722
+ has_next_field: nil,
2723
+ step: false
2724
+ ) do |next_page|
2725
+ query_params["offset"] = next_page
2726
+ request = Mailchimp::Internal::JSON::Request.new(
2727
+ base_url: request_options[:base_url],
2728
+ method: "GET",
2729
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/promo-rules/#{URI.encode_uri_component(params[:promo_rule_id].to_s)}/promo-codes",
2730
+ query: query_params,
2731
+ request_options: request_options
2732
+ )
2733
+ begin
2734
+ response = @client.send(request)
2735
+ rescue Net::HTTPRequestTimeout
2736
+ raise Mailchimp::Errors::TimeoutError
2737
+ end
2738
+ code = response.code.to_i
2739
+ if code.between?(200, 299)
2740
+ parsed_response = (response.body.to_s.empty? ? nil : Mailchimp::Ecommerce::Types::ListStorePromoRulePromoCodesEcommerceResponse.load(response.body))
2741
+ [parsed_response, response]
2742
+ else
2743
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2744
+ raise error_class.new(response.body, code: code)
2745
+ end
2746
+ end
2747
+ end
2748
+
2749
+ # Add a new promo code to a store.
2750
+ #
2751
+ # @param request_options [Hash]
2752
+ # @param params [Mailchimp::Ecommerce::Types::CreateStorePromoRulePromoCodeEcommerceRequest]
2753
+ # @option request_options [String] :base_url
2754
+ # @option request_options [Hash{String => Object}] :additional_headers
2755
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2756
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2757
+ # @option request_options [Integer] :timeout_in_seconds
2758
+ # @option params [String] :store_id
2759
+ # @option params [String] :promo_rule_id
2760
+ #
2761
+ # @example
2762
+ # client.ecommerce.create_store_promo_rule_promo_code(
2763
+ # store_id: "store_id",
2764
+ # promo_rule_id: "promo_rule_id",
2765
+ # code: "summersale",
2766
+ # id: "id",
2767
+ # redemption_url: "A url that applies promo code directly at checkout or a url that points to sale page or store url"
2768
+ # )
2769
+ #
2770
+ # @return [Mailchimp::Types::ECommercePromoCode]
2771
+ def create_store_promo_rule_promo_code(request_options: {}, **params)
2772
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2773
+ request_data = Mailchimp::Ecommerce::Types::CreateStorePromoRulePromoCodeEcommerceRequest.new(params).to_h
2774
+ non_body_param_names = %w[store_id promo_rule_id]
2775
+ body = request_data.except(*non_body_param_names)
2776
+
2777
+ request = Mailchimp::Internal::JSON::Request.new(
2778
+ base_url: request_options[:base_url],
2779
+ method: "POST",
2780
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/promo-rules/#{URI.encode_uri_component(params[:promo_rule_id].to_s)}/promo-codes",
2781
+ body: body,
2782
+ request_options: request_options
2783
+ )
2784
+ begin
2785
+ response = @client.send(request)
2786
+ rescue Net::HTTPRequestTimeout
2787
+ raise Mailchimp::Errors::TimeoutError
2788
+ end
2789
+ code = response.code.to_i
2790
+ if code.between?(200, 299)
2791
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommercePromoCode.load(response.body))
2792
+ else
2793
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2794
+ raise error_class.new(response.body, code: code)
2795
+ end
2796
+ end
2797
+
2798
+ # Get information about a specific promo code.
2799
+ #
2800
+ # @param request_options [Hash]
2801
+ # @param params [Hash]
2802
+ # @option request_options [String] :base_url
2803
+ # @option request_options [Hash{String => Object}] :additional_headers
2804
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2805
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2806
+ # @option request_options [Integer] :timeout_in_seconds
2807
+ # @option params [String] :store_id
2808
+ # @option params [String] :promo_rule_id
2809
+ # @option params [String] :promo_code_id
2810
+ # @option params [String, nil] :fields
2811
+ # @option params [String, nil] :exclude_fields
2812
+ #
2813
+ # @example
2814
+ # client.ecommerce.get_store_promo_rule_promo_code(
2815
+ # store_id: "store_id",
2816
+ # promo_rule_id: "promo_rule_id",
2817
+ # promo_code_id: "promo_code_id"
2818
+ # )
2819
+ #
2820
+ # @return [Mailchimp::Types::ECommercePromoCode]
2821
+ def get_store_promo_rule_promo_code(request_options: {}, **params)
2822
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2823
+ query_params = {}
2824
+ query_params["fields"] = params[:fields] if params.key?(:fields)
2825
+ query_params["exclude_fields"] = params[:exclude_fields] if params.key?(:exclude_fields)
2826
+
2827
+ request = Mailchimp::Internal::JSON::Request.new(
2828
+ base_url: request_options[:base_url],
2829
+ method: "GET",
2830
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/promo-rules/#{URI.encode_uri_component(params[:promo_rule_id].to_s)}/promo-codes/#{URI.encode_uri_component(params[:promo_code_id].to_s)}",
2831
+ query: query_params,
2832
+ request_options: request_options
2833
+ )
2834
+ begin
2835
+ response = @client.send(request)
2836
+ rescue Net::HTTPRequestTimeout
2837
+ raise Mailchimp::Errors::TimeoutError
2838
+ end
2839
+ code = response.code.to_i
2840
+ if code.between?(200, 299)
2841
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommercePromoCode.load(response.body))
2842
+ else
2843
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2844
+ raise error_class.new(response.body, code: code)
2845
+ end
2846
+ end
2847
+
2848
+ # Delete a promo code from a store.
2849
+ #
2850
+ # @param request_options [Hash]
2851
+ # @param params [Hash]
2852
+ # @option request_options [String] :base_url
2853
+ # @option request_options [Hash{String => Object}] :additional_headers
2854
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2855
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2856
+ # @option request_options [Integer] :timeout_in_seconds
2857
+ # @option params [String] :store_id
2858
+ # @option params [String] :promo_rule_id
2859
+ # @option params [String] :promo_code_id
2860
+ #
2861
+ # @example
2862
+ # client.ecommerce.delete_store_promo_rule_promo_code(
2863
+ # store_id: "store_id",
2864
+ # promo_rule_id: "promo_rule_id",
2865
+ # promo_code_id: "promo_code_id"
2866
+ # )
2867
+ #
2868
+ # @return [untyped]
2869
+ def delete_store_promo_rule_promo_code(request_options: {}, **params)
2870
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2871
+ request = Mailchimp::Internal::JSON::Request.new(
2872
+ base_url: request_options[:base_url],
2873
+ method: "DELETE",
2874
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/promo-rules/#{URI.encode_uri_component(params[:promo_rule_id].to_s)}/promo-codes/#{URI.encode_uri_component(params[:promo_code_id].to_s)}",
2875
+ request_options: request_options
2876
+ )
2877
+ begin
2878
+ response = @client.send(request)
2879
+ rescue Net::HTTPRequestTimeout
2880
+ raise Mailchimp::Errors::TimeoutError
2881
+ end
2882
+ code = response.code.to_i
2883
+ return if code.between?(200, 299)
2884
+
2885
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2886
+ raise error_class.new(response.body, code: code)
2887
+ end
2888
+
2889
+ # Update a promo code.
2890
+ #
2891
+ # @param request_options [Hash]
2892
+ # @param params [Mailchimp::Ecommerce::Types::UpdateStorePromoRulePromoCodeEcommerceRequest]
2893
+ # @option request_options [String] :base_url
2894
+ # @option request_options [Hash{String => Object}] :additional_headers
2895
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
2896
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
2897
+ # @option request_options [Integer] :timeout_in_seconds
2898
+ # @option params [String] :store_id
2899
+ # @option params [String] :promo_rule_id
2900
+ # @option params [String] :promo_code_id
2901
+ #
2902
+ # @example
2903
+ # client.ecommerce.update_store_promo_rule_promo_code(
2904
+ # store_id: "store_id",
2905
+ # promo_rule_id: "promo_rule_id",
2906
+ # promo_code_id: "promo_code_id"
2907
+ # )
2908
+ #
2909
+ # @return [Mailchimp::Types::ECommercePromoCode]
2910
+ def update_store_promo_rule_promo_code(request_options: {}, **params)
2911
+ params = Mailchimp::Internal::Types::Utils.normalize_keys(params)
2912
+ request_data = Mailchimp::Ecommerce::Types::UpdateStorePromoRulePromoCodeEcommerceRequest.new(params).to_h
2913
+ non_body_param_names = %w[store_id promo_rule_id promo_code_id]
2914
+ body = request_data.except(*non_body_param_names)
2915
+
2916
+ request = Mailchimp::Internal::JSON::Request.new(
2917
+ base_url: request_options[:base_url],
2918
+ method: "PATCH",
2919
+ path: "3.0/ecommerce/stores/#{URI.encode_uri_component(params[:store_id].to_s)}/promo-rules/#{URI.encode_uri_component(params[:promo_rule_id].to_s)}/promo-codes/#{URI.encode_uri_component(params[:promo_code_id].to_s)}",
2920
+ body: body,
2921
+ request_options: request_options
2922
+ )
2923
+ begin
2924
+ response = @client.send(request)
2925
+ rescue Net::HTTPRequestTimeout
2926
+ raise Mailchimp::Errors::TimeoutError
2927
+ end
2928
+ code = response.code.to_i
2929
+ if code.between?(200, 299)
2930
+ (response.body.to_s.empty? ? nil : Mailchimp::Types::ECommercePromoCode.load(response.body))
2931
+ else
2932
+ error_class = Mailchimp::Errors::ResponseError.subclass_for_code(code)
2933
+ raise error_class.new(response.body, code: code)
2934
+ end
2935
+ end
2936
+ end
2937
+ end
2938
+ end