lockstep_rails 0.3.68 → 0.3.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +85 -52
  3. data/app/models/lockstep/company_magic_link_summary.rb +6 -0
  4. data/app/models/lockstep/invoice.rb +8 -3
  5. data/app/models/lockstep/workflow_status.rb +8 -0
  6. data/app/platform_api/schema/application.rb +1 -0
  7. data/app/platform_api/schema/batch_sync.rb +2 -0
  8. data/app/platform_api/schema/company_magic_link_summary.rb +93 -0
  9. data/app/platform_api/schema/company_magic_link_summary_fetch_result.rb +26 -0
  10. data/app/platform_api/schema/company_sync.rb +15 -0
  11. data/app/platform_api/schema/contact_sync.rb +10 -0
  12. data/app/platform_api/schema/directory_company.rb +72 -0
  13. data/app/platform_api/schema/external_connector.rb +30 -0
  14. data/app/platform_api/schema/external_connector_auth.rb +14 -0
  15. data/app/platform_api/schema/external_connector_auth_request.rb +22 -0
  16. data/app/platform_api/schema/external_connector_token.rb +36 -0
  17. data/app/platform_api/schema/invoice_fetch_result.rb +4 -2
  18. data/app/platform_api/schema/invoice_line_sync.rb +10 -0
  19. data/app/platform_api/schema/invoice_sync.rb +15 -0
  20. data/app/platform_api/schema/journal_entry.rb +106 -0
  21. data/app/platform_api/schema/journal_entry_fetch_result.rb +26 -0
  22. data/app/platform_api/schema/journal_entry_line.rb +129 -0
  23. data/app/platform_api/schema/journal_entry_line_fetch_result.rb +26 -0
  24. data/app/platform_api/schema/journal_entry_line_sync.rb +92 -0
  25. data/app/platform_api/schema/journal_entry_sync.rb +66 -0
  26. data/app/platform_api/schema/magic_link.rb +8 -0
  27. data/app/platform_api/schema/magic_link_summary.rb +30 -0
  28. data/app/platform_api/schema/note.rb +28 -27
  29. data/app/platform_api/schema/payment_applied_sync.rb +15 -0
  30. data/app/platform_api/schema/payment_sync.rb +10 -0
  31. data/app/platform_api/schema/transaction.rb +5 -0
  32. data/app/platform_api/schema/workflow_status.rb +65 -0
  33. data/app/platform_api/schema/workflow_status_fetch_result.rb +26 -0
  34. data/app/platform_api/swagger.json +4237 -5291
  35. data/lib/lockstep_rails/version.rb +3 -2
  36. data/lib/tasks/update_api_schema.rake +5 -0
  37. metadata +20 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 30bd1402599f256e2ddbf905c1a69109c6ced07b14fcca59e0e9c89aab48bf3c
4
- data.tar.gz: 314ca2d138cb0612b223857a084b259acf5d28485d30806b464fb9ca572a546a
3
+ metadata.gz: 24dea20381afb07c0769964a66d6654ac72b20912a5cfcb3f31b308495024752
4
+ data.tar.gz: e884043d30e05e7382f9d50016b0cfb37363c4a9192b2494cb99fb491f4a0b56
5
5
  SHA512:
6
- metadata.gz: 5f684eb6844a106cd5fae3d4cc1a6dc3dbcdb42a2977ec630087fb40a3629784fa2b085d119da69ac8cea104034df57451f3cf9ec7f4bfeafff76afef8f8772a
7
- data.tar.gz: 7b9090e647a6707cfbf5ddd7169e16552cb73dc6396fba243c5bdb5a86f594ddb099fa5759da2f26f2b0cff84dd3def96a1a3160c7061c425676eae426e0e0f6
6
+ metadata.gz: 9a7898f08919efef7f7b7f9047865d9cf306aac6b36b9aeedc050c05f6df70b6bd96f3996d2081fb78013c35ffbe27c2db434337737d14ba962ee398bfd42fb5
7
+ data.tar.gz: 782a7e8e7bd14969ce43aea26cf7576cd8d3a61366ae4b1f879ba5d5902c94fceee006ab83fe1224e21b95381baf27feb80313bd6475320e48e75abbb4e8e091
data/README.md CHANGED
@@ -1,10 +1,13 @@
1
1
  # Lockstep
2
+
2
3
  A financial service SDK for rails for innovative accounting solutions providers.
