Skip to content

Update composer.json #10

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Changelog

## v1.12.1 - 2020-08-04
### Fixes
- Fix missing payment_voucher param and retro compatibility problem on TL01

## v1.12.0 - 2020-07-28
### Features
- Add requirement level for attributes (PM11)
- Add KYC information for A01, S06, S07 & S20 API clients
- Add M10, M11, M12, M13 AN OR43 in SDK

## v1.11.1 - 2020-01-16
### Fixes
- Fix XML responses that may not be parsed correctly
Expand Down
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "mirakl/sdk-php-shop",
"description": "Mirakl provides a PHP SDK that wraps the Mirakl REST APIs in a lightweight library. This enables you to develop a fast, flexible and custom integration for your existing e-commerce solution.",
"type": "library",
"version": "1.11.1",
"version": "1.12.1",
"license": "proprietary",
"authors": [
{
Expand Down
2 changes: 1 addition & 1 deletion src/Mirakl/Core/Domain/DateFieldsTrait.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ trait DateFieldsTrait
'created_date', 'debited_date', 'received_date', 'shipped_date', 'date_uploaded', 'date_deleted',
'start_update_date', 'end_update_date', 'accounting_document_creation_date', 'customer_debited_date',
'expiration_date', 'date_created_from', 'date_created_to', 'discount_start_date', 'discount_end_date',
'updated_since', 'last_updated', 'creation_date', 'update_date', 'shipping_deadline'
'updated_since', 'last_updated', 'creation_date', 'update_date', 'shipping_deadline', 'date_updated'
];
}
5 changes: 5 additions & 0 deletions src/Mirakl/Core/Request/AbstractRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
* @method int getMax()
* @method int getOffset()
* @method string getPageToken()
* @method int getLimit()
* @method bool getPaginate()
* @method array getProductReferences()
* @method \DateTime getStartDate()
Expand Down Expand Up @@ -188,6 +189,10 @@ public function getQueryParams()
$params['page_token'] = $this->getPageToken();
}

if ($this->getLimit()) {
$params['limit'] = $this->getLimit();
}

