findologic / plentymarkets-rest-exporter-new
FINDOLOGIC exporter for exporting product data via the plentymarkets REST API
Installs: 898
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 5
Forks: 0
Open Issues: 0
Type:project
pkg:composer/findologic/plentymarkets-rest-exporter-new
Requires
- php: >=8.1
- ext-json: *
- findologic/libflexport: ^3.1
- guzzlehttp/guzzle: ^7.4.5
- guzzlehttp/promises: ^1.4
- nesbot/carbon: ^2.38
- php-units-of-measure/php-units-of-measure: ^2.1
- symfony/cache: ^5.1
- symfony/dotenv: ^5.2
- vasily-kartashov/log4php: ^4.1
Requires (Dev)
- dg/bypass-finals: ^1.4
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.5
- symfony/console: ^5.1
- symfony/filesystem: ^5.1
- symfony/finder: ^5.1
- symfony/phpunit-bridge: ^5.2
- symfony/var-dumper: ^5.1
- dev-develop
- v2.3.1
- v2.3.0
- v2.2.1
- v2.2.0
- v2.1.0
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.0
- v1.2.1
- v1.2.0
- v1.1.1
- v1.1.0
- v1.0.0
- v0.8.0
- v0.7.1
- v0.7.0
- v0.6.1
- v0.6.0
- v0.5.0
- v0.4.0
- v0.3.0
- v0.2.0
- v0.1.0
- dev-test_lower_variant_count
- dev-PLENTY-470-As-a-Plenty-customer-I-want-to-use-the-XML-variants-logic
- dev-main
- dev-create_plentyShop_class
- dev-refactor_export_to_separate_adapters
- dev-ACC-786_Migrate_Importer_to_Monolog_as_our_current_logging_framework_log4php_is_abandoned
This package is auto-updated.
Last update: 2025-10-04 13:25:46 UTC
README
Table of Contents
Synopsis
This is a work in progress rewrite of the findologic/plentymarkets-rest-export.
The Plentymarkets REST API is being called to get all necessary product data for FINDOLOGIC. The data is then wrapped to generate a FINDOLOGIC-consumable XML/CSV file. In the case of XML this could be multiple files.
Requirements
- PHP >= 7.4
- PHP JSON extension
- Composer
Installation
- Run
composer installto install all required dependencies. - Copy
.envto.env.local, and set the configuration for the shop, you want to export the data from.
Running the export
- Run
bin/console export:start. - When the export was successful, you may be able to find the exported CSV/XML file
in the
/exportdirectory.
- If you have a shopkey, see Using a shopkey to run the export.
- If debug mode is true, you may be able to find all requests/responses inside
of the
/var/debugdirectory.
If you want to debug, read more about debugging the export.
Development
Directory structure
.githubContains everything related to GitHub, including GitHub Actions.binContains executables. E.g. Running the export.configContains configuration files. E.g Export configuration.var/debugContains Request/Responses after starting an export.var/exportContains the exported XML(s)/CSV file(s).var/logContains the log of the last export.srcContains all source code.testsContains all unit-tests.vendorContains source code of dependencies.
Running tests
Running tests is as simple as it gets. Either run composer test,
or use your IDE to run the tests. When running them with the IDE
you may want to include phpunit.xml.dist as alternative configuration file.
Using a shopkey to run the export
NOTE: Running an export with a shopkey requires the option IMPORT_DATA_URL to be set in
your environment file!
You can also run the export for a specific shopkey by calling the export with an
additional shopkey parameter or bin/console export:start [shopkey].
When a shopkey is supplied, the EXPORT_xxx environment variables may be ignored.
Configuration
Here is a short table that explains each configuration option. Configuration changes can be done in your environment files.
| Configuration option | Description |
|---|---|
| EXPORT_USERNAME | The user which is used to authenticate to the REST API. It needs these permissions to successfully export. |
| EXPORT_PASSWORD | The password of the API user. |
| EXPORT_DOMAIN | The domain of the shop without protocol (http/https). E.g. www.your-shop.com |
| EXPORT_MULTISHOP_ID | The multiShopId of the shop. Each language has their own multiShopId at Plentymarkets. It is also known as "Webstore ID". |
| EXPORT_AVAILABILITY_ID | Products that have this availability id assigned, won't be exported. |
| EXPORT_PRICE_ID | Id of the exported prices that should be shown. |
| EXPORT_RRP_ID | Id of the recommended retail price that should be shown. |
| EXPORT_LANGUAGE | Language of the shop. E.g. DE, EN, FR |
| EXPORT_UNAVAILABLE_VARIATIONS | If active, unavailable variants will be exported. |
| EXPORT_REFERRER_ID | Only options including this ID within "Referrers" will be exported. All properties will be exported, if not set. |
| EXPORT_ORDERNUMBER_PRODUCT_ID | If active, the product ID will be exported as an order number. |
| EXPORT_ORDERNUMBER_VARIANT_ID | If active, the variant ID will be exported as an order number. |
| EXPORT_ORDERNUMBER_VARIANT_NUMBER | If active, the variant number will be exported as an order number. |
| EXPORT_ORDERNUMBER_VARIANT_MODEL | If active, the variant model will be exported as an order number. |
| EXPORT_ORDERNUMBER_VARIANT_BARCODES | If active, the variant barcodes will be exported as an order numbers. |
| EXPORT_FREE_TEXT_FIELDS | If active, the free text fields will be exported as attributes. |
| EXPORT_DIMENSION_UNIT | Unit for the configured length/width/height of the products. |
| EXPORT_WEIGHT_UNIT | Unit for the configured weight of the products. |
| DEBUG | Boolean that if set to true, will log all requests/responses inside of the debug folder. |
| IMPORT_DATA_URL | Adding this to your config allows you to call the export with an additional shopkey parameter. |
Debugging the export
If you want to debug the export, you can simply right-click bin/console
inside of the IDE and select "Debug 'export (PHP Script)'".
Setting the environment variable "DEBUG" to true, will
automatically create request/response files inside of the var/debug folder.
If you no longer need them, they can be cleared anytime running composer clear,
or bin/clearExportFiles.