lockstep_sdk 2022.26.12.0 → 2022.33.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/lib/lockstep_sdk/clients/app_enrollments_client.rb +7 -5
  3. data/lib/lockstep_sdk/clients/companies_client.rb +22 -4
  4. data/lib/lockstep_sdk/clients/credit_memo_applied_client.rb +1 -1
  5. data/lib/lockstep_sdk/clients/reports_client.rb +4 -2
  6. data/lib/lockstep_sdk/clients/status_client.rb +0 -14
  7. data/lib/lockstep_sdk/clients/webhooks_client.rb +3 -2
  8. data/lib/lockstep_sdk/lockstep_api.rb +3 -3
  9. data/lib/lockstep_sdk/models/app_enrollment_reconnect_request.rb +47 -0
  10. data/lib/lockstep_sdk/models/batch_sync_model.rb +18 -0
  11. data/lib/lockstep_sdk/models/company_model.rb +6 -0
  12. data/lib/lockstep_sdk/models/company_sync_model.rb +13 -1
  13. data/lib/lockstep_sdk/models/credit_memo_applied_model.rb +12 -0
  14. data/lib/lockstep_sdk/models/custom_field_sync_model.rb +6 -6
  15. data/lib/lockstep_sdk/models/customer_summary_model.rb +6 -0
  16. data/lib/lockstep_sdk/models/financial_account_balance_history_sync_model.rb +100 -0
  17. data/lib/lockstep_sdk/models/financial_account_sync_model.rb +103 -0
  18. data/lib/lockstep_sdk/models/financial_year_setting_sync_model.rb +75 -0
  19. data/lib/lockstep_sdk/models/invoice_sync_model.rb +1 -1
  20. data/lib/lockstep_sdk/models/payment_sync_model.rb +1 -1
  21. data/lib/lockstep_sdk/models/sync_request_model.rb +6 -0
  22. data/lib/lockstep_sdk/models/sync_submit_model.rb +6 -0
  23. data/lib/lockstep_sdk/models/vendor_summary_model.rb +6 -0
  24. data/lib/lockstep_sdk/models/webhook_history_table_storage_model.rb +18 -0
  25. data/lib/lockstep_sdk/models/webhook_model.rb +2 -3
  26. data/lib/lockstep_sdk/models/webhook_rule_model.rb +4 -16
  27. data/lib/lockstep_sdk/version.rb +1 -1
  28. metadata +6 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8dd5a349eb67e94638b549c030c9f0d14b4949a89678e7ce25569d021002af6f
4
- data.tar.gz: 43763005c70106c342563f4de7e628974196db5c437d61b75954041ccb8fe23b
3
+ metadata.gz: ff91eee944f6ed1299763d2652ae74b4cd0dde8ae9b0df52e682d014f7dc34f9
4
+ data.tar.gz: 47ec24af6e5b7282423ca45b5949a677fc5c22064761fb9a646f22aa806db59f
5
5
  SHA512:
6
- metadata.gz: 00a438f056a6adf07587662642cd9c4180e4e2c7190f995a5b1aa378712ceda3c11fde8b1e129e32e09a68bc233d0aa8c95d61d53bc606e6dde6d6aaffc5ec6d
7
- data.tar.gz: 30f50f191c364290777a83ff0416ffeb19b3c096dd3bd1d3cbe3ac03fab01d98dc04368c125959c2b97106f2cde3d097db8c06132806af7e95bebc7b18955d8c
6
+ metadata.gz: 9c21ea30bfefb763acf318b3afc43fc087bfdca695e492c1ebde895aa1dbc641c8c058402bc7d26e96ab1eafe66caa34655217441b55f8ca4ca89377e23330c0
7
+ data.tar.gz: 13ee2ae0e4a5f5d866f8ba163658e142b9f7bb677dc44250e5b9cebe748e9aae11d5d95943d02d4a7f5f724ebe81e4d1b1d03ea9d6868f98850a3cbff50b85a5
@@ -75,20 +75,22 @@ class AppEnrollmentsClient
75
75
  #
76
76
  # See [Applications and Enrollments](https://developer.lockstep.io/docs/applications-and-enrollments) for more information.
77
77
  #
78
+ # @param start_sync [boolean] Option to start sync immediately after creation of app enrollments (default false)
78
79
  # @param body [AppEnrollmentModel] The App Enrollments to create
79
- def create_app_enrollments(body:)
80
+ def create_app_enrollments(start_sync:, body:)
80
81
  path = "/api/v1/AppEnrollments"
81
- @connection.request(:post, path, body, nil)
82
+ params = {:startSync => start_sync}
83
+ @connection.request(:post, path, body, params)
82
84
  end
83
85
 
84
86
  ##
85
87
  # Updates the OAuth settings associated with this App Enrollment
86
88
  #
87
- # @param id [uuid]
88
- # @param body [string]
89
+ # @param id [uuid] The unique ID number of the App Enrollment to reconnect
90
+ # @param body [AppEnrollmentReconnectRequest] Information to reconnect the App Enrollment
89
91
  def reconnect_app_enrollment_oauth(id:, body:)
90
92
  path = "/api/v1/AppEnrollments/#{id}/reconnect"
91
- @connection.request(:patch, path, body, nil)
93
+ @connection.request(:post, path, body, nil)
92
94
  end
93
95
 
94
96
  ##
@@ -115,9 +115,10 @@ class CompaniesClient
115
115
  # @param order [string] The sort order for the results, in the [Searchlight order syntax](https://github.com/tspence/csharp-searchlight).
116
116
  # @param page_size [int32] The page size for results (default 200, maximum of 10,000)
117
117
  # @param page_number [int32] The page number for results (default 0)
118
- def query_customer_summary(filter:, include_param:, order:, page_size:, page_number:)
118
+ # @param report_date [date-time] The date to calculate the fields on. If no date is entered the current UTC date will be used.
119
+ def query_customer_summary(filter:, include_param:, order:, page_size:, page_number:, report_date:)
119
120
  path = "/api/v1/Companies/views/customer-summary"
120
- params = {:filter => filter, :include => include_param, :order => order, :pageSize => page_size, :pageNumber => page_number}
121
+ params = {:filter => filter, :include => include_param, :order => order, :pageSize => page_size, :pageNumber => page_number, :reportDate => report_date}
121
122
  @connection.request(:get, path, nil, params)
122
123
  end
123
124
 
@@ -135,9 +136,10 @@ class CompaniesClient
135
136
  # @param order [string] The sort order for the results, in the [Searchlight order syntax](https://github.com/tspence/csharp-searchlight).
136
137
  # @param page_size [int32] The page size for results (default 200, maximum of 10,000)
137
138
  # @param page_number [int32] The page number for results (default 0)
