lockstep_rails 0.3.68 → 0.3.70

Sign up to get free protection for your applications and to get access to all the features.
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