/** @see SortableTrait */
if ($this->getSortBy()) {
$params['sort'] = $this->getSortBy();
Expand Down
2 changes: 1 addition & 1 deletion src/Mirakl/Core/Request/SeekableTrait.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ trait SeekableTrait
*
* @var int
*/
protected $limit = 10;
protected $limit;

/**
* Indicate whether or not this API should return the page associated to this token.
Expand Down
2 changes: 2 additions & 0 deletions src/Mirakl/MCI/Common/Domain/Attribute.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
* @method ValueTranslationCollection getLabelTranslations()
* @method bool getRequired()
* @method $this setRequired(bool $required)
* @method string getRequirementLevel()
* @method $this setRequirementLevel(bool $requirementLevel)
* @method bool isRequired()
* @method AttributeRoleCollection getRoles()
* @method $this setRoles(AttributeRoleCollection $roles)
Expand Down
10 changes: 10 additions & 0 deletions src/Mirakl/MCI/Common/Domain/AttributeRequirementLevel.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?php
namespace Mirakl\MCI\Common\Domain;

class AttributeRequirementLevel
{
const OPTIONAL = 'OPTIONAL';
const REQUIRED = 'REQUIRED';
const RECOMMENDED = 'RECOMMENDED';
const DISABLED = 'DISABLED';
}
65 changes: 65 additions & 0 deletions src/Mirakl/MCI/Front/Client/FrontApiClient.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
<?php
namespace Mirakl\MCI\Front\Client;

use Mirakl\Core\Client\AbstractApiClient;
use Mirakl\Core\Domain\FileWrapper;
use Mirakl\MCI\Common\Domain\Collection\AttributeCollection;
use Mirakl\MCI\Common\Domain\Collection\HierarchyCollection;
use Mirakl\MCI\Common\Domain\Collection\Product\ProductImportResultCollection;
use Mirakl\MCI\Common\Domain\Product\ProductImportResult;
use Mirakl\MCI\Common\Domain\Product\ProductImportTracking;
use Mirakl\MCI\Common\Domain\ValueList;
use Mirakl\MCI\Common\Domain\ValueLists;
use Mirakl\MCI\Front\Domain\Attribute\AttributeImportResult;
use Mirakl\MCI\Front\Domain\Attribute\AttributeImportTracking;
use Mirakl\MCI\Front\Domain\Hierarchy\HierarchyImportResult;
use Mirakl\MCI\Front\Domain\Hierarchy\HierarchyImportTracking;
use Mirakl\MCI\Front\Domain\ValueList\ValueListImportResult;
use Mirakl\MCI\Front\Domain\ValueList\ValueListImportTracking;
use Mirakl\MCI\Front\Request\Attribute\AttributeImportErrorReportRequest;
use Mirakl\MCI\Front\Request\Attribute\AttributeImportRequest;
use Mirakl\MCI\Front\Request\Attribute\AttributeImportStatusRequest;
use Mirakl\MCI\Front\Request\Attribute\GetAttributesRequest;
use Mirakl\MCI\Front\Request\Hierarchy\GetHierarchiesRequest;
use Mirakl\MCI\Front\Request\Hierarchy\HierarchyImportErrorReportRequest;
use Mirakl\MCI\Front\Request\Hierarchy\HierarchyImportRequest;
use Mirakl\MCI\Front\Request\Hierarchy\HierarchyImportStatusRequest;
use Mirakl\MCI\Front\Request\Product\DownloadProductImportErrorReportRequest;
use Mirakl\MCI\Front\Request\Product\DownloadProductImportNewProductsReportRequest;
use Mirakl\MCI\Front\Request\Product\DownloadProductImportTransformationErrorReportRequest;
use Mirakl\MCI\Front\Request\Product\DownloadProductImportTransformedFileRequest;
use Mirakl\MCI\Front\Request\Product\ProductImportRequest;
use Mirakl\MCI\Front\Request\Product\ProductImportStatusesRequest;
use Mirakl\MCI\Front\Request\Product\ProductImportStatusRequest;
use Mirakl\MCI\Front\Request\Product\UpdateProductImportStatusRequest;
use Mirakl\MCI\Front\Request\ValueList\GetValueListItemsRequest;
use Mirakl\MCI\Front\Request\ValueList\GetValueListsItemsRequest;
use Mirakl\MCI\Front\Request\ValueList\ValueListImportErrorReportRequest;
use Mirakl\MCI\Front\Request\ValueList\ValueListImportRequest;
use Mirakl\MCI\Front\Request\ValueList\ValueListImportStatusRequest;

/**
* @method FileWrapper downloadProductImportErrorReport(DownloadProductImportErrorReportRequest $request)
* @method FileWrapper downloadProductImportNewProductsReport(DownloadProductImportNewProductsReportRequest $request)
* @method FileWrapper downloadProductImportTransformationErrorReport(DownloadProductImportTransformationErrorReportRequest $request)
* @method FileWrapper downloadProductImportTransformedFile(DownloadProductImportTransformedFileRequest $request)
* @method AttributeCollection getAttributes(GetAttributesRequest $request)
* @method FileWrapper getAttributeImportErrorReport(AttributeImportErrorReportRequest $request)
* @method AttributeImportResult getAttributeImportResult(AttributeImportStatusRequest $request)
* @method HierarchyCollection getHierarchies(GetHierarchiesRequest $request)
* @method FileWrapper getHierarchyImportErrorReport(HierarchyImportErrorReportRequest $request)
* @method FileWrapper getValueListImportErrorReport(ValueListImportErrorReportRequest $request)
* @method ValueList getValueListItems(GetValueListItemsRequest $request)
* @method HierarchyImportResult getHierarchyImportResult(HierarchyImportStatusRequest $request)
* @method ProductImportResult getProductImportStatus(ProductImportStatusRequest $request)
* @method ProductImportResultCollection getProductImportStatuses(ProductImportStatusesRequest $request)
* @method ValueListImportResult getValueListImportResult(ValueListImportStatusRequest $request)
* @method ValueLists getValueLists(GetValueListsItemsRequest $request)
* @method AttributeImportTracking importAttributes(AttributeImportRequest $request)
* @method HierarchyImportTracking importHierarchies(HierarchyImportRequest $request)
* @method ProductImportTracking importProducts(ProductImportRequest $request)
* @method ValueListImportTracking importValueLists(ValueListImportRequest $request)
* @method void updateProductImportStatus(UpdateProductImportStatusRequest $request)
*/
class FrontApiClient extends AbstractApiClient
{}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?php
namespace Mirakl\MCI\Front\Domain\Attribute;

use Mirakl\MCI\Common\Domain\AbstractCatalogImportResult;

class AttributeImportResult extends AbstractCatalogImportResult
{}
18 changes: 18 additions & 0 deletions src/Mirakl/MCI/Front/Domain/Attribute/AttributeImportTracking.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?php
namespace Mirakl\MCI\Front\Domain\Attribute;

use Mirakl\Core\Domain\MiraklObject;

/**
* @method string getImportId()
* @method $this setImportId(string $importId)
*/
class AttributeImportTracking extends MiraklObject
{
/**
* @var array
*/
protected static $mapping = [
'attributes_import_id' => 'import_id',
];
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?php
namespace Mirakl\MCI\Front\Domain\Hierarchy;

use Mirakl\MCI\Common\Domain\AbstractCatalogImportResult;

class HierarchyImportResult extends AbstractCatalogImportResult
{}
18 changes: 18 additions & 0 deletions src/Mirakl/MCI/Front/Domain/Hierarchy/HierarchyImportTracking.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?php
namespace Mirakl\MCI\Front\Domain\Hierarchy;

use Mirakl\Core\Domain\MiraklObject;

/**
* @method string getImportId()
* @method $this setImportId(string $importId)
*/
class HierarchyImportTracking extends MiraklObject
{
/**
* @var array
*/
protected static $mapping = [
'hierarchies_import_id' => 'import_id',
];
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?php
namespace Mirakl\MCI\Front\Domain\ValueList;

use Mirakl\MCI\Common\Domain\AbstractCatalogImportResult;

class ValueListImportResult extends AbstractCatalogImportResult
{}
18 changes: 18 additions & 0 deletions src/Mirakl/MCI/Front/Domain/ValueList/ValueListImportTracking.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?php
namespace Mirakl\MCI\Front\Domain\ValueList;

use Mirakl\Core\Domain\MiraklObject;

/**
* @method string getImportId()
* @method $this setImportId(string $importId)
*/
class ValueListImportTracking extends MiraklObject
{
/**
* @var array
*/
protected static $mapping = [
'values_lists_import_id' => 'import_id',
];
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php
namespace Mirakl\MCI\Front\Request\Attribute;

use Mirakl\Core\Response\Decorator\CsvTrait as CsvResponseDecorator;
use Mirakl\Core\Request\AbstractImportRequest;

/**
* (PM03) Get error report file for an attributes import
*
* Example:
*
* <code>
* use Mirakl\MCI\Front\Client\FrontApiClient;
* use Mirakl\MCI\Front\Request\Attribute\AttributeImportErrorReportRequest;
*
* $api = new FrontApiClient('API_URL', 'API_KEY');
* $request = new AttributeImportErrorReportRequest('IMPORT_ID');
* $result = $api->getAttributeImportErrorReport($request);
* // $result => @see \Mirakl\Core\Domain\FileWrapper
* // Download file:
* $result->download();
* </code>
*/
class AttributeImportErrorReportRequest extends AbstractImportRequest
{
use CsvResponseDecorator;

/**
* @var string
*/
protected $endpoint = '/products/attributes/imports/{import}/error_report';
}
37 changes: 37 additions & 0 deletions src/Mirakl/MCI/Front/Request/Attribute/AttributeImportRequest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?php
namespace Mirakl\MCI\Front\Request\Attribute;

use Mirakl\Core\Request\AbstractFileRequest;
use Mirakl\MCI\Front\Domain\Attribute\AttributeImportTracking;

/**
*
* (PM01) Import operator attributes to Mirakl
*
* Example:
*
* <code>
* use Mirakl\MCI\Front\Client\FrontApiClient;
* use Mirakl\MCI\Front\Request\Attribute\AttributeImportRequest;
*
* $api = new FrontApiClient('API_URL', 'API_KEY');
* $request = new AttributeImportRequest(new \SplFileObject('/path/to/file.csv'));
* $result = $api->importAttributes($request);
* // $result => @see \Mirakl\MCI\Front\Domain\Attribute\AttributeImportTracking
* </code>
*/
class AttributeImportRequest extends AbstractFileRequest
{
/**
* @var string
*/
protected $endpoint = '/products/attributes/imports';

/**
* @inheritdoc
*/
public function getResponseDecorator()
{
return AttributeImportTracking::decorator();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?php
namespace Mirakl\MCI\Front\Request\Attribute;

use Mirakl\Core\Request\AbstractImportRequest;
use Mirakl\MCI\Front\Domain\Attribute\AttributeImportResult;

/**
* (PM02) Get attributes import information
*
* Example:
*
* <code>
* use Mirakl\MCI\Front\Client\FrontApiClient;
* use Mirakl\MCI\Front\Request\Attribute\AttributeImportStatusRequest;
*
* $api = new FrontApiClient('API_URL', 'API_KEY');
* $request = new AttributeImportStatusRequest('IMPORT_ID');
* $result = $api->getAttributeImportResult($request);
* // $result => @see \Mirakl\MCI\Front\Domain\Attribute\AttributeImportResult
* </code>
*/
class AttributeImportStatusRequest extends AbstractImportRequest
{
/**
* @var string
*/
protected $endpoint = '/products/attributes/imports/{import}';

/**
* @inheritdoc
*/
public function getResponseDecorator()
{
return AttributeImportResult::decorator();
}
}
24 changes: 24 additions & 0 deletions src/Mirakl/MCI/Front/Request/Attribute/GetAttributesRequest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?php
namespace Mirakl\MCI\Front\Request\Attribute;

use Mirakl\MCI\Common\Request\Attribute\AbstractGetAttributesRequest;

/**
* (PM11) Get attributes configuration
*
* Example:
*
* <code>
* use Mirakl\MCI\Front\Client\FrontApiClient;
* use Mirakl\MCI\Front\Request\Attribute\GetAttributesRequest;
*
* $api = new FrontApiClient('API_URL', 'API_KEY');
* $request = new GetAttributesRequest();
* $request->setHierarchyCode('HIERARCHY_CODE'); // Optional
* $request->setMaxLevel(2); // Optional (all children by default)
* $result = $api->getAttributes($request);
* // $result => @see \Mirakl\MCI\Common\Domain\Collection\AttributeCollection
* </code>
*/
class GetAttributesRequest extends AbstractGetAttributesRequest
{}
24 changes: 24 additions & 0 deletions src/Mirakl/MCI/Front/Request/Hierarchy/GetHierarchiesRequest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?php
namespace Mirakl\MCI\Front\Request\Hierarchy;

use Mirakl\MCI\Common\Request\Hierarchy\AbstractGetHierarchiesRequest;

/**
* (H11) List hierarchies related (parents and children) to the given hierarchy
*
* Example:
*
* <code>
* use Mirakl\MCI\Front\Client\FrontApiClient;
* use Mirakl\MCI\Front\Request\Hierarchy\GetHierarchiesRequest;
*
* $api = new FrontApiClient('API_URL', 'API_KEY');
* $request = new GetHierarchiesRequest();
* $request->setHierarchyCode('HIERARCHY_CODE'); // Optional
* $request->setMaxLevel(2); // Optional (all children by default)
* $result = $api->getHierarchies($request);
* // $result => @see \Mirakl\MCI\Common\Domain\Collection\HierarchyCollection
* </code>
*/
class GetHierarchiesRequest extends AbstractGetHierarchiesRequest
{}
Loading