138
- def query_vendor_summary(filter:, include_param:, order:, page_size:, page_number:)
139
+ # @param report_date [date-time] The date to calculate the fields on. If no date is entered the current UTC date will be used.
140
+ def query_vendor_summary(filter:, include_param:, order:, page_size:, page_number:, report_date:)
139
141
  path = "/api/v1/Companies/views/vendor-summary"
140
- params = {:filter => filter, :include => include_param, :order => order, :pageSize => page_size, :pageNumber => page_number}
142
+ params = {:filter => filter, :include => include_param, :order => order, :pageSize => page_size, :pageNumber => page_number, :reportDate => report_date}
141
143
  @connection.request(:get, path, nil, params)
142
144
  end
143
145
 
@@ -153,4 +155,20 @@ class CompaniesClient
153
155
  path = "/api/v1/Companies/views/details/#{id}"
154
156
  @connection.request(:get, path, nil, nil)
155
157
  end
158
+
159
+ ##
160
+ # Sets the logo for specified company. The logo will be stored in the Lockstep Platform and will be **publicly accessible**.
161
+ #
162
+ # .jpg, .jpeg, and .png are supported. 5MB maximum. If no logo is uploaded, the existing logo will be deleted.
163
+ #
164
+ # A Company represents a customer, a vendor, or a company within the organization of the account holder. Companies can have parents and children, representing an organizational hierarchy of corporate entities. You can use Companies to track projects and financial data under this Company label.
165
+ #
166
+ # See [Vendors, Customers, and Companies](https://developer.lockstep.io/docs/companies-customers-and-vendors) for more information.
167
+ #
168
+ # @param id [uuid] The unique Lockstep Platform ID number of this Company; NOT the customer's ERP key
169
+ # @param filename [File] The full path of a file to upload to the API
170
+ def set_company_logo(id:, filename:)
171
+ path = "/api/v1/Companies/#{id}/logo"
172
+ @connection.request(:post, path, nil, nil)
173
+ end
156
174
  end
@@ -30,7 +30,7 @@ class CreditMemoAppliedClient
30
30
  # Credit Memos reflect credits granted to a customer for various reasons, such as discounts or refunds. Credit Memos may be applied to Invoices as Payments. When a Credit Memo is applied as payment to an Invoice, Lockstep creates a Credit Memo Application record to track the amount from the Credit Memo that was applied as payment to the Invoice. You can examine Credit Memo Application records to track which Invoices were paid using this Credit.
31
31
  #
32
32
  # @param id [uuid] The unique Lockstep Platform ID number of this Credit Memo Application; NOT the customer's ERP key
33
- # @param include_param [string] To fetch additional data on this object, specify the list of elements to retrieve. Available collections: Attachments, CustomFields, Notes
33
+ # @param include_param [string] To fetch additional data on this object, specify the list of elements to retrieve. Available collections: Attachments, CustomFields, Notes, Invoice, CreditMemoInvoice
34
34
  def retrieve_credit_memo_application(id:, include_param:)
35
35
  path = "/api/v1/CreditMemoApplied/#{id}"
36
36
  params = {:include => include_param}
@@ -53,9 +53,11 @@ class ReportsClient
53
53
  #
54
54
  # Daily Sales Outstanding, or DSO, is a metric that indicates the average number of days that it takes for an invoice to be fully paid. You can use this report to identify whether a company is improving on its ability to collect on invoices.
55
55
  #
56
- def daily_sales_outstanding()
56
+ # @param report_date [date-time] Optional: Specify the specific report date to generate the from (default UTC now)
57
+ def daily_sales_outstanding(report_date:)
57
58
  path = "/api/v1/Reports/dailysalesoutstanding"
58
- @connection.request(:get, path, nil, nil)
59
+ params = {:reportDate => report_date}
60
+ @connection.request(:get, path, nil, params)
59
61
  end
60
62
 
61
63
  ##
@@ -33,18 +33,4 @@ class StatusClient
33
33
  path = "/api/v1/Status"
34
34
  @connection.request(:get, path, nil, nil)
35
35
  end
36
-
37
- ##
38
- # Generates an error code that your program may use to test handling of common types of error conditions.
39
- #
40
- # * If you specify `?err=500`, you will receive a 500 internal server error. * If you specify `?err=timeout`, the API will stall for 90 seconds and then return 200 OK. Many network connections will drop after 60 seconds of no activity. * If you do not specify any of these errors, the API will return 200 OK.
41
- #
42
- # The Error Test API allows you to test whether your client program is capable of handling certain types of error codes. Developers writing libraries may find it useful to create integration tests that verify that their code can correctly detect the difference between a validation error resulting in a 400 error code, a network timeout resulting in a broken network connection, and a server error resulting in a 500 error code. You may use the Error Test API to verify that your code is able to identify and handle these cases correctly.
43
- #
44
- # @param err [string] The type of error test to execute. Supported error types: 500, timeout
45
- def error_test(err:)
46
- path = "/api/v1/Status/testing"
47
- params = {:err => err}
48
- @connection.request(:get, path, nil, params)
49
- end
50
36
  end
@@ -92,13 +92,14 @@ class WebhooksClient
92
92
  #
93
93
  #
94
94
  # @param webhook_id [uuid] The unique Lockstep Platform ID number of this Webhook
95
+ # @param include_param [string] To fetch additional data on this object, specify the list of elements to retrieve. Available collection: Records, RequestMessage, ResponseMessage
95
96
  # @param filter [string] The filter for this query. See [Azure Query Language](https://docs.microsoft.com/en-us/rest/api/storageservices/querying-tables-and-entities)
96
97
  # @param select [string] The selection for this query. Selection is the desired properties of an entity to pull from the set. If a property is not selected, it will either return as null or empty. See [Azure Query Language](https://docs.microsoft.com/en-us/rest/api/storageservices/querying-tables-and-entities)
97
98
  # @param page_size [int32] The page size for results (default 200).
98
99
  # @param page_number [int32] The page number for results (default 0).
99
- def query_webhook_history(webhook_id:, filter:, select:, page_size:, page_number:)
100
+ def query_webhook_history(webhook_id:, include_param:, filter:, select:, page_size:, page_number:)
100
101
  path = "/api/v1/Webhooks/#{webhookId}/history/query"
101
- params = {:filter => filter, :select => select, :pageSize => page_size, :pageNumber => page_number}
102
+ params = {:include => include_param, :filter => filter, :select => select, :pageSize => page_size, :pageNumber => page_number}
102
103
  @connection.request(:get, path, nil, params)
103
104
  end
104
105
 
@@ -9,7 +9,7 @@
9
9
  # @author Lockstep Network <support@lockstep.io>
10
10
  # Manish Narayan B S <manish.n@lockstep.io>, Rishi Rajkumar Jawahar <rjawahar@lockstep.io>
