lockstep_sdk 2022.4.32.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 (94) hide show
  1. checksums.yaml +7 -0
  2. data/lib/lockstep_sdk/clients/activities_client.rb +119 -0
  3. data/lib/lockstep_sdk/clients/api_keys_client.rb +78 -0
  4. data/lib/lockstep_sdk/clients/app_enrollments_client.rb +121 -0
  5. data/lib/lockstep_sdk/clients/applications_client.rb +100 -0
  6. data/lib/lockstep_sdk/clients/attachments_client.rb +121 -0
  7. data/lib/lockstep_sdk/clients/code_definitions_client.rb +60 -0
  8. data/lib/lockstep_sdk/clients/companies_client.rb +123 -0
  9. data/lib/lockstep_sdk/clients/contacts_client.rb +90 -0
  10. data/lib/lockstep_sdk/clients/credit_memo_applied_client.rb +92 -0
  11. data/lib/lockstep_sdk/clients/currencies_client.rb +55 -0
  12. data/lib/lockstep_sdk/clients/custom_field_definitions_client.rb +94 -0
  13. data/lib/lockstep_sdk/clients/custom_field_values_client.rb +97 -0
  14. data/lib/lockstep_sdk/clients/definitions_client.rb +95 -0
  15. data/lib/lockstep_sdk/clients/emails_client.rb +108 -0
  16. data/lib/lockstep_sdk/clients/invoice_history_client.rb +56 -0
  17. data/lib/lockstep_sdk/clients/invoices_client.rb +126 -0
  18. data/lib/lockstep_sdk/clients/leads_client.rb +40 -0
  19. data/lib/lockstep_sdk/clients/notes_client.rb +84 -0
  20. data/lib/lockstep_sdk/clients/payment_applications_client.rb +92 -0
  21. data/lib/lockstep_sdk/clients/payments_client.rb +138 -0
  22. data/lib/lockstep_sdk/clients/provisioning_client.rb +56 -0
  23. data/lib/lockstep_sdk/clients/reports_client.rb +114 -0
  24. data/lib/lockstep_sdk/clients/status_client.rb +53 -0
  25. data/lib/lockstep_sdk/clients/sync_client.rb +97 -0
  26. data/lib/lockstep_sdk/clients/user_accounts_client.rb +127 -0
  27. data/lib/lockstep_sdk/clients/user_roles_client.rb +54 -0
  28. data/lib/lockstep_sdk/lockstep_api.rb +264 -0
  29. data/lib/lockstep_sdk/models/activity_model.rb +221 -0
  30. data/lib/lockstep_sdk/models/activity_stream_item_model.rb +104 -0
  31. data/lib/lockstep_sdk/models/activity_xref_model.rb +72 -0
  32. data/lib/lockstep_sdk/models/aging_model.rb +62 -0
  33. data/lib/lockstep_sdk/models/api_key_model.rb +116 -0
  34. data/lib/lockstep_sdk/models/app_enrollment_custom_field_model.rb +110 -0
  35. data/lib/lockstep_sdk/models/app_enrollment_model.rb +151 -0
  36. data/lib/lockstep_sdk/models/application_model.rb +166 -0
  37. data/lib/lockstep_sdk/models/ar_aging_header_info_model.rb +86 -0
  38. data/lib/lockstep_sdk/models/ar_header_info_model.rb +170 -0
  39. data/lib/lockstep_sdk/models/at_risk_invoice_summary_model.rb +140 -0
  40. data/lib/lockstep_sdk/models/attachment_header_info_model.rb +74 -0
  41. data/lib/lockstep_sdk/models/attachment_model.rb +122 -0
  42. data/lib/lockstep_sdk/models/bulk_currency_conversion_model.rb +56 -0
  43. data/lib/lockstep_sdk/models/cashflow_report_model.rb +74 -0
  44. data/lib/lockstep_sdk/models/code_definition_model.rb +99 -0
  45. data/lib/lockstep_sdk/models/company_model.rb +336 -0
  46. data/lib/lockstep_sdk/models/connector_info_model.rb +69 -0
  47. data/lib/lockstep_sdk/models/contact_model.rb +227 -0
  48. data/lib/lockstep_sdk/models/country_model.rb +116 -0
  49. data/lib/lockstep_sdk/models/credit_memo_applied_model.rb +150 -0
  50. data/lib/lockstep_sdk/models/credit_memo_invoice_model.rb +116 -0
  51. data/lib/lockstep_sdk/models/currency_model.rb +74 -0
  52. data/lib/lockstep_sdk/models/currency_rate_model.rb +68 -0
  53. data/lib/lockstep_sdk/models/custom_field_definition_model.rb +121 -0
  54. data/lib/lockstep_sdk/models/custom_field_value_model.rb +115 -0
  55. data/lib/lockstep_sdk/models/customer_details_model.rb +164 -0
  56. data/lib/lockstep_sdk/models/customer_details_payment_model.rb +104 -0
  57. data/lib/lockstep_sdk/models/customer_summary_model.rb +134 -0
  58. data/lib/lockstep_sdk/models/daily_sales_outstanding_report_model.rb +62 -0
  59. data/lib/lockstep_sdk/models/developer_account_submit_model.rb +62 -0
  60. data/lib/lockstep_sdk/models/email_model.rb +245 -0
  61. data/lib/lockstep_sdk/models/erp_info_data_model.rb +63 -0
  62. data/lib/lockstep_sdk/models/erp_info_model.rb +56 -0
  63. data/lib/lockstep_sdk/models/erp_model.rb +62 -0
  64. data/lib/lockstep_sdk/models/invite_data_model.rb +56 -0
  65. data/lib/lockstep_sdk/models/invite_model.rb +68 -0
  66. data/lib/lockstep_sdk/models/invite_submit_model.rb +50 -0
  67. data/lib/lockstep_sdk/models/invoice_address_model.rb +140 -0
  68. data/lib/lockstep_sdk/models/invoice_history_model.rb +238 -0
  69. data/lib/lockstep_sdk/models/invoice_line_model.rb +194 -0
  70. data/lib/lockstep_sdk/models/invoice_model.rb +325 -0
  71. data/lib/lockstep_sdk/models/invoice_payment_detail_model.rb +104 -0
  72. data/lib/lockstep_sdk/models/invoice_summary_model.rb +134 -0
  73. data/lib/lockstep_sdk/models/lead_model.rb +74 -0
  74. data/lib/lockstep_sdk/models/note_model.rb +121 -0
  75. data/lib/lockstep_sdk/models/payment_applied_model.rb +131 -0
  76. data/lib/lockstep_sdk/models/payment_detail_header_model.rb +80 -0
  77. data/lib/lockstep_sdk/models/payment_detail_model.rb +176 -0
  78. data/lib/lockstep_sdk/models/payment_model.rb +206 -0
  79. data/lib/lockstep_sdk/models/payment_summary_model.rb +128 -0
  80. data/lib/lockstep_sdk/models/provisioning_finalize_request_model.rb +74 -0
  81. data/lib/lockstep_sdk/models/provisioning_model.rb +74 -0
  82. data/lib/lockstep_sdk/models/provisioning_response_model.rb +86 -0
  83. data/lib/lockstep_sdk/models/risk_rate_model.rb +98 -0
  84. data/lib/lockstep_sdk/models/state_model.rb +62 -0
  85. data/lib/lockstep_sdk/models/status_model.rb +128 -0
  86. data/lib/lockstep_sdk/models/sync_entity_result_model.rb +74 -0
  87. data/lib/lockstep_sdk/models/sync_request_model.rb +98 -0
  88. data/lib/lockstep_sdk/models/sync_submit_model.rb +50 -0
  89. data/lib/lockstep_sdk/models/transfer_owner_model.rb +56 -0
  90. data/lib/lockstep_sdk/models/transfer_owner_submit_model.rb +50 -0
  91. data/lib/lockstep_sdk/models/user_account_model.rb +240 -0
  92. data/lib/lockstep_sdk/models/user_role_model.rb +86 -0
  93. data/lib/lockstep_sdk/version.rb +3 -0
  94. metadata +150 -0
