{"id":19622154,"url":"https://github.com/commercetools/commercetools-sync-java","last_synced_at":"2025-04-06T04:15:34.801Z","repository":{"id":38014167,"uuid":"84962876","full_name":"commercetools/commercetools-sync-java","owner":"commercetools","description":"Java library for importing and syncing (taking care of changes) data into one or more commercetools projects from external data files or from another commercetools project.","archived":false,"fork":false,"pushed_at":"2025-03-31T19:40:06.000Z","size":42694,"stargazers_count":34,"open_issues_count":8,"forks_count":37,"subscribers_count":60,"default_branch":"master","last_synced_at":"2025-04-01T18:09:38.047Z","etag":null,"topics":["commercetools","commercetools-importer","commercetools-sdk","commercetools-sync","ecommerce","hacktoberfest","import-and-export","java","sdk","sync"],"latest_commit_sha":null,"homepage":"https://commercetools.github.io/commercetools-sync-java","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/commercetools.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-14T15:06:58.000Z","updated_at":"2025-03-31T19:22:00.000Z","dependencies_parsed_at":"2023-02-19T02:45:37.155Z","dependency_job_id":"4e6f95a7-1a49-4318-bfe8-c30f029a958c","html_url":"https://github.com/commercetools/commercetools-sync-java","commit_stats":null,"previous_names":[],"tags_count":77,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/commercetools%2Fcommercetools-sync-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/commercetools%2Fcommercetools-sync-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/commercetools%2Fcommercetools-sync-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/commercetools%2Fcommercetools-sync-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/commercetools","download_url":"https://codeload.github.com/commercetools/commercetools-sync-java/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247430963,"owners_count":20937875,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["commercetools","commercetools-importer","commercetools-sdk","commercetools-sync","ecommerce","hacktoberfest","import-and-export","java","sdk","sync"],"created_at":"2024-11-11T11:26:15.062Z","updated_at":"2025-04-06T04:15:34.704Z","avatar_url":"https://github.com/commercetools.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![commercetools-java-sync-logos 002](https://user-images.githubusercontent.com/9512131/31182587-90d47f0a-a924-11e7-9716-66e6bec7f79b.png)\n# commercetools sync java\n[![CI](https://github.com/commercetools/commercetools-sync-java/workflows/CI/badge.svg)](https://github.com/commercetools/commercetools-sync-java/actions?query=workflow%3ACI)\n[![codecov](https://codecov.io/gh/commercetools/commercetools-sync-java/branch/master/graph/badge.svg)](https://codecov.io/gh/commercetools/commercetools-sync-java)\n[![Javadoc](https://javadoc.io/badge2/com.commercetools/commercetools-sync-java/javadoc.svg?label=Javadoc)](https://commercetools.github.io/commercetools-sync-java/v/10.0.6/)\n[![Known Vulnerabilities](https://snyk.io/test/github/commercetools/commercetools-sync-java/4b2e26113d591bda158217c5dc1cf80a88665646/badge.svg)](https://snyk.io/test/github/commercetools/commercetools-sync-java/4b2e26113d591bda158217c5dc1cf80a88665646)\n\n\n\u003e Note: The current version of this library uses [JVM-SDK-V2](http://commercetools.github.io/commercetools-sdk-java-v2). This doc already contains updated information. Please migrate to this version, using our [Migration Guide](/docs/MIGRATION_GUIDE.md). The support for JVM SDK v1 has been discontinued with [commercetools-sync-java v9.2.3](https://github.com/commercetools/commercetools-sync-java/tree/9.2.3)\n\u003e If migration isn't an option for you, you can still use deprecated versions of this library available at [Maven central](https://central.sonatype.com/artifact/com.commercetools/commercetools-sync-java/9.2.3).\n\nMore at https://commercetools.github.io/commercetools-sync-java\n\nJava library which allows to import/synchronise (import changes) the data from any arbitrary source to commercetools project.\n\nSupported 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)\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n- [Usage](#usage)\n  - [Quick Start](/docs/usage/QUICK_START.md)\n  - [Prerequisites](#prerequisites)\n  - [Installation](#installation)\n    - [Maven](#maven)\n    - [Gradle](#gradle)\n    - [SBT](#sbt)\n    - [Ivy](#ivy)\n- [Release Notes](/docs/RELEASE_NOTES.md)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n## Usage\n\nCreate your own event or cronjob based application and use the library to transform any external data (JSON, CSV, XML, REST API, DB, ...) into [JVM-SDK-V2](http://commercetools.github.io/commercetools-sdk-java-v2) resource draft objects (e.g. [CategoryDraft](https://github.com/commercetools/commercetools-sdk-java-v2/blob/main/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/category/CategoryDraft.java)) and import those into the commercetools project.\n\nNotes:\n\n- 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.\n- 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.\n- During a synchronisation, resources are either created or updated, but **not** deleted.\n\n⚡ See the [Quick Start Guide](/docs/usage/QUICK_START.md) for more information on building a product importer!\n\n![commercetools-java-sync-final 001](https://user-images.githubusercontent.com/3469524/126317637-a946a81c-2948-4751-86bb-02bcecfeca95.png)\n\n### Prerequisites\n \n - Library requires the min JDK version `\u003e= 11`.\n   \u003e The library tested with each major JDK version (i.e: 11, 12, 13...) as well as some specific updates of LTS versions (i.e: 11.0.3 and above).\n - A target commercetools project for syncing your source data to.\n\n### Installation\n\nThere are multiple ways to add the commercetools sync dependency to your project, based on your dependency manager. \nHere are the most popular ones:\n\n#### Maven \n\n````xml\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.commercetools\u003c/groupId\u003e\n  \u003cartifactId\u003ecommercetools-sync-java\u003c/artifactId\u003e\n  \u003cversion\u003e10.0.7\u003c/version\u003e\n\u003c/dependency\u003e\n````\n\n#### Gradle\n\n````groovy\nimplementation 'com.commercetools:commercetools-sync-java:10.0.7'\n````\n\n#### SBT \n\n````\nlibraryDependencies += \"com.commercetools\" % \"commercetools-sync-java\" % \"10.0.7\"\n````\n\n#### Ivy \n\n````xml\n\u003cdependency org=\"com.commercetools\" name=\"commercetools-sync-java\" rev=\"10.0.7\"/\u003e\n````\n\n**Note**: To avoid `commercetools JVM SDK` libraries version mismatch between projects.\n It is better not to add `commercetools JVM SDK` dependencies explicitly into your project and use them from `commercetools-Sync-Java` dependencies instead. \n Please remove them if you have already added the below dependencies in your project.\n\nFor Gradle users, remove: \n```groovy\nimplementation \"com.commercetools.sdk:commercetools-http-client:${version}\"\nimplementation \"com.commercetools.sdk:commercetools-sdk-java-api:${version}\"\n```\n\nFor Maven users, remove:\n\n````xml\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.commercetools.sdk\u003c/groupId\u003e\n  \u003cartifactId\u003ecommercetools-http-client\u003c/artifactId\u003e\n  \u003cversion\u003eversion\u003c/version\u003e\n\u003c/dependency\u003e\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.commercetools.sdk\u003c/groupId\u003e\n  \u003cartifactId\u003ecommercetools-sdk-java-v2\u003c/artifactId\u003e\n  \u003cversion\u003eversion\u003c/version\u003e\n\u003c/dependency\u003e\n````\n\nIf you want to use a different `commercetools JVM SDK` version than the version used in this project. \n, below you will find examples on how to exclude `commercetools JVM SDK` from commercetools-sync-java library. Beware that library might not work with the older `commercetools JVM SDK` versions.\n\nFor Gradle:\n````groovy\nimplementation('com.commercetools:commercetools-sync-java') {\n    exclude group: 'com.commercetools.sdk', module: 'commercetools-http-client'\n    exclude group: 'com.commercetools.sdk', module: 'commercetools-sdk-java-api'\n}\n````\n\nFor Maven:\n````xml\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.commercetools\u003c/groupId\u003e\n  \u003cartifactId\u003ecommercetools-sync-java\u003c/artifactId\u003e\n  \u003cversion\u003eversion\u003c/version\u003e\n  \u003cexclusions\u003e\n    \u003cexclusion\u003e\n        \u003cgroupId\u003ecom.commercetools.sdk\u003c/groupId\u003e\n        \u003cartifactId\u003ecommercetools-http-client\u003c/artifactId\u003e\n    \u003c/exclusion\u003e\n    \u003cexclusion\u003e\n        \u003cgroupId\u003ecom.commercetools.sdk\u003c/groupId\u003e\n        \u003cartifactId\u003ecommercetools-sdk-java-v2\u003c/artifactId\u003e\n    \u003c/exclusion\u003e\n  \u003c/exclusions\u003e\n\u003c/dependency\u003e\n````\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcommercetools%2Fcommercetools-sync-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcommercetools%2Fcommercetools-sync-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcommercetools%2Fcommercetools-sync-java/lists"}