11
11
  # @copyright 2021-2022 Lockstep, Inc.
12
- # @version 2022.26.12
12
+ # @version 2022.33.14
13
13
  # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
14
14
  #
15
15
 
@@ -166,7 +166,7 @@ module lockstep_sdk
166
166
  #
167
167
  # @param env [string] Either "sbx", "prd", or the URI of the server, ending in a slash (/)
168
168
  def initialize(env)
169
- @version = "2022.26.12.0"
169
+ @version = "2022.33.14.0"
170
170
  @env = case env
171
171
  when "sbx"
172
172
  "https://api.sbx.lockstep.io/"
@@ -272,7 +272,7 @@ module lockstep_sdk
272
272
  request["Accept"] = 'application/json'
273
273
  request["Content-Type"] = 'application/*+json'
274
274
  request["SdkType"] = 'Ruby'
275
- request["SdkVersion"] = '2022.26.12.0'
275
+ request["SdkVersion"] = '2022.33.14.0'
276
276
  request["MachineName"] = Socket.gethostname
277
277
  request.body = body
278
278
 
@@ -0,0 +1,47 @@
1
+ #
2
+ # Lockstep Platform SDK 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 Lockstep Network <support@lockstep.io>
10
+ # @copyright 2021-2022 Lockstep, Inc.
11
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
12
+ #
13
+
14
+
15
+ require 'json'
16
+
17
+ module LockstepSdk
18
+
19
+ ##
20
+ # Information to reconnect an ERP.
21
+ class AppEnrollmentReconnectRequest
22
+
23
+ ##
24
+ # Initialize the AppEnrollmentReconnectRequest using the provided prototype
25
+ def initialize(params = {})
26
+ @auth_code = params.dig(:auth_code)
27
+ end
28
+
29
+ ##
30
+ # @return [String] The OAuth authentication code.
31
+ attr_accessor :auth_code
32
+
33
+ ##
34
+ # @return [object] This object as a JSON key-value structure
35
+ def as_json(options={})
36
+ {
37
+ 'authCode' => @auth_code,
38
+ }
39
+ end
40
+
41
+ ##
42
+ # @return [String] This object converted to a JSON string
43
+ def to_json(*options)
44
+ "[#{as_json(*options).to_json(*options)}]"
45
+ end
46
+ end
47
+ end
@@ -39,6 +39,9 @@ module LockstepSdk
39
39
  @custom_fields = params.dig(:custom_fields)
40
40
  @payments = params.dig(:payments)
41
41
  @payment_applications = params.dig(:payment_applications)
42
+ @financial_year_settings = params.dig(:financial_year_settings)
43
+ @financial_accounts = params.dig(:financial_accounts)
44
+ @financial_account_balance_histories = params.dig(:financial_account_balance_histories)
42
45
  end
43
46
 
44
47
  ##
@@ -73,6 +76,18 @@ module LockstepSdk
73
76
  # @return [PaymentAppliedSyncModel] A list of PaymentApplied records to merge with your Lockstep Platform data
74
77
  attr_accessor :payment_applications
75
78
 
79
+ ##
80
+ # @return [FinancialYearSettingSyncModel] A list of FinancialYearSetting records to merge with your Lockstep Platform data
81
+ attr_accessor :financial_year_settings
82
+
83
+ ##
84
+ # @return [FinancialAccountSyncModel] A list of FinancialAccount records to merge with your Lockstep Platform data
85
+ attr_accessor :financial_accounts
86
+
87
+ ##
88
+ # @return [FinancialAccountBalanceHistorySyncModel] A list of FinancialAccountBalanceHistory records to merge with your Lockstep Platform data
89
+ attr_accessor :financial_account_balance_histories
90
+
76
91
  ##
77
92
  # @return [object] This object as a JSON key-value structure
78
93
  def as_json(options={})
@@ -85,6 +100,9 @@ module LockstepSdk
85
100
  'customFields' => @custom_fields,
86
101
  'payments' => @payments,
87
102
  'paymentApplications' => @payment_applications,
103
+ 'financialYearSettings' => @financial_year_settings,
104
+ 'financialAccounts' => @financial_accounts,
105
+ 'financialAccountBalanceHistories' => @financial_account_balance_histories,
88
106
  }
89
107
  end
90
108
 
@@ -64,6 +64,7 @@ module LockstepSdk
64
64
  @description = params.dig(:description)
65
65
  @website = params.dig(:website)
66
66
  @app_enrollment_id = params.dig(:app_enrollment_id)
67
+ @email_address = params.dig(:email_address)
67
68
  @notes = params.dig(:notes)
68
69
  @attachments = params.dig(:attachments)
69
70
  @contacts = params.dig(:contacts)
@@ -221,6 +222,10 @@ module LockstepSdk
221
222
  # @return [Uuid] The AppEnrollmentId of the application that imported this record. For accounts with more than one financial system connected, this field identifies the originating financial system that produced this record. This value is null if this record was not loaded from an external ERP or financial system.
222
223
  attr_accessor :app_enrollment_id
223
224
 
225
+ ##
226
+ # @return [Email] Company Email Address
227
+ attr_accessor :email_address
228
+
224
229
  ##
225
230
  # @return [NoteModel] A collection of notes linked to this record. To retrieve this collection, specify `Notes` in the `include` parameter when retrieving data. To create a note, use the [Create Note](https://developer.lockstep.io/reference/post_api-v1-notes) endpoint with the `TableKey` to `Company` and the `ObjectKey` set to the `CompanyId` for this record. For more information on extensibility, see [linking extensible metadata to objects](https://developer.lockstep.io/docs/custom-fields#linking-metadata-to-an-object).
226
231
  attr_accessor :notes
@@ -290,6 +295,7 @@ module LockstepSdk
290
295
  'description' => @description,
291
296
  'website' => @website,
292
297
  'appEnrollmentId' => @app_enrollment_id,
298
+ 'emailAddress' => @email_address,
293
299
  'notes' => @notes,
294
300
  'attachments' => @attachments,
295
301
  'contacts' => @contacts,
@@ -31,6 +31,7 @@ module LockstepSdk
31
31
  ##
32
32
  # Initialize the CompanySyncModel using the provided prototype
33
33
  def initialize(params = {})
34
+ @on_match_action = params.dig(:on_match_action)
34
35
  @erp_key = params.dig(:erp_key)
35
36
  @company_name = params.dig(:company_name)
36
37
  @company_type = params.dig(:company_type)
@@ -56,9 +57,14 @@ module LockstepSdk
56
57
  @ap_email_address = params.dig(:ap_email_address)
57
58
  @ar_email_address = params.dig(:ar_email_address)
58
59
  @preferred_delivery_method = params.dig(:preferred_delivery_method)