@@ -0,0 +1,134 @@
1
+ #
2
+ # Lockstep Software Development Kit for Ruby
3
+ #
4
+ # (c) 2021-2022 Lockstep, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author Ted Spence <tspence@lockstep.io>
10
+ # @author Manish Narayan B S <manish.n@lockstep.io>
11
+ # @author Rishi Rajkumar Jawahar <rjawahar@lockstep.io>
12
+ # @copyright 2021-2022 Lockstep, Inc.
13
+ # @version 2022.4
14
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
15
+ #
16
+
17
+
18
+ require 'json'
19
+
20
+ module LockstepSdk
21
+
22
+ ##
23
+ # Contains summarized data for a customer
24
+ class CustomerSummaryModel
25
+
26
+ ##
27
+ # Initialize the CustomerSummaryModel using the provided prototype
28
+ def initialize(params = {})
29
+ @group_key = params.dig(:group_key)
30
+ @company_id = params.dig(:company_id)
31
+ @company_name = params.dig(:company_name)
32
+ @primary_contact = params.dig(:primary_contact)
33
+ @outstanding_invoices = params.dig(:outstanding_invoices)
34
+ @total_invoices_open = params.dig(:total_invoices_open)
35
+ @total_invoices_past_due = params.dig(:total_invoices_past_due)
36
+ @closed_invoices = params.dig(:closed_invoices)
37
+ @amount_collected = params.dig(:amount_collected)
38
+ @outstanding_amount = params.dig(:outstanding_amount)
39
+ @amount_past_due = params.dig(:amount_past_due)
40
+ @unapplied_payments = params.dig(:unapplied_payments)
41
+ @percent_of_total_ar = params.dig(:percent_of_total_ar)
42
+ @dso = params.dig(:dso)
43
+ @newest_activity = params.dig(:newest_activity)
44
+ end
45
+
46
+ ##
47
+ # @return [Uuid] The GroupKey uniquely identifies a single Lockstep Platform account. All records for this account will share the same GroupKey value. GroupKey values cannot be changed once created. For more information, see [Accounts and GroupKeys](https://developer.lockstep.io/docs/accounts-and-groupkeys).
48
+ attr_accessor :group_key
49
+
50
+ ##
51
+ # @return [Uuid] The unique ID of this company.
52
+ attr_accessor :company_id
53
+
54
+ ##
55
+ # @return [String] The name of the company.
56
+ attr_accessor :company_name
57
+
58
+ ##
59
+ # @return [String] The name of the primary contact.
60
+ attr_accessor :primary_contact
61
+
62
+ ##
63
+ # @return [Int32] The number of outstanding invoices for this customer.
64
+ attr_accessor :outstanding_invoices
65
+
66
+ ##
67
+ # @return [Int32] The number of open invoices.
68
+ attr_accessor :total_invoices_open
69
+
70
+ ##
71
+ # @return [Int32] The number of past due invoices.
72
+ attr_accessor :total_invoices_past_due
73
+
74
+ ##
75
+ # @return [Int32] The number of closed invoices for this customer.
76
+ attr_accessor :closed_invoices
77
+
78
+ ##
79
+ # @return [Double] The total from collected payments.
80
+ attr_accessor :amount_collected
81
+
82
+ ##
83
+ # @return [Double] The total balance of outstanding invoices.
84
+ attr_accessor :outstanding_amount
85
+
86
+ ##
87
+ # @return [Double] The total amount past due for this customer.
88
+ attr_accessor :amount_past_due
89
+
90
+ ##
91
+ # @return [Double] The total value of unapplied Payments for this Customer.
92
+ attr_accessor :unapplied_payments
93
+
94
+ ##
95
+ # @return [Double] Portion of Total AR for this Customer that is Past due. (TotalPastDue / Total AR).
96
+ attr_accessor :percent_of_total_ar
97
+
98
+ ##
99
+ # @return [Double] Daily sales outstanding value for this Customer.
100
+ attr_accessor :dso
101
+
102
+ ##
103
+ # @return [Date] The date stamp for the newest Activity on this Customer.
104
+ attr_accessor :newest_activity
105
+
106
+ ##
107
+ # @return [object] This object as a JSON key-value structure
108
+ def as_json(options={})
109
+ {
110
+ 'groupKey' => @group_key,
111
+ 'companyId' => @company_id,
112
+ 'companyName' => @company_name,
113
+ 'primaryContact' => @primary_contact,
114
+ 'outstandingInvoices' => @outstanding_invoices,
115
+ 'totalInvoicesOpen' => @total_invoices_open,
116
+ 'totalInvoicesPastDue' => @total_invoices_past_due,
117
+ 'closedInvoices' => @closed_invoices,
118
+ 'amountCollected' => @amount_collected,
119
+ 'outstandingAmount' => @outstanding_amount,
120
+ 'amountPastDue' => @amount_past_due,
121
+ 'unappliedPayments' => @unapplied_payments,
122
+ 'percentOfTotalAr' => @percent_of_total_ar,
123
+ 'dso' => @dso,
124
+ 'newestActivity' => @newest_activity,
125
+ }
126
+ end
127
+
128
+ ##
129
+ # @return [String] This object converted to a JSON string
130
+ def to_json(*options)
131
+ "[#{as_json(*options).to_json(*options)}]"
132
+ end
133
+ end
134
+ end
@@ -0,0 +1,62 @@
1
+ #
2
+ # Lockstep Software Development Kit for Ruby
3
+ #
4
+ # (c) 2021-2022 Lockstep, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author Ted Spence <tspence@lockstep.io>
10
+ # @author Manish Narayan B S <manish.n@lockstep.io>
11
+ # @author Rishi Rajkumar Jawahar <rjawahar@lockstep.io>
12
+ # @copyright 2021-2022 Lockstep, Inc.
13
+ # @version 2022.4
14
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
15
+ #
16
+
17
+
18
+ require 'json'
19
+
20
+ module LockstepSdk
21
+
22
+ ##
23
+ # Represents the daily sales outstanding report
24
+ class DailySalesOutstandingReportModel
25
+
26
+ ##
27
+ # Initialize the DailySalesOutstandingReportModel using the provided prototype
28
+ def initialize(params = {})
29
+ @timeframe = params.dig(:timeframe)
30
+ @invoice_count = params.dig(:invoice_count)
31
+ @daily_sales_outstanding = params.dig(:daily_sales_outstanding)
32
+ end
33
+
34
+ ##
35
+ # @return [Date-time] Timeframe (month) the daily sales outstanding values are associated with
36
+ attr_accessor :timeframe
37
+
38
+ ##
39
+ # @return [Int32] Number of invoices the average daily sales outstanding is calculated on
40
+ attr_accessor :invoice_count
41
+
42
+ ##
43
+ # @return [Double] Time (in days) between an invoice was completed paid off and when the invoice was issued
44
+ attr_accessor :daily_sales_outstanding
45
+
46
+ ##
47
+ # @return [object] This object as a JSON key-value structure
48
+ def as_json(options={})
49
+ {
50
+ 'timeframe' => @timeframe,
51
+ 'invoiceCount' => @invoice_count,
52
+ 'dailySalesOutstanding' => @daily_sales_outstanding,
53
+ }
54
+ end
55
+
56
+ ##
57
+ # @return [String] This object converted to a JSON string
58
+ def to_json(*options)
59
+ "[#{as_json(*options).to_json(*options)}]"
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,62 @@
1
+ #
2
+ # Lockstep Software Development Kit for Ruby
3
+ #
4
+ # (c) 2021-2022 Lockstep, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author Ted Spence <tspence@lockstep.io>
10
+ # @author Manish Narayan B S <manish.n@lockstep.io>
11
+ # @author Rishi Rajkumar Jawahar <rjawahar@lockstep.io>
12
+ # @copyright 2021-2022 Lockstep, Inc.
13
+ # @version 2022.4
14
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
15
+ #
16
+
17
+
18
+ require 'json'
19
+
20
+ module LockstepSdk
21
+
22
+ ##
23
+ # Model containing information to create a new developer account.
24
+ class DeveloperAccountSubmitModel
25
+
26
+ ##
27
+ # Initialize the DeveloperAccountSubmitModel using the provided prototype
28
+ def initialize(params = {})
29
+ @name = params.dig(:name)
30
+ @email = params.dig(:email)
31
+ @company_name = params.dig(:company_name)
32
+ end
33
+
34
+ ##
35
+ # @return [String] The name of the developer.
36
+ attr_accessor :name
37
+
38
+ ##
39
+ # @return [Email] The email address of the developer.
40
+ attr_accessor :email
41
+
42
+ ##
43
+ # @return [String] The company name of the developer.
44
+ attr_accessor :company_name
45
+
46
+ ##
47
+ # @return [object] This object as a JSON key-value structure
48
+ def as_json(options={})
49
+ {
50
+ 'name' => @name,
51
+ 'email' => @email,
52
+ 'companyName' => @company_name,
53
+ }
54
+ end
55
+
56
+ ##
57
+ # @return [String] This object converted to a JSON string
58
+ def to_json(*options)
59
+ "[#{as_json(*options).to_json(*options)}]"
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,245 @@
1
+ #
2
+ # Lockstep Software Development Kit for Ruby
3
+ #
4
+ # (c) 2021-2022 Lockstep, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author Ted Spence <tspence@lockstep.io>
10
+ # @author Manish Narayan B S <manish.n@lockstep.io>
11
+ # @author Rishi Rajkumar Jawahar <rjawahar@lockstep.io>
12
+ # @copyright 2021-2022 Lockstep, Inc.
13
+ # @version 2022.4
14
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
15
+ #
16
+
17
+
18
+ require 'json'
19
+
20
+ module LockstepSdk
21
+
22
+ ##
23
+ # An Email represents a communication sent from one company to another. The creator of the email is identified
24
+ # by the `CompanyId` field, recipient(s) by the `EmailTo` field, and cc recipient(s) by the 'EmailCC' field.
25
+ # The Email Model represents an email and a number of different metadata attributes related to the creation,
26
+ # storage, and ownership of the email.
27
+ class EmailModel
28
+
29
+ ##
30
+ # Initialize the EmailModel using the provided prototype
31
+ def initialize(params = {})
32
+ @email_id = params.dig(:email_id)
33
+ @thread_id = params.dig(:thread_id)
34
+ @group_key = params.dig(:group_key)
35
+ @company_id = params.dig(:company_id)
36
+ @email_from = params.dig(:email_from)
37
+ @email_to = params.dig(:email_to)
38
+ @email_cc = params.dig(:email_cc)
39
+ @email_subject = params.dig(:email_subject)
40
+ @email_body = params.dig(:email_body)
41
+ @sent_date = params.dig(:sent_date)
42
+ @is_unread = params.dig(:is_unread)
43
+ @is_priority = params.dig(:is_priority)
44
+ @is_spam = params.dig(:is_spam)
45
+ @created = params.dig(:created)
46
+ @created_user_id = params.dig(:created_user_id)
47
+ @to_be_sent = params.dig(:to_be_sent)
48
+ @customer_id = params.dig(:customer_id)
49
+ @received_time_stamp = params.dig(:received_time_stamp)
50
+ @opened_timestamp = params.dig(:opened_timestamp)
51
+ @view_count = params.dig(:view_count)
52
+ @app_enrollment_id = params.dig(:app_enrollment_id)
53
+ @external_email_id = params.dig(:external_email_id)
54
+ @external_thread_id = params.dig(:external_thread_id)
55
+ @email_bcc = params.dig(:email_bcc)
56
+ @send_type = params.dig(:send_type)
57
+ @modified = params.dig(:modified)
58
+ @modified_user_id = params.dig(:modified_user_id)
59
+ @response_origin_id = params.dig(:response_origin_id)
60
+ @response_origin = params.dig(:response_origin)
61
+ @notes = params.dig(:notes)
62
+ @attachments = params.dig(:attachments)
63
+ @custom_field_definitions = params.dig(:custom_field_definitions)
64
+ @custom_field_values = params.dig(:custom_field_values)
65
+ end
66
+
67
+ ##
68
+ # @return [Uuid] The unique ID of this record, automatically assigned by Lockstep when this record is added to the Lockstep platform.
69
+ attr_accessor :email_id
70
+
71
+ ##
72
+ # @return [Uuid] The unique ID number of this email's conversation thread.
73
+ attr_accessor :thread_id
74
+
75
+ ##
76
+ # @return [Uuid] The GroupKey uniquely identifies a single Lockstep Platform account. All records for this account will share the same GroupKey value. GroupKey values cannot be changed once created. For more information, see [Accounts and GroupKeys](https://developer.lockstep.io/docs/accounts-and-groupkeys).
77
+ attr_accessor :group_key
78
+
79
+ ##
80
+ # @return [Uuid] The ID number of the company that created this email.
81
+ attr_accessor :company_id
82
+
83
+ ##
84
+ # @return [String] The email address for the sender of this email.
85
+ attr_accessor :email_from
86
+
87
+ ##
88
+ # @return [String] The email address for the recipient(s) of this email.
89
+ attr_accessor :email_to
90
+
91
+ ##
92
+ # @return [String] The email address for the CC recipient(s) of this email
93
+ attr_accessor :email_cc
94
+
95
+ ##
96
+ # @return [String] The subject line of this email.
97
+ attr_accessor :email_subject
98
+
99
+ ##
100
+ # @return [String] The body content of this email.
101
+ attr_accessor :email_body
102
+
103
+ ##
104
+ # @return [Date-time] The date on which this email was sent.
105
+ attr_accessor :sent_date
106
+
107
+ ##
108
+ # @return [Boolean] A status flag indicating if this email is unread.
109
+ attr_accessor :is_unread
110
+
111
+ ##
112
+ # @return [Boolean] A status flag indicating if this email is priority status.
113
+ attr_accessor :is_priority
114
+
115
+ ##
116
+ # @return [Boolean] A status flag indicating if this email is marked as spam.
117
+ attr_accessor :is_spam
118
+
119
+ ##
120
+ # @return [Date-time] The date on which this email was created.
121
+ attr_accessor :created
122
+
123
+ ##
124
+ # @return [Uuid] The ID number of the user who created this email.
125
+ attr_accessor :created_user_id
126
+
127
+ ##
128
+ # @return [Boolean] A status flag indicating if this email is to be sent.
129
+ attr_accessor :to_be_sent
130
+
131
+ ##
132
+ # @return [Uuid] The ID number of the customer that sent this email.
133
+ attr_accessor :customer_id
134
+
135
+ ##
136
+ # @return [Date-time] The date on which this email was received.
137
+ attr_accessor :received_time_stamp
138
+
139
+ ##
140
+ # @return [Date-time] The date on which this email was opened.
141
+ attr_accessor :opened_timestamp
142
+
143
+ ##
144
+ # @return [Int32] The number of times this email was viewed.
145
+ attr_accessor :view_count
146
+
147
+ ##
148
+ # @return [Uuid] AppEnrollmentId for this record; used for mapping purposes.
149
+ attr_accessor :app_enrollment_id
150
+
151
+ ##
152
+ # @return [String] The id of the email in an external system if imported.
153
+ attr_accessor :external_email_id
154
+
155
+ ##
156
+ # @return [String] The id of the email thread in an external system if imported.
157
+ attr_accessor :external_thread_id
158
+
159
+ ##
160
+ # @return [String] The email address(es) for the BCC recipient(s) of this email
161
+ attr_accessor :email_bcc
162
+
163
+ ##
164
+ # @return [String] The type message being sent (New, Reply, Forward) or null for messages not being sent.
165
+ attr_accessor :send_type
166
+
167
+ ##
168
+ # @return [Date-time] The date on which this email was modified. Email modification should only be done by internal services.
169
+ attr_accessor :modified
170
+
171
+ ##
172
+ # @return [Uuid] The ID of the user who modified this email. Email modification should only be done by internal services.
173
+ attr_accessor :modified_user_id
174
+
175
+ ##
176
+ # @return [Uuid] If the message being sent is a reply or a forward, the id of the the email being replied to or forwarded. Otherwise null.
177
+ attr_accessor :response_origin_id
178
+
179
+ ##
180
+ # @return [EmailModel] The email object associated with the response origin id.
181
+ attr_accessor :response_origin
182
+
183
+ ##
184
+ # @return [NoteModel] All notes attached to this email. To retrieve this collection, specify `Notes` in the "Include" parameter for your query.
185
+ attr_accessor :notes
186
+
187
+ ##
188
+ # @return [AttachmentModel] All attachments attached to this email. To retrieve this collection, specify `Attachments` in the "Include" parameter for your query.
189
+ attr_accessor :attachments
190
+
191
+ ##
192
+ # @return [CustomFieldDefinitionModel] All definitions attached to this email. To retrieve this collection, specify `CustomFieldValues` in the "Include" parameter for your query.
193
+ attr_accessor :custom_field_definitions
194
+
195
+ ##
196
+ # @return [CustomFieldValueModel] All values attached to this email. To retrieve this collection, specify `Attachments` in the "Include" parameter for your query.
197
+ attr_accessor :custom_field_values
198
+
199
+ ##
200
+ # @return [object] This object as a JSON key-value structure
201
+ def as_json(options={})
202
+ {
203
+ 'emailId' => @email_id,
204
+ 'threadId' => @thread_id,
205
+ 'groupKey' => @group_key,
206
+ 'companyId' => @company_id,
207
+ 'emailFrom' => @email_from,
208
+ 'emailTo' => @email_to,
209
+ 'emailCC' => @email_cc,
210
+ 'emailSubject' => @email_subject,
211
+ 'emailBody' => @email_body,
212
+ 'sentDate' => @sent_date,
213
+ 'isUnread' => @is_unread,
214
+ 'isPriority' => @is_priority,
215
+ 'isSpam' => @is_spam,
216
+ 'created' => @created,
217
+ 'createdUserId' => @created_user_id,
218
+ 'toBeSent' => @to_be_sent,
219
+ 'customerId' => @customer_id,
220
+ 'receivedTimeStamp' => @received_time_stamp,
221
+ 'openedTimestamp' => @opened_timestamp,
222
+ 'viewCount' => @view_count,
223
+ 'appEnrollmentId' => @app_enrollment_id,
224
+ 'externalEmailId' => @external_email_id,
225
+ 'externalThreadId' => @external_thread_id,
226
+ 'emailBcc' => @email_bcc,
227
+ 'sendType' => @send_type,
228
+ 'modified' => @modified,
229
+ 'modifiedUserId' => @modified_user_id,
230
+ 'responseOriginId' => @response_origin_id,
231
+ 'responseOrigin' => @response_origin,
232
+ 'notes' => @notes,
233
+ 'attachments' => @attachments,
234
+ 'customFieldDefinitions' => @custom_field_definitions,
235
+ 'customFieldValues' => @custom_field_values,
236
+ }
237
+ end
238
+
239
+ ##
240
+ # @return [String] This object converted to a JSON string
241
+ def to_json(*options)
242
+ "[#{as_json(*options).to_json(*options)}]"
243
+ end
244
+ end
245
+ end
@@ -0,0 +1,63 @@
1
+ #
2
+ # Lockstep Software Development Kit for Ruby
3
+ #
4
+ # (c) 2021-2022 Lockstep, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author Ted Spence <tspence@lockstep.io>
10
+ # @author Manish Narayan B S <manish.n@lockstep.io>
11
+ # @author Rishi Rajkumar Jawahar <rjawahar@lockstep.io>
12
+ # @copyright 2021-2022 Lockstep, Inc.
13
+ # @version 2022.4
14
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
15
+ #
16
+
17
+
18
+ require 'json'
19
+
20
+ module LockstepSdk
21
+
22
+ ##
23
+ # Represents all the possible data sent as a part of the provisioning post.
24
+ # Only send required fields for the given connector.
25
+ class ErpInfoDataModel
26
+
27
+ ##
28
+ # Initialize the ErpInfoDataModel using the provided prototype
29
+ def initialize(params = {})
30
+ @auth_code = params.dig(:auth_code)
31
+ @realm_id = params.dig(:realm_id)
32
+ @redirect_uri = params.dig(:redirect_uri)
33
+ end
34
+
35
+ ##
36
+ # @return [String] The authorization code returned from the first step of the OAuth2 flow https://oauth.net/2/grant-types/authorization-code/
37
+ attr_accessor :auth_code
38
+
39
+ ##
40
+ # @return [String] The realm id of the account being granted permissions to access
41
+ attr_accessor :realm_id
42
+
43
+ ##
44
+ # @return [String] The redirect uri used for step one of the OAuth2.0 flow.
45
+ attr_accessor :redirect_uri
46
+
47
+ ##
48
+ # @return [object] This object as a JSON key-value structure
49
+ def as_json(options={})
50
+ {
51
+ 'authCode' => @auth_code,
52
+ 'realmId' => @realm_id,
53
+ 'redirectUri' => @redirect_uri,
54
+ }
55
+ end
56
+
57
+ ##
58
+ # @return [String] This object converted to a JSON string
59
+ def to_json(*options)
60
+ "[#{as_json(*options).to_json(*options)}]"
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,56 @@
1
+ #
2
+ # Lockstep Software Development Kit for Ruby
3
+ #
4
+ # (c) 2021-2022 Lockstep, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author Ted Spence <tspence@lockstep.io>
10
+ # @author Manish Narayan B S <manish.n@lockstep.io>
11
+ # @author Rishi Rajkumar Jawahar <rjawahar@lockstep.io>
12
+ # @copyright 2021-2022 Lockstep, Inc.
13
+ # @version 2022.4
14
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
15
+ #
16
+
17
+
18
+ require 'json'
19
+
20
+ module LockstepSdk
21
+
22
+ ##
23
+ # Represents the ERP object sent in a provisioning request
24
+ class ErpInfoModel
25
+
26
+ ##
27
+ # Initialize the ErpInfoModel using the provided prototype
28
+ def initialize(params = {})
29
+ @app_id = params.dig(:app_id)
30
+ @data = params.dig(:data)
31
+ end
32
+
33
+ ##
34
+ # @return [Uuid] The id of the ERP's App
35
+ attr_accessor :app_id
36
+
37
+ ##
38
+ # @return [ConnectorInfoModel] The data required to store for connector access
39
+ attr_accessor :data
40
+
41
+ ##
42
+ # @return [object] This object as a JSON key-value structure
43
+ def as_json(options={})
44
+ {
45
+ 'appId' => @app_id,
46
+ 'data' => @data,
47
+ }
48
+ end
49
+
50
+ ##
51
+ # @return [String] This object converted to a JSON string
52
+ def to_json(*options)
53
+ "[#{as_json(*options).to_json(*options)}]"
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,62 @@
1
+ #
2
+ # Lockstep Software Development Kit for Ruby
3
+ #
4
+ # (c) 2021-2022 Lockstep, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author Ted Spence <tspence@lockstep.io>
10
+ # @author Manish Narayan B S <manish.n@lockstep.io>
11
+ # @author Rishi Rajkumar Jawahar <rjawahar@lockstep.io>
12
+ # @copyright 2021-2022 Lockstep, Inc.
13
+ # @version 2022.4
14
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
15
+ #
16
+
17
+
18
+ require 'json'
19
+
20
+ module LockstepSdk
21
+
22
+ ##
23
+ # Represents unsupported ERP systems
24
+ class ErpModel
25
+
26
+ ##
27
+ # Initialize the ErpModel using the provided prototype
28
+ def initialize(params = {})
29
+ @erp_system_id = params.dig(:erp_system_id)
30
+ @name = params.dig(:name)
31
+ @is_supported = params.dig(:is_supported)
32
+ end
33
+
34
+ ##
35
+ # @return [Uuid] Unique ID for this ERP
36
+ attr_accessor :erp_system_id
37
+
38
+ ##
39
+ # @return [String] Name of ERP
40
+ attr_accessor :name
41
+
42
+ ##
43
+ # @return [Boolean] Flag to indicate if ERP is supported
44
+ attr_accessor :is_supported
45
+
46
+ ##
47
+ # @return [object] This object as a JSON key-value structure
48
+ def as_json(options={})
49
+ {
50
+ 'erpSystemId' => @erp_system_id,
51
+ 'name' => @name,
52
+ 'isSupported' => @is_supported,
53
+ }
54
+ end
55
+
56
+ ##
57
+ # @return [String] This object converted to a JSON string
58
+ def to_json(*options)
59
+ "[#{as_json(*options).to_json(*options)}]"
60
+ end
61
+ end
62
+ end