https://github.com/findologic/plentymarkets-rest-exporter
plentymarkets REST API - https://developers.plentymarkets.com/rest-doc/gettingstarted
https://github.com/findologic/plentymarkets-rest-exporter
api findologic php plentymarkets rest-api
Last synced: 6 months ago
JSON representation
plentymarkets REST API - https://developers.plentymarkets.com/rest-doc/gettingstarted
- Host: GitHub
- URL: https://github.com/findologic/plentymarkets-rest-exporter
- Owner: findologic
- Created: 2020-04-08T08:36:57.000Z (over 6 years ago)
- Default Branch: develop
- Last Pushed: 2024-12-04T11:49:19.000Z (over 1 year ago)
- Last Synced: 2025-05-12T22:17:06.832Z (about 1 year ago)
- Topics: api, findologic, php, plentymarkets, rest-api
- Language: PHP
- Size: 1.18 MB
- Stars: 3
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Plentymarkets REST exporter
[](https://github.com/findologic/plentymarkets-rest-exporter-new/actions)
[](https://codecov.io/gh/findologic/plentymarkets-rest-exporter-new)
## Table of Contents
1. [Synopsis](#synopsis)
1. [Requirements](#requirements)
1. [Installation](#installation)
1. [Running the export](#running-the-export)
1. [Development](#development)
1. [Running the export](#running-the-export)
1. [Using a shopkey to run the export](#using-a-shopkey-to-run-the-export)
1. [Configuration](#configuration)
1. [Debugging the export](#debugging-the-export)
## Synopsis
This is a **work in progress** rewrite of the [findologic/plentymarkets-rest-export](https://github.com/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
1. Run `composer install` to install all required dependencies.
1. Copy `.env` to `.env.local`, and set the configuration for the shop,
you want to export the data from.
## Running the export
1. Run `bin/console export:start`.
1. When the export was successful, you may be able to find the exported CSV/XML file
in the `/export` directory.
* If you have a shopkey, see [Using a shopkey to run the export](#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/debug` directory.
If you want to debug, read more about [debugging the export](#debugging-the-export).
## Development
### Directory structure
* `.github` Contains everything related to GitHub, including GitHub Actions.
* `bin` Contains executables. E.g. [Running the export](#running-the-export).
* `config` Contains configuration files. E.g [Export configuration](#configuration).
* `var/debug` Contains Request/Responses after starting an export.
* `var/export` Contains the exported XML(s)/CSV file(s).
* `var/log` Contains the log of the last export.
* `src` Contains all source code.
* `tests` Contains all unit-tests.
* `vendor` Contains 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](https://docs.findologic.com/doku.php?id=integration_documentation:plentymarkets_ceres_plugin:rest_export#necessary_permissions) 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`.