60
+ @email_address = params.dig(:email_address)
59
61
  @external_reference = params.dig(:external_reference)
60
62
  end
61
63
 
64
+ ##
65
+ # @return [UpdateAction] Indicates what action to take when a sync model has been found during the sync process.
66
+ attr_accessor :on_match_action
67
+
62
68
  ##
63
69
  # @return [String] This is the primary key of the Company record. For this field, you should use whatever the company's unique identifying number is in the originating system. Search for a unique, non-changing number within the originating financial system for this record. Example: If you store your company records in a database, whatever the primary key for the company table is in the database should be the `ErpKey`. Example: If you use a financial system such as Quickbooks or Xero, look for the primary ID number of the company record within that financial system. For more information, see [Identity Columns](https://developer.lockstep.io/docs/identity-columns).
64
70
  attr_accessor :erp_key
@@ -84,7 +90,7 @@ module LockstepSdk
84
90
  attr_accessor :is_active
85
91
 
86
92
  ##
87
- # @return [String] The default currency code for transactions related to this company. For a list of currency codes, see [Query Currencies](https://developer.lockstep.io/reference/get_api-v1-definitions-currencies). This will be validated by the /api/v1/definitions/currencies data set
93
+ # @return [String] The default currency code for transactions related to this company. For a list of currency codes, see [Query Currencies](https://developer.lockstep.io/reference/get_api-v1-definitions-currencies).
88
94
  attr_accessor :default_currency_code
89
95
 
90
96
  ##
@@ -159,6 +165,10 @@ module LockstepSdk
159
165
  # @return [String] Indicates the preferred invoice delivery method. Examples include Print, Email, Fax
160
166
  attr_accessor :preferred_delivery_method
161
167
 
168
+ ##
169
+ # @return [String] The company email address.
170
+ attr_accessor :email_address
171
+
162
172
  ##
163
173
  # @return [String] An external reference that identifies the Company from the originating ERP system, separate from the ErpKey.
164
174
  attr_accessor :external_reference
@@ -167,6 +177,7 @@ module LockstepSdk
167
177
  # @return [object] This object as a JSON key-value structure
168
178
  def as_json(options={})
169
179
  {
180
+ 'onMatchAction' => @on_match_action,
170
181
  'erpKey' => @erp_key,
171
182
  'companyName' => @company_name,
172
183
  'companyType' => @company_type,
@@ -192,6 +203,7 @@ module LockstepSdk
192
203
  'apEmailAddress' => @ap_email_address,
193
204
  'arEmailAddress' => @ar_email_address,
194
205
  'preferredDeliveryMethod' => @preferred_delivery_method,
206
+ 'emailAddress' => @email_address,
195
207
  'externalReference' => @external_reference,
196
208
  }
197
209
  end
@@ -44,6 +44,8 @@ module LockstepSdk
44
44
  @notes = params.dig(:notes)
45
45
  @custom_field_definitions = params.dig(:custom_field_definitions)
46
46
  @custom_field_values = params.dig(:custom_field_values)
47
+ @credit_memo_invoice = params.dig(:credit_memo_invoice)
48
+ @invoice = params.dig(:invoice)
47
49
  end
48
50
 
49
51
  ##
@@ -114,6 +116,14 @@ module LockstepSdk
114
116
  # @return [CustomFieldValueModel] A collection of custom fields linked to this record. To retrieve this collection, specify `CustomFieldValues` in the `include` parameter when retrieving data. To create a custom field, use the [Create Custom Field](https://developer.lockstep.io/reference/post_api-v1-customfieldvalues) endpoint with the `TableKey` to `CreditMemoApplied` and the `ObjectKey` set to the `CreditMemoAppliedId` for this record. For more information on extensibility, see [linking extensible metadata to objects](https://developer.lockstep.io/docs/custom-fields#linking-metadata-to-an-object).
115
117
  attr_accessor :custom_field_values
116
118
 
119
+ ##
120
+ # @return [InvoiceModel] The credit memo invoice associated with this applied credit memo
121
+ attr_accessor :credit_memo_invoice
122
+
123
+ ##
124
+ # @return [InvoiceModel] The invoice associated with this applied credit memo
125
+ attr_accessor :invoice
126
+
117
127
  ##
118
128
  # @return [object] This object as a JSON key-value structure
119
129
  def as_json(options={})
@@ -135,6 +145,8 @@ module LockstepSdk
135
145
  'notes' => @notes,
136
146
  'customFieldDefinitions' => @custom_field_definitions,
137
147
  'customFieldValues' => @custom_field_values,
148
+ 'creditMemoInvoice' => @credit_memo_invoice,
149
+ 'invoice' => @invoice,
138
150
  }
139
151
  end
140
152
 
@@ -23,7 +23,7 @@ module LockstepSdk
23
23
  # information about an object that does not match Lockstep's official schema, you can store it in the Custom
24
24
  # Field system using CustomFieldSyncModel.
25
25
  #
26
- # To store a custom field for an object, create a CustomFieldSyncModel record containing the `EntityType` and
26
+ # To store a custom field for an object, create a CustomFieldSyncModel record containing the `TableKey` and
27
27
  # `ErpKey` of the entity to which you will attach a custom field. Next specify the field's `CustomFieldLabel`
28
28
  # and either a `StringValue` or `NumericValue`.
29
29
  #
@@ -36,7 +36,7 @@ module LockstepSdk
36
36
  # Initialize the CustomFieldSyncModel using the provided prototype
37
37
  def initialize(params = {})
38
38
  @erp_key = params.dig(:erp_key)
39
- @entity_type = params.dig(:entity_type)
39
+ @table_key = params.dig(:table_key)
40
40
  @custom_field_label = params.dig(:custom_field_label)
41
41
  @string_value = params.dig(:string_value)
42
42
  @numeric_value = params.dig(:numeric_value)
@@ -46,12 +46,12 @@ module LockstepSdk
46
46
  end
47
47
 
48
48
  ##
49
- # @return [String] This is the primary key of the record to which you will attach this custom field. You should provide the identifying number as it is stored in the originating financial system. Search for a unique, non-changing number within the originating financial system for this record. Custom Fields are identified by the `EntityType` and `ErpKey` values together. Example: You have an invoice whose ID number is 100047878, and you wish to store a custom field on that invoice named "ApprovalStatusCode". For the `ErpKey` field, specify the value `100047878`. For more information, see [Identity Columns](https://developer.lockstep.io/docs/identity-columns).
49
+ # @return [String] This is the primary key of the record to which you will attach this custom field. You should provide the identifying number as it is stored in the originating financial system. Search for a unique, non-changing number within the originating financial system for this record. Custom Fields are identified by the `TableKey` and `ErpKey` values together. Example: You have an invoice whose ID number is 100047878, and you wish to store a custom field on that invoice named "ApprovalStatusCode". For the `ErpKey` field, specify the value `100047878`. For more information, see [Identity Columns](https://developer.lockstep.io/docs/identity-columns).
50
50
  attr_accessor :erp_key