3
4
 
4
5
  ### Who are we?
6
+
5
7
  Lockstep automates accounting workflows to improve your operational efficiency and cash flow. Accelerate payments through automated customer communications, enhanced collections activity management, and innovative forecasting and reporting.
6
8
 
7
9
  ### lockstep_rails
10
+
8
11
  lockstep_rails makes it easy to interact with lockstep.io's REST API. It adheres to the ActiveRecord pattern. LockstepRails is fully ActiveModel compliant, meaning you can use validations and Rails forms.
9
12
 
10
13
  Ruby/Rails developers should feel right at home.
@@ -12,11 +15,13 @@ Ruby/Rails developers should feel right at home.
12
15
  If you're used to `Lockstep::Contact.create(:email_address => "test@emaildomain.com")`, then this is for you.
13
16
 
14
17
  ### Features
15
- * ActiveRecord-like API, almost no learning curve
16
- * Validations
17
- * Rails forms and scaffolds **just work**
18
+
19
+ - ActiveRecord-like API, almost no learning curve
20
+ - Validations
21
+ - Rails forms and scaffolds **just work**
18
22
 
19
23
  ## Installation
24
+
20
25
  Add this line to your application's Gemfile:
21
26
 
22
27
  ```ruby
@@ -24,57 +29,64 @@ gem 'lockstep_rails'
24
29
  ```
25
30
 
26
31
  And then execute:
32
+
27
33
  ```bash
28
34
  $ bundle
29
35
  ```
30
36
 
31
37
  Or install it yourself as:
38
+
32
39
  ```bash
33
40
  $ gem install lockstep_rails
34
41
  ```
35
42
 
36
43
  ## License
44
+
37
45
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
38
46
 
39
47
  # Usage
40
48
 
41
49
  ### Available Records
42
- * Lockstep::Account
43
- * Lockstep::ApiKey
44
- * Lockstep::AppEnrollment
45
- * Lockstep::Attachment
46
- * Lockstep::Connection
47
- * Lockstep::Contact
48
- * Lockstep::CustomerSummary
49
- * Lockstep::FeatureFlag
50
- * Lockstep::Invoice
51
- * Lockstep::InvoiceAtRiskSummary
52
- * Lockstep::InvoiceSummary
53
- * Lockstep::MagicLink
54
- * Lockstep::Note
55
- * Lockstep::Payments
56
- * Lockstep::PaymentApplied
57
- * Lockstep::PaymentSummary
58
- * Lockstep::ReportApAgingHeader
59
- * Lockstep::ReportArAgingHeader
60
- * Lockstep::ReportCashflow
61
- * Lockstep::ReportDailyPayableOutstanding
62
- * Lockstep::ReportDailyPayableOutstandingSummary
63
- * Lockstep::ReportDailySalesOutstanding
64
- * Lockstep::ReportPayableComingDue
65
- * Lockstep::ReportPayablesComingDueSummary
66
- * Lockstep::ReportPayableSummary
67
- * Lockstep::ReportRiskRate
68
- * Lockstep::ServiceFabricPayment
69
- * Lockstep::Status
70
- * Lockstep::TranscriptionValidationRequest
71
- * Lockstep::User
50
+
51
+ - Lockstep::Account
52
+ - Lockstep::ApiKey
53
+ - Lockstep::AppEnrollment
54
+ - Lockstep::Attachment
55
+ - Lockstep::Connection
56
+ - Lockstep::Contact
57
+ - Lockstep::CustomerSummary
58
+ - Lockstep::CompanyMagicLinkSummary
59
+ - Lockstep::FeatureFlag
60
+ - Lockstep::Invoice
61
+ - Lockstep::InvoiceAtRiskSummary
62
+ - Lockstep::InvoiceSummary
63
+ - Lockstep::MagicLink
64
+ - Lockstep::Note
65
+ - Lockstep::Payments
66
+ - Lockstep::PaymentApplied
67
+ - Lockstep::PaymentSummary
68
+ - Lockstep::ReportApAgingHeader
69
+ - Lockstep::ReportArAgingHeader
70
+ - Lockstep::ReportCashflow
71
+ - Lockstep::ReportDailyPayableOutstanding
72
+ - Lockstep::ReportDailyPayableOutstandingSummary
73
+ - Lockstep::ReportDailySalesOutstanding
74
+ - Lockstep::ReportPayableComingDue
75
+ - Lockstep::ReportPayablesComingDueSummary
76
+ - Lockstep::ReportPayableSummary
77
+ - Lockstep::ReportRiskRate
78
+ - Lockstep::ServiceFabricPayment
79
+ - Lockstep::Status
80
+ - Lockstep::TranscriptionValidationRequest
81
+ - Lockstep::User
82
+ - Lockstep::WorkflowStatus
72
83
 
