merge_ruby_client 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. checksums.yaml +4 -4
  2. data/lib/environment.rb +3 -3
  3. data/lib/merge_ruby_client/accounting/audit_trail/client.rb +4 -2
  4. data/lib/merge_ruby_client/accounting/client.rb +0 -7
  5. data/lib/merge_ruby_client/accounting/field_mapping/client.rb +2 -2
  6. data/lib/merge_ruby_client/accounting/link_token/client.rb +10 -6
  7. data/lib/merge_ruby_client/accounting/payments/client.rb +4 -0
  8. data/lib/merge_ruby_client/accounting/scopes/client.rb +2 -2
  9. data/lib/merge_ruby_client/accounting/types/account.rb +4 -4
  10. data/lib/merge_ruby_client/accounting/types/accounting_attachment.rb +4 -4
  11. data/lib/merge_ruby_client/accounting/types/accounting_period.rb +4 -4
  12. data/lib/merge_ruby_client/accounting/types/accounting_phone_number.rb +4 -4
  13. data/lib/merge_ruby_client/accounting/types/address.rb +4 -4
  14. data/lib/merge_ruby_client/accounting/types/audit_log_event.rb +6 -0
  15. data/lib/merge_ruby_client/accounting/types/balance_sheet.rb +4 -4
  16. data/lib/merge_ruby_client/accounting/types/cash_flow_statement.rb +4 -4
  17. data/lib/merge_ruby_client/accounting/types/company_info.rb +4 -4
  18. data/lib/merge_ruby_client/accounting/types/contact.rb +4 -4
  19. data/lib/merge_ruby_client/accounting/types/credit_note.rb +4 -4
  20. data/lib/merge_ruby_client/accounting/types/credit_note_line_item.rb +5 -13
  21. data/lib/merge_ruby_client/accounting/types/event_type_enum.rb +6 -0
  22. data/lib/merge_ruby_client/accounting/types/expense.rb +4 -4
  23. data/lib/merge_ruby_client/accounting/types/expense_line.rb +4 -4
  24. data/lib/merge_ruby_client/accounting/types/income_statement.rb +4 -4
  25. data/lib/merge_ruby_client/accounting/types/invoice.rb +4 -4
  26. data/lib/merge_ruby_client/accounting/types/invoice_line_item.rb +4 -4
  27. data/lib/merge_ruby_client/accounting/types/item.rb +4 -4
  28. data/lib/merge_ruby_client/accounting/types/journal_entry.rb +4 -4
  29. data/lib/merge_ruby_client/accounting/types/journal_line.rb +4 -4
  30. data/lib/merge_ruby_client/accounting/types/patched_payment_request.rb +14 -1
  31. data/lib/merge_ruby_client/accounting/types/payment.rb +18 -5
  32. data/lib/merge_ruby_client/accounting/types/payment_line_item.rb +4 -4
  33. data/lib/merge_ruby_client/accounting/types/payment_request.rb +14 -1
  34. data/lib/merge_ruby_client/accounting/types/payment_type_enum.rb +12 -0
  35. data/lib/merge_ruby_client/accounting/types/purchase_order.rb +4 -4
  36. data/lib/merge_ruby_client/accounting/types/purchase_order_line_item.rb +4 -4
  37. data/lib/merge_ruby_client/accounting/types/remote_field_api.rb +16 -2
  38. data/lib/merge_ruby_client/accounting/types/remote_field_api_coverage.rb +54 -0
  39. data/lib/merge_ruby_client/accounting/types/report_item.rb +4 -4
  40. data/lib/merge_ruby_client/accounting/types/tax_rate.rb +12 -10
  41. data/lib/merge_ruby_client/accounting/types/tax_rate_company.rb +2 -1
  42. data/lib/merge_ruby_client/accounting/types/tracking_category.rb +4 -4
  43. data/lib/merge_ruby_client/accounting/types/transaction.rb +4 -4
  44. data/lib/merge_ruby_client/accounting/types/transaction_line_item.rb +6 -6
  45. data/lib/merge_ruby_client/accounting/types/vendor_credit.rb +4 -4
  46. data/lib/merge_ruby_client/accounting/types/vendor_credit_line.rb +4 -4
  47. data/lib/merge_ruby_client/ats/audit_trail/client.rb +4 -2
  48. data/lib/merge_ruby_client/ats/client.rb +0 -7
  49. data/lib/merge_ruby_client/ats/field_mapping/client.rb +2 -2
  50. data/lib/merge_ruby_client/ats/job_postings/client.rb +16 -4
  51. data/lib/merge_ruby_client/ats/link_token/client.rb +10 -6
  52. data/lib/merge_ruby_client/ats/scopes/client.rb +2 -2
  53. data/lib/merge_ruby_client/ats/types/activity.rb +4 -4
  54. data/lib/merge_ruby_client/ats/types/application.rb +4 -4
  55. data/lib/merge_ruby_client/ats/types/attachment.rb +4 -4
  56. data/lib/merge_ruby_client/ats/types/audit_log_event.rb +6 -0
  57. data/lib/merge_ruby_client/ats/types/candidate.rb +4 -4
  58. data/lib/merge_ruby_client/ats/types/department.rb +4 -4
  59. data/lib/merge_ruby_client/ats/types/eeoc.rb +4 -4
  60. data/lib/merge_ruby_client/ats/types/email_address.rb +4 -4
  61. data/lib/merge_ruby_client/ats/types/event_type_enum.rb +6 -0
  62. data/lib/merge_ruby_client/ats/types/job.rb +4 -4
  63. data/lib/merge_ruby_client/ats/types/job_interview_stage.rb +4 -4
  64. data/lib/merge_ruby_client/ats/types/job_posting.rb +4 -4
  65. data/lib/merge_ruby_client/ats/types/offer.rb +4 -4
  66. data/lib/merge_ruby_client/ats/types/office.rb +4 -4
  67. data/lib/merge_ruby_client/ats/types/phone_number.rb +4 -4
  68. data/lib/merge_ruby_client/ats/types/reject_reason.rb +4 -4
  69. data/lib/merge_ruby_client/ats/types/remote_field_api.rb +16 -2
  70. data/lib/merge_ruby_client/ats/types/remote_field_api_coverage.rb +54 -0
  71. data/lib/merge_ruby_client/ats/types/remote_user.rb +4 -4
  72. data/lib/merge_ruby_client/ats/types/scheduled_interview.rb +4 -4
  73. data/lib/merge_ruby_client/ats/types/scorecard.rb +4 -4
  74. data/lib/merge_ruby_client/ats/types/screening_question.rb +4 -4
  75. data/lib/merge_ruby_client/ats/types/screening_question_option.rb +4 -4
  76. data/lib/merge_ruby_client/ats/types/tag.rb +4 -4
  77. data/lib/merge_ruby_client/ats/types/url.rb +4 -4
  78. data/lib/merge_ruby_client/crm/accounts/client.rb +4 -0
  79. data/lib/merge_ruby_client/crm/audit_trail/client.rb +4 -2
  80. data/lib/merge_ruby_client/crm/client.rb +0 -7
  81. data/lib/merge_ruby_client/crm/field_mapping/client.rb +2 -2
  82. data/lib/merge_ruby_client/crm/link_token/client.rb +10 -6
  83. data/lib/merge_ruby_client/crm/scopes/client.rb +2 -2
  84. data/lib/merge_ruby_client/crm/types/account.rb +4 -4
  85. data/lib/merge_ruby_client/crm/types/account_request.rb +13 -1
  86. data/lib/merge_ruby_client/crm/types/address.rb +4 -4
  87. data/lib/merge_ruby_client/crm/types/association.rb +6 -6
  88. data/lib/merge_ruby_client/crm/types/association_association_type.rb +1 -0
  89. data/lib/merge_ruby_client/crm/types/association_sub_type.rb +4 -4
  90. data/lib/merge_ruby_client/crm/types/association_type.rb +8 -6
  91. data/lib/merge_ruby_client/crm/types/audit_log_event.rb +6 -0
  92. data/lib/merge_ruby_client/crm/types/contact.rb +4 -4
  93. data/lib/merge_ruby_client/crm/types/custom_object.rb +8 -8
  94. data/lib/merge_ruby_client/crm/types/custom_object_class.rb +10 -8
  95. data/lib/merge_ruby_client/crm/types/email_address.rb +4 -4
  96. data/lib/merge_ruby_client/crm/types/engagement.rb +4 -4
  97. data/lib/merge_ruby_client/crm/types/engagement_type.rb +4 -4
  98. data/lib/merge_ruby_client/crm/types/event_type_enum.rb +6 -0
  99. data/lib/merge_ruby_client/crm/types/lead.rb +4 -4
  100. data/lib/merge_ruby_client/crm/types/note.rb +4 -4
  101. data/lib/merge_ruby_client/crm/types/opportunity.rb +4 -4
  102. data/lib/merge_ruby_client/crm/types/patched_account_request.rb +13 -1
  103. data/lib/merge_ruby_client/crm/types/phone_number.rb +4 -4
  104. data/lib/merge_ruby_client/crm/types/remote_field_api.rb +16 -2
  105. data/lib/merge_ruby_client/crm/types/remote_field_api_coverage.rb +54 -0
  106. data/lib/merge_ruby_client/crm/types/remote_field_class_for_custom_object_class.rb +4 -4
  107. data/lib/merge_ruby_client/crm/types/stage.rb +4 -4
  108. data/lib/merge_ruby_client/crm/types/task.rb +4 -4
  109. data/lib/merge_ruby_client/crm/types/user.rb +4 -4
  110. data/lib/merge_ruby_client/filestorage/audit_trail/client.rb +4 -2
  111. data/lib/merge_ruby_client/filestorage/client.rb +0 -7
  112. data/lib/merge_ruby_client/filestorage/field_mapping/client.rb +2 -2
  113. data/lib/merge_ruby_client/filestorage/link_token/client.rb +10 -6
  114. data/lib/merge_ruby_client/filestorage/scopes/client.rb +2 -2
  115. data/lib/merge_ruby_client/filestorage/types/audit_log_event.rb +6 -0
  116. data/lib/merge_ruby_client/filestorage/types/drive.rb +4 -4
  117. data/lib/merge_ruby_client/filestorage/types/event_type_enum.rb +6 -0
  118. data/lib/merge_ruby_client/filestorage/types/file.rb +4 -4
  119. data/lib/merge_ruby_client/filestorage/types/folder.rb +4 -4
  120. data/lib/merge_ruby_client/filestorage/types/group.rb +4 -4
  121. data/lib/merge_ruby_client/filestorage/types/permission.rb +4 -4
  122. data/lib/merge_ruby_client/filestorage/types/remote_field_api.rb +16 -2
  123. data/lib/merge_ruby_client/filestorage/types/remote_field_api_coverage.rb +54 -0
  124. data/lib/merge_ruby_client/filestorage/types/user.rb +4 -4
  125. data/lib/merge_ruby_client/hris/audit_trail/client.rb +4 -2
  126. data/lib/merge_ruby_client/hris/client.rb +0 -7
  127. data/lib/merge_ruby_client/hris/field_mapping/client.rb +2 -2
  128. data/lib/merge_ruby_client/hris/groups/client.rb +10 -2
  129. data/lib/merge_ruby_client/hris/link_token/client.rb +10 -6
  130. data/lib/merge_ruby_client/hris/scopes/client.rb +2 -2
  131. data/lib/merge_ruby_client/hris/types/audit_log_event.rb +6 -0
  132. data/lib/merge_ruby_client/hris/types/bank_info.rb +4 -4
  133. data/lib/merge_ruby_client/hris/types/benefit.rb +4 -4
  134. data/lib/merge_ruby_client/hris/types/company.rb +4 -4
  135. data/lib/merge_ruby_client/hris/types/deduction.rb +4 -4
  136. data/lib/merge_ruby_client/hris/types/dependent.rb +4 -4
  137. data/lib/merge_ruby_client/hris/types/earning.rb +4 -4
  138. data/lib/merge_ruby_client/hris/types/employee.rb +4 -4
  139. data/lib/merge_ruby_client/hris/types/employee_payroll_run.rb +4 -4
  140. data/lib/merge_ruby_client/hris/types/employer_benefit.rb +4 -4
  141. data/lib/merge_ruby_client/hris/types/employment.rb +4 -4
  142. data/lib/merge_ruby_client/hris/types/event_type_enum.rb +6 -0
  143. data/lib/merge_ruby_client/hris/types/group.rb +19 -5
  144. data/lib/merge_ruby_client/hris/types/location.rb +4 -4
  145. data/lib/merge_ruby_client/hris/types/pay_group.rb +4 -4
  146. data/lib/merge_ruby_client/hris/types/payroll_run.rb +4 -4
  147. data/lib/merge_ruby_client/hris/types/remote_field_api.rb +16 -2
  148. data/lib/merge_ruby_client/hris/types/remote_field_api_coverage.rb +54 -0
  149. data/lib/merge_ruby_client/hris/types/tax.rb +4 -4
  150. data/lib/merge_ruby_client/hris/types/team.rb +4 -4
  151. data/lib/merge_ruby_client/hris/types/time_off.rb +4 -4
  152. data/lib/merge_ruby_client/hris/types/time_off_balance.rb +4 -4
  153. data/lib/merge_ruby_client/hris/types/timesheet_entry.rb +4 -4
  154. data/lib/merge_ruby_client/ticketing/audit_trail/client.rb +4 -2
  155. data/lib/merge_ruby_client/ticketing/client.rb +0 -7
  156. data/lib/merge_ruby_client/ticketing/contacts/client.rb +127 -0
  157. data/lib/merge_ruby_client/ticketing/field_mapping/client.rb +2 -2
  158. data/lib/merge_ruby_client/ticketing/link_token/client.rb +10 -6
  159. data/lib/merge_ruby_client/ticketing/scopes/client.rb +2 -2
  160. data/lib/merge_ruby_client/ticketing/types/account.rb +4 -4
  161. data/lib/merge_ruby_client/ticketing/types/attachment.rb +4 -4
  162. data/lib/merge_ruby_client/ticketing/types/audit_log_event.rb +6 -0
  163. data/lib/merge_ruby_client/ticketing/types/collection.rb +4 -4
  164. data/lib/merge_ruby_client/ticketing/types/comment.rb +4 -4
  165. data/lib/merge_ruby_client/ticketing/types/contact.rb +4 -4
  166. data/lib/merge_ruby_client/ticketing/types/contact_request.rb +125 -0
  167. data/lib/merge_ruby_client/ticketing/types/contact_request_account.rb +56 -0
  168. data/lib/merge_ruby_client/ticketing/types/event_type_enum.rb +6 -0
  169. data/lib/merge_ruby_client/ticketing/types/project.rb +4 -4
  170. data/lib/merge_ruby_client/ticketing/types/remote_field_api.rb +16 -2
  171. data/lib/merge_ruby_client/ticketing/types/remote_field_api_coverage.rb +54 -0
  172. data/lib/merge_ruby_client/ticketing/types/role.rb +4 -4
  173. data/lib/merge_ruby_client/ticketing/types/tag.rb +4 -4
  174. data/lib/merge_ruby_client/ticketing/types/team.rb +4 -4
  175. data/lib/merge_ruby_client/ticketing/types/ticket.rb +4 -4
  176. data/lib/merge_ruby_client/ticketing/types/ticketing_contact_response.rb +101 -0
  177. data/lib/merge_ruby_client/ticketing/types/user.rb +4 -4
  178. data/lib/merge_ruby_client.rb +7 -7
  179. data/lib/requests.rb +12 -2
  180. data/lib/types_export.rb +162 -200
  181. metadata +12 -56
  182. data/lib/merge_ruby_client/accounting/selective_sync/client.rb +0 -218
  183. data/lib/merge_ruby_client/accounting/types/condition_schema.rb +0 -136
  184. data/lib/merge_ruby_client/accounting/types/condition_type_enum.rb +0 -22
  185. data/lib/merge_ruby_client/accounting/types/linked_account_condition.rb +0 -104
  186. data/lib/merge_ruby_client/accounting/types/linked_account_condition_request.rb +0 -87
  187. data/lib/merge_ruby_client/accounting/types/linked_account_selective_sync_configuration.rb +0 -65
  188. data/lib/merge_ruby_client/accounting/types/linked_account_selective_sync_configuration_request.rb +0 -63
  189. data/lib/merge_ruby_client/accounting/types/operator_schema.rb +0 -68
  190. data/lib/merge_ruby_client/accounting/types/paginated_condition_schema_list.rb +0 -80
  191. data/lib/merge_ruby_client/ats/selective_sync/client.rb +0 -218
  192. data/lib/merge_ruby_client/ats/types/condition_schema.rb +0 -136
  193. data/lib/merge_ruby_client/ats/types/condition_type_enum.rb +0 -22
  194. data/lib/merge_ruby_client/ats/types/linked_account_condition.rb +0 -104
  195. data/lib/merge_ruby_client/ats/types/linked_account_condition_request.rb +0 -87
  196. data/lib/merge_ruby_client/ats/types/linked_account_selective_sync_configuration.rb +0 -65
  197. data/lib/merge_ruby_client/ats/types/linked_account_selective_sync_configuration_request.rb +0 -63
  198. data/lib/merge_ruby_client/ats/types/operator_schema.rb +0 -68
  199. data/lib/merge_ruby_client/ats/types/paginated_condition_schema_list.rb +0 -80
  200. data/lib/merge_ruby_client/crm/selective_sync/client.rb +0 -218
  201. data/lib/merge_ruby_client/crm/types/condition_schema.rb +0 -136
  202. data/lib/merge_ruby_client/crm/types/condition_type_enum.rb +0 -22
  203. data/lib/merge_ruby_client/crm/types/linked_account_condition.rb +0 -104
  204. data/lib/merge_ruby_client/crm/types/linked_account_condition_request.rb +0 -87
  205. data/lib/merge_ruby_client/crm/types/linked_account_selective_sync_configuration.rb +0 -65
  206. data/lib/merge_ruby_client/crm/types/linked_account_selective_sync_configuration_request.rb +0 -63
  207. data/lib/merge_ruby_client/crm/types/operator_schema.rb +0 -68
  208. data/lib/merge_ruby_client/crm/types/paginated_condition_schema_list.rb +0 -80
  209. data/lib/merge_ruby_client/filestorage/selective_sync/client.rb +0 -218
  210. data/lib/merge_ruby_client/filestorage/types/condition_schema.rb +0 -136
  211. data/lib/merge_ruby_client/filestorage/types/condition_type_enum.rb +0 -22
  212. data/lib/merge_ruby_client/filestorage/types/linked_account_condition.rb +0 -104
  213. data/lib/merge_ruby_client/filestorage/types/linked_account_condition_request.rb +0 -87
  214. data/lib/merge_ruby_client/filestorage/types/linked_account_selective_sync_configuration.rb +0 -65
  215. data/lib/merge_ruby_client/filestorage/types/linked_account_selective_sync_configuration_request.rb +0 -63
  216. data/lib/merge_ruby_client/filestorage/types/operator_schema.rb +0 -68
  217. data/lib/merge_ruby_client/filestorage/types/paginated_condition_schema_list.rb +0 -80
  218. data/lib/merge_ruby_client/hris/selective_sync/client.rb +0 -218
  219. data/lib/merge_ruby_client/hris/types/condition_schema.rb +0 -136
  220. data/lib/merge_ruby_client/hris/types/condition_type_enum.rb +0 -22
  221. data/lib/merge_ruby_client/hris/types/linked_account_condition.rb +0 -104
  222. data/lib/merge_ruby_client/hris/types/linked_account_condition_request.rb +0 -87
  223. data/lib/merge_ruby_client/hris/types/linked_account_selective_sync_configuration.rb +0 -65
  224. data/lib/merge_ruby_client/hris/types/linked_account_selective_sync_configuration_request.rb +0 -63
  225. data/lib/merge_ruby_client/hris/types/operator_schema.rb +0 -68
  226. data/lib/merge_ruby_client/hris/types/paginated_condition_schema_list.rb +0 -80
  227. data/lib/merge_ruby_client/ticketing/selective_sync/client.rb +0 -218
  228. data/lib/merge_ruby_client/ticketing/types/condition_schema.rb +0 -136
  229. data/lib/merge_ruby_client/ticketing/types/condition_type_enum.rb +0 -22
  230. data/lib/merge_ruby_client/ticketing/types/linked_account_condition.rb +0 -104
  231. data/lib/merge_ruby_client/ticketing/types/linked_account_condition_request.rb +0 -87
  232. data/lib/merge_ruby_client/ticketing/types/linked_account_selective_sync_configuration.rb +0 -65
  233. data/lib/merge_ruby_client/ticketing/types/linked_account_selective_sync_configuration_request.rb +0 -63
  234. data/lib/merge_ruby_client/ticketing/types/operator_schema.rb +0 -68
  235. data/lib/merge_ruby_client/ticketing/types/paginated_condition_schema_list.rb +0 -80
