lockstep_sdk 2022.15.31.1 → 2022.26.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/lockstep_sdk/clients/app_enrollments_client.rb +10 -0
- data/lib/lockstep_sdk/clients/companies_client.rb +25 -5
- data/lib/lockstep_sdk/clients/financial_account_client.rb +1 -1
- data/lib/lockstep_sdk/clients/group_accounts_client.rb +46 -0
- data/lib/lockstep_sdk/clients/payment_applications_client.rb +1 -1
- data/lib/lockstep_sdk/clients/provisioning_client.rb +0 -18
- data/lib/lockstep_sdk/clients/reports_client.rb +132 -8
- data/lib/lockstep_sdk/clients/user_accounts_client.rb +12 -0
- data/lib/lockstep_sdk/clients/webhook_rules_client.rb +81 -0
- data/lib/lockstep_sdk/clients/webhooks_client.rb +13 -2
- data/lib/lockstep_sdk/lockstep_api.rb +14 -4
- data/lib/lockstep_sdk/models/action_result_model.rb +52 -0
- data/lib/lockstep_sdk/models/ap_aging_header_info_model.rb +101 -0
- data/lib/lockstep_sdk/models/ap_header_info_model.rb +197 -0
- data/lib/lockstep_sdk/models/ar_aging_header_info_model.rb +18 -0
- data/lib/lockstep_sdk/models/ar_header_info_model.rb +46 -10
- data/lib/lockstep_sdk/models/{customer_details_model.rb → company_details_model.rb} +22 -22
- data/lib/lockstep_sdk/models/{customer_details_payment_model.rb → company_details_payment_model.rb} +3 -3
- 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/connector_info_model.rb +18 -0
- data/lib/lockstep_sdk/models/contact_sync_model.rb +2 -2
- data/lib/lockstep_sdk/models/customer_summary_model.rb +36 -0
- data/lib/lockstep_sdk/models/daily_payable_outstanding_report_model.rb +59 -0
- data/lib/lockstep_sdk/models/daily_sales_outstanding_report_model.rb +0 -6
- data/lib/lockstep_sdk/models/dpo_summary_group_total_model.rb +71 -0
- data/lib/lockstep_sdk/models/dpo_summary_model.rb +83 -0
- data/lib/lockstep_sdk/models/error_result.rb +77 -0
- data/lib/lockstep_sdk/models/group_account_model.rb +101 -0
- data/lib/lockstep_sdk/models/invoice_line_sync_model.rb +3 -3
- data/lib/lockstep_sdk/models/invoice_model.rb +7 -1
- data/lib/lockstep_sdk/models/invoice_summary_model.rb +6 -0
- data/lib/lockstep_sdk/models/invoice_sync_model.rb +10 -4
- data/lib/lockstep_sdk/models/payables_coming_due_header_model.rb +77 -0
- data/lib/lockstep_sdk/models/payables_coming_due_model.rb +89 -0
- data/lib/lockstep_sdk/models/payables_coming_due_widget_model.rb +59 -0
- data/lib/lockstep_sdk/models/payables_summary_report_model.rb +77 -0
- data/lib/lockstep_sdk/models/payment_applied_model.rb +6 -0
- data/lib/lockstep_sdk/models/payment_detail_model.rb +7 -1
- data/lib/lockstep_sdk/models/payment_model.rb +2 -2
- data/lib/lockstep_sdk/models/payment_summary_model.rb +45 -9
- data/lib/lockstep_sdk/models/payment_sync_model.rb +2 -2
- data/lib/lockstep_sdk/models/status_model.rb +12 -0
- data/lib/lockstep_sdk/models/sync_entity_result_model.rb +6 -0
- data/lib/lockstep_sdk/models/user_group_model.rb +66 -0
- data/lib/lockstep_sdk/models/vendor_summary_model.rb +143 -0
- data/lib/lockstep_sdk/models/webhook_model.rb +7 -1
- data/lib/lockstep_sdk/models/webhook_rule_model.rb +116 -0
- data/lib/lockstep_sdk/version.rb +1 -1
- metadata +21 -8
- data/lib/lockstep_sdk/models/erp_info_data_model.rb +0 -62
- data/lib/lockstep_sdk/models/trial_balance_report_cell_model.rb +0 -49
- data/lib/lockstep_sdk/models/trial_balance_report_model.rb +0 -79
- data/lib/lockstep_sdk/models/trial_balance_report_row_model.rb +0 -67
@@ -55,7 +55,7 @@ module LockstepSdk
|
|
55
55
|
end
|
56
56
|
|
57
57
|
##
|
58
|
-
# @return [String] This is the primary key of the Contact record. For this field, you should use whatever the contact'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 contact records in a database, whatever the primary key for the contact table is in the database should be the "ErpKey". As some ERP systems don't maintain a unique key for Contacts, we also support syncing Contacts with ERP keys of the form {
|
58
|
+
# @return [String] This is the primary key of the Contact record. For this field, you should use whatever the contact'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 contact records in a database, whatever the primary key for the contact table is in the database should be the "ErpKey". As some ERP systems don't maintain a unique key for Contacts, we also support syncing Contacts with ERP keys of the form {prefix}|{index}, for example ContactPrefix|1, ContactPrefix|2 and so on. For this reason, please ensure that your Contact ERP keys don't otherwise contain the '|' symbol or that it is replaced by an alternate symbol if they do. For more information, see [Identity Columns](https://developer.lockstep.io/docs/identity-columns).
|
59
59
|
attr_accessor :erp_key
|
60
60
|
|
61
61
|
##
|
@@ -115,7 +115,7 @@ module LockstepSdk
|
|
115
115
|
attr_accessor :postal_code
|
116
116
|
|
117
117
|
##
|
118
|
-
# @return [String] The mailing address information for this contact.
|
118
|
+
# @return [String] The mailing address information for this contact.
|
119
119
|
attr_accessor :country_code
|
120
120
|
|
121
121
|
##
|
@@ -31,10 +31,16 @@ module LockstepSdk
|
|
31
31
|
@total_invoices_open = params.dig(:total_invoices_open)
|
32
32
|
@total_invoices_past_due = params.dig(:total_invoices_past_due)
|
33
33
|
@closed_invoices = params.dig(:closed_invoices)
|
34
|
+
@closed_invoices_past_thirty_days = params.dig(:closed_invoices_past_thirty_days)
|
34
35
|
@amount_collected = params.dig(:amount_collected)
|
36
|
+
@amount_collected_past_thirty_days = params.dig(:amount_collected_past_thirty_days)
|
35
37
|
@outstanding_amount = params.dig(:outstanding_amount)
|
38
|
+
@invoiced_amount_past_thirty_days = params.dig(:invoiced_amount_past_thirty_days)
|
39
|
+
@outstanding_amount_past_thirty_days = params.dig(:outstanding_amount_past_thirty_days)
|
40
|
+
@invoices_past_thirty_days = params.dig(:invoices_past_thirty_days)
|
36
41
|
@amount_past_due = params.dig(:amount_past_due)
|
37
42
|
@unapplied_payments = params.dig(:unapplied_payments)
|
43
|
+
@unapplied_amount_past_thirty_days = params.dig(:unapplied_amount_past_thirty_days)
|
38
44
|
@percent_of_total_ar = params.dig(:percent_of_total_ar)
|
39
45
|
@dso = params.dig(:dso)
|
40
46
|
@newest_activity = params.dig(:newest_activity)
|
@@ -72,14 +78,34 @@ module LockstepSdk
|
|
72
78
|
# @return [Int32] The number of closed invoices for this customer.
|
73
79
|
attr_accessor :closed_invoices
|
74
80
|
|
81
|
+
##
|
82
|
+
# @return [Int32] The number of closed invoices for this customer in the past thirty days.
|
83
|
+
attr_accessor :closed_invoices_past_thirty_days
|
84
|
+
|
75
85
|
##
|
76
86
|
# @return [Double] The total from collected payments.
|
77
87
|
attr_accessor :amount_collected
|
78
88
|
|
89
|
+
##
|
90
|
+
# @return [Double] The total from collected payments in the past thirty days.
|
91
|
+
attr_accessor :amount_collected_past_thirty_days
|
92
|
+
|
79
93
|
##
|
80
94
|
# @return [Double] The total balance of outstanding invoices.
|
81
95
|
attr_accessor :outstanding_amount
|
82
96
|
|
97
|
+
##
|
98
|
+
# @return [Double] The total amount invoiced in the past thirty days.
|
99
|
+
attr_accessor :invoiced_amount_past_thirty_days
|
100
|
+
|
101
|
+
##
|
102
|
+
# @return [Double] The total amount outstanding from the invoices invoiced in the past thirty days.
|
103
|
+
attr_accessor :outstanding_amount_past_thirty_days
|
104
|
+
|
105
|
+
##
|
106
|
+
# @return [Int32] The number of invoices invoiced in the past thirty days.
|
107
|
+
attr_accessor :invoices_past_thirty_days
|
108
|
+
|
83
109
|
##
|
84
110
|
# @return [Double] The total amount past due for this customer.
|
85
111
|
attr_accessor :amount_past_due
|
@@ -88,6 +114,10 @@ module LockstepSdk
|
|
88
114
|
# @return [Double] The total value of unapplied Payments for this Customer.
|
89
115
|
attr_accessor :unapplied_payments
|
90
116
|
|
117
|
+
##
|
118
|
+
# @return [Double] The total value of unapplied Payments for this Customer in the past thirty days.
|
119
|
+
attr_accessor :unapplied_amount_past_thirty_days
|
120
|
+
|
91
121
|
##
|
92
122
|
# @return [Double] Portion of Total AR for this Customer that is Past due. (TotalPastDue / Total AR).
|
93
123
|
attr_accessor :percent_of_total_ar
|
@@ -112,10 +142,16 @@ module LockstepSdk
|
|
112
142
|
'totalInvoicesOpen' => @total_invoices_open,
|
113
143
|
'totalInvoicesPastDue' => @total_invoices_past_due,
|
114
144
|
'closedInvoices' => @closed_invoices,
|
145
|
+
'closedInvoicesPastThirtyDays' => @closed_invoices_past_thirty_days,
|
115
146
|
'amountCollected' => @amount_collected,
|
147
|
+
'amountCollectedPastThirtyDays' => @amount_collected_past_thirty_days,
|
116
148
|
'outstandingAmount' => @outstanding_amount,
|
149
|
+
'invoicedAmountPastThirtyDays' => @invoiced_amount_past_thirty_days,
|
150
|
+
'outstandingAmountPastThirtyDays' => @outstanding_amount_past_thirty_days,
|
151
|
+
'invoicesPastThirtyDays' => @invoices_past_thirty_days,
|
117
152
|
'amountPastDue' => @amount_past_due,
|
118
153
|
'unappliedPayments' => @unapplied_payments,
|
154
|
+
'unappliedAmountPastThirtyDays' => @unapplied_amount_past_thirty_days,
|
119
155
|
'percentOfTotalAr' => @percent_of_total_ar,
|
120
156
|
'dso' => @dso,
|
121
157
|
'newestActivity' => @newest_activity,
|
@@ -0,0 +1,59 @@
|
|
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
|
+
# Represents the daily payable outstanding report
|
21
|
+
class DailyPayableOutstandingReportModel
|
22
|
+
|
23
|
+
##
|
24
|
+
# Initialize the DailyPayableOutstandingReportModel using the provided prototype
|
25
|
+
def initialize(params = {})
|
26
|
+
@timeframe = params.dig(:timeframe)
|
27
|
+
@invoice_count = params.dig(:invoice_count)
|
28
|
+
@daily_payable_outstanding = params.dig(:daily_payable_outstanding)
|
29
|
+
end
|
30
|
+
|
31
|
+
##
|
32
|
+
# @return [Date-time] Timeframe (quarter) the daily payable outstanding values are associated with
|
33
|
+
attr_accessor :timeframe
|
34
|
+
|
35
|
+
##
|
36
|
+
# @return [Int32] Number of invoices the average daily payable outstanding is calculated on
|
37
|
+
attr_accessor :invoice_count
|
38
|
+
|
39
|
+
##
|
40
|
+
# @return [Double] Time (in days) between an invoice was completed paid off and when the invoice was issued
|
41
|
+
attr_accessor :daily_payable_outstanding
|
42
|
+
|
43
|
+
##
|
44
|
+
# @return [object] This object as a JSON key-value structure
|
45
|
+
def as_json(options={})
|
46
|
+
{
|
47
|
+
'timeframe' => @timeframe,
|
48
|
+
'invoiceCount' => @invoice_count,
|
49
|
+
'dailyPayableOutstanding' => @daily_payable_outstanding,
|
50
|
+
}
|
51
|
+
end
|
52
|
+
|
53
|
+
##
|
54
|
+
# @return [String] This object converted to a JSON string
|
55
|
+
def to_json(*options)
|
56
|
+
"[#{as_json(*options).to_json(*options)}]"
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -24,7 +24,6 @@ module LockstepSdk
|
|
24
24
|
# Initialize the DailySalesOutstandingReportModel using the provided prototype
|
25
25
|
def initialize(params = {})
|
26
26
|
@timeframe = params.dig(:timeframe)
|
27
|
-
@invoice_count = params.dig(:invoice_count)
|
28
27
|
@daily_sales_outstanding = params.dig(:daily_sales_outstanding)
|
29
28
|
end
|
30
29
|
|
@@ -32,10 +31,6 @@ module LockstepSdk
|
|
32
31
|
# @return [Date-time] Timeframe (month) the daily sales outstanding values are associated with
|
33
32
|
attr_accessor :timeframe
|
34
33
|
|
35
|
-
##
|
36
|
-
# @return [Int32] Number of invoices the average daily sales outstanding is calculated on
|
37
|
-
attr_accessor :invoice_count
|
38
|
-
|
39
34
|
##
|
40
35
|
# @return [Double] Time (in days) between an invoice was completed paid off and when the invoice was issued
|
41
36
|
attr_accessor :daily_sales_outstanding
|
@@ -45,7 +40,6 @@ module LockstepSdk
|
|
45
40
|
def as_json(options={})
|
46
41
|
{
|
47
42
|
'timeframe' => @timeframe,
|
48
|
-
'invoiceCount' => @invoice_count,
|
49
43
|
'dailySalesOutstanding' => @daily_sales_outstanding,
|
50
44
|
}
|
51
45
|
end
|
@@ -0,0 +1,71 @@
|
|
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
|
+
# Represents the group totals for the values found in the daily payable outstanding summary
|
21
|
+
class DpoSummaryGroupTotalModel
|
22
|
+
|
23
|
+
##
|
24
|
+
# Initialize the DpoSummaryGroupTotalModel using the provided prototype
|
25
|
+
def initialize(params = {})
|
26
|
+
@group_key = params.dig(:group_key)
|
27
|
+
@vendors = params.dig(:vendors)
|
28
|
+
@bills = params.dig(:bills)
|
29
|
+
@amount_outstanding = params.dig(:amount_outstanding)
|
30
|
+
@dpo = params.dig(:dpo)
|
31
|
+
end
|
32
|
+
|
33
|
+
##
|
34
|
+
# @return [Uuid] The GroupKey uniquely identifies a single Lockstep Platform account. All records for this account will share the same GroupKey value. GroupKey values cannot be changed once created. For more information, see [Accounts and GroupKeys](https://developer.lockstep.io/docs/accounts-and-groupkeys).
|
35
|
+
attr_accessor :group_key
|
36
|
+
|
37
|
+
##
|
38
|
+
# @return [Int32] The total number of vendors with outstanding bills
|
39
|
+
attr_accessor :vendors
|
40
|
+
|
41
|
+
##
|
42
|
+
# @return [Int32] The total number of bills outstanding
|
43
|
+
attr_accessor :bills
|
44
|
+
|
45
|
+
##
|
46
|
+
# @return [Double] The total amount outstanding
|
47
|
+
attr_accessor :amount_outstanding
|
48
|
+
|
49
|
+
##
|
50
|
+
# @return [Double] The total dpo for the group key
|
51
|
+
attr_accessor :dpo
|
52
|
+
|
53
|
+
##
|
54
|
+
# @return [object] This object as a JSON key-value structure
|
55
|
+
def as_json(options={})
|
56
|
+
{
|
57
|
+
'groupKey' => @group_key,
|
58
|
+
'vendors' => @vendors,
|
59
|
+
'bills' => @bills,
|
60
|
+
'amountOutstanding' => @amount_outstanding,
|
61
|
+
'dpo' => @dpo,
|
62
|
+
}
|
63
|
+
end
|
64
|
+
|
65
|
+
##
|
66
|
+
# @return [String] This object converted to a JSON string
|
67
|
+
def to_json(*options)
|
68
|
+
"[#{as_json(*options).to_json(*options)}]"
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,83 @@
|
|
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
|
+
# Represents a summary of outstanding amounts for bills to vendors and their associated daily payable outstanding value.
|
21
|
+
class DpoSummaryModel
|
22
|
+
|
23
|
+
##
|
24
|
+
# Initialize the DpoSummaryModel using the provided prototype
|
25
|
+
def initialize(params = {})
|
26
|
+
@group_key = params.dig(:group_key)
|
27
|
+
@vendor_id = params.dig(:vendor_id)
|
28
|
+
@vendor_name = params.dig(:vendor_name)
|
29
|
+
@primary_contact = params.dig(:primary_contact)
|
30
|
+
@bills = params.dig(:bills)
|
31
|
+
@amount_outstanding = params.dig(:amount_outstanding)
|
32
|
+
@dpo = params.dig(:dpo)
|
33
|
+
end
|
34
|
+
|
35
|
+
##
|
36
|
+
# @return [Uuid] The GroupKey uniquely identifies a single Lockstep Platform account. All records for this account will share the same GroupKey value. GroupKey values cannot be changed once created. For more information, see [Accounts and GroupKeys](https://developer.lockstep.io/docs/accounts-and-groupkeys).
|
37
|
+
attr_accessor :group_key
|
38
|
+
|
39
|
+
##
|
40
|
+
# @return [Uuid] The unique ID of the vendor.
|
41
|
+
attr_accessor :vendor_id
|
42
|
+
|
43
|
+
##
|
44
|
+
# @return [String] The name of the vendor.
|
45
|
+
attr_accessor :vendor_name
|
46
|
+
|
47
|
+
##
|
48
|
+
# @return [String] The name of the primary contact.
|
49
|
+
attr_accessor :primary_contact
|
50
|
+
|
51
|
+
##
|
52
|
+
# @return [Int32] The total number of outstanding bills.
|
53
|
+
attr_accessor :bills
|
54
|
+
|
55
|
+
##
|
56
|
+
# @return [Double] The total amount outstanding.
|
57
|
+
attr_accessor :amount_outstanding
|
58
|
+
|
59
|
+
##
|
60
|
+
# @return [Double] The days payable outstanding value.
|
61
|
+
attr_accessor :dpo
|
62
|
+
|
63
|
+
##
|
64
|
+
# @return [object] This object as a JSON key-value structure
|
65
|
+
def as_json(options={})
|
66
|
+
{
|
67
|
+
'groupKey' => @group_key,
|
68
|
+
'vendorId' => @vendor_id,
|
69
|
+
'vendorName' => @vendor_name,
|
70
|
+
'primaryContact' => @primary_contact,
|
71
|
+
'bills' => @bills,
|
72
|
+
'amountOutstanding' => @amount_outstanding,
|
73
|
+
'dpo' => @dpo,
|
74
|
+
}
|
75
|
+
end
|
76
|
+
|
77
|
+
##
|
78
|
+
# @return [String] This object converted to a JSON string
|
79
|
+
def to_json(*options)
|
80
|
+
"[#{as_json(*options).to_json(*options)}]"
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -0,0 +1,77 @@
|
|
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
|
+
# Represents a failed API request.
|
21
|
+
class ErrorResult
|
22
|
+
|
23
|
+
##
|
24
|
+
# Initialize the ErrorResult using the provided prototype
|
25
|
+
def initialize(params = {})
|
26
|
+
@type = params.dig(:type)
|
27
|
+
@title = params.dig(:title)
|
28
|
+
@status = params.dig(:status)
|
29
|
+
@detail = params.dig(:detail)
|
30
|
+
@instance = params.dig(:instance)
|
31
|
+
@content = params.dig(:content)
|
32
|
+
end
|
33
|
+
|
34
|
+
##
|
35
|
+
# @return [String] A description of the type of error that occurred.
|
36
|
+
attr_accessor :type
|
37
|
+
|
38
|
+
##
|
39
|
+
# @return [String] A short title describing the error.
|
40
|
+
attr_accessor :title
|
41
|
+
|
42
|
+
##
|
43
|
+
# @return [Int32] If an error code is applicable, this contains an error number.
|
44
|
+
attr_accessor :status
|
45
|
+
|
46
|
+
##
|
47
|
+
# @return [String] If detailed information about this error is available, this value contains more information.
|
48
|
+
attr_accessor :detail
|
49
|
+
|
50
|
+
##
|
51
|
+
# @return [String] If this error corresponds to a specific instance or object, this field indicates which one.
|
52
|
+
attr_accessor :instance
|
53
|
+
|
54
|
+
##
|
55
|
+
# @return [String] The full content of the HTTP response.
|
56
|
+
attr_accessor :content
|
57
|
+
|
58
|
+
##
|
59
|
+
# @return [object] This object as a JSON key-value structure
|
60
|
+
def as_json(options={})
|
61
|
+
{
|
62
|
+
'type' => @type,
|
63
|
+
'title' => @title,
|
64
|
+
'status' => @status,
|
65
|
+
'detail' => @detail,
|
66
|
+
'instance' => @instance,
|
67
|
+
'content' => @content,
|
68
|
+
}
|
69
|
+
end
|
70
|
+
|
71
|
+
##
|
72
|
+
# @return [String] This object converted to a JSON string
|
73
|
+
def to_json(*options)
|
74
|
+
"[#{as_json(*options).to_json(*options)}]"
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,101 @@
|
|
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
|
+
# Represents an account for an entire group
|
21
|
+
class GroupAccountModel
|
22
|
+
|
23
|
+
##
|
24
|
+
# Initialize the GroupAccountModel using the provided prototype
|
25
|
+
def initialize(params = {})
|
26
|
+
@group_key = params.dig(:group_key)
|
27
|
+
@group_name = params.dig(:group_name)
|
28
|
+
@primary_user_id = params.dig(:primary_user_id)
|
29
|
+
@group_company_id = params.dig(:group_company_id)
|
30
|
+
@is_active = params.dig(:is_active)
|
31
|
+
@onboarding_scheduled = params.dig(:onboarding_scheduled)
|
32
|
+
@created = params.dig(:created)
|
33
|
+
@created_user_id = params.dig(:created_user_id)
|
34
|
+
@modified = params.dig(:modified)
|
35
|
+
@modified_user_id = params.dig(:modified_user_id)
|
36
|
+
end
|
37
|
+
|
38
|
+
##
|
39
|
+
# @return [Uuid] The GroupKey uniquely identifies a single Lockstep Platform account. All records for this account will share the same GroupKey value. GroupKey values cannot be changed once created. For more information, see [Accounts and GroupKeys](https://developer.lockstep.io/docs/accounts-and-groupkeys).
|
40
|
+
attr_accessor :group_key
|
41
|
+
|
42
|
+
##
|
43
|
+
# @return [String] The name of the group
|
44
|
+
attr_accessor :group_name
|
45
|
+
|
46
|
+
##
|
47
|
+
# @return [Uuid] The primary user for the group
|
48
|
+
attr_accessor :primary_user_id
|
49
|
+
|
50
|
+
##
|
51
|
+
# @return [Uuid] The CompanyId of the Company the group is associated with
|
52
|
+
attr_accessor :group_company_id
|
53
|
+
|
54
|
+
##
|
55
|
+
# @return [Boolean] The active status of the group
|
56
|
+
attr_accessor :is_active
|
57
|
+
|
58
|
+
##
|
59
|
+
# @return [Boolean] The onboarding session status of the group
|
60
|
+
attr_accessor :onboarding_scheduled
|
61
|
+
|
62
|
+
##
|
63
|
+
# @return [Date-time] The date this group account was created
|
64
|
+
attr_accessor :created
|
65
|
+
|
66
|
+
##
|
67
|
+
# @return [Uuid] The ID of the user who created this group account
|
68
|
+
attr_accessor :created_user_id
|
69
|
+
|
70
|
+
##
|
71
|
+
# @return [Date-time] The date this group account was last modified
|
72
|
+
attr_accessor :modified
|
73
|
+
|
74
|
+
##
|
75
|
+
# @return [Uuid] The ID of the user who last modified this group account
|
76
|
+
attr_accessor :modified_user_id
|
77
|
+
|
78
|
+
##
|
79
|
+
# @return [object] This object as a JSON key-value structure
|
80
|
+
def as_json(options={})
|
81
|
+
{
|
82
|
+
'groupKey' => @group_key,
|
83
|
+
'groupName' => @group_name,
|
84
|
+
'primaryUserId' => @primary_user_id,
|
85
|
+
'groupCompanyId' => @group_company_id,
|
86
|
+
'isActive' => @is_active,
|
87
|
+
'onboardingScheduled' => @onboarding_scheduled,
|
88
|
+
'created' => @created,
|
89
|
+
'createdUserId' => @created_user_id,
|
90
|
+
'modified' => @modified,
|
91
|
+
'modifiedUserId' => @modified_user_id,
|
92
|
+
}
|
93
|
+
end
|
94
|
+
|
95
|
+
##
|
96
|
+
# @return [String] This object converted to a JSON string
|
97
|
+
def to_json(*options)
|
98
|
+
"[#{as_json(*options).to_json(*options)}]"
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
@@ -152,7 +152,7 @@ module LockstepSdk
|
|
152
152
|
attr_accessor :origin_address_postal_code
|
153
153
|
|
154
154
|
##
|
155
|
-
# @return [String] Origination address for this invoice line, if this line item was originated from a different address
|
155
|
+
# @return [String] Origination address for this invoice line, if this line item was originated from a different address
|
156
156
|
attr_accessor :origin_address_country
|
157
157
|
|
158
158
|
##
|
@@ -188,7 +188,7 @@ module LockstepSdk
|
|
188
188
|
attr_accessor :bill_to_address_postal_code
|
189
189
|
|
190
190
|
##
|
191
|
-
# @return [String] Billing address for this invoice line, if this line item is to be billed to a different address
|
191
|
+
# @return [String] Billing address for this invoice line, if this line item is to be billed to a different address
|
192
192
|
attr_accessor :bill_to_address_country
|
193
193
|
|
194
194
|
##
|
@@ -224,7 +224,7 @@ module LockstepSdk
|
|
224
224
|
attr_accessor :ship_to_address_postal_code
|
225
225
|
|
226
226
|
##
|
227
|
-
# @return [String] Shipping address for this invoice line, if this line item is to be shipped to a different address
|
227
|
+
# @return [String] Shipping address for this invoice line, if this line item is to be shipped to a different address
|
228
228
|
attr_accessor :ship_to_address_country
|
229
229
|
|
230
230
|
##
|
@@ -63,6 +63,7 @@ module LockstepSdk
|
|
63
63
|
@is_voided = params.dig(:is_voided)
|
64
64
|
@in_dispute = params.dig(:in_dispute)
|
65
65
|
@exclude_from_aging = params.dig(:exclude_from_aging)
|
66
|
+
@preferred_delivery_method = params.dig(:preferred_delivery_method)
|
66
67
|
@addresses = params.dig(:addresses)
|
67
68
|
@lines = params.dig(:lines)
|
68
69
|
@payments = params.dig(:payments)
|
@@ -113,7 +114,7 @@ module LockstepSdk
|
|
113
114
|
attr_accessor :salesperson_name
|
114
115
|
|
115
116
|
##
|
116
|
-
# @return [String] A code identifying the type of this invoice. Recognized Invoice types are: * `Invoice` - Represents an invoice sent by Company to the Customer * `AP Invoice` - Represents an invoice sent by
|
117
|
+
# @return [String] A code identifying the type of this invoice. Recognized Invoice types are: * `AR Invoice` - Represents an invoice sent by Company to the Customer * `AP Invoice` - Represents an invoice sent by Vendor to the Company * `AR Credit Memo` - Represents a credit memo generated by Company given to Customer * `AP Credit Memo` - Represents a credit memo generated by Vendor given to Company
|
117
118
|
attr_accessor :invoice_type_code
|
118
119
|
|
119
120
|
##
|
@@ -216,6 +217,10 @@ module LockstepSdk
|
|
216
217
|
# @return [Boolean] Should the invoice be excluded from aging calculations?
|
217
218
|
attr_accessor :exclude_from_aging
|
218
219
|
|
220
|
+
##
|
221
|
+
# @return [String] Indicates the preferred delivery method for this invoice. Examples include Print, Email, Fax
|
222
|
+
attr_accessor :preferred_delivery_method
|
223
|
+
|
219
224
|
##
|
220
225
|
# @return [InvoiceAddressModel] All addresses connected to this invoice. To retrieve this collection, specify `Addresses` in the "Include" parameter for your query.
|
221
226
|
attr_accessor :addresses
|
@@ -299,6 +304,7 @@ module LockstepSdk
|
|
299
304
|
'isVoided' => @is_voided,
|
300
305
|
'inDispute' => @in_dispute,
|
301
306
|
'excludeFromAging' => @exclude_from_aging,
|
307
|
+
'preferredDeliveryMethod' => @preferred_delivery_method,
|
302
308
|
'addresses' => @addresses,
|
303
309
|
'lines' => @lines,
|
304
310
|
'payments' => @payments,
|
@@ -28,6 +28,7 @@ module LockstepSdk
|
|
28
28
|
@invoice_id = params.dig(:invoice_id)
|
29
29
|
@invoice_number = params.dig(:invoice_number)
|
30
30
|
@invoice_date = params.dig(:invoice_date)
|
31
|
+
@invoice_closed_date = params.dig(:invoice_closed_date)
|
31
32
|
@customer_name = params.dig(:customer_name)
|
32
33
|
@status = params.dig(:status)
|
33
34
|
@payment_due_date = params.dig(:payment_due_date)
|
@@ -60,6 +61,10 @@ module LockstepSdk
|
|
60
61
|
# @return [Date] The reporting date for this invoice.
|
61
62
|
attr_accessor :invoice_date
|
62
63
|
|
64
|
+
##
|
65
|
+
# @return [Date] The date when the invoice was closed and finalized after completion of all payments and delivery of all products and services.
|
66
|
+
attr_accessor :invoice_closed_date
|
67
|
+
|
63
68
|
##
|
64
69
|
# @return [String] The name of the counterparty for the invoice, for example, a customer or vendor.
|
65
70
|
attr_accessor :customer_name
|
@@ -109,6 +114,7 @@ module LockstepSdk
|
|
109
114
|
'invoiceId' => @invoice_id,
|
110
115
|
'invoiceNumber' => @invoice_number,
|
111
116
|
'invoiceDate' => @invoice_date,
|
117
|
+
'invoiceClosedDate' => @invoice_closed_date,
|
112
118
|
'customerName' => @customer_name,
|
113
119
|
'status' => @status,
|
114
120
|
'paymentDueDate' => @payment_due_date,
|
@@ -84,6 +84,7 @@ module LockstepSdk
|
|
84
84
|
@modified = params.dig(:modified)
|
85
85
|
@is_voided = params.dig(:is_voided)
|
86
86
|
@in_dispute = params.dig(:in_dispute)
|
87
|
+
@preferred_delivery_method = params.dig(:preferred_delivery_method)
|
87
88
|
end
|
88
89
|
|
89
90
|
##
|
@@ -115,7 +116,7 @@ module LockstepSdk
|
|
115
116
|
attr_accessor :salesperson_code
|
116
117
|
|
117
118
|
##
|
118
|
-
# @return [String] A code identifying the type of this invoice. Recognized Invoice types are: * `Invoice` - Represents an invoice sent by Company to the Customer * `AP Invoice` - Represents an invoice sent by Vendor to the Company * `Credit Memo` - Represents a credit memo generated by Company given to Customer * `AP Credit Memo` - Represents a credit memo generated by Vendor given to Company
|
119
|
+
# @return [String] A code identifying the type of this invoice. Recognized Invoice types are: * `AR Invoice` - Represents an invoice sent by Company to the Customer * `AP Invoice` - Represents an invoice sent by Vendor to the Company * `AR Credit Memo` - Represents a credit memo generated by Company given to Customer * `AP Credit Memo` - Represents a credit memo generated by Vendor given to Company
|
119
120
|
attr_accessor :invoice_type_code
|
120
121
|
|
121
122
|
##
|
@@ -199,7 +200,7 @@ module LockstepSdk
|
|
199
200
|
attr_accessor :origin_address_postal_code
|
200
201
|
|
201
202
|
##
|
202
|
-
# @return [String] The origination address for this invoice
|
203
|
+
# @return [String] The origination address for this invoice
|
203
204
|
attr_accessor :origin_address_country
|
204
205
|
|
205
206
|
##
|
@@ -235,7 +236,7 @@ module LockstepSdk
|
|
235
236
|
attr_accessor :bill_to_address_postal_code
|
236
237
|
|
237
238
|
##
|
238
|
-
# @return [String] The billing address for this invoice
|
239
|
+
# @return [String] The billing address for this invoice
|
239
240
|
attr_accessor :bill_to_address_country
|
240
241
|
|
241
242
|
##
|
@@ -271,7 +272,7 @@ module LockstepSdk
|
|
271
272
|
attr_accessor :ship_to_address_postal_code
|
272
273
|
|
273
274
|
##
|
274
|
-
# @return [String] The shipping address for this invoice
|
275
|
+
# @return [String] The shipping address for this invoice
|
275
276
|
attr_accessor :ship_to_address_country
|
276
277
|
|
277
278
|
##
|
@@ -298,6 +299,10 @@ module LockstepSdk
|
|
298
299
|
# @return [Boolean] Is the invoice in dispute? If not specified, we assume the invoice is not in dispute.
|
299
300
|
attr_accessor :in_dispute
|
300
301
|
|
302
|
+
##
|
303
|
+
# @return [String] Indicates the preferred delivery method for this invoice. Examples include Print, Email, Fax
|
304
|
+
attr_accessor :preferred_delivery_method
|
305
|
+
|
301
306
|
##
|
302
307
|
# @return [object] This object as a JSON key-value structure
|
303
308
|
def as_json(options={})
|
@@ -355,6 +360,7 @@ module LockstepSdk
|
|
355
360
|
'modified' => @modified,
|
356
361
|
'isVoided' => @is_voided,
|
357
362
|
'inDispute' => @in_dispute,
|
363
|
+
'preferredDeliveryMethod' => @preferred_delivery_method,
|
358
364
|
}
|
359
365
|
end
|
360
366
|
|