73
84
  ## ActiveModel Interfaces
74
85
 
75
86
  `lockstep_rails` supports the standard CRUD interface of ActiveRecord.
76
87
 
77
88
  ### Create
89
+
78
90
  You can create a record by calling `new` or `create`
79
91
 
80
92
  ```ruby
@@ -82,15 +94,18 @@ Lockstep::Contact.create(email_address: "inbox@companyemail.com")
82
94
  ```
83
95
 
84
96
  You can create records from associations as well. This will automatically association the relationship with the parent record
97
+
85
98
  ```ruby
86
99
  connection = Lockstep::Connection.find(company_id: "17544da8-7be8-4ee2-8c62-cbd81428c68b")
87
100
  connection.contacts.create(email_address: "inbox@companyemail.com")
88
101
  ```
89
102
 
90
103
  ### Update
104
+
91
105
  Similar to ActiveRecord, you can update a record by calling `update`, `update_attributes` or `update_attribute`
92
106
 
93
107
  Examples:
108
+
94
109
  ```ruby
95
110
  connection = Lockstep::Connection.find(company_id: "17544da8-7be8-4ee2-8c62-cbd81428c68b")
96
111
  connection.update(company_name: "New name")
@@ -103,9 +118,11 @@ connection.update_attribute(:company_name, "New name")
103
118
  ```
104
119
 
105
120
  ### Find
121
+
106
122
  Similar to ActiveRecord, you can find a record by calling `find`, `find_by` or `find_by_company_id`
107
123
 
108
124
  Examples:
125
+
109
126
  ```ruby
110
127
  connection = Lockstep::Connection.find(company_id: "17544da8-7be8-4ee2-8c62-cbd81428c68b")
111
128
  connection.update(company_name: "New name")
@@ -118,16 +135,19 @@ connection.update_attribute(:company_name, "New name")
118
135
  ```
119
136
 
120
137
  ### Where
121
- Similar to ActiveRecord, you can search for records by calling `where`.
138
+
139
+ Similar to ActiveRecord, you can search for records by calling `where`.
122
140
 
123
141
  Unless you are accessing the record via `first`, you will have to call `execute` to fetch the records
124
142
 
125
143
  Examples:
144
+
126
145
  ```ruby
127
146
  Lockstep::Connection.where(status: "Active").execute
128
147
  ```
129
148
 
130
149
  #### Chaining
150
+
131
151
  You can chain queries while calling where.
132
152
 
133
153
  ```ruby
@@ -135,6 +155,7 @@ Lockstep::Connection.where(status: "Active").where(default_currency_code: "USD")
135
155
  ```
136
156
 
137
157
  #### OR Query
158
+
138
159
  You can build an or query by calling `or`
139
160
 
140
161
  ```ruby
@@ -142,24 +163,26 @@ Lockstep::Connection.where(status: "Active").or(Lockstep::Connection.where(defau
142
163
  ```
143
164
 
144
165
  #### Advanced Queries