@@ -43,6 +43,9 @@ module Merge
43
43
  # - `FORCED_LINKED_ACCOUNT_RESYNC` - FORCED_LINKED_ACCOUNT_RESYNC
44
44
  # - `MUTED_ISSUE` - MUTED_ISSUE
45
45
  # - `GENERATED_MAGIC_LINK` - GENERATED_MAGIC_LINK
46
+ # - `ENABLED_MERGE_WEBHOOK` - ENABLED_MERGE_WEBHOOK
47
+ # - `DISABLED_MERGE_WEBHOOK` - DISABLED_MERGE_WEBHOOK
48
+ # - `MERGE_WEBHOOK_TARGET_CHANGED` - MERGE_WEBHOOK_TARGET_CHANGED
46
49
  class EventTypeEnum
47
50
  CREATED_REMOTE_PRODUCTION_API_KEY = "CREATED_REMOTE_PRODUCTION_API_KEY"
48
51
  DELETED_REMOTE_PRODUCTION_API_KEY = "DELETED_REMOTE_PRODUCTION_API_KEY"
@@ -78,6 +81,9 @@ module Merge
78
81
  FORCED_LINKED_ACCOUNT_RESYNC = "FORCED_LINKED_ACCOUNT_RESYNC"
79
82
  MUTED_ISSUE = "MUTED_ISSUE"
