constant_contact_client 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (406) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +56 -0
  3. data/Gemfile +9 -0
  4. data/Gemfile.lock +72 -0
  5. data/LICENSE +29 -0
  6. data/README.md +201 -0
  7. data/Rakefile +10 -0
  8. data/constant_contact_client.gemspec +39 -0
  9. data/docs/AccountServicesApi.md +593 -0
  10. data/docs/BulkActivitiesApi.md +1035 -0
  11. data/docs/ContactListsApi.md +461 -0
  12. data/docs/ContactTagsApi.md +382 -0
  13. data/docs/ContactsApi.md +701 -0
  14. data/docs/ContactsCustomFieldsApi.md +375 -0
  15. data/docs/ContactsReportingApi.md +244 -0
  16. data/docs/EmailCampaignsABTestsApi.md +227 -0
  17. data/docs/EmailCampaignsApi.md +826 -0
  18. data/docs/EmailReportingApi.md +925 -0
  19. data/docs/EmailSchedulingApi.md +447 -0
  20. data/docs/LandingPagesReportingApi.md +481 -0
  21. data/docs/SegmentsApi.md +452 -0
  22. data/lib/constant_contact_client/api/account_services_api.rb +546 -0
  23. data/lib/constant_contact_client/api/bulk_activities_api.rb +983 -0
  24. data/lib/constant_contact_client/api/contact_lists_api.rb +449 -0
  25. data/lib/constant_contact_client/api/contact_tags_api.rb +356 -0
  26. data/lib/constant_contact_client/api/contacts_api.rb +676 -0
  27. data/lib/constant_contact_client/api/contacts_custom_fields_api.rb +356 -0
  28. data/lib/constant_contact_client/api/contacts_reporting_api.rb +255 -0
  29. data/lib/constant_contact_client/api/email_campaigns_ab_tests_api.rb +220 -0
  30. data/lib/constant_contact_client/api/email_campaigns_api.rb +766 -0
  31. data/lib/constant_contact_client/api/email_reporting_api.rb +812 -0
  32. data/lib/constant_contact_client/api/email_scheduling_api.rb +418 -0
  33. data/lib/constant_contact_client/api/landing_pages_reporting_api.rb +436 -0
  34. data/lib/constant_contact_client/api/segments_api.rb +425 -0
  35. data/lib/constant_contact_client/api_client.rb +394 -0
  36. data/lib/constant_contact_client/api_error.rb +58 -0
  37. data/lib/constant_contact_client/configuration.rb +305 -0
  38. data/lib/constant_contact_client/models/ab_test_data.rb +256 -0
  39. data/lib/constant_contact_client/models/access_token_response.rb +265 -0
  40. data/lib/constant_contact_client/models/account_cancellation.rb +226 -0
  41. data/lib/constant_contact_client/models/account_email_create_response.rb +273 -0
  42. data/lib/constant_contact_client/models/account_email_input.rb +234 -0
  43. data/lib/constant_contact_client/models/account_physical_address.rb +409 -0
  44. data/lib/constant_contact_client/models/account_suspension.rb +289 -0
  45. data/lib/constant_contact_client/models/activities.rb +226 -0
  46. data/lib/constant_contact_client/models/activity.rb +316 -0
  47. data/lib/constant_contact_client/models/activity_delete_custom_fields.rb +297 -0
  48. data/lib/constant_contact_client/models/activity_delete_list_response.rb +276 -0
  49. data/lib/constant_contact_client/models/activity_delete_lists_response.rb +305 -0
  50. data/lib/constant_contact_client/models/activity_delete_status.rb +306 -0
  51. data/lib/constant_contact_client/models/activity_errors.rb +215 -0
  52. data/lib/constant_contact_client/models/activity_export_status.rb +306 -0
  53. data/lib/constant_contact_client/models/activity_generic.rb +299 -0
  54. data/lib/constant_contact_client/models/activity_generic_status.rb +225 -0
  55. data/lib/constant_contact_client/models/activity_import.rb +316 -0
  56. data/lib/constant_contact_client/models/activity_links.rb +223 -0
  57. data/lib/constant_contact_client/models/activity_lists_membership.rb +305 -0
  58. data/lib/constant_contact_client/models/activity_reference.rb +225 -0
  59. data/lib/constant_contact_client/models/activity_status.rb +275 -0
  60. data/lib/constant_contact_client/models/activity_status_export_link.rb +223 -0
  61. data/lib/constant_contact_client/models/activity_status_link.rb +214 -0
  62. data/lib/constant_contact_client/models/activity_tagging.rb +319 -0
  63. data/lib/constant_contact_client/models/activity_tagging_status.rb +226 -0
  64. data/lib/constant_contact_client/models/add_account_email_address201_response.rb +273 -0
  65. data/lib/constant_contact_client/models/add_account_email_address_request.rb +234 -0
  66. data/lib/constant_contact_client/models/api_error_schema_inner.rb +225 -0
  67. data/lib/constant_contact_client/models/authorization_error_schema.rb +225 -0
  68. data/lib/constant_contact_client/models/bounces_tracking_activities_page.rb +240 -0
  69. data/lib/constant_contact_client/models/bounces_tracking_activity.rb +347 -0
  70. data/lib/constant_contact_client/models/bulk_email_campaign_summaries_page.rb +249 -0
  71. data/lib/constant_contact_client/models/bulk_email_campaign_summaries_percents.rb +255 -0
  72. data/lib/constant_contact_client/models/bulk_email_campaign_summary.rb +272 -0
  73. data/lib/constant_contact_client/models/campaign_activity_stats_query_result_email.rb +229 -0
  74. data/lib/constant_contact_client/models/campaign_activity_stats_result_generic_stats_email_activity.rb +244 -0
  75. data/lib/constant_contact_client/models/campaign_activity_summary.rb +341 -0
  76. data/lib/constant_contact_client/models/campaign_stats_query_result_email.rb +229 -0
  77. data/lib/constant_contact_client/models/campaign_stats_result_generic_stats_email_percents_email.rb +243 -0
  78. data/lib/constant_contact_client/models/clicks_tracking_activities_page.rb +233 -0
  79. data/lib/constant_contact_client/models/clicks_tracking_activity.rb +364 -0
  80. data/lib/constant_contact_client/models/company_logo.rb +235 -0
  81. data/lib/constant_contact_client/models/contact_campaign_activities_summary.rb +250 -0
  82. data/lib/constant_contact_client/models/contact_create_or_update_input.rb +503 -0
  83. data/lib/constant_contact_client/models/contact_create_or_update_response.rb +225 -0
  84. data/lib/constant_contact_client/models/contact_custom_field.rb +259 -0
  85. data/lib/constant_contact_client/models/contact_delete.rb +267 -0
  86. data/lib/constant_contact_client/models/contact_list.rb +301 -0
  87. data/lib/constant_contact_client/models/contact_list_array.rb +235 -0
  88. data/lib/constant_contact_client/models/contact_list_put_post.rb +291 -0
  89. data/lib/constant_contact_client/models/contact_open_and_click_rates.rb +274 -0
  90. data/lib/constant_contact_client/models/contact_post_request.rb +575 -0
  91. data/lib/constant_contact_client/models/contact_put_request.rb +582 -0
  92. data/lib/constant_contact_client/models/contact_resource.rb +635 -0
  93. data/lib/constant_contact_client/models/contact_tracking_activities_page.rb +227 -0
  94. data/lib/constant_contact_client/models/contact_tracking_activity.rb +270 -0
  95. data/lib/constant_contact_client/models/contact_xref.rb +226 -0
  96. data/lib/constant_contact_client/models/contact_xrefs.rb +236 -0
  97. data/lib/constant_contact_client/models/contacts.rb +246 -0
  98. data/lib/constant_contact_client/models/contacts_counts.rb +265 -0
  99. data/lib/constant_contact_client/models/contacts_export.rb +300 -0
  100. data/lib/constant_contact_client/models/contacts_json_import.rb +281 -0
  101. data/lib/constant_contact_client/models/create_contact_request.rb +575 -0
  102. data/lib/constant_contact_client/models/create_contact_request_email_address.rb +252 -0
  103. data/lib/constant_contact_client/models/create_csv_import_activity201_response.rb +316 -0
  104. data/lib/constant_contact_client/models/create_csv_import_activity201_response_links.rb +214 -0
  105. data/lib/constant_contact_client/models/create_csv_import_activity201_response_status.rb +255 -0
  106. data/lib/constant_contact_client/models/create_delete_activity201_response.rb +306 -0
  107. data/lib/constant_contact_client/models/create_delete_activity201_response_links.rb +214 -0
  108. data/lib/constant_contact_client/models/create_delete_activity201_response_links_self.rb +215 -0
  109. data/lib/constant_contact_client/models/create_delete_activity201_response_status.rb +235 -0
  110. data/lib/constant_contact_client/models/create_delete_activity_request.rb +267 -0
  111. data/lib/constant_contact_client/models/create_email_campaign200_response.rb +306 -0
  112. data/lib/constant_contact_client/models/create_email_campaign200_response_campaign_activities_inner.rb +225 -0
  113. data/lib/constant_contact_client/models/create_email_campaign_request.rb +260 -0
  114. data/lib/constant_contact_client/models/create_email_campaign_request_email_campaign_activities_inner.rb +402 -0
  115. data/lib/constant_contact_client/models/create_email_campaign_request_email_campaign_activities_inner_physical_address_in_footer.rb +347 -0
  116. data/lib/constant_contact_client/models/create_export_activity201_response.rb +306 -0
  117. data/lib/constant_contact_client/models/create_export_activity201_response_status.rb +225 -0
  118. data/lib/constant_contact_client/models/create_export_activity_request.rb +300 -0
  119. data/lib/constant_contact_client/models/create_import_json_activity_request.rb +281 -0
  120. data/lib/constant_contact_client/models/create_import_json_activity_request_import_data_inner.rb +1315 -0
  121. data/lib/constant_contact_client/models/create_list_add_activity_request.rb +268 -0
  122. data/lib/constant_contact_client/models/create_list_add_activity_request_exclude.rb +217 -0
  123. data/lib/constant_contact_client/models/create_list_add_activity_request_source.rb +331 -0
  124. data/lib/constant_contact_client/models/create_list_delete_activity201_response.rb +305 -0
  125. data/lib/constant_contact_client/models/create_list_delete_activity201_response_links.rb +214 -0
  126. data/lib/constant_contact_client/models/create_list_delete_activity201_response_links_self.rb +215 -0
  127. data/lib/constant_contact_client/models/create_list_delete_activity201_response_status.rb +215 -0
  128. data/lib/constant_contact_client/models/create_list_delete_activity_request.rb +243 -0
  129. data/lib/constant_contact_client/models/create_list_remove_activity201_response.rb +305 -0
  130. data/lib/constant_contact_client/models/create_list_remove_activity201_response_status.rb +235 -0
  131. data/lib/constant_contact_client/models/create_list_remove_activity_request.rb +268 -0
  132. data/lib/constant_contact_client/models/create_list_remove_activity_request_exclude.rb +217 -0
  133. data/lib/constant_contact_client/models/create_list_remove_activity_request_source.rb +321 -0
  134. data/lib/constant_contact_client/models/create_or_update_contact200_response.rb +225 -0
  135. data/lib/constant_contact_client/models/create_or_update_contact_custom_field.rb +244 -0
  136. data/lib/constant_contact_client/models/create_or_update_contact_request.rb +503 -0
  137. data/lib/constant_contact_client/models/create_or_update_contact_request_custom_fields_inner.rb +244 -0
  138. data/lib/constant_contact_client/models/create_or_update_contact_request_street_address.rb +367 -0
  139. data/lib/constant_contact_client/models/create_resend_email_campaign201_response.rb +255 -0
  140. data/lib/constant_contact_client/models/create_resend_email_campaign_request.rb +242 -0
  141. data/lib/constant_contact_client/models/create_segment201_response.rb +274 -0
  142. data/lib/constant_contact_client/models/create_segment_request.rb +258 -0
  143. data/lib/constant_contact_client/models/create_tag_delete_activity_request.rb +243 -0
  144. data/lib/constant_contact_client/models/create_tag_remove_activity201_response.rb +319 -0
  145. data/lib/constant_contact_client/models/create_tag_remove_activity201_response_links.rb +223 -0
  146. data/lib/constant_contact_client/models/create_tag_remove_activity201_response_links_results.rb +215 -0
  147. data/lib/constant_contact_client/models/create_tag_remove_activity201_response_links_self.rb +214 -0
  148. data/lib/constant_contact_client/models/create_tag_remove_activity201_response_status.rb +226 -0
  149. data/lib/constant_contact_client/models/create_tag_remove_activity_request.rb +268 -0
  150. data/lib/constant_contact_client/models/create_tag_remove_activity_request_exclude.rb +218 -0
  151. data/lib/constant_contact_client/models/create_tag_remove_activity_request_source.rb +319 -0
  152. data/lib/constant_contact_client/models/cross_reference.rb +235 -0
  153. data/lib/constant_contact_client/models/cross_reference_response.rb +217 -0
  154. data/lib/constant_contact_client/models/custom_field_id100.rb +243 -0
  155. data/lib/constant_contact_client/models/custom_field_input.rb +258 -0
  156. data/lib/constant_contact_client/models/custom_field_resource.rb +318 -0
  157. data/lib/constant_contact_client/models/custom_fields.rb +245 -0
  158. data/lib/constant_contact_client/models/customer.rb +352 -0
  159. data/lib/constant_contact_client/models/customer_put.rb +334 -0
  160. data/lib/constant_contact_client/models/delete_list202_response.rb +276 -0
  161. data/lib/constant_contact_client/models/delete_tag202_response.rb +299 -0
  162. data/lib/constant_contact_client/models/delete_tag202_response_activity_errors_inner.rb +215 -0
  163. data/lib/constant_contact_client/models/delete_tag202_response_links.rb +214 -0
  164. data/lib/constant_contact_client/models/delete_tag202_response_links_self.rb +215 -0
  165. data/lib/constant_contact_client/models/delete_tag202_response_status.rb +225 -0
  166. data/lib/constant_contact_client/models/device_flow_response.rb +265 -0
  167. data/lib/constant_contact_client/models/did_not_opens_tracking_activities_page.rb +233 -0
  168. data/lib/constant_contact_client/models/did_not_opens_tracking_activity.rb +320 -0
  169. data/lib/constant_contact_client/models/email_address.rb +351 -0
  170. data/lib/constant_contact_client/models/email_address_post.rb +252 -0
  171. data/lib/constant_contact_client/models/email_address_put.rb +341 -0
  172. data/lib/constant_contact_client/models/email_campaign.rb +306 -0
  173. data/lib/constant_contact_client/models/email_campaign_activity.rb +405 -0
  174. data/lib/constant_contact_client/models/email_campaign_activity_input.rb +402 -0
  175. data/lib/constant_contact_client/models/email_campaign_activity_preview.rb +285 -0
  176. data/lib/constant_contact_client/models/email_campaign_complete.rb +260 -0
  177. data/lib/constant_contact_client/models/email_campaign_name.rb +241 -0
  178. data/lib/constant_contact_client/models/email_campaigns.rb +294 -0
  179. data/lib/constant_contact_client/models/email_link_click_count.rb +265 -0
  180. data/lib/constant_contact_client/models/email_links.rb +227 -0
  181. data/lib/constant_contact_client/models/email_physical_address.rb +346 -0
  182. data/lib/constant_contact_client/models/email_schedule_input.rb +222 -0
  183. data/lib/constant_contact_client/models/email_test_send_input.rb +253 -0
  184. data/lib/constant_contact_client/models/emails_link.rb +214 -0
  185. data/lib/constant_contact_client/models/emails_paging_links.rb +214 -0
  186. data/lib/constant_contact_client/models/file_object.rb +384 -0
  187. data/lib/constant_contact_client/models/file_status_array_inner.rb +235 -0
  188. data/lib/constant_contact_client/models/forwards_tracking_activities_page.rb +233 -0
  189. data/lib/constant_contact_client/models/forwards_tracking_activity.rb +320 -0
  190. data/lib/constant_contact_client/models/get_ab_test_email_campaign200_response.rb +256 -0
  191. data/lib/constant_contact_client/models/get_account_details200_response.rb +352 -0
  192. data/lib/constant_contact_client/models/get_account_details200_response_company_logo.rb +236 -0
  193. data/lib/constant_contact_client/models/get_account_details200_response_physical_address.rb +409 -0
  194. data/lib/constant_contact_client/models/get_activity_by_id200_response.rb +316 -0
  195. data/lib/constant_contact_client/models/get_all_account_email_addresses200_response_inner.rb +317 -0
  196. data/lib/constant_contact_client/models/get_all_activities200_response.rb +226 -0
  197. data/lib/constant_contact_client/models/get_all_activities200_response_activities_inner.rb +316 -0
  198. data/lib/constant_contact_client/models/get_all_activities200_response_activities_inner_links.rb +223 -0
  199. data/lib/constant_contact_client/models/get_all_activities200_response_activities_inner_links_results.rb +215 -0
  200. data/lib/constant_contact_client/models/get_all_activities200_response_activities_inner_links_self.rb +215 -0
  201. data/lib/constant_contact_client/models/get_all_activities200_response_activities_inner_status.rb +275 -0
  202. data/lib/constant_contact_client/models/get_all_activities200_response_links.rb +214 -0
  203. data/lib/constant_contact_client/models/get_all_activities200_response_links_next.rb +214 -0
  204. data/lib/constant_contact_client/models/get_all_contacts200_response.rb +246 -0
  205. data/lib/constant_contact_client/models/get_all_custom_fields200_response.rb +245 -0
  206. data/lib/constant_contact_client/models/get_all_email_campaigns200_response.rb +225 -0
  207. data/lib/constant_contact_client/models/get_all_email_campaigns200_response_campaigns_inner.rb +294 -0
  208. data/lib/constant_contact_client/models/get_all_email_campaigns200_response_links.rb +214 -0
  209. data/lib/constant_contact_client/models/get_all_lists200_response.rb +235 -0
  210. data/lib/constant_contact_client/models/get_all_segments200_response.rb +233 -0
  211. data/lib/constant_contact_client/models/get_all_segments200_response_links.rb +222 -0
  212. data/lib/constant_contact_client/models/get_all_segments200_response_links_next.rb +223 -0
  213. data/lib/constant_contact_client/models/get_all_segments200_response_segments_inner.rb +245 -0
  214. data/lib/constant_contact_client/models/get_all_tags200_response.rb +226 -0
  215. data/lib/constant_contact_client/models/get_all_tags200_response_links.rb +215 -0
  216. data/lib/constant_contact_client/models/get_all_tags200_response_links_next.rb +224 -0
  217. data/lib/constant_contact_client/models/get_all_tags200_response_links_next_next.rb +223 -0
  218. data/lib/constant_contact_client/models/get_bounces_report200_response.rb +240 -0
  219. data/lib/constant_contact_client/models/get_bounces_report200_response_links.rb +222 -0
  220. data/lib/constant_contact_client/models/get_bounces_report200_response_tracking_activities_inner.rb +347 -0
  221. data/lib/constant_contact_client/models/get_campaign_activity_link_report200_response.rb +227 -0
  222. data/lib/constant_contact_client/models/get_campaign_activity_link_report200_response_link_click_counts_inner.rb +265 -0
  223. data/lib/constant_contact_client/models/get_clicks_report200_response.rb +233 -0
  224. data/lib/constant_contact_client/models/get_clicks_report200_response_links.rb +222 -0
  225. data/lib/constant_contact_client/models/get_clicks_report200_response_tracking_activities_inner.rb +364 -0
  226. data/lib/constant_contact_client/models/get_contact_adds200_response.rb +240 -0
  227. data/lib/constant_contact_client/models/get_contact_adds200_response_tracking_activities_inner.rb +329 -0
  228. data/lib/constant_contact_client/models/get_contact_by_id200_response.rb +635 -0
  229. data/lib/constant_contact_client/models/get_contact_by_id200_response_custom_fields_inner.rb +259 -0
  230. data/lib/constant_contact_client/models/get_contact_by_id200_response_email_address.rb +351 -0
  231. data/lib/constant_contact_client/models/get_contact_by_id200_response_notes_inner.rb +255 -0
  232. data/lib/constant_contact_client/models/get_contact_by_id200_response_phone_numbers_inner.rb +294 -0
  233. data/lib/constant_contact_client/models/get_contact_by_id200_response_sms_channel.rb +278 -0
  234. data/lib/constant_contact_client/models/get_contact_by_id200_response_sms_channel_sms_channel_consents_inner.rb +285 -0
  235. data/lib/constant_contact_client/models/get_contact_by_id200_response_street_addresses_inner.rb +397 -0
  236. data/lib/constant_contact_client/models/get_contact_counts200_response.rb +265 -0
  237. data/lib/constant_contact_client/models/get_contact_id_xrefs200_response.rb +236 -0
  238. data/lib/constant_contact_client/models/get_contact_id_xrefs200_response_xrefs_inner.rb +226 -0
  239. data/lib/constant_contact_client/models/get_contact_open_click_rate_report200_response.rb +274 -0
  240. data/lib/constant_contact_client/models/get_contact_tracking_count_report200_response.rb +250 -0
  241. data/lib/constant_contact_client/models/get_contact_tracking_count_report200_response_campaign_activities_inner.rb +341 -0
  242. data/lib/constant_contact_client/models/get_contact_tracking_count_report200_response_links.rb +222 -0
  243. data/lib/constant_contact_client/models/get_contact_tracking_report200_response.rb +227 -0
  244. data/lib/constant_contact_client/models/get_contact_tracking_report200_response_links.rb +222 -0
  245. data/lib/constant_contact_client/models/get_contact_tracking_report200_response_links_next.rb +223 -0
  246. data/lib/constant_contact_client/models/get_contact_tracking_report200_response_tracking_activities_inner.rb +270 -0
  247. data/lib/constant_contact_client/models/get_custom_field200_response.rb +318 -0
  248. data/lib/constant_contact_client/models/get_did_not_opens_report200_response.rb +233 -0
  249. data/lib/constant_contact_client/models/get_did_not_opens_report200_response_tracking_activities_inner.rb +320 -0
  250. data/lib/constant_contact_client/models/get_email_campaign_activity200_response.rb +405 -0
  251. data/lib/constant_contact_client/models/get_email_campaign_activity200_response_document_properties.rb +520 -0
  252. data/lib/constant_contact_client/models/get_email_campaign_activity200_response_physical_address_in_footer.rb +347 -0
  253. data/lib/constant_contact_client/models/get_email_campaign_activity_preview200_response.rb +285 -0
  254. data/lib/constant_contact_client/models/get_email_campaign_activity_report200_response.rb +229 -0
  255. data/lib/constant_contact_client/models/get_email_campaign_activity_report200_response_results_inner.rb +244 -0
  256. data/lib/constant_contact_client/models/get_email_campaign_activity_report200_response_results_inner_stats.rb +476 -0
  257. data/lib/constant_contact_client/models/get_email_campaign_activity_schedule200_response_inner.rb +215 -0
  258. data/lib/constant_contact_client/models/get_email_campaign_activity_send_history200_response_inner.rb +298 -0
  259. data/lib/constant_contact_client/models/get_email_campaign_report200_response.rb +249 -0
  260. data/lib/constant_contact_client/models/get_email_campaign_report200_response_aggregate_percents.rb +256 -0
  261. data/lib/constant_contact_client/models/get_email_campaign_report200_response_bulk_email_campaign_summaries_inner.rb +272 -0
  262. data/lib/constant_contact_client/models/get_email_campaign_report200_response_bulk_email_campaign_summaries_inner_unique_counts.rb +342 -0
  263. data/lib/constant_contact_client/models/get_email_campaign_xrefs200_response.rb +217 -0
  264. data/lib/constant_contact_client/models/get_email_campaign_xrefs200_response_xrefs_inner.rb +235 -0
  265. data/lib/constant_contact_client/models/get_email_opens_report200_response.rb +233 -0
  266. data/lib/constant_contact_client/models/get_email_opens_report200_response_tracking_activities_inner.rb +330 -0
  267. data/lib/constant_contact_client/models/get_email_sends_report200_response.rb +233 -0
  268. data/lib/constant_contact_client/models/get_email_sends_report200_response_links.rb +222 -0
  269. data/lib/constant_contact_client/models/get_email_sends_report200_response_tracking_activities_inner.rb +320 -0
  270. data/lib/constant_contact_client/models/get_email_stats_report200_response.rb +229 -0
  271. data/lib/constant_contact_client/models/get_email_stats_report200_response_errors_inner.rb +225 -0
  272. data/lib/constant_contact_client/models/get_email_stats_report200_response_results_inner.rb +243 -0
  273. data/lib/constant_contact_client/models/get_email_stats_report200_response_results_inner_percents.rb +296 -0
  274. data/lib/constant_contact_client/models/get_email_stats_report200_response_results_inner_stats.rb +396 -0
  275. data/lib/constant_contact_client/models/get_forwards_report200_response.rb +233 -0
  276. data/lib/constant_contact_client/models/get_forwards_report200_response_tracking_activities_inner.rb +320 -0
  277. data/lib/constant_contact_client/models/get_list200_response.rb +301 -0
  278. data/lib/constant_contact_client/models/get_list_id_xrefs200_response.rb +236 -0
  279. data/lib/constant_contact_client/models/get_list_id_xrefs200_response_xrefs_inner.rb +226 -0
  280. data/lib/constant_contact_client/models/get_optouts_report200_response.rb +240 -0
  281. data/lib/constant_contact_client/models/get_optouts_report200_response_tracking_activities_inner.rb +330 -0
  282. data/lib/constant_contact_client/models/get_resend_email_campaign200_response_inner.rb +265 -0
  283. data/lib/constant_contact_client/models/get_sms_engagement_history200_response_inner.rb +255 -0
  284. data/lib/constant_contact_client/models/get_sms_engagement_history200_response_inner_history_details.rb +316 -0
  285. data/lib/constant_contact_client/models/get_tag200_response.rb +265 -0
  286. data/lib/constant_contact_client/models/get_unique_contact_clicks200_response.rb +240 -0
  287. data/lib/constant_contact_client/models/get_unique_contact_clicks200_response_links.rb +222 -0
  288. data/lib/constant_contact_client/models/get_unique_contact_clicks200_response_links_next.rb +223 -0
  289. data/lib/constant_contact_client/models/get_unique_contact_clicks200_response_tracking_activities_inner.rb +366 -0
  290. data/lib/constant_contact_client/models/get_unique_contact_clicks200_response_tracking_activities_inner_sms_channel.rb +246 -0
  291. data/lib/constant_contact_client/models/get_unique_contact_opens200_response.rb +240 -0
  292. data/lib/constant_contact_client/models/get_unique_contact_opens200_response_tracking_activities_inner.rb +339 -0
  293. data/lib/constant_contact_client/models/get_unique_contact_sms_opt_ins200_response.rb +240 -0
  294. data/lib/constant_contact_client/models/get_unique_contact_sms_opt_ins200_response_tracking_activities_inner.rb +329 -0
  295. data/lib/constant_contact_client/models/get_unique_contact_updates200_response.rb +240 -0
  296. data/lib/constant_contact_client/models/get_unique_contact_updates200_response_tracking_activities_inner.rb +329 -0
  297. data/lib/constant_contact_client/models/get_user_privileges200_response_inner.rb +225 -0
  298. data/lib/constant_contact_client/models/headers_object.rb +225 -0
  299. data/lib/constant_contact_client/models/history_details.rb +316 -0
  300. data/lib/constant_contact_client/models/json_import_contact.rb +1315 -0
  301. data/lib/constant_contact_client/models/link.rb +214 -0
  302. data/lib/constant_contact_client/models/links.rb +221 -0
  303. data/lib/constant_contact_client/models/list_activity_add_contacts.rb +268 -0
  304. data/lib/constant_contact_client/models/list_activity_remove_contacts.rb +268 -0
  305. data/lib/constant_contact_client/models/list_id_list100.rb +243 -0
  306. data/lib/constant_contact_client/models/list_input.rb +263 -0
  307. data/lib/constant_contact_client/models/list_xref.rb +226 -0
  308. data/lib/constant_contact_client/models/list_xrefs.rb +236 -0
  309. data/lib/constant_contact_client/models/lpreporting_links.rb +221 -0
  310. data/lib/constant_contact_client/models/lpreporting_next.rb +222 -0
  311. data/lib/constant_contact_client/models/model_next.rb +222 -0
  312. data/lib/constant_contact_client/models/my_library_file_collection_inner.rb +384 -0
  313. data/lib/constant_contact_client/models/my_library_file_collection_inner_thumbnail.rb +235 -0
  314. data/lib/constant_contact_client/models/note.rb +255 -0
  315. data/lib/constant_contact_client/models/o_auth_error.rb +223 -0
  316. data/lib/constant_contact_client/models/opens_tracking_activities_page.rb +233 -0
  317. data/lib/constant_contact_client/models/opens_tracking_activity.rb +330 -0
  318. data/lib/constant_contact_client/models/optouts_tracking_activities_page.rb +240 -0
  319. data/lib/constant_contact_client/models/optouts_tracking_activity.rb +330 -0
  320. data/lib/constant_contact_client/models/p_contact_add_tracking_activities_page.rb +240 -0
  321. data/lib/constant_contact_client/models/p_contact_add_tracking_activity.rb +329 -0
  322. data/lib/constant_contact_client/models/p_contact_click_tracking_activities_page.rb +240 -0
  323. data/lib/constant_contact_client/models/p_contact_click_tracking_activity.rb +366 -0
  324. data/lib/constant_contact_client/models/p_contact_open_tracking_activity.rb +339 -0
  325. data/lib/constant_contact_client/models/p_contact_opens_tracking_activities_page.rb +240 -0
  326. data/lib/constant_contact_client/models/p_contact_sms_opt_in_tracking_activities_page.rb +240 -0
  327. data/lib/constant_contact_client/models/p_contact_sms_opt_in_tracking_activity.rb +329 -0
  328. data/lib/constant_contact_client/models/p_contact_update_tracking_activities_page.rb +240 -0
  329. data/lib/constant_contact_client/models/p_contact_update_tracking_activity.rb +329 -0
  330. data/lib/constant_contact_client/models/paged_email_campaign_response.rb +225 -0
  331. data/lib/constant_contact_client/models/pagination_links.rb +214 -0
  332. data/lib/constant_contact_client/models/pagination_links_next.rb +215 -0
  333. data/lib/constant_contact_client/models/paging_links.rb +214 -0
  334. data/lib/constant_contact_client/models/partner_account.rb +233 -0
  335. data/lib/constant_contact_client/models/partner_account_links.rb +215 -0
  336. data/lib/constant_contact_client/models/partner_account_operations_request.rb +286 -0
  337. data/lib/constant_contact_client/models/partner_account_operations_request_account_operation_headers_inner.rb +225 -0
  338. data/lib/constant_contact_client/models/partner_account_operations_request_account_operation_path_parameters_inner.rb +225 -0
  339. data/lib/constant_contact_client/models/partner_account_operations_request_account_operation_query_parameters_inner.rb +225 -0
  340. data/lib/constant_contact_client/models/partner_account_site_owner_list_inner.rb +265 -0
  341. data/lib/constant_contact_client/models/partners_link.rb +214 -0
  342. data/lib/constant_contact_client/models/patch_email_campaign_name_request.rb +241 -0
  343. data/lib/constant_contact_client/models/path_param_object.rb +225 -0
  344. data/lib/constant_contact_client/models/percents_email.rb +295 -0
  345. data/lib/constant_contact_client/models/phone_number.rb +294 -0
  346. data/lib/constant_contact_client/models/phone_number_put.rb +244 -0
  347. data/lib/constant_contact_client/models/plan_info.rb +236 -0
  348. data/lib/constant_contact_client/models/plan_tiers_object.rb +248 -0
  349. data/lib/constant_contact_client/models/plan_tiers_object_current_tiers_inner.rb +278 -0
  350. data/lib/constant_contact_client/models/post_custom_field_delete201_response.rb +297 -0
  351. data/lib/constant_contact_client/models/post_custom_field_delete_request.rb +243 -0
  352. data/lib/constant_contact_client/models/post_tag_request.rb +260 -0
  353. data/lib/constant_contact_client/models/provision.rb +723 -0
  354. data/lib/constant_contact_client/models/provision_response.rb +225 -0
  355. data/lib/constant_contact_client/models/put_tag_request.rb +250 -0
  356. data/lib/constant_contact_client/models/query_param_object.rb +225 -0
  357. data/lib/constant_contact_client/models/reporting_links.rb +221 -0
  358. data/lib/constant_contact_client/models/reporting_next.rb +222 -0
  359. data/lib/constant_contact_client/models/resend_to_non_openers_input.rb +242 -0
  360. data/lib/constant_contact_client/models/resend_to_non_openers_object.rb +255 -0
  361. data/lib/constant_contact_client/models/schedule_email_campaign_activity_request.rb +222 -0
  362. data/lib/constant_contact_client/models/segment_data.rb +258 -0
  363. data/lib/constant_contact_client/models/segment_detail.rb +274 -0
  364. data/lib/constant_contact_client/models/segment_master.rb +245 -0
  365. data/lib/constant_contact_client/models/segment_name.rb +222 -0
  366. data/lib/constant_contact_client/models/segments_dto.rb +233 -0
  367. data/lib/constant_contact_client/models/sends_tracking_activities_page.rb +233 -0
  368. data/lib/constant_contact_client/models/sends_tracking_activity.rb +320 -0
  369. data/lib/constant_contact_client/models/sms_channel_consent_details.rb +285 -0
  370. data/lib/constant_contact_client/models/sso_user.rb +439 -0
  371. data/lib/constant_contact_client/models/stats_email.rb +395 -0
  372. data/lib/constant_contact_client/models/stats_email_activity.rb +475 -0
  373. data/lib/constant_contact_client/models/stats_error.rb +225 -0
  374. data/lib/constant_contact_client/models/street_address.rb +397 -0
  375. data/lib/constant_contact_client/models/street_address_put.rb +367 -0
  376. data/lib/constant_contact_client/models/tag.rb +265 -0
  377. data/lib/constant_contact_client/models/tag_add_remove_contacts.rb +268 -0
  378. data/lib/constant_contact_client/models/tag_id_list500_limit.rb +243 -0
  379. data/lib/constant_contact_client/models/tag_post.rb +260 -0
  380. data/lib/constant_contact_client/models/tag_put.rb +250 -0
  381. data/lib/constant_contact_client/models/tags.rb +226 -0
  382. data/lib/constant_contact_client/models/tags_activity_links.rb +214 -0
  383. data/lib/constant_contact_client/models/tags_links.rb +223 -0
  384. data/lib/constant_contact_client/models/tags_paging_links.rb +214 -0
  385. data/lib/constant_contact_client/models/test_send_email_campaign_activity_request.rb +253 -0
  386. data/lib/constant_contact_client/models/tier_object.rb +278 -0
  387. data/lib/constant_contact_client/models/tracking_activity_sms_channel_dto.rb +245 -0
  388. data/lib/constant_contact_client/models/unique_email_counts.rb +341 -0
  389. data/lib/constant_contact_client/models/update_account_request.rb +334 -0
  390. data/lib/constant_contact_client/models/update_contact_request.rb +582 -0
  391. data/lib/constant_contact_client/models/update_contact_request_email_address.rb +341 -0
  392. data/lib/constant_contact_client/models/update_contact_request_phone_numbers_inner.rb +244 -0
  393. data/lib/constant_contact_client/models/update_contact_request_street_addresses_inner.rb +367 -0
  394. data/lib/constant_contact_client/models/update_custom_field_request.rb +258 -0
  395. data/lib/constant_contact_client/models/update_list200_response.rb +291 -0
  396. data/lib/constant_contact_client/models/update_list_request.rb +263 -0
  397. data/lib/constant_contact_client/models/update_segment_name_request.rb +222 -0
  398. data/lib/constant_contact_client/models/webhooks_subscription_body.rb +215 -0
  399. data/lib/constant_contact_client/models/webhooks_subscription_collection_inner.rb +245 -0
  400. data/lib/constant_contact_client/models/webhooks_subscription_put_resp.rb +225 -0
  401. data/lib/constant_contact_client/models/webhooks_subscription_response.rb +245 -0
  402. data/lib/constant_contact_client/models/webhooks_test_send.rb +245 -0
  403. data/lib/constant_contact_client/version.rb +15 -0
  404. data/lib/constant_contact_client.rb +417 -0
  405. data/spec/spec_helper.rb +111 -0
  406. metadata +488 -0