51
51
 
52
52
  ##
53
- # @return [String] Custom Fields are identified by the `EntityType` and `ErpKey` values together. Example: You have an invoice whose ID number is 100047878, and you wish to store a custom field on that invoice named "ApprovalStatusCode". For the `EntityType` field, specify the value `Invoice`. Recognized types include: * `Company` - Link this custom field to a CompanySyncModel * `Contact` - Link this custom field to a ContactSyncModel * `Invoice` - Link this custom field to an InvoiceSyncModel * `InvoiceLine` - Link this custom field to an InvoiceLineSyncModel * `Payment` - Link this custom field to a PaymentSyncModel
54
- attr_accessor :entity_type
53
+ # @return [String] Custom Fields are identified by the `TableKey` and `ErpKey` values together. Example: You have an invoice whose ID number is 100047878, and you wish to store a custom field on that invoice named "ApprovalStatusCode". For the `TableKey` field, specify the value `Invoice`. Recognized types include: * `Company` - Link this custom field to a CompanySyncModel * `Contact` - Link this custom field to a ContactSyncModel * `Invoice` - Link this custom field to an InvoiceSyncModel * `InvoiceLine` - Link this custom field to an InvoiceLineSyncModel * `Payment` - Link this custom field to a PaymentSyncModel
54
+ attr_accessor :table_key
55
55
 
56
56
  ##
57
57
  # @return [String] A label that uniquely identifies this custom field within your software. Example: You have an invoice whose ID number is 100047878, and you wish to store a custom field on that invoice named "ApprovalStatusCode". For the `CustomFieldLabel` field, specify the value `ApprovalStatusCode`.
@@ -82,7 +82,7 @@ module LockstepSdk
82
82
  def as_json(options={})