80
83
  GENERATED_MAGIC_LINK = "GENERATED_MAGIC_LINK"
84
+ ENABLED_MERGE_WEBHOOK = "ENABLED_MERGE_WEBHOOK"
85
+ DISABLED_MERGE_WEBHOOK = "DISABLED_MERGE_WEBHOOK"
86
+ MERGE_WEBHOOK_TARGET_CHANGED = "MERGE_WEBHOOK_TARGET_CHANGED"
81
87
  end
82
88
  end
83
89
  end
@@ -20,9 +20,9 @@ module Merge
20
20
  attr_reader :id
21
21
  # @return [String] The third-party API ID of the matching object.
22
22
  attr_reader :remote_id
23
- # @return [DateTime]
23
+ # @return [DateTime] The datetime that this object was created by Merge.
24
24
  attr_reader :created_at
25
- # @return [DateTime] This is the datetime that this object was last updated by Merge
25
+ # @return [DateTime] The datetime that this object was modified by Merge.
26
26
  attr_reader :modified_at
27
27
  # @return [String] The parent group for this group.
28
28
  attr_reader :parent_group
@@ -38,6 +38,11 @@ module Merge
38
38
  # @return [Boolean] Indicates whether or not this object has been deleted in the third party
39
39
  # platform.
40
40
  attr_reader :remote_was_deleted
