-
Notifications
You must be signed in to change notification settings - Fork 62
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merged PR 55159: Sync contacts via JSON instead of CSV
## What's being changed CSV file-based sync for Customer, Guest and Subscriber sync is being replaced with JSON data. The 'export' phase of each sync will now return an array of hydrated SDK contact objects, ready for V3 API import. Various optimisations for speed and efficiency have been included: - `import_data` is now LONGTEXT to allow storing of larger JSON blobs - mega batches that are too large for an API request will be completed and processed - any usage of abstract classes or other inheritance in these syncs is being refactored out, in line with general Magento design principles - the aim is to consolidate all merging and processing of mega batches in single classes (MergeManager and MegaBatchProcessor) ## Why it's being changed V3 of our API accepts bulk JSON imports for contacts including data fields. ## How to review / test this change - Test batching of customer, guest and subscriber syncs - Test batch processing including data transfer to Dotdigital and the marking of rows as imported - Test data field collection when pre-sending contacts in automation sync - Old-style imports of CSV queued at point of upgrade must still be processed and be able to be retried - Old-style CSV imports that are in progress must still be processed as previously - Test resetting imports and retrying - Cleaner cron must still remove any remaining archive folder _Test PayloadTooLargeException_ - adjust down your contact mega batch size - set the MEGA_BATCH_SIZE_BYTE_LIMIT_API const to fx 4000 - run the sync to test - mega batches should be built only so long as their prospective size remains under the limit ## Notes - During these syncs, rows must be marked as imported even if the JSON import was rejected, otherwise the offset won't work correctly in the export Related work items: #236430, #260229
- Loading branch information
Showing
60 changed files
with
2,241 additions
and
664 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.