83
83
  {
84
84
  'erpKey' => @erp_key,
85
- 'entityType' => @entity_type,
85
+ 'tableKey' => @table_key,
86
86
  'customFieldLabel' => @custom_field_label,
87
87
  'stringValue' => @string_value,
88
88
  'numericValue' => @numeric_value,
@@ -27,6 +27,7 @@ module LockstepSdk
27
27
  @company_id = params.dig(:company_id)
28
28
  @company_name = params.dig(:company_name)
29
29
  @primary_contact = params.dig(:primary_contact)
30
+ @app_enrollment_id = params.dig(:app_enrollment_id)
30
31
  @outstanding_invoices = params.dig(:outstanding_invoices)
31
32
  @total_invoices_open = params.dig(:total_invoices_open)
32
33
  @total_invoices_past_due = params.dig(:total_invoices_past_due)
@@ -62,6 +63,10 @@ module LockstepSdk
62
63
  # @return [String] The name of the primary contact.
63
64
  attr_accessor :primary_contact
64
65
 
66
+ ##
67
+ # @return [Uuid] The app enrollment ID this Customer is associated with
68
+ attr_accessor :app_enrollment_id
69
+
65
70
  ##
66
71
  # @return [Int32] The number of outstanding invoices for this customer.
67
72
  attr_accessor :outstanding_invoices
@@ -138,6 +143,7 @@ module LockstepSdk
138
143
  'companyId' => @company_id,
139
144
  'companyName' => @company_name,
140
145
  'primaryContact' => @primary_contact,
146
+ 'appEnrollmentId' => @app_enrollment_id,
141
147
  'outstandingInvoices' => @outstanding_invoices,
142
148
  'totalInvoicesOpen' => @total_invoices_open,
143
149
  'totalInvoicesPastDue' => @total_invoices_past_due,
@@ -0,0 +1,100 @@
1
+ #
2
+ # Lockstep Platform SDK 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 Lockstep Network <support@lockstep.io>
10
+ # @copyright 2021-2022 Lockstep, Inc.
11
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
12
+ #
13
+
14
+
15
+ require 'json'
16
+
17
+ module LockstepSdk
18
+
19
+ ##
20
+ # The FinancialAccountBalanceHistorySyncModel represents information coming into Lockstep from an external financial system or other
21
+ # enterprise resource planning system. To import data from an external system, convert your original data into
22
+ # the FinancialAccountBalanceHistorySyncModel format and call the [Upload Sync File API](https://developer.lockstep.io/reference/post_api-v1-sync-zip).
23
+ # This API retrieves all of the data you uploaded in a compressed ZIP file and imports it into the Lockstep
24
+ # platform.
25
+ #
26
+ # If the FinancialAccountBalanceHistorySyncModels are imported via a connector instead, please ensure that all records are passed in
27
+ # on every sync. Records that are not passed in will be assumed to be deleted.
28
+ #
29
+ # Once imported, this record will be available in the Lockstep API as a [FinancialAccountBalanceHistoryModel](https://developer.lockstep.io/docs/financialaccountbalancehistorymodel).
30
+ #
31
+ # For more information on writing your own connector, see [Connector Data](https://developer.lockstep.io/docs/connector-data).
32
+ class FinancialAccountBalanceHistorySyncModel
33
+
34
+ ##
35
+ # Initialize the FinancialAccountBalanceHistorySyncModel using the provided prototype
36
+ def initialize(params = {})
37
+ @financial_account_code = params.dig(:financial_account_code)
38
+ @financial_account_erp_key = params.dig(:financial_account_erp_key)
39
+ @financial_year = params.dig(:financial_year)
40
+ @period_number = params.dig(:period_number)
41
+ @period_start_date = params.dig(:period_start_date)
42
+ @period_end_date = params.dig(:period_end_date)
43
+ @status = params.dig(:status)
44
+ @balance = params.dig(:balance)
45
+ end
46
+
47
+ ##
48
+ # @return [String] The code for the Financial Account. Can either be a general ledger or an account code.
49
+ attr_accessor :financial_account_code
50
+
51
+ ##
52
+ # @return [String] This is the primary key of the FinancialAccount record. For this field, you should use whatever the company's unique identifying number is in the originating system. Search for a unique, non-changing number within the originating financial system for this record. Example: If you store your company records in a database, whatever the primary key for the company table is in the database should be the ErpKey. Example: If you use a financial system such as Quickbooks or Xero, look for the primary ID number of the company record within that financial system.
53
+ attr_accessor :financial_account_erp_key
54
+
55
+ ##
56
+ # @return [Int32] The financial year that this period falls under
57
+ attr_accessor :financial_year
58
+
59
+ ##
60
+ # @return [Int32] The period number (1-12 or 1-13) that this balance history is for
61
+ attr_accessor :period_number
62
+
63
+ ##
64
+ # @return [Date-time] The start date of this period.
65
+ attr_accessor :period_start_date
66
+
67
+ ##
68
+ # @return [Date-time] The end date of this period.
69
+ attr_accessor :period_end_date
70
+
71
+ ##
72
+ # @return [String] The status of this period. The status should be Closed if the books for this period have been closed, if not the status should be Open. The status can also be Deleted if there was a recalculation that needed to occur, for example due to a change in financial year settings.
73
+ attr_accessor :status
74
+
75
+ ##
76
+ # @return [Double] The current or end balance of this period.
77
+ attr_accessor :balance
78
+
79
+ ##
80
+ # @return [object] This object as a JSON key-value structure
81
+ def as_json(options={})
82
+ {
83
+ 'financialAccountCode' => @financial_account_code,
84
+ 'financialAccountErpKey' => @financial_account_erp_key,
85
+ 'financialYear' => @financial_year,
86
+ 'periodNumber' => @period_number,
87
+ 'periodStartDate' => @period_start_date,
88
+ 'periodEndDate' => @period_end_date,
89
+ 'status' => @status,
90
+ 'balance' => @balance,
91
+ }
92
+ end
93
+
94
+ ##
95
+ # @return [String] This object converted to a JSON string
96
+ def to_json(*options)
97
+ "[#{as_json(*options).to_json(*options)}]"
98
+ end
99
+ end
100
+ end
@@ -0,0 +1,103 @@
1
+ #
2
+ # Lockstep Platform SDK 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 Lockstep Network <support@lockstep.io>
10
+ # @copyright 2021-2022 Lockstep, Inc.
11
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
12
+ #
13
+
14
+
15
+ require 'json'
16
+
17
+ module LockstepSdk
18
+
19
+ ##
20
+ # The FinancialAccountSyncModel represents information coming into Lockstep from an external financial system or other
21
+ # enterprise resource planning system. To import data from an external system, convert your original data into
22
+ # the FinancialAccountSyncModel format and call the [Upload Sync File API](https://developer.lockstep.io/reference/post_api-v1-sync-zip).
23
+ # This API retrieves all of the data you uploaded in a compressed ZIP file and imports it into the Lockstep
24
+ # platform.
25
+ #
26
+ # Once imported, this record will be available in the Lockstep API as a [FinancialAccountModel](https://developer.lockstep.io/docs/financialaccountmodel).
27
+ #
28
+ # For more information on writing your own connector, see [Connector Data](https://developer.lockstep.io/docs/connector-data).
29
+ class FinancialAccountSyncModel
30
+
31
+ ##
32
+ # Initialize the FinancialAccountSyncModel using the provided prototype
33
+ def initialize(params = {})
34
+ @code = params.dig(:code)
35
+ @erp_key = params.dig(:erp_key)
36
+ @name = params.dig(:name)
37
+ @status = params.dig(:status)
38
+ @cashflow_type = params.dig(:cashflow_type)
39
+ @description = params.dig(:description)
40
+ @classification = params.dig(:classification)
41
+ @category = params.dig(:category)
42
+ @subcategory = params.dig(:subcategory)
43
+ end
44
+
45
+ ##
46
+ # @return [String] The code for the Financial Account. Can either be a general ledger or an account code.
47
+ attr_accessor :code
48
+
49
+ ##
50
+ # @return [String] The External Id for the Financial Account.
51
+ attr_accessor :erp_key
52
+
53
+ ##
54
+ # @return [String] The name of the Financial Account.
55
+ attr_accessor :name
56
+
57
+ ##
58
+ # @return [String] The status of the Financial Account. Possible values are active, inactive, deleted or archived.
59
+ attr_accessor :status
60
+
61
+ ##
62
+ # @return [String] The cashflow type for the Financial Account. Examples include cash, financing, investment or operation.
63
+ attr_accessor :cashflow_type
64
+
65
+ ##
66
+ # @return [String] The description for the Financial Account.
67
+ attr_accessor :description
68
+
69
+ ##
70
+ # @return [String] The classification for the Financial Account. Possible values are Asset, Equity, Expense, Liability or Income.
71
+ attr_accessor :classification
72
+
73
+ ##
74
+ # @return [String] The category for the Financial Account. Examples include Current Asset, Current Liability, Common Stock
75
+ attr_accessor :category
76
+
77
+ ##
78
+ # @return [String] The subcategory for the Financial Account. Examples include Cash, Property, Bank Loan, etc.
79
+ attr_accessor :subcategory
80
+
81
+ ##
82
+ # @return [object] This object as a JSON key-value structure
83
+ def as_json(options={})
84
+ {
85
+ 'code' => @code,
86
+ 'erpKey' => @erp_key,
87
+ 'name' => @name,
88
+ 'status' => @status,
89
+ 'cashflowType' => @cashflow_type,
90
+ 'description' => @description,
91
+ 'classification' => @classification,
92
+ 'category' => @category,
93
+ 'subcategory' => @subcategory,
94
+ }
95
+ end
96
+
97
+ ##
98
+ # @return [String] This object converted to a JSON string
99
+ def to_json(*options)
100
+ "[#{as_json(*options).to_json(*options)}]"
101
+ end
102
+ end
103
+ end
@@ -0,0 +1,75 @@
1
+ #
2
+ # Lockstep Platform SDK 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 Lockstep Network <support@lockstep.io>
10
+ # @copyright 2021-2022 Lockstep, Inc.
11
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
12
+ #
13
+
14
+
15
+ require 'json'
16
+
17
+ module LockstepSdk
18
+
19
+ ##
20
+ # The FinancialYearSettingSyncModel represents information coming into Lockstep from an external financial system or other
21
+ # enterprise resource planning system. To import data from an external system, convert your original data into
22
+ # the FinancialYearSettingSyncModel format and call the [Upload Sync File API](https://developer.lockstep.io/reference/post_api-v1-sync-zip).
23
+ # This API retrieves all of the data you uploaded in a compressed ZIP file and imports it into the Lockstep
24
+ # platform.
25
+ #
26
+ # Once imported, this record will be available in the Lockstep API as a [FinancialYearSettingModel](https://developer.lockstep.io/docs/financialyearsettingmodel).
27
+ # Sync is supported for only one FinancialYearSetting per app enrollment and one FinancialYearSetting imported outside of
28
+ # an app enrollment - please submit only one model here. If multiple models are submitted, only the latest one is considered for Sync.
29
+ #
30
+ # For more information on writing your own connector, see [Connector Data](https://developer.lockstep.io/docs/connector-data).
31
+ class FinancialYearSettingSyncModel
32
+
33
+ ##
34
+ # Initialize the FinancialYearSettingSyncModel using the provided prototype
35
+ def initialize(params = {})
36
+ @year_type = params.dig(:year_type)
37
+ @total_periods = params.dig(:total_periods)
38
+ @start_date = params.dig(:start_date)
39
+ @end_date = params.dig(:end_date)
40
+ end
41
+
42
+ ##
43
+ # @return [String] The type of financial year, either Calendar or Fiscal.
44
+ attr_accessor :year_type
45
+
46
+ ##
47
+ # @return [Int32] Total number of periods in the year. For Calendar year types this should always be 12. For Fiscal year types this can either be 12 or 13 for a 4 week 13 period year.
48
+ attr_accessor :total_periods
49
+
50
+ ##
51
+ # @return [String] The start date of the financial year. Should be entered in MM-DD format.
52
+ attr_accessor :start_date
53
+
54
+ ##
55
+ # @return [String] The end date of the financial year. Should be entered in MM-DD format.
56
+ attr_accessor :end_date
57
+
58
+ ##
59
+ # @return [object] This object as a JSON key-value structure
60
+ def as_json(options={})
61
+ {
62
+ 'yearType' => @year_type,
63
+ 'totalPeriods' => @total_periods,
64
+ 'startDate' => @start_date,
65
+ 'endDate' => @end_date,
66
+ }
67
+ end
68
+
69
+ ##
70
+ # @return [String] This object converted to a JSON string
71
+ def to_json(*options)
72
+ "[#{as_json(*options).to_json(*options)}]"
73
+ end
74
+ end
75
+ end
@@ -132,7 +132,7 @@ module LockstepSdk
132
132
  attr_accessor :special_terms
133
133
 
134
134
  ##
135
- # @return [String] The three-character ISO 4217 currency code used for this invoice. This will be validated by the /api/v1/definitions/currencies data set
135
+ # @return [String] The three-character ISO 4217 currency code used for this invoice.
136
136
  attr_accessor :currency_code
137
137
 
138
138
  ##
@@ -90,7 +90,7 @@ module LockstepSdk
90
90
  attr_accessor :unapplied_amount
91
91
 
92
92
  ##
93
- # @return [String] The ISO 4217 currency code for this payment. For a list of ISO 4217 currency codes, see [Query Currencies](https://developer.lockstep.io/reference/get_api-v1-definitions-currencies). This will be validated by the /api/v1/definitions/currencies data set
93
+ # @return [String] The ISO 4217 currency code for this payment. For a list of ISO 4217 currency codes, see [Query Currencies](https://developer.lockstep.io/reference/get_api-v1-definitions-currencies).
94
94
  attr_accessor :currency_code
95
95
 
96
96
  ##
@@ -34,6 +34,7 @@ module LockstepSdk
34
34
  @group_key = params.dig(:group_key)
35
35
  @status_code = params.dig(:status_code)
36
36
  @process_result_message = params.dig(:process_result_message)
37
+ @run_full_sync = params.dig(:run_full_sync)
37
38
  @app_enrollment_id = params.dig(:app_enrollment_id)
38
39
  @created = params.dig(:created)
39
40
  @modified = params.dig(:modified)
@@ -57,6 +58,10 @@ module LockstepSdk
57
58
  # @return [String] Message containing information about the sync request results
58
59
  attr_accessor :process_result_message
59
60
 
61
+ ##
62
+ # @return [String] A boolean indicating whether a sync from an ERP system should process all the data from the ERP as opposed to just the delta of changes since the previous sync run
63
+ attr_accessor :run_full_sync
64
+
60
65
  ##
61
66
  # @return [Uuid] The AppEnrollmentId of the AppEnrollment object that executed this sync request
62
67
  attr_accessor :app_enrollment_id
@@ -85,6 +90,7 @@ module LockstepSdk
85
90
  'groupKey' => @group_key,
86
91
  'statusCode' => @status_code,
87
92
  'processResultMessage' => @process_result_message,
93
+ 'runFullSync' => @run_full_sync,
88
94
  'appEnrollmentId' => @app_enrollment_id,
89
95
  'created' => @created,
90
96
  'modified' => @modified,
@@ -32,17 +32,23 @@ module LockstepSdk
32
32
  # Initialize the SyncSubmitModel using the provided prototype
33
33
  def initialize(params = {})
34
34
  @app_enrollment_id = params.dig(:app_enrollment_id)
35
+ @run_full_sync = params.dig(:run_full_sync)
35
36
  end
36
37
 
37
38
  ##
38
39
  # @return [Uuid] The unique identifier of the app enrollment that is creating this sync request.
39
40
  attr_accessor :app_enrollment_id
40
41
 
42
+ ##
43
+ # @return [Boolean] A boolean indicating whether a sync from an ERP system should process all the data from the ERP as opposed to just the delta of changes since the previous sync run. For the Demo Data Connector, setting this to True refreshes the data with new dates as opposed to leaving it unchanged.
44
+ attr_accessor :run_full_sync
45
+
41
46
  ##
42
47
  # @return [object] This object as a JSON key-value structure
43
48
  def as_json(options={})
44
49
  {
45
50
  'appEnrollmentId' => @app_enrollment_id,
51
+ 'runFullSync' => @run_full_sync,
46
52
  }
47
53
  end
48
54
 
@@ -40,6 +40,7 @@ module LockstepSdk
40
40
  @open_bill_count = params.dig(:open_bill_count)
41
41
  @paid_bill_count = params.dig(:paid_bill_count)
42
42
  @total_bill_count = params.dig(:total_bill_count)
43
+ @dpo = params.dig(:dpo)
43
44
  end
44
45
 
45
46
  ##
@@ -110,6 +111,10 @@ module LockstepSdk
110
111
  # @return [Int32] The total count of open and closed bills.
111
112
  attr_accessor :total_bill_count
112
113
 
114
+ ##
115
+ # @return [Double] The days payabale outstanding.
116
+ attr_accessor :dpo
117
+
113
118
  ##
114
119
  # @return [object] This object as a JSON key-value structure
115
120
  def as_json(options={})
@@ -131,6 +136,7 @@ module LockstepSdk
131
136
  'openBillCount' => @open_bill_count,
132
137
  'paidBillCount' => @paid_bill_count,
133
138
  'totalBillCount' => @total_bill_count,
139
+ 'dpo' => @dpo,
134
140
  }