41
+ # @return [Boolean] Indicates whether the Group refers to a team in the third party platform. Note
42
+ # that this is an opinionated view based on how Merge observes most organizations
43
+ # representing teams in each third party platform. If your customer uses a
44
+ # platform different from most, there is a chance this will not be correct.
45
+ attr_reader :is_commonly_used_as_team
41
46
  # @return [Hash{String => Object}]
42
47
  attr_reader :field_mappings
43
48
  # @return [Array<Merge::Hris::RemoteData>]
@@ -52,8 +57,8 @@ module Merge
52
57
 
53
58
  # @param id [String]
54
59
  # @param remote_id [String] The third-party API ID of the matching object.
55
- # @param created_at [DateTime]
56
- # @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
60
+ # @param created_at [DateTime] The datetime that this object was created by Merge.
61
+ # @param modified_at [DateTime] The datetime that this object was modified by Merge.
57
62
  # @param parent_group [String] The parent group for this group.
58
63
  # @param name [String] The group name.
59
64
  # @param type [Merge::Hris::GroupTypeEnum] The Group type returned directly from the third-party.
@@ -64,12 +69,16 @@ module Merge
64
69
  # - `GROUP` - GROUP
65
70
  # @param remote_was_deleted [Boolean] Indicates whether or not this object has been deleted in the third party
66
71
  # platform.
72
+ # @param is_commonly_used_as_team [Boolean] Indicates whether the Group refers to a team in the third party platform. Note
73
+ # that this is an opinionated view based on how Merge observes most organizations
74
+ # representing teams in each third party platform. If your customer uses a
75
+ # platform different from most, there is a chance this will not be correct.
67
76
  # @param field_mappings [Hash{String => Object}]
68
77
  # @param remote_data [Array<Merge::Hris::RemoteData>]
69
78
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
70
79
  # @return [Merge::Hris::Group]
71
80
  def initialize(id: OMIT, remote_id: OMIT, created_at: OMIT, modified_at: OMIT, parent_group: OMIT, name: OMIT,
72
- type: OMIT, remote_was_deleted: OMIT, field_mappings: OMIT, remote_data: OMIT, additional_properties: nil)
81
+ type: OMIT, remote_was_deleted: OMIT, is_commonly_used_as_team: OMIT, field_mappings: OMIT, remote_data: OMIT, additional_properties: nil)
73
82
  @id = id if id != OMIT
74
83
  @remote_id = remote_id if remote_id != OMIT
75
84
  @created_at = created_at if created_at != OMIT
@@ -78,6 +87,7 @@ module Merge
78
87
  @name = name if name != OMIT
79
88
  @type = type if type != OMIT
80
89
  @remote_was_deleted = remote_was_deleted if remote_was_deleted != OMIT
90
+ @is_commonly_used_as_team = is_commonly_used_as_team if is_commonly_used_as_team != OMIT
81
91
  @field_mappings = field_mappings if field_mappings != OMIT
82
92
  @remote_data = remote_data if remote_data != OMIT
83
93
  @additional_properties = additional_properties
@@ -90,6 +100,7 @@ module Merge
90
100
  "name": name,
91
101
  "type": type,
92
102
  "remote_was_deleted": remote_was_deleted,
103
+ "is_commonly_used_as_team": is_commonly_used_as_team,
93
104
  "field_mappings": field_mappings,
94
105
  "remote_data": remote_data
95
106
  }.reject do |_k, v|
@@ -112,6 +123,7 @@ module Merge
112
123
  name = struct["name"]
113
124
  type = struct["type"]
114
125
  remote_was_deleted = struct["remote_was_deleted"]
126
+ is_commonly_used_as_team = struct["is_commonly_used_as_team"]
115
127
  field_mappings = struct["field_mappings"]
116
128
  remote_data = parsed_json["remote_data"]&.map do |v|
117
129
  v = v.to_json
@@ -126,6 +138,7 @@ module Merge
126
138
  name: name,
127
139
  type: type,
128
140
  remote_was_deleted: remote_was_deleted,
