Class: LockstepSdk::BatchSyncModel
- Inherits:
-
Object
- Object
- LockstepSdk::BatchSyncModel
- Defined in:
- lib/lockstep_sdk/models/batch_sync_model.rb
Overview
A BatchSyncModel contains a collection of records to load into the Lockstep Platform. Data contained in this batch will be merged with your existing data. Each record will be matched with existing data inside the Lockstep Platform using the [Identity Column](developer.lockstep.io/docs/identity-columns) rules. Any record that represents a new AppEnrollmentId+ErpKey will be inserted. A record that matches an existing AppEnrollmentId+ErpKey will be updated, but only if the data has changed.
A Sync process permits either a complete data file or a partial / delta data file. Lockstep recommends using a sliding time window to avoid the risk of clock skew errors that might accidentally omit records. Best practice is to run a Sync process daily, and to export all data that has changed in the past 48 hours.
Instance Attribute Summary collapse
-
#companies ⇒ CompanySyncModel
A list of Company records to merge with your Lockstep Platform data.
-
#contacts ⇒ ContactSyncModel
A list of Contact records to merge with your Lockstep Platform data.
-
#credit_memo_applications ⇒ CreditMemoAppliedSyncModel
A list of CreditMemoApplied records to merge with your Lockstep Platform data.
-
#custom_fields ⇒ CustomFieldSyncModel
A list of CustomField records to merge with your Lockstep Platform data.
-
#invoice_lines ⇒ InvoiceLineSyncModel
A list of InvoiceLine records to merge with your Lockstep Platform data.
-
#invoices ⇒ InvoiceSyncModel
A list of Invoice records to merge with your Lockstep Platform data.
-
#payment_applications ⇒ PaymentAppliedSyncModel
A list of PaymentApplied records to merge with your Lockstep Platform data.
-
#payments ⇒ PaymentSyncModel
A list of Payment records to merge with your Lockstep Platform data.
Instance Method Summary collapse
-
#as_json(options = {}) ⇒ object
This object as a JSON key-value structure.
-
#initialize(params = {}) ⇒ BatchSyncModel
constructor
Initialize the BatchSyncModel using the provided prototype.
-
#to_json(*options) ⇒ String
This object converted to a JSON string.
Constructor Details
#initialize(params = {}) ⇒ BatchSyncModel
Initialize the BatchSyncModel using the provided prototype
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/lockstep_sdk/models/batch_sync_model.rb', line 35 def initialize(params = {}) @companies = params.dig(:companies) @contacts = params.dig(:contacts) @credit_memo_applications = params.dig(:credit_memo_applications) @invoices = params.dig(:invoices) @invoice_lines = params.dig(:invoice_lines) @custom_fields = params.dig(:custom_fields) @payments = params.dig(:payments) @payment_applications = params.dig(:payment_applications) end |
Instance Attribute Details
#companies ⇒ CompanySyncModel
48 49 50 |
# File 'lib/lockstep_sdk/models/batch_sync_model.rb', line 48 def companies @companies end |
#contacts ⇒ ContactSyncModel
52 53 54 |
# File 'lib/lockstep_sdk/models/batch_sync_model.rb', line 52 def contacts @contacts end |
#credit_memo_applications ⇒ CreditMemoAppliedSyncModel
56 57 58 |
# File 'lib/lockstep_sdk/models/batch_sync_model.rb', line 56 def credit_memo_applications @credit_memo_applications end |
#custom_fields ⇒ CustomFieldSyncModel
68 69 70 |
# File 'lib/lockstep_sdk/models/batch_sync_model.rb', line 68 def custom_fields @custom_fields end |
#invoice_lines ⇒ InvoiceLineSyncModel
64 65 66 |
# File 'lib/lockstep_sdk/models/batch_sync_model.rb', line 64 def invoice_lines @invoice_lines end |
#invoices ⇒ InvoiceSyncModel
60 61 62 |
# File 'lib/lockstep_sdk/models/batch_sync_model.rb', line 60 def invoices @invoices end |
#payment_applications ⇒ PaymentAppliedSyncModel
76 77 78 |
# File 'lib/lockstep_sdk/models/batch_sync_model.rb', line 76 def payment_applications @payment_applications end |
#payments ⇒ PaymentSyncModel
72 73 74 |
# File 'lib/lockstep_sdk/models/batch_sync_model.rb', line 72 def payments @payments end |
Instance Method Details
#as_json(options = {}) ⇒ object
80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/lockstep_sdk/models/batch_sync_model.rb', line 80 def as_json(={}) { 'companies' => @companies, 'contacts' => @contacts, 'creditMemoApplications' => @credit_memo_applications, 'invoices' => @invoices, 'invoiceLines' => @invoice_lines, 'customFields' => @custom_fields, 'payments' => @payments, 'paymentApplications' => @payment_applications, } end |
#to_json(*options) ⇒ String
95 96 97 |
# File 'lib/lockstep_sdk/models/batch_sync_model.rb', line 95 def to_json(*) "[#{as_json(*).to_json(*)}]" end |