166
+
145
167
  [Searchlight](https://developer.lockstep.io/docs/querying-with-searchlight) supports building complex comparisons in the query.
146
168
 
147
- | Suffice | Searchlight Query | Example |
148
- |--------------|-----------------------|---------------------------------------------------|
149
- | _eq | Equals | where(name_eq: "Test Name") |
150
- | _gt | Greater Than | where(amount_gt: 100) |
151
- | _ge | Greater Than Or Equal | where(amount_ge: 100) |
152
- | _lt | Less Than | where(amount_lt: 100) |
153
- | _le | Less Than Or Equal | where(amount_le: 100) |
154
- | _ne | Not Equal | where(name_ne: "tak") |
155
- | _in | IN | where(name_in: ["tik", "tok"]) |
156
- | _contains | CONTAINS | where(name_contains: "kit") |
157
- | _starts_with | STARTSWITH | where(name_starts_with: "tik") |
158
- | _ends_with | ENDSWITH | where(name_ends_with: "tok") |
159
- | _is | IS | where(name_is: nil) where(name_is: "NOT NULL") |
169
+ | Suffice | Searchlight Query | Example |
170
+ | ------------- | --------------------- | ---------------------------------------------- |
171
+ | \_eq | Equals | where(name_eq: "Test Name") |
172
+ | \_gt | Greater Than | where(amount_gt: 100) |
173
+ | \_ge | Greater Than Or Equal | where(amount_ge: 100) |
174
+ | \_lt | Less Than | where(amount_lt: 100) |
175
+ | \_le | Less Than Or Equal | where(amount_le: 100) |
176
+ | \_ne | Not Equal | where(name_ne: "tak") |
177
+ | \_in | IN | where(name_in: ["tik", "tok"]) |
178
+ | \_contains | CONTAINS | where(name_contains: "kit") |
179
+ | \_starts_with | STARTSWITH | where(name_starts_with: "tik") |
180
+ | \_ends_with | ENDSWITH | where(name_ends_with: "tok") |
181
+ | \_is | IS | where(name_is: nil) where(name_is: "NOT NULL") |
160
182
 
161
183
  #### Searchlight Queries
162
- Using the rails standard queries generates searchlight compatible queries.
184
+
185
+ Using the rails standard queries generates searchlight compatible queries.
163
186
  if you wish, you can always write raw [Searchlight](https://developer.lockstep.io/docs/querying-with-searchlight) queries by passing a string in the where block
164
187
 
165
188
  ```ruby
@@ -167,6 +190,7 @@ Lockstep::Connection.where("isActive is true OR default_currency_code in ('USD',
167
190
  ```
168
191
 
169
192
  ### Destroy and Destroy all
193
+
170
194
  You can destroy a single object by calling destroy method on one object
171
195
  Lockstep::Connection.find(company_id: "17544da8-7be8-4ee2-8c62-cbd81428c68b").destroy
172
196
 
@@ -175,6 +199,7 @@ You can also destroy multiple objects at once by calling it on the model class a
175
199
  Lockstep::Connection.destroy_all(id: ["17544da8-7be8-4ee2-8c62-cbd81428c68b"])
176
200
 
177
201
  ### Count
202
+
178
203
  You can fetch the count of available records by calling `count`
179
204
 
180
205
  ```ruby
@@ -184,12 +209,16 @@ Lockstep::Connection.count
184
209
  Lockstep::Connection.where(status: "Active").count
185
210
  # 100
186
211
  ```
212
+
187
213
  ### With Count
214
+
188
215
  ```ruby
189
216
  records , count = Lockstep::Connection.where(status: "active").with_count(true).execute
190
217
  # records get the records for the query and the with count if used will return the total number of records present for that query.
191
218
  ```
219
+
192
220
  ### Limit
221
+
193
222
  You can limit the number of records being fetched by passing `limit`
194
223
 
195
224
  The default limit is 200.
@@ -201,6 +230,7 @@ Lockstep::Connection.where(status: "Active").limit(100).execute
201
230
  ```
202
231
 
203
232
  ### Pagination
233
+
204
234
  You can paginate the records by passing the `page`
205
235
 
206
236
  ```ruby
@@ -210,11 +240,13 @@ Lockstep::Connection.where(status: "Active").limit(100).page(2).execute
210
240
  ```
211
241
 
212
242
  ## Adding relationships with ActiveRecord
243
+
213
244
  If you would like to link the `Lockstep::ApiRecord` with an `ActiveRecord::Base`, you can do so by including `Lockstep::ActiveRecords::Association`
214
245
 
215
246
  This gives you access to 2 methods for defining relationships
216
- * lockstep_has_many
217
- * lockstep_belongs_to
247
+
248
+ - lockstep_has_many
249
+ - lockstep_belongs_to
218
250
 
219
251
  ```ruby
220
252
  class User < ActiveRecord::Base
@@ -222,11 +254,12 @@ class User < ActiveRecord::Base
222
254
 
223
255
  lockstep_has_many :connections, class_name: "Lockstep::Connection", primary_key: 'company_id', foreign_key: "lockstep_company_id"
224
256
  lockstep_belongs_to :account, class_name: "Lockstep::Account", primary_key: 'company_id', foreign_key: "lockstep_company_id"
225
-
257
+
226
258
  end
227
259
  ```
228
260
 
229
261
  #### Loader
262
+
230
263
  You could define your own loader for fetching the records by passing a `loader` Proc
231
264
 
232
265
  ```ruby
@@ -235,7 +268,7 @@ class User < ActiveRecord::Base
235
268
 
236
269
  lockstep_has_many :connections, class_name: "Lockstep::Connection", loader: -> (record) { Lockstep::Connection.where(is_active: true).where(company_id: record.lockstep_company_id) }
237
270
  lockstep_belongs_to :account, class_name: "Lockstep::Account", loader: -> (record) { Lockstep::Account.where(is_active: true).first }
238
-
271
+
239
272
  end
240
273
  ```
241
274
 
@@ -0,0 +1,6 @@
1
+ class Lockstep::CompanyMagicLinkSummary < Lockstep::ApiRecord
2
+ self.model_name_uri = "v1/Companies/views/magic-link-summary"
3
+ self.id_ref = "company_id"
4
+ self.query_path = ""
5
+ load_schema(Schema::CompanyMagicLinkSummary)
6
+ end
@@ -1,7 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Lockstep::Invoice < Lockstep::ApiRecord
2
- self.model_name_uri = "v1/Invoices"
3
- self.id_ref = "invoice_id"
4
+ self.model_name_uri = 'v1/Invoices'
5
+ self.id_ref = 'invoice_id'
4
6
  load_schema(Schema::Invoice)
5
7
 
6
- belongs_to :connection, class_name: "Lockstep::Connection", foreign_key: :customer_id
8
+ belongs_to :connection, class_name: 'Lockstep::Connection', foreign_key: :customer_id
9
+
10
+ scope :einvoices, -> { include_object(:customer, :lines) }
11
+ scope :received_einvoices, -> { einvoices.where(invoice_type_code: 'AP E-Invoice') }
7
12
  end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Lockstep::WorkflowStatus < Lockstep::ApiRecord
4
+ self.model_name_uri = '/v1/workflow-statuses/'
5
+ self.id_ref = 'id'
6
+
7
+ load_schema(Schema::WorkflowStatus)
8
+ end
@@ -79,5 +79,6 @@ end
79
79
  has_many :attachments, {:class_name=>"Schema::Attachment", :included=>true}
80
80
  has_many :custom_field_definitions, {:class_name=>"Schema::CustomFieldDefinition", :included=>true}
81
81
  has_many :custom_field_values, {:class_name=>"Schema::CustomFieldValue", :included=>true}
82
+ has_many :enrollments, {:class_name=>"Schema::AppEnrollment", :included=>true}
82
83
 
83
84
  end
@@ -27,5 +27,7 @@ end
27
27
  has_many :financial_accounts, {:class_name=>"Schema::FinancialAccountSync", :included=>true}
28
28
  has_many :financial_account_balance_histories, {:class_name=>"Schema::FinancialAccountBalanceHistorySync", :included=>true}
29
29
  has_many :base_currencies, {:class_name=>"Schema::BaseCurrencySync", :included=>true}
30
+ has_many :journal_entries, {:class_name=>"Schema::JournalEntrySync", :included=>true}
31
+ has_many :journal_entry_lines, {:class_name=>"Schema::JournalEntryLineSync", :included=>true}
30
32
 
31
33
  end
@@ -0,0 +1,93 @@
1
+ class Schema::CompanyMagicLinkSummary < Lockstep::ApiRecord
2
+
3
+ # ApiRecord will crash unless `id_ref` is defined
4
+ def self.id_ref
5
+ nil
6
+ end
7
+
8
+ # The unique id for this company
9
+ # @type: string
10
+ # @format: uuid
11
+ field :company_id
12
+
13
+ # The short name of the company.
14
+ # @type: string
15
+ field :company_name
16
+
17
+ # This field indicates the type of company. It can be one of a limited number of values:
18
+ # Company, Customer, Group, Vendor, or Third Party. A company that represents both a customer and a vendor
19
+ # is identified as a CustomerVendor.
20
+ #
21
+ # * `Company` - This record represents a company that is part of the organization of the account holder.
22
+ # * `Customer` - This record represents a business entity that purchases things from the account holder.
23
+ # * `Group` - Only one record of type `GROUP` exists in each account. Contains your account profile.
24
+ # * `Vendor` - This record represents a business entity that sells things to the account holder.
25
+ # * `Third Party` - This record represents a business entity that is neither a customer nor vendor.
26
+ # * `CustomerVendor` - Both a customer and a vendor.
27
+ # * `CompanyProfile` - Profile for a Company, each Company should have at most 1 profile, used only for Profile Management.
28
+ # @type: string
29
+ field :company_type
30
+
31
+ # The GroupKey uniquely identifies a single Lockstep Platform account. All records for this
32
+ # account will share the same GroupKey value. GroupKey values cannot be changed once created.
33
+ #
34
+ # For more information, see [Accounts and GroupKeys](https://developer.lockstep.io/docs/accounts-and-groupkeys).
35
+ # @type: string
36
+ # @format: uuid
37
+ field :group_key
38
+
39
+ # The name of the primary contact for this company
40
+ # @type: string
41
+ field :primary_contact_name
42
+
43
+ # The email of the primary contact for this company
44
+ # @type: string
45
+ field :primary_contact_email_address
46
+
47
+ # The point of contact for this company
48
+ # @type: string
49
+ field :point_of_contact
50
+
51
+ # The total outstanding amount for this company
52
+ # @type: integer
53
+ # @format: int32
54
+ field :outstanding_amount
55
+
56
+ # The total number of open invoices for this company
57
+ # @type: integer
58
+ # @format: int32
59
+ field :total_open_invoices
60
+
61
+ # The total number of invoices that are past due for this company
62
+ # @type: integer
63
+ # @format: int32
64
+ field :past_due
65
+
66
+ # Total number of visits for all magic links sent for this company
67
+ # @type: integer
68
+ # @format: int32
69
+ field :total_visits
70
+
71
+ # Total number of sent links for this company
72
+ # @type: integer
73
+ # @format: int32
74
+ field :links_sent
75
+
76
+ # Created date of the most recent magic link made for this company
77
+ # @type: string
78
+ # @format: date-time
79
+ field :latest_magic_link_date, Types::Params::DateTime
80
+
81
+ # Id of the most recent magic link made for this company
82
+ # @type: string
83
+ # @format: uuid
84
+ field :latest_magic_link_id
85
+
86
+ # Possible statuses for a Magic Link.
87
+ field :latest_magic_link_status
88
+
89
+ belongs_to :company, {:class_name=>"Lockstep::Account", :primary_key=>:company_id, :foreign_key=>"company_id"}
90
+ belongs_to :account, {:class_name=>"Lockstep::Account", :primary_key=>:company_id, :foreign_key=>"company_id"}
91
+
92
+
93
+ end
@@ -0,0 +1,26 @@
1
+ class Schema::CompanyMagicLinkSummaryFetchResult < Lockstep::ApiRecord
2
+
3
+ # ApiRecord will crash unless `id_ref` is defined
4
+ def self.id_ref
5
+ nil
6
+ end
7
+
8
+
9
+ # @type: integer
10
+ # @format: int32
11
+ field :total_count
12
+
13
+
14
+ # @type: integer
15
+ # @format: int32
16
+ field :page_size
17
+
18
+
19
+ # @type: integer
20
+ # @format: int32
21
+ field :page_number
22
+
23
+
24
+ has_many :records, {:class_name=>"Schema::CompanyMagicLinkSummary", :included=>true}
25
+
26
+ end
@@ -8,6 +8,11 @@ end
8
8
  # Indicates what action to take when an existing object has been found during the sync process.
9
9
  field :on_match_action
10
10
 
11
+ # The unique identifier of this object in the Sage Network platform.
12
+ # @type: string
13
+ # @format: uuid
14
+ field :network_id
15
+
11
16
  # This is the primary key of the Company record. For this field, you should use whatever the company's unique
12
17
  # identifying number is in the originating system. Search for a unique, non-changing number within the
13
18
  # originating financial system for this record.
@@ -49,6 +54,11 @@ end
49
54
  # @type: string
50
55
  field :parent_company_erp_key
51
56
 
57
+ # The network id of the parent Company.
58
+ # @type: string
59
+ # @format: uuid
60
+ field :parent_company_network_id
61
+
52
62
  # This flag indicates whether the company is currently active. An inactive company will be hidden from the
53
63
  # user interface but will still be available for querying.
54
64
  # @type: boolean
@@ -68,6 +78,11 @@ end
68
78
  # @type: string
69
79
  field :primary_contact_erp_key
70
80
 
81
+ # The network id of the primary Contact.
82
+ # @type: string
83
+ # @format: uuid
84
+ field :primary_contact_network_id
85
+
71
86
  # The company's primary mailing address information
72
87
  # @type: string
73
88
  field :address1
@@ -8,6 +8,11 @@ end
8
8
  # Indicates what action to take when an existing object has been found during the sync process.
9
9
  field :on_match_action
10
10
 
11
+ # The unique identifier of this object in the Sage Network platform.
12
+ # @type: string
13
+ # @format: uuid
14
+ field :network_id
15
+
11
16
  # This is the primary key of the Contact record. For this field, you should use whatever the contact's unique
12
17
  # identifying number is in the originating system. Search for a unique, non-changing number within the
13
18
  # originating financial system for this record.
@@ -31,6 +36,11 @@ end
31
36
  # @type: string
32
37
  field :company_erp_key
33
38
 
39
+ # The network id of the related Company.
40
+ # @type: string
41
+ # @format: uuid
42
+ field :company_network_id
43
+
34
44
  # The name of the contact.
35
45
  # @type: string
36
46
  field :contact_name
@@ -0,0 +1,72 @@
1
+ class Schema::DirectoryCompany < Lockstep::ApiRecord
2
+
3
+ # ApiRecord will crash unless `id_ref` is defined
4
+ def self.id_ref
5
+ nil
6
+ end
7
+
8
+ # The field indicates the dataset type used to generate the directory company.
9
+ field :data_set
10
+
11
+ # Unique identifier of this record based on the dataset.
12
+ # <remarks>
13
+ # Examples of this would be:
14
+ # * DataSet = Siren, Identifier = string
15
+ # * DataSet = Siret, Identifier = string
16
+ # </remarks>
17
+ # @type: string
18
+ field :id
19
+
20
+ # This field indicates the type of company.
21
+ # @type: string
22
+ field :company_type
23
+
24
+ # The name of the directory company entity.
25
+ # @type: string
26
+ field :name
27
+
28
+ # Address info
29
+ # @type: string
30
+ field :address1
31
+
32
+ # Address info
33
+ # @type: string
34
+ field :address2
35
+
36
+ # Address info
37
+ # @type: string
38
+ field :address3
39
+
40
+ # Address info
41
+ # @type: string
42
+ field :city
43
+
44
+ # Address info
45
+ # @type: string
46
+ field :country
47
+
48
+ # Address info
49
+ # @type: string
50
+ field :postal_code
51
+
52
+ # Phone number
53
+ # @type: string
54
+ field :phone_number
55
+
56
+ # Email address
57
+ # @type: string
58
+ field :email_address
59
+
60
+ # The date this directory company entity was created
61
+ # @type: string
62
+ # @format: date-time
63
+ field :created_date_time, Types::Params::DateTime
64
+
65
+ # The date this directory company entity was modified
66
+ # @type: string
67
+ # @format: date-time
68
+ field :modified_date_time, Types::Params::DateTime
69
+
70
+
71
+
72
+ end
@@ -0,0 +1,30 @@
1
+ class Schema::ExternalConnector < Lockstep::ApiRecord
2
+
3
+ # ApiRecord will crash unless `id_ref` is defined
4
+ def self.id_ref
5
+ nil
6
+ end
7
+
8
+ # External Connector ID
9
+ # @type: string
10
+ field :id
11
+
12
+ # External connector name
13
+ # @type: string
14
+ field :name
15
+
16
+ # URL to start onboarding with the given external connector
17
+ # @type: string
18
+ field :onboarding_url
19
+
20
+ # Information about the external connector.
21
+ # @type: string
22
+ field :description
23
+
24
+ # Categories external connector is associated with
25
+ # @type: array
26
+ field :categories
27
+
28
+
29
+
30
+ end
@@ -0,0 +1,14 @@
1
+ class Schema::ExternalConnectorAuth < Lockstep::ApiRecord
2
+
3
+ # ApiRecord will crash unless `id_ref` is defined
4
+ def self.id_ref
5
+ nil
6
+ end
7
+
8
+ # The URL to open a browser with. This begins the user authentication process driven by a provider.
9
+ # @type: string
10
+ field :authentication_url
11
+
12
+
13
+
14
+ end