141
+ is_commonly_used_as_team: is_commonly_used_as_team,
129
142
  field_mappings: field_mappings,
130
143
  remote_data: remote_data,
131
144
  additional_properties: struct
@@ -154,6 +167,7 @@ module Merge
154
167
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
155
168
  obj.type&.is_a?(Merge::Hris::GroupTypeEnum) != false || raise("Passed value for field obj.type is not the expected type, validation failed.")
156
169
  obj.remote_was_deleted&.is_a?(Boolean) != false || raise("Passed value for field obj.remote_was_deleted is not the expected type, validation failed.")
170
+ obj.is_commonly_used_as_team&.is_a?(Boolean) != false || raise("Passed value for field obj.is_commonly_used_as_team is not the expected type, validation failed.")
157
171
  obj.field_mappings&.is_a?(Hash) != false || raise("Passed value for field obj.field_mappings is not the expected type, validation failed.")
158
172
  obj.remote_data&.is_a?(Array) != false || raise("Passed value for field obj.remote_data is not the expected type, validation failed.")
159
173
  end
@@ -21,9 +21,9 @@ module Merge
21
21
  attr_reader :id
22
22
  # @return [String] The third-party API ID of the matching object.
23
23
  attr_reader :remote_id
24
- # @return [DateTime]
24
+ # @return [DateTime] The datetime that this object was created by Merge.
25
25
  attr_reader :created_at
26
- # @return [DateTime] This is the datetime that this object was last updated by Merge
26
+ # @return [DateTime] The datetime that this object was modified by Merge.
27
27
  attr_reader :modified_at
28
28
  # @return [String] The location's name.
29
29
  attr_reader :name
@@ -311,8 +311,8 @@ module Merge
311
311
 
312
312
  # @param id [String]
313
313
  # @param remote_id [String] The third-party API ID of the matching object.
314
- # @param created_at [DateTime]
315
- # @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
314
+ # @param created_at [DateTime] The datetime that this object was created by Merge.
315
+ # @param modified_at [DateTime] The datetime that this object was modified by Merge.
316
316
  # @param name [String] The location's name.
317
317
  # @param phone_number [String] The location's phone number.
318
318
  # @param street_1 [String] Line 1 of the location's street address.
@@ -19,9 +19,9 @@ module Merge
19
19
  attr_reader :id
20
20
  # @return [String] The third-party API ID of the matching object.
21
21
  attr_reader :remote_id
22
- # @return [DateTime]
22
+ # @return [DateTime] The datetime that this object was created by Merge.
23
23
  attr_reader :created_at
24
- # @return [DateTime] This is the datetime that this object was last updated by Merge
24
+ # @return [DateTime] The datetime that this object was modified by Merge.
25
25
  attr_reader :modified_at
26
26
  # @return [String] The pay group name.
27
27
  attr_reader :pay_group_name
@@ -42,8 +42,8 @@ module Merge
42
42
 
43
43
  # @param id [String]
44
44
  # @param remote_id [String] The third-party API ID of the matching object.
45
- # @param created_at [DateTime]
46
- # @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
45
+ # @param created_at [DateTime] The datetime that this object was created by Merge.
46
+ # @param modified_at [DateTime] The datetime that this object was modified by Merge.
47
47
  # @param pay_group_name [String] The pay group name.
48
48
  # @param remote_was_deleted [Boolean] Indicates whether or not this object has been deleted in the third party
49
49
  # platform.
@@ -21,9 +21,9 @@ module Merge
21
21
  attr_reader :id
22
22
  # @return [String] The third-party API ID of the matching object.
23
23
  attr_reader :remote_id
24
- # @return [DateTime]
24
+ # @return [DateTime] The datetime that this object was created by Merge.
25
25
  attr_reader :created_at
26
- # @return [DateTime] This is the datetime that this object was last updated by Merge
26
+ # @return [DateTime] The datetime that this object was modified by Merge.
27
27
  attr_reader :modified_at
28
28
  # @return [Merge::Hris::RunStateEnum] The state of the payroll run
29
29
  # - `PAID` - PAID
@@ -62,8 +62,8 @@ module Merge
62
62
 
63
63
  # @param id [String]
64
64
  # @param remote_id [String] The third-party API ID of the matching object.
65
- # @param created_at [DateTime]
66
- # @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
65
+ # @param created_at [DateTime] The datetime that this object was created by Merge.
66
+ # @param modified_at [DateTime] The datetime that this object was modified by Merge.
67
67
  # @param run_state [Merge::Hris::RunStateEnum] The state of the payroll run
68
68
  # - `PAID` - PAID
69
69
  # - `DRAFT` - DRAFT
@@ -2,6 +2,7 @@
2
2
 
3
3
  require_relative "remote_endpoint_info"
4
4
  require_relative "advanced_metadata"
5
+ require_relative "remote_field_api_coverage"
5
6
  require "ostruct"
6
7
  require "json"
7
8
 
@@ -18,6 +19,8 @@ module Merge
18
19
  attr_reader :example_values
19
20
  # @return [Merge::Hris::AdvancedMetadata]
20
21
  attr_reader :advanced_metadata
22
+ # @return [Merge::Hris::RemoteFieldApiCoverage]
23
+ attr_reader :coverage
21
24
  # @return [OpenStruct] Additional properties unmapped to the current class definition
22
25
  attr_reader :additional_properties
23
26
  # @return [Object]
@@ -31,22 +34,25 @@ module Merge
31
34
  # @param remote_endpoint_info [Merge::Hris::RemoteEndpointInfo]
32
35
  # @param example_values [Array<Object>]
33
36
  # @param advanced_metadata [Merge::Hris::AdvancedMetadata]
37
+ # @param coverage [Merge::Hris::RemoteFieldApiCoverage]
34
38
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
35
39
  # @return [Merge::Hris::RemoteFieldApi]
36
40
  def initialize(schema:, remote_key_name:, remote_endpoint_info:, example_values:, advanced_metadata: OMIT,
37
- additional_properties: nil)
41
+ coverage: OMIT, additional_properties: nil)
38
42
  @schema = schema
39
43
  @remote_key_name = remote_key_name
40
44
  @remote_endpoint_info = remote_endpoint_info
41
45
  @example_values = example_values
42
46
  @advanced_metadata = advanced_metadata if advanced_metadata != OMIT
47
+ @coverage = coverage if coverage != OMIT
43
48
  @additional_properties = additional_properties
44
49
  @_field_set = {
45
50
  "schema": schema,
46
51
  "remote_key_name": remote_key_name,
47
52
  "remote_endpoint_info": remote_endpoint_info,
48
53
  "example_values": example_values,
49
- "advanced_metadata": advanced_metadata
54
+ "advanced_metadata": advanced_metadata,
55
+ "coverage": coverage
50
56
  }.reject do |_k, v|
51
57
  v == OMIT
52
58
  end
@@ -74,12 +80,19 @@ module Merge
74
80
  advanced_metadata = parsed_json["advanced_metadata"].to_json