135
141
  end
136
142
 
@@ -33,6 +33,9 @@ module LockstepSdk
33
33
  @process_result_message = params.dig(:process_result_message)
34
34
  @failure_count = params.dig(:failure_count)
35
35
  @timestamp = params.dig(:timestamp)
36
+ @records = params.dig(:records)
37
+ @request_message = params.dig(:request_message)
38
+ @response_message = params.dig(:response_message)
36
39
  end
37
40
 
38
41
  ##
@@ -75,6 +78,18 @@ module LockstepSdk
75
78
  # @return [Date-time] Timestamp of when a request is sent to a webhook callback. Contains the last time message is sent if failures occur.
76
79
  attr_accessor :timestamp
77
80
 
81
+ ##
82
+ # @return [String] The records sent with the webhook.
83
+ attr_accessor :records
84
+
85
+ ##
86
+ # @return [String] The request message sent with the webhook.
87
+ attr_accessor :request_message
88
+
89
+ ##
90
+ # @return [String] The response received back from the webhook.
91
+ attr_accessor :response_message
92
+
78
93
  ##
79
94
  # @return [object] This object as a JSON key-value structure
80
95
  def as_json(options={})
@@ -89,6 +104,9 @@ module LockstepSdk
89
104
  'processResultMessage' => @process_result_message,
