Skip to content

commercetools-java-sync-logos 002

commercetools sync

CI codecov Benchmarks 8.0.0 Download from Maven Central Javadoc Known Vulnerabilities

Java library which allows to import/synchronise (import changes) the data from any arbitrary source to commercetools project.

Supported resources: Categories, Products, InventoryEntries, ProductTypes, Types, CartDiscounts, States, TaxCategories, CustomObjects, Customers, ShoppingLists

Usage

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 resource draft objects (e.g. CategoryDraft) and import those into the commercetools project.

Notes:

  • 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.
  • There is dockerized ready-to-use CLI application commercetools-project-sync which based on this library can synchronize entire data catalogue between the 2 commercetools projects.
  • During a synchronisation, resources are either created or updated, but not deleted.

⚡ See the Quick Start Guide for more information on building a product importer!

commercetools-java-sync-final 001

Prerequisites

  • Library requires the min JDK version >= 8.

    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).

  • A target commercetools project for syncing your source data to.

Installation

There are multiple ways to add the commercetools sync dependency to your project, based on your dependency manager. Here are the most popular ones:

Maven

<dependency>
  <groupId>com.commercetools</groupId>
  <artifactId>commercetools-sync-java</artifactId>
  <version>8.0.0</version>
</dependency>

Gradle

implementation 'com.commercetools:commercetools-sync-java:8.0.0'

SBT

libraryDependencies += "com.commercetools" % "commercetools-sync-java" % "8.0.0"

Ivy

<dependency org="com.commercetools" name="commercetools-sync-java" rev="8.0.0"/>