75
81
  advanced_metadata = Merge::Hris::AdvancedMetadata.from_json(json_object: advanced_metadata)
76
82
  end
83
+ if parsed_json["coverage"].nil?
84
+ coverage = nil
85
+ else
86
+ coverage = parsed_json["coverage"].to_json
87
+ coverage = Merge::Hris::RemoteFieldApiCoverage.from_json(json_object: coverage)
88
+ end
77
89
  new(
78
90
  schema: schema,
79
91
  remote_key_name: remote_key_name,
80
92
  remote_endpoint_info: remote_endpoint_info,
81
93
  example_values: example_values,
82
94
  advanced_metadata: advanced_metadata,
95
+ coverage: coverage,
83
96
  additional_properties: struct
84
97
  )
85
98
  end
@@ -103,6 +116,7 @@ module Merge
103
116
  Merge::Hris::RemoteEndpointInfo.validate_raw(obj: obj.remote_endpoint_info)
104
117
  obj.example_values.is_a?(Array) != false || raise("Passed value for field obj.example_values is not the expected type, validation failed.")
105
118
  obj.advanced_metadata.nil? || Merge::Hris::AdvancedMetadata.validate_raw(obj: obj.advanced_metadata)
119
+ obj.coverage.nil? || Merge::Hris::RemoteFieldApiCoverage.validate_raw(obj: obj.coverage)
106
120
  end
107
121
  end
108
122
  end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module Merge
6
+ module Hris
7
+ class RemoteFieldApiCoverage
8
+ # Deserialize a JSON object to an instance of RemoteFieldApiCoverage
9
+ #
10
+ # @param json_object [String]
11
+ # @return [Merge::Hris::RemoteFieldApiCoverage]
12
+ def self.from_json(json_object:)
13
+ struct = JSON.parse(json_object, object_class: OpenStruct)
14
+ begin
15
+ struct.is_a?(Integer) != false || raise("Passed value for field struct is not the expected type, validation failed.")
16
+ return json_object unless json_object.nil?
17
+
18
+ return nil
19
+ rescue StandardError
20
+ # noop
21
+ end
22
+ begin
23
+ struct.is_a?(Float) != false || raise("Passed value for field struct is not the expected type, validation failed.")
24
+ return json_object unless json_object.nil?
25
+
26
+ return nil
27
+ rescue StandardError
28
+ # noop
29
+ end
30
+ struct
31
+ end
32
+
33
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
34
+ # hash and check each fields type against the current object's property
35
+ # definitions.
36
+ #
37
+ # @param obj [Object]
38
+ # @return [Void]
39
+ def self.validate_raw(obj:)
40
+ begin
41
+ return obj.is_a?(Integer) != false || raise("Passed value for field obj is not the expected type, validation failed.")
42
+ rescue StandardError
43
+ # noop
44
+ end
45
+ begin
46
+ return obj.is_a?(Float) != false || raise("Passed value for field obj is not the expected type, validation failed.")
47
+ rescue StandardError
48
+ # noop
49
+ end
50
+ raise("Passed value matched no type within the union, validation failed.")
51
+ end
52
+ end
53
+ end
54
+ end
@@ -18,9 +18,9 @@ module Merge
18
18
  attr_reader :id
19
19
  # @return [String] The third-party API ID of the matching object.
20
20
  attr_reader :remote_id
21
- # @return [DateTime]
21
+ # @return [DateTime] The datetime that this object was created by Merge.
22
22
  attr_reader :created_at
23
- # @return [DateTime] This is the datetime that this object was last updated by Merge
23
+ # @return [DateTime] The datetime that this object was modified by Merge.
24
24
  attr_reader :modified_at
25
25
  # @return [String]
26
26
  attr_reader :employee_payroll_run
@@ -47,8 +47,8 @@ module Merge
47
47
 
48
48
  # @param id [String]
49
49
  # @param remote_id [String] The third-party API ID of the matching object.
50
- # @param created_at [DateTime]
51
- # @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
50
+ # @param created_at [DateTime] The datetime that this object was created by Merge.
51
+ # @param modified_at [DateTime] The datetime that this object was modified by Merge.
52
52
  # @param employee_payroll_run [String]
53
53
  # @param name [String] The tax's name.
54
54
  # @param amount [Float] The tax amount.
@@ -21,9 +21,9 @@ module Merge
21
21
  attr_reader :id
22
22
  # @return [String] The third-party API ID of the matching object.
23
23
  attr_reader :remote_id
24
- # @return [DateTime]
24
+ # @return [DateTime] The datetime that this object was created by Merge.
25
25
  attr_reader :created_at
26
- # @return [DateTime] This is the datetime that this object was last updated by Merge
26
+ # @return [DateTime] The datetime that this object was modified by Merge.
27
27
  attr_reader :modified_at
28
28
  # @return [String] The team's name.
29
29
  attr_reader :name
@@ -46,8 +46,8 @@ module Merge
46
46
 
47
47
  # @param id [String]
48
48
  # @param remote_id [String] The third-party API ID of the matching object.
49
- # @param created_at [DateTime]
50
- # @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
49
+ # @param created_at [DateTime] The datetime that this object was created by Merge.
50
+ # @param modified_at [DateTime] The datetime that this object was modified by Merge.
51
51
  # @param name [String] The team's name.
52
52
  # @param parent_team [Merge::Hris::TeamParentTeam] The team's parent team.
53
53
  # @param remote_was_deleted [Boolean] Indicates whether or not this object has been deleted in the third party
@@ -23,9 +23,9 @@ module Merge
23
23
  attr_reader :id
24
24
  # @return [String] The third-party API ID of the matching object.
25
25
  attr_reader :remote_id
26
- # @return [DateTime]
26
+ # @return [DateTime] The datetime that this object was created by Merge.
27
27
  attr_reader :created_at
28
- # @return [DateTime] This is the datetime that this object was last updated by Merge
28
+ # @return [DateTime] The datetime that this object was modified by Merge.
29
29
  attr_reader :modified_at
30
30
  # @return [Merge::Hris::TimeOffEmployee] The employee requesting time off.
31
31
  attr_reader :employee
@@ -74,8 +74,8 @@ module Merge
74
74
 
75
75
  # @param id [String]
76
76
  # @param remote_id [String] The third-party API ID of the matching object.
77
- # @param created_at [DateTime]
78
- # @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
77
+ # @param created_at [DateTime] The datetime that this object was created by Merge.
78
+ # @param modified_at [DateTime] The datetime that this object was modified by Merge.
79
79
  # @param employee [Merge::Hris::TimeOffEmployee] The employee requesting time off.
80
80
  # @param approver [Merge::Hris::TimeOffApprover] The Merge ID of the employee with the ability to approve the time off request.
81
81
  # @param status [Merge::Hris::TimeOffStatusEnum] The status of this time off request.
@@ -21,9 +21,9 @@ module Merge
21
21
  attr_reader :id
22
22
  # @return [String] The third-party API ID of the matching object.
