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.
- checksums.yaml +4 -4
- data/lib/lockstep_sdk/clients/app_enrollments_client.rb +7 -5
- data/lib/lockstep_sdk/clients/companies_client.rb +22 -4
- data/lib/lockstep_sdk/clients/credit_memo_applied_client.rb +1 -1
- data/lib/lockstep_sdk/clients/reports_client.rb +4 -2
- data/lib/lockstep_sdk/clients/status_client.rb +0 -14
- data/lib/lockstep_sdk/clients/webhooks_client.rb +3 -2
- data/lib/lockstep_sdk/lockstep_api.rb +3 -3
- data/lib/lockstep_sdk/models/app_enrollment_reconnect_request.rb +47 -0
- data/lib/lockstep_sdk/models/batch_sync_model.rb +18 -0
- data/lib/lockstep_sdk/models/company_model.rb +6 -0
- data/lib/lockstep_sdk/models/company_sync_model.rb +13 -1
- data/lib/lockstep_sdk/models/credit_memo_applied_model.rb +12 -0
- data/lib/lockstep_sdk/models/custom_field_sync_model.rb +6 -6
- data/lib/lockstep_sdk/models/customer_summary_model.rb +6 -0
- data/lib/lockstep_sdk/models/financial_account_balance_history_sync_model.rb +100 -0
- data/lib/lockstep_sdk/models/financial_account_sync_model.rb +103 -0
- data/lib/lockstep_sdk/models/financial_year_setting_sync_model.rb +75 -0
- data/lib/lockstep_sdk/models/invoice_sync_model.rb +1 -1
- data/lib/lockstep_sdk/models/payment_sync_model.rb +1 -1
- data/lib/lockstep_sdk/models/sync_request_model.rb +6 -0
- data/lib/lockstep_sdk/models/sync_submit_model.rb +6 -0
- data/lib/lockstep_sdk/models/vendor_summary_model.rb +6 -0
- data/lib/lockstep_sdk/models/webhook_history_table_storage_model.rb +18 -0
- data/lib/lockstep_sdk/models/webhook_model.rb +2 -3
- data/lib/lockstep_sdk/models/webhook_rule_model.rb +4 -16
- data/lib/lockstep_sdk/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ff91eee944f6ed1299763d2652ae74b4cd0dde8ae9b0df52e682d014f7dc34f9
|
4
|
+
data.tar.gz: 47ec24af6e5b7282423ca45b5949a677fc5c22064761fb9a646f22aa806db59f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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 [
|
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(:
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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.
|
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.
|
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.
|
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).
|
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 `
|
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
|
-
@
|
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 `
|
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 `
|
54
|
-
attr_accessor :
|
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
|
-
'
|
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.
|
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).
|
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
|
-
#
|
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
|
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
|
20
|
+
# A Webhook Rule is a subscription to receive notifications whenever a specific event occurs.
|
21
21
|
#
|
22
|
-
#
|
23
|
-
#
|
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 [
|
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,
|
data/lib/lockstep_sdk/version.rb
CHANGED
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.
|
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-
|
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
|