@@ -0,0 +1,582 @@
1
+ =begin
2
+ #Constant Contact API v3
3
+
4
+ #Swagger build version 3.0.2475
5
+
6
+ The version of the OpenAPI document: 1.0.101
7
+ Contact: webservices@constantcontact.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.2.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module ConstantContactClient
17
+ class UpdateContactRequest
18
+ attr_accessor :email_address
19
+
20
+ # The contact's first name
21
+ attr_accessor :first_name
22
+
23
+ # The contact's last name
24
+ attr_accessor :last_name
25
+
26
+ # The contact's job title
27
+ attr_accessor :job_title
28
+
29
+ # Name of the company the contact works for.
30
+ attr_accessor :company_name
31
+
32
+ # Accepts values from 1-12; must be used with <code>birthday_day</code>
33
+ attr_accessor :birthday_month
34
+
35
+ # Accepts values from 1-31; must be used with <code>birthday_month</code>
36
+ attr_accessor :birthday_day
37
+
38
+ # The anniversary date; Accepted formats are MM/DD/YYYY, M/D/YYYY, YYYY/MM/DD, YYYY/M/D, YYYY-MM-DD, YYYY-M-D, MM-DD-YYYY, M-D-YYYY
39
+ attr_accessor :anniversary
40
+
41
+ # Identifies who last updated the contact; valid values are <code>Contact</code> or <code>Account</code>.
42
+ attr_accessor :update_source
43
+
44
+ # Array of up to 25 <code>custom_field</code> subresources.
45
+ attr_accessor :custom_fields
46
+
47
+ # Array of up to 3 <code>phone_numbers</code> subresources.
48
+ attr_accessor :phone_numbers
49
+
50
+ # Array of up to 3 <code>street_addresses</code> subresources.
51
+ attr_accessor :street_addresses
52
+
53
+ # Array of up to 50 <code>list_ids</code> to which the contact is subscribed.
54
+ attr_accessor :list_memberships
55
+
56
+ # Array of tags (<code>tag_id</code>) assigned to the contact, up to a maximum of 50.
57
+ attr_accessor :taggings
58
+
59
+ # An array of notes about the contact listed by most recent note first.
60
+ attr_accessor :notes
61
+
62
+ # Attribute mapping from ruby-style variable name to JSON key.
63
+ def self.attribute_map
64
+ {
65
+ :'email_address' => :'email_address',
66
+ :'first_name' => :'first_name',
67
+ :'last_name' => :'last_name',
68
+ :'job_title' => :'job_title',
69
+ :'company_name' => :'company_name',
70
+ :'birthday_month' => :'birthday_month',
71
+ :'birthday_day' => :'birthday_day',
72
+ :'anniversary' => :'anniversary',
73
+ :'update_source' => :'update_source',
74
+ :'custom_fields' => :'custom_fields',
75
+ :'phone_numbers' => :'phone_numbers',
76
+ :'street_addresses' => :'street_addresses',
77
+ :'list_memberships' => :'list_memberships',
78
+ :'taggings' => :'taggings',
79
+ :'notes' => :'notes'
80
+ }
81
+ end
82
+
83
+ # Returns all the JSON keys this model knows about
84
+ def self.acceptable_attributes
85
+ attribute_map.values
86
+ end
87
+
88
+ # Attribute type mapping.
89
+ def self.openapi_types
90
+ {
91
+ :'email_address' => :'UpdateContactRequestEmailAddress',
92
+ :'first_name' => :'String',
93
+ :'last_name' => :'String',
94
+ :'job_title' => :'String',
95
+ :'company_name' => :'String',
96
+ :'birthday_month' => :'Integer',
97
+ :'birthday_day' => :'Integer',
98
+ :'anniversary' => :'String',
99
+ :'update_source' => :'String',
100
+ :'custom_fields' => :'Array<GetContactById200ResponseCustomFieldsInner>',
101
+ :'phone_numbers' => :'Array<UpdateContactRequestPhoneNumbersInner>',
102
+ :'street_addresses' => :'Array<UpdateContactRequestStreetAddressesInner>',
103
+ :'list_memberships' => :'Array<String>',
104
+ :'taggings' => :'Array<String>',
105
+ :'notes' => :'Array<GetContactById200ResponseNotesInner>'
106
+ }
107
+ end
108
+
109
+ # List of attributes with nullable: true
110
+ def self.openapi_nullable
111
+ Set.new([
112
+ ])
113
+ end
114
+
115
+ # Initializes the object
116
+ # @param [Hash] attributes Model attributes in the form of hash
117
+ def initialize(attributes = {})
118
+ if (!attributes.is_a?(Hash))
119
+ fail ArgumentError, "The input argument (attributes) must be a hash in `ConstantContactClient::UpdateContactRequest` initialize method"
120
+ end
121
+
122
+ # check to see if the attribute exists and convert string to symbol for hash key
123
+ attributes = attributes.each_with_object({}) { |(k, v), h|
124
+ if (!self.class.attribute_map.key?(k.to_sym))
125
+ fail ArgumentError, "`#{k}` is not a valid attribute in `ConstantContactClient::UpdateContactRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
126
+ end
127
+ h[k.to_sym] = v
128
+ }
129
+
130
+ if attributes.key?(:'email_address')
131
+ self.email_address = attributes[:'email_address']
132
+ end
133
+
134
+ if attributes.key?(:'first_name')
135
+ self.first_name = attributes[:'first_name']
136
+ end
137
+
138
+ if attributes.key?(:'last_name')
139
+ self.last_name = attributes[:'last_name']
140
+ end
141
+
142
+ if attributes.key?(:'job_title')
143
+ self.job_title = attributes[:'job_title']
144
+ end
145
+
146
+ if attributes.key?(:'company_name')
147
+ self.company_name = attributes[:'company_name']
148
+ end
149
+
150
+ if attributes.key?(:'birthday_month')
151
+ self.birthday_month = attributes[:'birthday_month']
152
+ end
153
+
154
+ if attributes.key?(:'birthday_day')
155
+ self.birthday_day = attributes[:'birthday_day']
156
+ end
157
+
158
+ if attributes.key?(:'anniversary')
159
+ self.anniversary = attributes[:'anniversary']
160
+ end
161
+
162
+ if attributes.key?(:'update_source')
163
+ self.update_source = attributes[:'update_source']
164
+ else
165
+ self.update_source = nil
166
+ end
167
+
168
+ if attributes.key?(:'custom_fields')
169
+ if (value = attributes[:'custom_fields']).is_a?(Array)
170
+ self.custom_fields = value
171
+ end
172
+ end
173
+
174
+ if attributes.key?(:'phone_numbers')
175
+ if (value = attributes[:'phone_numbers']).is_a?(Array)
176
+ self.phone_numbers = value
177
+ end
178
+ end
179
+
180
+ if attributes.key?(:'street_addresses')
181
+ if (value = attributes[:'street_addresses']).is_a?(Array)
182
+ self.street_addresses = value
183
+ end
184
+ end
185
+
186
+ if attributes.key?(:'list_memberships')
187
+ if (value = attributes[:'list_memberships']).is_a?(Array)
188
+ self.list_memberships = value
189
+ end
190
+ end
191
+
192
+ if attributes.key?(:'taggings')
193
+ if (value = attributes[:'taggings']).is_a?(Array)
194
+ self.taggings = value
195
+ end
196
+ end
197
+
198
+ if attributes.key?(:'notes')
199
+ if (value = attributes[:'notes']).is_a?(Array)
200
+ self.notes = value
201
+ end
202
+ end
203
+ end
204
+
205
+ # Show invalid properties with the reasons. Usually used together with valid?
206
+ # @return Array for valid properties with the reasons
207
+ def list_invalid_properties
208
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
209
+ invalid_properties = Array.new
210
+ if !@first_name.nil? && @first_name.to_s.length > 50
211
+ invalid_properties.push('invalid value for "first_name", the character length must be smaller than or equal to 50.')
212
+ end
213
+
214
+ if !@last_name.nil? && @last_name.to_s.length > 50
215
+ invalid_properties.push('invalid value for "last_name", the character length must be smaller than or equal to 50.')
216
+ end
217
+
218
+ if !@job_title.nil? && @job_title.to_s.length > 50
219
+ invalid_properties.push('invalid value for "job_title", the character length must be smaller than or equal to 50.')
220
+ end
221
+
222
+ if !@company_name.nil? && @company_name.to_s.length > 50
223
+ invalid_properties.push('invalid value for "company_name", the character length must be smaller than or equal to 50.')
224
+ end
225
+
226
+ if !@anniversary.nil? && @anniversary.to_s.length > 10
227
+ invalid_properties.push('invalid value for "anniversary", the character length must be smaller than or equal to 10.')
228
+ end
229
+
230
+ if @update_source.nil?
231
+ invalid_properties.push('invalid value for "update_source", update_source cannot be nil.')
232
+ end
233
+
234
+ if !@custom_fields.nil? && @custom_fields.length > 25
235
+ invalid_properties.push('invalid value for "custom_fields", number of items must be less than or equal to 25.')
236
+ end
237
+
238
+ if !@phone_numbers.nil? && @phone_numbers.length > 3
239
+ invalid_properties.push('invalid value for "phone_numbers", number of items must be less than or equal to 3.')
240
+ end
241
+
242
+ if !@street_addresses.nil? && @street_addresses.length > 3
243
+ invalid_properties.push('invalid value for "street_addresses", number of items must be less than or equal to 3.')
244
+ end
245
+
246
+ if !@list_memberships.nil? && @list_memberships.length > 50
247
+ invalid_properties.push('invalid value for "list_memberships", number of items must be less than or equal to 50.')
248
+ end
249
+
250
+ if !@taggings.nil? && @taggings.length > 50
251
+ invalid_properties.push('invalid value for "taggings", number of items must be less than or equal to 50.')
252
+ end
253
+
254
+ if !@notes.nil? && @notes.length > 150
255
+ invalid_properties.push('invalid value for "notes", number of items must be less than or equal to 150.')
256
+ end
257
+
258
+ invalid_properties
259
+ end
260
+
261
+ # Check to see if the all the properties in the model are valid
262
+ # @return true if the model is valid
263
+ def valid?
264
+ warn '[DEPRECATED] the `valid?` method is obsolete'
265
+ return false if !@first_name.nil? && @first_name.to_s.length > 50
266
+ return false if !@last_name.nil? && @last_name.to_s.length > 50
267
+ return false if !@job_title.nil? && @job_title.to_s.length > 50
268
+ return false if !@company_name.nil? && @company_name.to_s.length > 50
269
+ return false if !@anniversary.nil? && @anniversary.to_s.length > 10
270
+ return false if @update_source.nil?
271
+ return false if !@custom_fields.nil? && @custom_fields.length > 25
272
+ return false if !@phone_numbers.nil? && @phone_numbers.length > 3
273
+ return false if !@street_addresses.nil? && @street_addresses.length > 3
274
+ return false if !@list_memberships.nil? && @list_memberships.length > 50
275
+ return false if !@taggings.nil? && @taggings.length > 50
276
+ return false if !@notes.nil? && @notes.length > 150
277
+ true
278
+ end
279
+
280
+ # Custom attribute writer method with validation
281
+ # @param [Object] first_name Value to be assigned
282
+ def first_name=(first_name)
283
+ if first_name.nil?
284
+ fail ArgumentError, 'first_name cannot be nil'
285
+ end
286
+
287
+ if first_name.to_s.length > 50
288
+ fail ArgumentError, 'invalid value for "first_name", the character length must be smaller than or equal to 50.'
289
+ end
290
+
291
+ @first_name = first_name
292
+ end
293
+
294
+ # Custom attribute writer method with validation
295
+ # @param [Object] last_name Value to be assigned
296
+ def last_name=(last_name)
297
+ if last_name.nil?
298
+ fail ArgumentError, 'last_name cannot be nil'
299
+ end
300
+
301
+ if last_name.to_s.length > 50
302
+ fail ArgumentError, 'invalid value for "last_name", the character length must be smaller than or equal to 50.'
303
+ end
304
+
305
+ @last_name = last_name
306
+ end
307
+
308
+ # Custom attribute writer method with validation
309
+ # @param [Object] job_title Value to be assigned
310
+ def job_title=(job_title)
311
+ if job_title.nil?
312
+ fail ArgumentError, 'job_title cannot be nil'
313
+ end
314
+
315
+ if job_title.to_s.length > 50
316
+ fail ArgumentError, 'invalid value for "job_title", the character length must be smaller than or equal to 50.'
317
+ end
318
+
319
+ @job_title = job_title
320
+ end
321
+
322
+ # Custom attribute writer method with validation
323
+ # @param [Object] company_name Value to be assigned
324
+ def company_name=(company_name)
325
+ if company_name.nil?
326
+ fail ArgumentError, 'company_name cannot be nil'
327
+ end
328
+
329
+ if company_name.to_s.length > 50
330
+ fail ArgumentError, 'invalid value for "company_name", the character length must be smaller than or equal to 50.'
331
+ end
332
+
333
+ @company_name = company_name
334
+ end
335
+
336
+ # Custom attribute writer method with validation
337
+ # @param [Object] anniversary Value to be assigned
338
+ def anniversary=(anniversary)
339
+ if anniversary.nil?
340
+ fail ArgumentError, 'anniversary cannot be nil'
341
+ end
342
+
343
+ if anniversary.to_s.length > 10
344
+ fail ArgumentError, 'invalid value for "anniversary", the character length must be smaller than or equal to 10.'
345
+ end
346
+
347
+ @anniversary = anniversary
348
+ end
349
+
350
+ # Custom attribute writer method with validation
351
+ # @param [Object] custom_fields Value to be assigned
352
+ def custom_fields=(custom_fields)
353
+ if custom_fields.nil?
354
+ fail ArgumentError, 'custom_fields cannot be nil'
355
+ end
356
+
357
+ if custom_fields.length > 25
358
+ fail ArgumentError, 'invalid value for "custom_fields", number of items must be less than or equal to 25.'
359
+ end
360
+
361
+ @custom_fields = custom_fields
362
+ end
363
+
364
+ # Custom attribute writer method with validation
365
+ # @param [Object] phone_numbers Value to be assigned
366
+ def phone_numbers=(phone_numbers)
367
+ if phone_numbers.nil?
368
+ fail ArgumentError, 'phone_numbers cannot be nil'
369
+ end
370
+
371
+ if phone_numbers.length > 3
372
+ fail ArgumentError, 'invalid value for "phone_numbers", number of items must be less than or equal to 3.'
373
+ end
374
+
375
+ @phone_numbers = phone_numbers
376
+ end
377
+
378
+ # Custom attribute writer method with validation
379
+ # @param [Object] street_addresses Value to be assigned
380
+ def street_addresses=(street_addresses)
381
+ if street_addresses.nil?
382
+ fail ArgumentError, 'street_addresses cannot be nil'
383
+ end
384
+
385
+ if street_addresses.length > 3
386
+ fail ArgumentError, 'invalid value for "street_addresses", number of items must be less than or equal to 3.'
387
+ end
388
+
389
+ @street_addresses = street_addresses
390
+ end
391
+
392
+ # Custom attribute writer method with validation
393
+ # @param [Object] list_memberships Value to be assigned
394
+ def list_memberships=(list_memberships)
395
+ if list_memberships.nil?
396
+ fail ArgumentError, 'list_memberships cannot be nil'
397
+ end
398
+
399
+ if list_memberships.length > 50
400
+ fail ArgumentError, 'invalid value for "list_memberships", number of items must be less than or equal to 50.'
401
+ end
402
+
403
+ @list_memberships = list_memberships
404
+ end
405
+
406
+ # Custom attribute writer method with validation
407
+ # @param [Object] taggings Value to be assigned
408
+ def taggings=(taggings)
409
+ if taggings.nil?
410
+ fail ArgumentError, 'taggings cannot be nil'
411
+ end
412
+
413
+ if taggings.length > 50
414
+ fail ArgumentError, 'invalid value for "taggings", number of items must be less than or equal to 50.'
415
+ end
416
+
417
+ @taggings = taggings
418
+ end
419
+
420
+ # Custom attribute writer method with validation
421
+ # @param [Object] notes Value to be assigned
422
+ def notes=(notes)
423
+ if notes.nil?
424
+ fail ArgumentError, 'notes cannot be nil'
425
+ end
426
+
427
+ if notes.length > 150
428
+ fail ArgumentError, 'invalid value for "notes", number of items must be less than or equal to 150.'
429
+ end
430
+
431
+ @notes = notes
432
+ end
433
+
434
+ # Checks equality by comparing each attribute.
435
+ # @param [Object] Object to be compared
436
+ def ==(o)
437
+ return true if self.equal?(o)
438
+ self.class == o.class &&
439
+ email_address == o.email_address &&
440
+ first_name == o.first_name &&
441
+ last_name == o.last_name &&
442
+ job_title == o.job_title &&
443
+ company_name == o.company_name &&
444
+ birthday_month == o.birthday_month &&
445
+ birthday_day == o.birthday_day &&
446
+ anniversary == o.anniversary &&
447
+ update_source == o.update_source &&
448
+ custom_fields == o.custom_fields &&
449
+ phone_numbers == o.phone_numbers &&
450
+ street_addresses == o.street_addresses &&
451
+ list_memberships == o.list_memberships &&
452
+ taggings == o.taggings &&
453
+ notes == o.notes
454
+ end
455
+
456
+ # @see the `==` method
457
+ # @param [Object] Object to be compared
458
+ def eql?(o)
459
+ self == o
460
+ end
461
+
462
+ # Calculates hash code according to all attributes.
463
+ # @return [Integer] Hash code
464
+ def hash
465
+ [email_address, first_name, last_name, job_title, company_name, birthday_month, birthday_day, anniversary, update_source, custom_fields, phone_numbers, street_addresses, list_memberships, taggings, notes].hash
466
+ end
467
+
468
+ # Builds the object from hash
469
+ # @param [Hash] attributes Model attributes in the form of hash
470
+ # @return [Object] Returns the model itself
471
+ def self.build_from_hash(attributes)
472
+ return nil unless attributes.is_a?(Hash)
473
+ attributes = attributes.transform_keys(&:to_sym)
474
+ transformed_hash = {}
475
+ openapi_types.each_pair do |key, type|
476
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
477
+ transformed_hash["#{key}"] = nil
478
+ elsif type =~ /\AArray<(.*)>/i
479
+ # check to ensure the input is an array given that the attribute
480
+ # is documented as an array but the input is not
481
+ if attributes[attribute_map[key]].is_a?(Array)
482
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
483
+ end
484
+ elsif !attributes[attribute_map[key]].nil?
485
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
486
+ end
487
+ end
488
+ new(transformed_hash)
489
+ end
490
+
491
+ # Deserializes the data based on type
492
+ # @param string type Data type
493
+ # @param string value Value to be deserialized
494
+ # @return [Object] Deserialized data
495
+ def self._deserialize(type, value)
496
+ case type.to_sym
497
+ when :Time
498
+ Time.parse(value)
499
+ when :Date
500
+ Date.parse(value)
501
+ when :String
502
+ value.to_s
503
+ when :Integer
504
+ value.to_i
505
+ when :Float
506
+ value.to_f
507
+ when :Boolean
508
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
509
+ true
510
+ else
511
+ false
512
+ end
513
+ when :Object
514
+ # generic object (usually a Hash), return directly
515
+ value
516
+ when /\AArray<(?<inner_type>.+)>\z/
517
+ inner_type = Regexp.last_match[:inner_type]
518
+ value.map { |v| _deserialize(inner_type, v) }
519
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
520
+ k_type = Regexp.last_match[:k_type]
521
+ v_type = Regexp.last_match[:v_type]
522
+ {}.tap do |hash|
523
+ value.each do |k, v|
524
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
525
+ end
526
+ end
527
+ else # model
528
+ # models (e.g. Pet) or oneOf
529
+ klass = ConstantContactClient.const_get(type)
530
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
531
+ end
532
+ end
533
+
534
+ # Returns the string representation of the object
535
+ # @return [String] String presentation of the object
536
+ def to_s
537
+ to_hash.to_s
538
+ end
539
+
540
+ # to_body is an alias to to_hash (backward compatibility)
541
+ # @return [Hash] Returns the object in the form of hash
542
+ def to_body
543
+ to_hash
544
+ end
545
+
546
+ # Returns the object in the form of hash
547
+ # @return [Hash] Returns the object in the form of hash
548
+ def to_hash
549
+ hash = {}
550
+ self.class.attribute_map.each_pair do |attr, param|
551
+ value = self.send(attr)
552
+ if value.nil?
553
+ is_nullable = self.class.openapi_nullable.include?(attr)
554
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
555
+ end
556
+
557
+ hash[param] = _to_hash(value)
558
+ end
559
+ hash
560
+ end
561
+
562
+ # Outputs non-array value in the form of hash
563
+ # For object, use to_hash. Otherwise, just return the value
564
+ # @param [Object] value Any valid value
565
+ # @return [Hash] Returns the value in the form of hash
566
+ def _to_hash(value)
567
+ if value.is_a?(Array)
568
+ value.compact.map { |v| _to_hash(v) }
569
+ elsif value.is_a?(Hash)
570
+ {}.tap do |hash|
571
+ value.each { |k, v| hash[k] = _to_hash(v) }
572
+ end
573
+ elsif value.respond_to? :to_hash
574
+ value.to_hash
575
+ else
576
+ value
577
+ end
578
+ end
579
+
580
+ end
581
+
582
+ end