|
3 | 3 | [](https://github.com/commercetools/commercetools-sync-java/actions?query=workflow%3ACI) |
4 | 4 | [](https://codecov.io/gh/commercetools/commercetools-sync-java) |
5 | 5 | [](https://commercetools.github.io/commercetools-sync-java/benchmarks/) |
6 | | -[ ](https://bintray.com/commercetools/maven/commercetools-sync-java/_latestVersion) |
7 | 6 | [](https://search.maven.org/artifact/com.commercetools/commercetools-sync-java/6.0.0/jar) |
8 | 7 | [](https://commercetools.github.io/commercetools-sync-java/v/6.0.0/) |
9 | 8 | [](https://snyk.io/test/github/commercetools/commercetools-sync-java/4b2e26113d591bda158217c5dc1cf80a88665646) |
10 | 9 |
|
11 | | - |
12 | | -Java library that imports commercetools platform data in the following ways: |
13 | | - |
14 | | - 1. Synchronise data coming from an external system in any form (CSV, XML, etc..) that has been already mapped to |
15 | | - [commercetools-jvm-sdk](https://github.com/commercetools/commercetools-jvm-sdk) resource draft objects |
16 | | - (e.g. [CategoryDraft](https://github.com/commercetools/commercetools-jvm-sdk/blob/master/commercetools-models/src/main/java/io/sphere/sdk/categories/CategoryDraft.java)). |
17 | | - |
18 | | - 2. Synchronise data from another commercetools project as |
19 | | - [commercetools-jvm-sdk](https://github.com/commercetools/commercetools-jvm-sdk) resource draft objects |
20 | | - (e.g. [CategoryDraft](https://github.com/commercetools/commercetools-jvm-sdk/blob/master/commercetools-models/src/main/java/io/sphere/sdk/categories/CategoryDraft.java)). |
21 | | - |
22 | | - |
23 | | - > Synchronise: Resources will either be created or updated. But they will **not** be deleted. |
24 | | - |
25 | | - ⚡ See the [Quick Start Guide](https://commercetools.github.io/commercetools-sync-java/doc/usage/QUICK_START/) for more information on building a product importer! |
26 | | - |
27 | | - 🔛 Check out the [commercetools-project-sync](https://github.com/commercetools/commercetools-project-sync) for a ready-to-use CLI application that syncs your entire data catalogue between 2 commercetools projects! |
28 | 10 |
|
29 | | -The library supports synchronising the following entities in commercetools |
30 | | - |
31 | | - - [Categories](usage/CATEGORY_SYNC.md) |
32 | | - - [Products](usage/PRODUCT_SYNC.md) |
33 | | - - [InventoryEntries](usage/INVENTORY_SYNC.md) |
34 | | - - [ProductTypes](usage/PRODUCT_TYPE_SYNC.md) |
35 | | - - [Types](usage/TYPE_SYNC.md) |
36 | | - - [CartDiscounts](usage/CART_DISCOUNT_SYNC.md) |
37 | | - - [States](usage/STATE_SYNC.md) |
38 | | - - [TaxCategories](/docs/usage/TAX_CATEGORY_SYNC.md) |
39 | | - - [CustomObjects](/docs/usage/CUSTOM_OBJECT_SYNC.md) |
40 | | - - [Customers](/docs/usage/CUSTOMER_SYNC.md) |
41 | | - - [ShoppingLists](/docs/usage/SHOPPING_LIST_SYNC.md) |
| 11 | +Java library which allows to import/synchronise (import changes) the data from any arbitrary source to commercetools project. |
42 | 12 |
|
43 | | - |
| 13 | +Supported resources: [Categories](/docs/usage/CATEGORY_SYNC.md), [Products](/docs/usage/PRODUCT_SYNC.md), [InventoryEntries](/docs/usage/INVENTORY_SYNC.md), [ProductTypes](/docs/usage/PRODUCT_TYPE_SYNC.md), [Types](/docs/usage/TYPE_SYNC.md), [CartDiscounts](/docs/usage/CART_DISCOUNT_SYNC.md), [States](/docs/usage/STATE_SYNC.md), [TaxCategories](/docs/usage/TAX_CATEGORY_SYNC.md), [CustomObjects](/docs/usage/CUSTOM_OBJECT_SYNC.md), [Customers](/docs/usage/CUSTOMER_SYNC.md), [ShoppingLists](/docs/usage/SHOPPING_LIST_SYNC.md) |
44 | 14 |
|
| 15 | +## Usage |
| 16 | + |
| 17 | +Create you own event or cronjob based application and use the library to transform any external data (JSON, CSV, XML, REST API, DB, ...) into [commercetools-jvm-sdk](https://github.com/commercetools/commercetools-jvm-sdk) resource draft objects (e.g. [CategoryDraft](https://github.com/commercetools/commercetools-jvm-sdk/blob/master/commercetools-models/src/main/java/io/sphere/sdk/categories/CategoryDraft.java)) and import those into the commercetools project. |
| 18 | + |
| 19 | +Notes: |
| 20 | + |
| 21 | +- It is often more efficient if you can setup your external data source to provide you only the changes (deltas) instead of the full data set on every import iteration. |
| 22 | +- There is dockerized ready-to-use CLI application [commercetools-project-sync](https://github.com/commercetools/commercetools-project-sync) which based on this library can synchronize entire data catalogue between the 2 commercetools projects. |
| 23 | +- During a synchronisation, resources are either created or updated, but **not** deleted. |
| 24 | + |
| 25 | +⚡ See the [Quick Start Guide](/docs/usage/QUICK_START.md) for more information on building a product importer! |
| 26 | + |
| 27 | + |
45 | 28 |
|
46 | 29 | ### Prerequisites |
47 | | - |
48 | | - - Make sure you have `JDK 8` installed. |
49 | | - - [commercetools-jvm-sdk](https://github.com/commercetools/commercetools-jvm-sdk) as a dependency in your JVM-based |
50 | | - application. (Make sure to use a version `>=` [1.60.0](https://search.maven.org/artifact/com.commercetools.sdk.jvm.core/commercetools-jvm-sdk/1.60.0/pom)). |
51 | | - - a target commercetools project for syncing your source data to. |
52 | 30 |
|
| 31 | +- Library requires the min JDK version `>= 8`. |
| 32 | + > The library tested with each major JDK version (i.e: 8, 9, 10, 11, 12, 13...) as well as some specific updates of LTS versions (i.e: 8.0.192, 11.0.3). |
| 33 | +- [commercetools-jvm-sdk](https://github.com/commercetools/commercetools-jvm-sdk) as a dependency in your JVM-based |
| 34 | + application. (Make sure to use a version `>= 1.64.0`). |
| 35 | +- A target commercetools project for syncing your source data to. |
53 | 36 |
|
54 | 37 | ### Installation |
55 | 38 | There are multiple ways to add the commercetools sync dependency to your project, based on your dependency manager. |
|
0 commit comments