23
23
  attr_reader :remote_id
24
- # @return [DateTime]
24
+ # @return [DateTime] The datetime that this object was created by Merge.
25
25
  attr_reader :created_at
26
- # @return [DateTime] This is the datetime that this object was last updated by Merge
26
+ # @return [DateTime] The datetime that this object was modified by Merge.
27
27
  attr_reader :modified_at
28
28
  # @return [Merge::Hris::TimeOffBalanceEmployee] The employee the balance belongs to.
29
29
  attr_reader :employee
@@ -56,8 +56,8 @@ module Merge
56
56
 
57
57
  # @param id [String]
58
58
  # @param remote_id [String] The third-party API ID of the matching object.
59
- # @param created_at [DateTime]
60
- # @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
59
+ # @param created_at [DateTime] The datetime that this object was created by Merge.
60
+ # @param modified_at [DateTime] The datetime that this object was modified by Merge.
61
61
  # @param employee [Merge::Hris::TimeOffBalanceEmployee] The employee the balance belongs to.
62
62
  # @param balance [Float] The current remaining PTO balance, always measured in terms of hours.
63
63
  # @param used [Float] The amount of PTO used in terms of hours.
@@ -17,9 +17,9 @@ module Merge
17
17
  attr_reader :id
18
18
  # @return [String] The third-party API ID of the matching object.
19
19
  attr_reader :remote_id
20
- # @return [DateTime]
20
+ # @return [DateTime] The datetime that this object was created by Merge.
21
21
  attr_reader :created_at
22
- # @return [DateTime] This is the datetime that this object was last updated by Merge
22
+ # @return [DateTime] The datetime that this object was modified by Merge.
23
23
  attr_reader :modified_at
24
24
  # @return [String] The employee the timesheet entry is for.
25
25
  attr_reader :employee
@@ -46,8 +46,8 @@ module Merge
46
46
 
47
47
  # @param id [String]
48
48
  # @param remote_id [String] The third-party API ID of the matching object.
49
- # @param created_at [DateTime]
50
- # @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
49
+ # @param created_at [DateTime] The datetime that this object was created by Merge.
50
+ # @param modified_at [DateTime] The datetime that this object was modified by Merge.
51
51
  # @param employee [String] The employee the timesheet entry is for.
52
52
  # @param hours_worked [Float] The number of hours logged by the employee.
53
53
  # @param start_time [DateTime] The time at which the employee started work.
@@ -39,7 +39,8 @@ module Merge
39
39
  # `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING`,
40
40
  # `DELETED_INTEGRATION_WIDE_FIELD_MAPPING`,
41
41
  # `DELETED_LINKED_ACCOUNT_FIELD_MAPPING`, `FORCED_LINKED_ACCOUNT_RESYNC`,
42
- # `MUTED_ISSUE`, `GENERATED_MAGIC_LINK`
42
+ # `MUTED_ISSUE`, `GENERATED_MAGIC_LINK`, `ENABLED_MERGE_WEBHOOK`,
43
+ # `DISABLED_MERGE_WEBHOOK`, `MERGE_WEBHOOK_TARGET_CHANGED`
43
44
  # @param page_size [Integer] Number of results to return per page.
44
45
  # @param start_date [String] If included, will only include audit trail events that occurred after this time
45
46
  # @param user_email [String] If provided, this will return events associated with the specified user email.
@@ -109,7 +110,8 @@ module Merge
109
110
  # `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING`,
110
111
  # `DELETED_INTEGRATION_WIDE_FIELD_MAPPING`,
111
112
  # `DELETED_LINKED_ACCOUNT_FIELD_MAPPING`, `FORCED_LINKED_ACCOUNT_RESYNC`,
112
- # `MUTED_ISSUE`, `GENERATED_MAGIC_LINK`
113
+ # `MUTED_ISSUE`, `GENERATED_MAGIC_LINK`, `ENABLED_MERGE_WEBHOOK`,
114
+ # `DISABLED_MERGE_WEBHOOK`, `MERGE_WEBHOOK_TARGET_CHANGED`
113
115
  # @param page_size [Integer] Number of results to return per page.
114
116
  # @param start_date [String] If included, will only include audit trail events that occurred after this time
115
117
  # @param user_email [String] If provided, this will return events associated with the specified user email.
@@ -22,7 +22,6 @@ require_relative "passthrough/client"
22
22
  require_relative "projects/client"
23
23
  require_relative "regenerate_key/client"
24
24
  require_relative "roles/client"
25
- require_relative "selective_sync/client"
26
25
  require_relative "sync_status/client"
27
26
  require_relative "force_resync/client"
28
27
  require_relative "tags/client"
@@ -76,8 +75,6 @@ module Merge
76
75
  attr_reader :regenerate_key
77
76
  # @return [Merge::Ticketing::RolesClient]
78
77
  attr_reader :roles
79
- # @return [Merge::Ticketing::SelectiveSyncClient]
80
- attr_reader :selective_sync
81
78
  # @return [Merge::Ticketing::SyncStatusClient]
82
79
  attr_reader :sync_status
83
80
  # @return [Merge::Ticketing::ForceResyncClient]
@@ -117,7 +114,6 @@ module Merge
117
114
  @projects = Merge::Ticketing::ProjectsClient.new(request_client: request_client)
118
115
  @regenerate_key = Merge::Ticketing::RegenerateKeyClient.new(request_client: request_client)
119
116
  @roles = Merge::Ticketing::RolesClient.new(request_client: request_client)
120
- @selective_sync = Merge::Ticketing::SelectiveSyncClient.new(request_client: request_client)
121
117
  @sync_status = Merge::Ticketing::SyncStatusClient.new(request_client: request_client)
122
118
  @force_resync = Merge::Ticketing::ForceResyncClient.new(request_client: request_client)
123
119
  @tags = Merge::Ticketing::TagsClient.new(request_client: request_client)
@@ -171,8 +167,6 @@ module Merge
171
167
  attr_reader :regenerate_key
172
168
  # @return [Merge::Ticketing::AsyncRolesClient]
173
169
  attr_reader :roles
174
- # @return [Merge::Ticketing::AsyncSelectiveSyncClient]
175
- attr_reader :selective_sync
176
170
  # @return [Merge::Ticketing::AsyncSyncStatusClient]
177
171
  attr_reader :sync_status
178
172
  # @return [Merge::Ticketing::AsyncForceResyncClient]
@@ -212,7 +206,6 @@ module Merge
212
206
  @projects = Merge::Ticketing::AsyncProjectsClient.new(request_client: request_client)
213
207
  @regenerate_key = Merge::Ticketing::AsyncRegenerateKeyClient.new(request_client: request_client)
214
208
  @roles = Merge::Ticketing::AsyncRolesClient.new(request_client: request_client)
215
- @selective_sync = Merge::Ticketing::AsyncSelectiveSyncClient.new(request_client: request_client)
216
209
  @sync_status = Merge::Ticketing::AsyncSyncStatusClient.new(request_client: request_client)