90
105
  'failureCount' => @failure_count,
91
106
  'timestamp' => @timestamp,
107
+ 'records' => @records,
108
+ 'requestMessage' => @request_message,
109
+ 'responseMessage' => @response_message,
92
110
  }
93
111
  end
94
112
 
@@ -20,8 +20,7 @@ module LockstepSdk
20
20
  # A Webhook is a subscription to receive notifications automatically to the supplied
21
21
  # callback url when changes are made to a supported object.
22
22
  #
23
- # Currently supported objects:
24
- # * `SyncRequest` - Receive a notification when a new sync request has completed for the group key.
23
+ # You will need to create at least one Webhook rule to receive notifications when a specific type of object is inserted, deleted, or updated.
25
24
  class WebhookModel
26
25
 
27
26
  ##
@@ -87,7 +86,7 @@ module LockstepSdk
87
86
  attr_accessor :expiration_date
88
87
 
89
88
  ##
90
- # @return [Int32] The amount of times a notification should be retried before marking the webhook as errored.
89
+ # @return [Int32] The amount of consecutive failed notifications, not including the current attempt, before marking the webhook as errored (i.e. if the value is set to 0, the webhook will be marked errored on the first failure, if the value is set to 1 the webhook will be marked errored on the second failure, and so on). Use -1 to never mark the webhook as errored due to failures.
91
90
  attr_accessor :retry_count
92
91
 
93
92
  ##
@@ -17,10 +17,10 @@ require 'json'
17
17
  module LockstepSdk
18
18
 
19
19
  ##
20
- # A Webhook Rule is a subscription to receive notifications automatically for
20
+ # A Webhook Rule is a subscription to receive notifications whenever a specific event occurs.
21
21
  #
22
- # Currently supported objects:
23
- # * `SyncRequest` - Receive a notification when a new sync request has completed for the group key.
22
+ # With the rule, you specify the Table and event you want to subscribe to.
23
+ # You can also optionally specify a filter to further refine the updates you want to receive.
24
24
  class WebhookRuleModel
25
25
 
26
26
  ##
@@ -31,9 +31,7 @@ module LockstepSdk
31
31
  @group_key = params.dig(:group_key)
32
32
  @table_key = params.dig(:table_key)
33
33
  @event_type = params.dig(:event_type)
34
- @expiration_date = params.dig(:expiration_date)
35
34
  @filter = params.dig(:filter)
36
- @request_content_type = params.dig(:request_content_type)
37
35
  @created = params.dig(:created)
38
36
  @created_user_id = params.dig(:created_user_id)
39
37
  @modified = params.dig(:modified)
@@ -61,17 +59,9 @@ module LockstepSdk
61
59
  attr_accessor :event_type
62
60
 
63
61
  ##
64
- # @return [Date-time] The expiration date for the given webhook subscription. Once the expiration date passes, notifications will no longer be sent to the callback url.
65
- attr_accessor :expiration_date
66
-
67
- ##
68
- # @return [String] The filter for this webhook rule (if necessary) . See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
62
+ # @return [String] An optional Searchlight filter for this webhook rule. See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
69
63
  attr_accessor :filter
70
64
 
71
- ##
72
- # @return [String] The format of the content to be returned in the webhook notifications. Current options are 'Full' or 'Id'.
73
- attr_accessor :request_content_type
74
-
75
65
  ##
76
66
  # @return [Date-time] The date this webhook rule was created
77
67
  attr_accessor :created
@@ -97,9 +87,7 @@ module LockstepSdk
97
87
  'groupKey' => @group_key,
98
88
  'tableKey' => @table_key,
99
89
  'eventType' => @event_type,
100
- 'expirationDate' => @expiration_date,
101
90
  'filter' => @filter,
102
- 'requestContentType' => @request_content_type,
103
91
  'created' => @created,
104
92
  'createdUserId' => @created_user_id,
105
93
  'modified' => @modified,
@@ -1,3 +1,3 @@
1
1
  module LockstepSdk
2
- VERSION = "2022.26.12.0"
2
+ VERSION = "2022.33.14.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lockstep_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 2022.26.12.0
4
+ version: 2022.33.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lockstep
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-05 00:00:00.000000000 Z
11
+ date: 2022-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: awrence
@@ -75,6 +75,7 @@ files:
75
75
  - lib/lockstep_sdk/models/api_key_model.rb
76
76
  - lib/lockstep_sdk/models/app_enrollment_custom_field_model.rb
77
77
  - lib/lockstep_sdk/models/app_enrollment_model.rb
78
+ - lib/lockstep_sdk/models/app_enrollment_reconnect_request.rb
78
79
  - lib/lockstep_sdk/models/application_model.rb
79
80
  - lib/lockstep_sdk/models/ar_aging_header_info_model.rb
80
81
  - lib/lockstep_sdk/models/ar_header_info_model.rb
@@ -112,11 +113,14 @@ files:
112
113
  - lib/lockstep_sdk/models/erp_model.rb
113
114
  - lib/lockstep_sdk/models/error_result.rb
114
115
  - lib/lockstep_sdk/models/financial_account_balance_history_model.rb
116
+ - lib/lockstep_sdk/models/financial_account_balance_history_sync_model.rb
115
117
  - lib/lockstep_sdk/models/financial_account_model.rb
118
+ - lib/lockstep_sdk/models/financial_account_sync_model.rb
116
119
  - lib/lockstep_sdk/models/financial_report_cell_model.rb
117
120
  - lib/lockstep_sdk/models/financial_report_model.rb
118
121
  - lib/lockstep_sdk/models/financial_report_row_model.rb
119
122
  - lib/lockstep_sdk/models/financial_year_setting_model.rb
123
+ - lib/lockstep_sdk/models/financial_year_setting_sync_model.rb
120
124
  - lib/lockstep_sdk/models/group_account_model.rb
121
125
  - lib/lockstep_sdk/models/invite_data_model.rb
122
126
  - lib/lockstep_sdk/models/invite_model.rb