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
Returns A list of Company records to merge with your Lockstep Platform data.
48 49 50 |
# File 'lib/lockstep_sdk/models/batch_sync_model.rb', line 48 def companies @companies end |
#contacts ⇒ ContactSyncModel
Returns A list of Contact records to merge with your Lockstep Platform data.
52 53 54 |
# File 'lib/lockstep_sdk/models/batch_sync_model.rb', line 52 def contacts @contacts end |
#credit_memo_applications ⇒ CreditMemoAppliedSyncModel
Returns A list of CreditMemoApplied records to merge with your Lockstep Platform data.
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
Returns A list of CustomField records to merge with your Lockstep Platform data.
68 69 70 |
# File 'lib/lockstep_sdk/models/batch_sync_model.rb', line 68 def custom_fields @custom_fields end |
#invoice_lines ⇒ InvoiceLineSyncModel
Returns A list of InvoiceLine records to merge with your Lockstep Platform data.
64 65 66 |
# File 'lib/lockstep_sdk/models/batch_sync_model.rb', line 64 def invoice_lines @invoice_lines end |
#invoices ⇒ InvoiceSyncModel
Returns A list of Invoice records to merge with your Lockstep Platform data.
60 61 62 |
# File 'lib/lockstep_sdk/models/batch_sync_model.rb', line 60 def invoices @invoices end |
#payment_applications ⇒ PaymentAppliedSyncModel
Returns A list of PaymentApplied records to merge with your Lockstep Platform data.
76 77 78 |
# File 'lib/lockstep_sdk/models/batch_sync_model.rb', line 76 def payment_applications @payment_applications end |
#payments ⇒ PaymentSyncModel
Returns A list of Payment records to merge with your Lockstep Platform data.
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
Returns This object as a JSON key-value structure.
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
Returns This object converted to a JSON string.
95 96 97 |
# File 'lib/lockstep_sdk/models/batch_sync_model.rb', line 95 def to_json(*) "[#{as_json(*).to_json(*)}]" end |