217
210
  @force_resync = Merge::Ticketing::AsyncForceResyncClient.new(request_client: request_client)
218
211
  @tags = Merge::Ticketing::AsyncTagsClient.new(request_client: request_client)
@@ -3,7 +3,10 @@
3
3
  require_relative "../../../requests"
4
4
  require "date"
5
5
  require_relative "../types/paginated_contact_list"
6
+ require_relative "../types/contact_request"
7
+ require_relative "../types/ticketing_contact_response"
6
8
  require_relative "../types/contact"
9
+ require_relative "../types/meta_response"
7
10
  require "async"
8
11
 
9
12
  module Merge
@@ -67,6 +70,44 @@ module Merge
67
70
  Merge::Ticketing::PaginatedContactList.from_json(json_object: response.body)
68
71
  end
69
72
 
73
+ # Creates a `Contact` object with the given values.
74
+ #
75
+ # @param is_debug_mode [Boolean] Whether to include debug fields (such as log file links) in the response.
76
+ # @param run_async [Boolean] Whether or not third-party updates should be run asynchronously.
77
+ # @param model [Hash] Request of type Merge::Ticketing::ContactRequest, as a Hash
78
+ # * :name (String)
79
+ # * :email_address (String)
80
+ # * :phone_number (String)
81
+ # * :details (String)
82
+ # * :account (Hash)
83
+ # * :integration_params (Hash{String => Object})
84
+ # * :linked_account_params (Hash{String => Object})
85
+ # @param request_options [Merge::RequestOptions]
86
+ # @return [Merge::Ticketing::TicketingContactResponse]
87
+ # @example
88
+ # api = Merge::Client.new(
89
+ # environment: Environment::PRODUCTION,
90
+ # base_url: "https://api.example.com",
91
+ # api_key: "YOUR_AUTH_TOKEN"
92
+ # )
93
+ # api.ticketing.create(model: { })
94
+ def create(model:, is_debug_mode: nil, run_async: nil, request_options: nil)
95
+ response = @request_client.conn.post do |req|
96
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
97
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
98
+ req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
99
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
100
+ req.params = {
101
+ **(request_options&.additional_query_parameters || {}),
102
+ "is_debug_mode": is_debug_mode,
103
+ "run_async": run_async
104
+ }.compact
105
+ req.body = { **(request_options&.additional_body_parameters || {}), model: model }.compact
106
+ req.url "#{@request_client.get_url(request_options: request_options)}/ticketing/v1/contacts"
107
+ end
108
+ Merge::Ticketing::TicketingContactResponse.from_json(json_object: response.body)
109
+ end
110
+
70
111
  # Returns a `Contact` object with the given `id`.
71
112
  #
72
113
  # @param id [String]
@@ -98,6 +139,28 @@ module Merge
98
139
  end
99
140
  Merge::Ticketing::Contact.from_json(json_object: response.body)
100
141
  end
142
+
143
+ # Returns metadata for `TicketingContact` POSTs.
144
+ #
145
+ # @param request_options [Merge::RequestOptions]
146
+ # @return [Merge::Ticketing::MetaResponse]
147
+ # @example
148
+ # api = Merge::Client.new(
149
+ # environment: Environment::PRODUCTION,
150
+ # base_url: "https://api.example.com",
151
+ # api_key: "YOUR_AUTH_TOKEN"
152
+ # )
153
+ # api.ticketing.meta_post_retrieve
154
+ def meta_post_retrieve(request_options: nil)
155
+ response = @request_client.conn.get do |req|
156
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
157
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
158
+ req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
159
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
160
+ req.url "#{@request_client.get_url(request_options: request_options)}/ticketing/v1/contacts/meta/post"
161
+ end
162
+ Merge::Ticketing::MetaResponse.from_json(json_object: response.body)
163
+ end
101
164
  end
102
165
 
103
166
  class AsyncContactsClient
@@ -161,6 +224,46 @@ module Merge
161
224
  end
162
225
  end
163
226
 
227
+ # Creates a `Contact` object with the given values.
228
+ #
229
+ # @param is_debug_mode [Boolean] Whether to include debug fields (such as log file links) in the response.
230
+ # @param run_async [Boolean] Whether or not third-party updates should be run asynchronously.
231
+ # @param model [Hash] Request of type Merge::Ticketing::ContactRequest, as a Hash
232
+ # * :name (String)
233
+ # * :email_address (String)
234
+ # * :phone_number (String)
235
+ # * :details (String)
236
+ # * :account (Hash)
237
+ # * :integration_params (Hash{String => Object})
238
+ # * :linked_account_params (Hash{String => Object})
239
+ # @param request_options [Merge::RequestOptions]
240
+ # @return [Merge::Ticketing::TicketingContactResponse]
241
+ # @example
242
+ # api = Merge::Client.new(
243
+ # environment: Environment::PRODUCTION,
244
+ # base_url: "https://api.example.com",
245
+ # api_key: "YOUR_AUTH_TOKEN"
246
+ # )
247
+ # api.ticketing.create(model: { })
248
+ def create(model:, is_debug_mode: nil, run_async: nil, request_options: nil)
249
+ Async do
250
+ response = @request_client.conn.post do |req|
251
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
252
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
253
+ req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
254
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
255
+ req.params = {
256
+ **(request_options&.additional_query_parameters || {}),
257
+ "is_debug_mode": is_debug_mode,
258
+ "run_async": run_async
259
+ }.compact
260
+ req.body = { **(request_options&.additional_body_parameters || {}), model: model }.compact
261
+ req.url "#{@request_client.get_url(request_options: request_options)}/ticketing/v1/contacts"
262
+ end
263
+ Merge::Ticketing::TicketingContactResponse.from_json(json_object: response.body)
264
+ end
265
+ end
266
+
164
267
  # Returns a `Contact` object with the given `id`.
165
268
  #
166
269
  # @param id [String]
@@ -194,6 +297,30 @@ module Merge
194
297
  Merge::Ticketing::Contact.from_json(json_object: response.body)
195
298
  end
196
299
  end
300
+
301
+ # Returns metadata for `TicketingContact` POSTs.
302
+ #
303
+ # @param request_options [Merge::RequestOptions]
304
+ # @return [Merge::Ticketing::MetaResponse]
305
+ # @example
306
+ # api = Merge::Client.new(
307
+ # environment: Environment::PRODUCTION,
308
+ # base_url: "https://api.example.com",
309
+ # api_key: "YOUR_AUTH_TOKEN"
310
+ # )
311
+ # api.ticketing.meta_post_retrieve
312
+ def meta_post_retrieve(request_options: nil)
313
+ Async do
314
+ response = @request_client.conn.get do |req|
315
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
316
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
317
+ req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
318
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
319
+ req.url "#{@request_client.get_url(request_options: request_options)}/ticketing/v1/contacts/meta/post"
320
+ end
321
+ Merge::Ticketing::MetaResponse.from_json(json_object: response.body)
322
+ end
323
+ end
197
324
  end
198
325
  end
199
326
  end