orders list request and response, timezone check, other changes
This commit is contained in:
parent
cc2cc6a2fd
commit
566320bfdc
47
src/Component/ConstraintViolationListTransformer.php
Normal file
47
src/Component/ConstraintViolationListTransformer.php
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category ConstraintViolationListTransformer
|
||||||
|
* @package RetailCrm\Component
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Component;
|
||||||
|
|
||||||
|
use Symfony\Component\Validator\ConstraintViolationListInterface;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class ConstraintViolationListTransformer
|
||||||
|
*
|
||||||
|
* @category ConstraintViolationListTransformer
|
||||||
|
* @package RetailCrm\Component
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
class ConstraintViolationListTransformer
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Returns property names with their respective errors.
|
||||||
|
*
|
||||||
|
* @param \Symfony\Component\Validator\ConstraintViolationListInterface $violationList
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public static function getViolationsArray(ConstraintViolationListInterface $violationList): array
|
||||||
|
{
|
||||||
|
$violations = [];
|
||||||
|
|
||||||
|
/** @var \Symfony\Component\Validator\ConstraintViolationInterface $violation */
|
||||||
|
foreach ($violationList as $violation) {
|
||||||
|
$violations[$violation->getPropertyPath()] = (string) $violation->getMessage();
|
||||||
|
}
|
||||||
|
|
||||||
|
return $violations;
|
||||||
|
}
|
||||||
|
}
|
42
src/Component/Validator/Constraints/Timezone.php
Normal file
42
src/Component/Validator/Constraints/Timezone.php
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category Timezone
|
||||||
|
* @package RetailCrm\Component\Validator\Constraints
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Component\Validator\Constraints;
|
||||||
|
|
||||||
|
use Symfony\Component\Validator\Constraint;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class Timezone
|
||||||
|
*
|
||||||
|
* @category Timezone
|
||||||
|
* @package RetailCrm\Component\Validator\Constraints
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
*
|
||||||
|
* @Annotation
|
||||||
|
* @Target({"PROPERTY", "METHOD", "ANNOTATION"})
|
||||||
|
*/
|
||||||
|
class Timezone extends Constraint
|
||||||
|
{
|
||||||
|
public $timezone = 'America/Los_Angeles';
|
||||||
|
public $message = 'Invalid timezone provided. Got {{ provided }}, should be {{ expected }}.';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function getDefaultOption(): string
|
||||||
|
{
|
||||||
|
return 'timezone';
|
||||||
|
}
|
||||||
|
}
|
59
src/Component/Validator/Constraints/TimezoneValidator.php
Normal file
59
src/Component/Validator/Constraints/TimezoneValidator.php
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category TimezoneValidator
|
||||||
|
* @package RetailCrm\Component\Validator\Constraints
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Component\Validator\Constraints;
|
||||||
|
|
||||||
|
use DateTime;
|
||||||
|
use Symfony\Component\Validator\Constraint;
|
||||||
|
use Symfony\Component\Validator\ConstraintValidator;
|
||||||
|
use Symfony\Component\Validator\Exception\UnexpectedTypeException;
|
||||||
|
use Symfony\Component\Validator\Exception\UnexpectedValueException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class TimezoneValidator
|
||||||
|
*
|
||||||
|
* @category TimezoneValidator
|
||||||
|
* @package RetailCrm\Component\Validator\Constraints
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
class TimezoneValidator extends ConstraintValidator
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @inheritDoc
|
||||||
|
*/
|
||||||
|
public function validate($value, Constraint $constraint)
|
||||||
|
{
|
||||||
|
if (!$constraint instanceof Timezone) {
|
||||||
|
throw new UnexpectedTypeException($constraint, Timezone::class);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (null === $value || '' === $value) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!($value instanceof DateTime)) {
|
||||||
|
throw new UnexpectedValueException($value, gettype($value));
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($value->getTimezone()->getName() !== $constraint->timezone) {
|
||||||
|
$this->context->buildViolation($constraint->message)
|
||||||
|
->setParameters([
|
||||||
|
'{{ provided }}' => $value->getTimezone()->getName(),
|
||||||
|
'{{ expected }}' => $constraint->timezone
|
||||||
|
])
|
||||||
|
->addViolation();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -148,11 +148,19 @@ class TopRequestFactory implements TopRequestFactoryInterface
|
|||||||
// But in which format AliExpress TOP expects that? Should definitely check that.
|
// But in which format AliExpress TOP expects that? Should definitely check that.
|
||||||
$queryData = http_build_query($requestData);
|
$queryData = http_build_query($requestData);
|
||||||
|
|
||||||
return $this->requestFactory
|
try {
|
||||||
->createRequest(
|
return $this->requestFactory
|
||||||
'GET',
|
->createRequest(
|
||||||
$this->uriFactory->createUri($appData->getServiceUrl())->withQuery($queryData)
|
'GET',
|
||||||
)->withHeader('Content-Type', 'application/x-www-form-urlencoded');
|
$this->uriFactory->createUri($appData->getServiceUrl())->withQuery($queryData)
|
||||||
|
)->withHeader('Content-Type', 'application/x-www-form-urlencoded');
|
||||||
|
} catch (\Exception $exception) {
|
||||||
|
throw new FactoryException(
|
||||||
|
sprintf('Error building request: %s', $exception->getMessage()),
|
||||||
|
0,
|
||||||
|
$exception
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
286
src/Model/Entity/OrderDto.php
Normal file
286
src/Model/Entity/OrderDto.php
Normal file
@ -0,0 +1,286 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category OrderDto
|
||||||
|
* @package RetailCrm\Model\Entity
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Model\Entity;
|
||||||
|
|
||||||
|
use DateTime;
|
||||||
|
use JMS\Serializer\Annotation as JMS;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class OrderDto
|
||||||
|
*
|
||||||
|
* @category OrderDto
|
||||||
|
* @package RetailCrm\Model\Entity
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
* @SuppressWarnings(PHPMD.TooManyFields)
|
||||||
|
*/
|
||||||
|
class OrderDto
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var int $timeoutLeftTime
|
||||||
|
*
|
||||||
|
* @JMS\Type("int")
|
||||||
|
* @JMS\SerializedName("timeout_left_time")
|
||||||
|
*/
|
||||||
|
public $timeoutLeftTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $sellerSignerFullName
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("seller_signer_fullname")
|
||||||
|
*/
|
||||||
|
public $sellerSignerFullName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $sellerOperatorLoginId
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("seller_operator_login_id")
|
||||||
|
*/
|
||||||
|
public $sellerOperatorLoginId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $sellerLoginId
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("seller_login_id")
|
||||||
|
*/
|
||||||
|
public $sellerLoginId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var \RetailCrm\Model\Entity\OrderProductDtoList $productList
|
||||||
|
*
|
||||||
|
* @JMS\Type("RetailCrm\Model\Entity\OrderProductDtoList")
|
||||||
|
* @JMS\SerializedName("product_list")
|
||||||
|
*/
|
||||||
|
public $productList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var bool $phone
|
||||||
|
*
|
||||||
|
* @JMS\Type("bool")
|
||||||
|
* @JMS\SerializedName("phone")
|
||||||
|
*/
|
||||||
|
public $phone;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $paymentType
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("payment_type")
|
||||||
|
*/
|
||||||
|
public $paymentType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var \RetailCrm\Model\Entity\SimpleMoney $payAmount
|
||||||
|
*
|
||||||
|
* @JMS\Type("RetailCrm\Model\Entity\SimpleMoney")
|
||||||
|
* @JMS\SerializedName("pay_amount")
|
||||||
|
*/
|
||||||
|
public $payAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $orderStatus
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("order_status")
|
||||||
|
*/
|
||||||
|
public $orderStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int $orderId
|
||||||
|
*
|
||||||
|
* @JMS\Type("int")
|
||||||
|
* @JMS\SerializedName("order_id")
|
||||||
|
*/
|
||||||
|
public $orderId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $orderDetailUrl
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("order_detail_url")
|
||||||
|
*/
|
||||||
|
public $orderDetailUrl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $logisticsStatus
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("logistics_status")
|
||||||
|
*/
|
||||||
|
public $logisticsStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $logisticsEscrowFeeRate
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("logisitcs_escrow_fee_rate")
|
||||||
|
*/
|
||||||
|
public $logisticsEscrowFeeRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var \RetailCrm\Model\Entity\SimpleMoney $loanAmount
|
||||||
|
*
|
||||||
|
* @JMS\Type("RetailCrm\Model\Entity\SimpleMoney")
|
||||||
|
* @JMS\SerializedName("loan_amount")
|
||||||
|
*/
|
||||||
|
public $loanAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $leftSendGoodsMin
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("left_send_good_min")
|
||||||
|
*/
|
||||||
|
public $leftSendGoodsMin;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $leftSendGoodsHour
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("left_send_good_hour")
|
||||||
|
*/
|
||||||
|
public $leftSendGoodsHour;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $leftSendGoodsDay
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("left_send_good_day")
|
||||||
|
*/
|
||||||
|
public $leftSendGoodsDay;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $issueStatus
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("issue_status")
|
||||||
|
*/
|
||||||
|
public $issueStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var bool $hasRequestLoan
|
||||||
|
*
|
||||||
|
* @JMS\Type("bool")
|
||||||
|
* @JMS\SerializedName("has_request_loan")
|
||||||
|
*/
|
||||||
|
public $hasRequestLoan;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var DateTime $gmtUpdate
|
||||||
|
*
|
||||||
|
* @JMS\Type("DateTime<'Y-m-d H:i:s'>")
|
||||||
|
* @JMS\SerializedName("gmt_update")
|
||||||
|
*/
|
||||||
|
public $gmtUpdate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var DateTime $gmtSendGoodsTime
|
||||||
|
*
|
||||||
|
* @JMS\Type("DateTime<'Y-m-d H:i:s'>")
|
||||||
|
* @JMS\SerializedName("gmt_send_goods_time")
|
||||||
|
*/
|
||||||
|
public $gmtSendGoodsTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var DateTime $gmtPayTime
|
||||||
|
*
|
||||||
|
* @JMS\Type("DateTime<'Y-m-d H:i:s'>")
|
||||||
|
* @JMS\SerializedName("gmt_pay_time")
|
||||||
|
*/
|
||||||
|
public $gmtPayTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var DateTime $gmtCreate
|
||||||
|
*
|
||||||
|
* @JMS\Type("DateTime<'Y-m-d H:i:s'>")
|
||||||
|
* @JMS\SerializedName("gmt_create")
|
||||||
|
*/
|
||||||
|
public $gmtCreate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $fundStatus
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("fund_status")
|
||||||
|
*/
|
||||||
|
public $fundStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("frozen_status")
|
||||||
|
*/
|
||||||
|
public $frozenStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int $escrowFeeRate
|
||||||
|
*
|
||||||
|
* @JMS\Type("int")
|
||||||
|
* @JMS\SerializedName("escrow_fee_rate")
|
||||||
|
*/
|
||||||
|
public $escrowFeeRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var \RetailCrm\Model\Entity\SimpleMoney $escrowFee
|
||||||
|
*
|
||||||
|
* @JMS\Type("RetailCrm\Model\Entity\SimpleMoney")
|
||||||
|
* @JMS\SerializedName("escrow_fee")
|
||||||
|
*/
|
||||||
|
public $escrowFee;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $endReason
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("end_reason")
|
||||||
|
*/
|
||||||
|
public $endReason;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $buyerSignerFullName
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("buyer_signer_fullname")
|
||||||
|
*/
|
||||||
|
public $buyerSignerFullName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $buyerLoginId
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("buyer_login_id")
|
||||||
|
*/
|
||||||
|
public $buyerLoginId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $bizType
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("biz_type")
|
||||||
|
*/
|
||||||
|
public $bizType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $offlinePickupType
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("offline_pickup_type")
|
||||||
|
*/
|
||||||
|
public $offlinePickupType;
|
||||||
|
}
|
286
src/Model/Entity/OrderProductDto.php
Normal file
286
src/Model/Entity/OrderProductDto.php
Normal file
@ -0,0 +1,286 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category OrderProductDto
|
||||||
|
* @package RetailCrm\Model\Entity
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Model\Entity;
|
||||||
|
|
||||||
|
use DateTime;
|
||||||
|
use JMS\Serializer\Annotation as JMS;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class OrderProductDto
|
||||||
|
*
|
||||||
|
* @category OrderProductDto
|
||||||
|
* @package RetailCrm\Model\Entity
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
* @SuppressWarnings(PHPMD.TooManyFields)
|
||||||
|
*/
|
||||||
|
class OrderProductDto
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var \RetailCrm\Model\Entity\SimpleMoney $totalProductAmount
|
||||||
|
*
|
||||||
|
* @JMS\Type("RetailCrm\Model\Entity\SimpleMoney")
|
||||||
|
* @JMS\SerializedName("total_product_amount")
|
||||||
|
*/
|
||||||
|
public $totalProductAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $sonOrderStatus
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("son_order_status")
|
||||||
|
*/
|
||||||
|
public $sonOrderStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $skuCode
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("sku_code")
|
||||||
|
*/
|
||||||
|
public $skuCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $showStatus
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("show_status")
|
||||||
|
*/
|
||||||
|
public $showStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var DateTime $sendGoodsTime
|
||||||
|
*
|
||||||
|
* @JMS\Type("DateTime<'Y-m-d H:i:s'>")
|
||||||
|
* @JMS\SerializedName("send_goods_time")
|
||||||
|
*/
|
||||||
|
public $sendGoodsTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $sendGoodsOperator
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("send_goods_operator")
|
||||||
|
*/
|
||||||
|
public $sendGoodsOperator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var \RetailCrm\Model\Entity\SimpleMoney $productUnitPrice
|
||||||
|
*
|
||||||
|
* @JMS\Type("RetailCrm\Model\Entity\SimpleMoney")
|
||||||
|
* @JMS\SerializedName("product_unit_price")
|
||||||
|
*/
|
||||||
|
public $productUnitPrice;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $productUnit
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("product_unit")
|
||||||
|
*/
|
||||||
|
public $productUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $productStandard
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("product_standard")
|
||||||
|
*/
|
||||||
|
public $productStandard;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $productSnapUrl
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("product_snap_url")
|
||||||
|
*/
|
||||||
|
public $productSnapUrl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $productName
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("product_name")
|
||||||
|
*/
|
||||||
|
public $productName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $productImgUrl
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("product_img_url")
|
||||||
|
*/
|
||||||
|
public $productImgUrl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int $productId
|
||||||
|
*
|
||||||
|
* @JMS\Type("int")
|
||||||
|
* @JMS\SerializedName("product_id")
|
||||||
|
*/
|
||||||
|
public $productId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int $productCount
|
||||||
|
*
|
||||||
|
* @JMS\Type("int")
|
||||||
|
* @JMS\SerializedName("product_count")
|
||||||
|
*/
|
||||||
|
public $productCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int $orderId
|
||||||
|
*
|
||||||
|
* @JMS\Type("int")
|
||||||
|
* @JMS\SerializedName("order_id")
|
||||||
|
*/
|
||||||
|
public $orderId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var bool $moneyBack3x
|
||||||
|
*
|
||||||
|
* @JMS\Type("bool")
|
||||||
|
* @JMS\SerializedName("money_back3x")
|
||||||
|
*/
|
||||||
|
public $moneyBack3x;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $memo
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("memo")
|
||||||
|
*/
|
||||||
|
public $memo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $logisticsType
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("logistics_type")
|
||||||
|
*/
|
||||||
|
public $logisticsType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $logisticsServiceName
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("logistics_service_name")
|
||||||
|
*/
|
||||||
|
public $logisticsServiceName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var \RetailCrm\Model\Entity\SimpleMoney $logisticsAmount
|
||||||
|
*
|
||||||
|
* @JMS\Type("RetailCrm\Model\Entity\SimpleMoney")
|
||||||
|
* @JMS\SerializedName("logistics_amount")
|
||||||
|
*/
|
||||||
|
public $logisticsAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $issueStatus
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("issue_status")
|
||||||
|
*/
|
||||||
|
public $issueStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $issueMode
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("issue_mode")
|
||||||
|
*/
|
||||||
|
public $issueMode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int $goodsPrepareTime
|
||||||
|
*
|
||||||
|
* @JMS\Type("int")
|
||||||
|
* @JMS\SerializedName("goods_prepare_time")
|
||||||
|
*/
|
||||||
|
public $goodsPrepareTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $fundStatus
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("fund_status")
|
||||||
|
*/
|
||||||
|
public $fundStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $freightCommitDay
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("freight_commit_day")
|
||||||
|
*/
|
||||||
|
public $freightCommitDay;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $escrowFeeRate
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("escrow_fee_rate")
|
||||||
|
*/
|
||||||
|
public $escrowFeeRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $deliveryTime
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("delivery_time")
|
||||||
|
*/
|
||||||
|
public $deliveryTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int $childId
|
||||||
|
*
|
||||||
|
* @JMS\Type("int")
|
||||||
|
* @JMS\SerializedName("child_id")
|
||||||
|
*/
|
||||||
|
public $childId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var bool $canSubmitIssue
|
||||||
|
*
|
||||||
|
* @JMS\Type("bool")
|
||||||
|
* @JMS\SerializedName("can_submit_issue")
|
||||||
|
*/
|
||||||
|
public $canSubmitIssue;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $buyerSignerLastName
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("buyer_signer_last_name")
|
||||||
|
*/
|
||||||
|
public $buyerSignerLastName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $buyerSignerFirstName
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("buyer_signer_first_name")
|
||||||
|
*/
|
||||||
|
public $buyerSignerFirstName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $affilateRateFee
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("afflicate_fee_rate")
|
||||||
|
*/
|
||||||
|
public $afficateRateFee;
|
||||||
|
}
|
36
src/Model/Entity/OrderProductDtoList.php
Normal file
36
src/Model/Entity/OrderProductDtoList.php
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category OrderProductDtoList
|
||||||
|
* @package RetailCrm\Model\Entity
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Model\Entity;
|
||||||
|
|
||||||
|
use JMS\Serializer\Annotation as JMS;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class OrderProductDtoList
|
||||||
|
*
|
||||||
|
* @category OrderProductDtoList
|
||||||
|
* @package RetailCrm\Model\Entity
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
class OrderProductDtoList
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var \RetailCrm\Model\Entity\OrderProductDto[] $orderProductDto
|
||||||
|
*
|
||||||
|
* @JMS\Type("array<RetailCrm\Model\Entity\OrderProductDto>")
|
||||||
|
* @JMS\SerializedName("order_product_dto")
|
||||||
|
*/
|
||||||
|
public $orderProductDto;
|
||||||
|
}
|
44
src/Model/Entity/SimpleMoney.php
Normal file
44
src/Model/Entity/SimpleMoney.php
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category SimpleMoney
|
||||||
|
* @package RetailCrm\Model\Entity
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Model\Entity;
|
||||||
|
|
||||||
|
use JMS\Serializer\Annotation as JMS;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class SimpleMoney
|
||||||
|
*
|
||||||
|
* @category SimpleMoney
|
||||||
|
* @package RetailCrm\Model\Entity
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
class SimpleMoney
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var string $currencyCode
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("currency_code")
|
||||||
|
*/
|
||||||
|
public $currencyCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $amount
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("amount")
|
||||||
|
*/
|
||||||
|
public $amount;
|
||||||
|
}
|
42
src/Model/Enum/BizTypes.php
Normal file
42
src/Model/Enum/BizTypes.php
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category BizTypes
|
||||||
|
* @package RetailCrm\Model\Enum
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Model\Enum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class BizTypes
|
||||||
|
*
|
||||||
|
* @category BizTypes
|
||||||
|
* @package RetailCrm\Model\Enum
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
class BizTypes
|
||||||
|
{
|
||||||
|
// Common type
|
||||||
|
public const AE_COMMON = 'AE_COMMON';
|
||||||
|
|
||||||
|
// Trial type
|
||||||
|
public const AE_TRIAL = 'AE_TRIAL';
|
||||||
|
|
||||||
|
// Recharge type
|
||||||
|
public const AE_RECHARGE = 'AE_RECHARGE';
|
||||||
|
|
||||||
|
// All types
|
||||||
|
public const ALL_TYPES = [
|
||||||
|
self::AE_COMMON,
|
||||||
|
self::AE_TRIAL,
|
||||||
|
self::AE_RECHARGE
|
||||||
|
];
|
||||||
|
}
|
30
src/Model/Enum/FrozenStatuses.php
Normal file
30
src/Model/Enum/FrozenStatuses.php
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category FrozenStatuses
|
||||||
|
* @package RetailCrm\Model\Enum
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Model\Enum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class FrozenStatuses
|
||||||
|
*
|
||||||
|
* @category FrozenStatuses
|
||||||
|
* @package RetailCrm\Model\Enum
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
class FrozenStatuses
|
||||||
|
{
|
||||||
|
public const NO_FROZEN = 'NO_FROZEN';
|
||||||
|
public const IN_FROZEN = 'IN_FROZEN';
|
||||||
|
public const FROZEN_STATUSES = [self::NO_FROZEN, self::IN_FROZEN];
|
||||||
|
}
|
31
src/Model/Enum/FundsStatuses.php
Normal file
31
src/Model/Enum/FundsStatuses.php
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category FundsStatuses
|
||||||
|
* @package RetailCrm\Model\Enum
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Model\Enum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class FundsStatuses
|
||||||
|
*
|
||||||
|
* @category FundsStatuses
|
||||||
|
* @package RetailCrm\Model\Enum
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
class FundsStatuses
|
||||||
|
{
|
||||||
|
public const NOT_PAY = 'NOT_PAY';
|
||||||
|
public const PAY_SUCCESS = 'PAY_SUCCESS';
|
||||||
|
public const WAIT_SELLER_CHECK = 'WAIT_SELLER_CHECK';
|
||||||
|
public const FUNDS_STATUSES = [self::NOT_PAY, self::PAY_SUCCESS, self::WAIT_SELLER_CHECK];
|
||||||
|
}
|
30
src/Model/Enum/IssueStatuses.php
Normal file
30
src/Model/Enum/IssueStatuses.php
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category IssueStatuses
|
||||||
|
* @package RetailCrm\Model\Enum
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Model\Enum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class IssueStatuses
|
||||||
|
*
|
||||||
|
* @category IssueStatuses
|
||||||
|
* @package RetailCrm\Model\Enum
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
class IssueStatuses
|
||||||
|
{
|
||||||
|
public const NO_ISSUE = 'NO_ISSUE';
|
||||||
|
public const IN_ISSUE = 'IN_ISSUE';
|
||||||
|
public const END_ISSUE = 'END_ISSUE';
|
||||||
|
}
|
50
src/Model/Enum/LogisticsStatuses.php
Normal file
50
src/Model/Enum/LogisticsStatuses.php
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category LogisticsStatuses
|
||||||
|
* @package RetailCrm\Model\Enum
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Model\Enum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class LogisticsStatuses
|
||||||
|
*
|
||||||
|
* @category LogisticsStatuses
|
||||||
|
* @package RetailCrm\Model\Enum
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
class LogisticsStatuses
|
||||||
|
{
|
||||||
|
// Waiting for seller to ship
|
||||||
|
public const WAIT_SELLER_SEND_GOODS = 'WAIT_SELLER_SEND_GOODS';
|
||||||
|
|
||||||
|
// Partial delivery by seller
|
||||||
|
public const SELLER_SEND_PART_GOODS = 'SELLER_SEND_PART_GOODS';
|
||||||
|
|
||||||
|
// Seller sent goods.
|
||||||
|
public const SELLER_SEND_GOODS = 'SELLER_SEND_GOODS';
|
||||||
|
|
||||||
|
// Buyer has confirmed receipt
|
||||||
|
public const BUYER_ACCEPT_GOODS = 'BUYER_ACCEPT_GOODS';
|
||||||
|
|
||||||
|
// No logistics transfer
|
||||||
|
public const NO_LOGISTICS = 'NO_LOGISTICS';
|
||||||
|
|
||||||
|
// All logistics statuses
|
||||||
|
public const LOGISTICS_STATUSES = [
|
||||||
|
self::WAIT_SELLER_SEND_GOODS,
|
||||||
|
self::SELLER_SEND_PART_GOODS,
|
||||||
|
self::SELLER_SEND_GOODS,
|
||||||
|
self::BUYER_ACCEPT_GOODS,
|
||||||
|
self::NO_LOGISTICS
|
||||||
|
];
|
||||||
|
}
|
29
src/Model/Enum/OfflinePickupTypes.php
Normal file
29
src/Model/Enum/OfflinePickupTypes.php
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category OfflinePickupTypes
|
||||||
|
* @package RetailCrm\Model\Enum
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Model\Enum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class OfflinePickupTypes
|
||||||
|
*
|
||||||
|
* @category OfflinePickupTypes
|
||||||
|
* @package RetailCrm\Model\Enum
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
class OfflinePickupTypes
|
||||||
|
{
|
||||||
|
public const RU_OFFLINE_SELF_PICK_UP_EXPRESSION = 'RU_OFFLINE_SELF_PICK_UP_EXPRESSION';
|
||||||
|
public const OFFLINE_PICKUP_TYPES = [self::RU_OFFLINE_SELF_PICK_UP_EXPRESSION];
|
||||||
|
}
|
74
src/Model/Enum/OrderStatuses.php
Normal file
74
src/Model/Enum/OrderStatuses.php
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category OrderStatuses
|
||||||
|
* @package RetailCrm\Model\Enum
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Model\Enum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class OrderStatuses
|
||||||
|
*
|
||||||
|
* @category OrderStatuses
|
||||||
|
* @package RetailCrm\Model\Enum
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
class OrderStatuses
|
||||||
|
{
|
||||||
|
// Waiting for payment from buyer.
|
||||||
|
public const PLACE_ORDER_SUCCESS = 'PLACE_ORDER_SUCCESS';
|
||||||
|
|
||||||
|
// Buyer requested cancellation.
|
||||||
|
public const IN_CANCEL = 'IN_CANCEL';
|
||||||
|
|
||||||
|
// Waiting for shipment from seller.
|
||||||
|
public const WAIT_SELLER_SEND_GOODS = 'WAIT_SELLER_SEND_GOODS';
|
||||||
|
|
||||||
|
// Partial delivery.
|
||||||
|
public const SELLER_PART_SEND_GOODS = 'SELLER_PART_SEND_GOODS';
|
||||||
|
|
||||||
|
// Waiting for buyer to receive goods.
|
||||||
|
public const WAIT_BUYER_ACCEPT_GOODS = 'WAIT_BUYER_ACCEPT_GOODS';
|
||||||
|
|
||||||
|
// Buyer accepted, funds is in processing.
|
||||||
|
public const FUND_PROCESSING = 'FUND_PROCESSING';
|
||||||
|
|
||||||
|
// Order is involved in the dispute.
|
||||||
|
public const IN_ISSUE = 'IN_ISSUE';
|
||||||
|
|
||||||
|
// Order is frozen.
|
||||||
|
public const IN_FROZEN = 'IN_FROZEN';
|
||||||
|
|
||||||
|
// Waiting for payment amount confirmation from seller.
|
||||||
|
public const WAIT_SELLER_EXAMINE_MONEY = 'WAIT_SELLER_EXAMINE_MONEY';
|
||||||
|
|
||||||
|
// Payment will be marked as completed in 24 hours.
|
||||||
|
public const RISK_CONTROL = 'RISK_CONTROL';
|
||||||
|
|
||||||
|
// Order is closed, no further actions needed.
|
||||||
|
public const FINISH = 'FINISH';
|
||||||
|
|
||||||
|
// List of all order statuses.
|
||||||
|
public const STATUSES_LIST = [
|
||||||
|
self::PLACE_ORDER_SUCCESS,
|
||||||
|
self::IN_CANCEL,
|
||||||
|
self::WAIT_SELLER_SEND_GOODS,
|
||||||
|
self::SELLER_PART_SEND_GOODS,
|
||||||
|
self::WAIT_BUYER_ACCEPT_GOODS,
|
||||||
|
self::FUND_PROCESSING,
|
||||||
|
self::IN_ISSUE,
|
||||||
|
self::IN_FROZEN,
|
||||||
|
self::WAIT_SELLER_EXAMINE_MONEY,
|
||||||
|
self::RISK_CONTROL,
|
||||||
|
self::FINISH
|
||||||
|
];
|
||||||
|
}
|
32
src/Model/Enum/ShippingTypes.php
Normal file
32
src/Model/Enum/ShippingTypes.php
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category ShippingTypes
|
||||||
|
* @package RetailCrm\Model\Enum
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Model\Enum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class ShippingTypes
|
||||||
|
*
|
||||||
|
* @category ShippingTypes
|
||||||
|
* @package RetailCrm\Model\Enum
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
class ShippingTypes
|
||||||
|
{
|
||||||
|
// Seller's shipping.
|
||||||
|
public const SELLER_SEND_GOODS = 'SELLER_SEND_GOODS';
|
||||||
|
|
||||||
|
// Warehouse delivery.
|
||||||
|
public const WAREHOUSE_SEND_GOODS = 'WAREHOUSE_SEND_GOODS';
|
||||||
|
}
|
115
src/Model/Request/AliExpress/Data/OrderQuery.php
Normal file
115
src/Model/Request/AliExpress/Data/OrderQuery.php
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category OrderQuery
|
||||||
|
* @package RetailCrm\Model\Request\AliExpress\Data
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Model\Request\AliExpress\Data;
|
||||||
|
|
||||||
|
use DateTime;
|
||||||
|
use JMS\Serializer\Annotation as JMS;
|
||||||
|
use Symfony\Component\Validator\Constraints as Assert;
|
||||||
|
use RetailCrm\Component\Validator\Constraints as TopAssert;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class OrderQuery
|
||||||
|
*
|
||||||
|
* @category OrderQuery
|
||||||
|
* @package RetailCrm\Model\Request\AliExpress\Data
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
class OrderQuery
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* US pacific time
|
||||||
|
*
|
||||||
|
* @var DateTime $createDateEnd
|
||||||
|
*
|
||||||
|
* @JMS\Type("DateTime<'Y-m-d H:i:s'>")
|
||||||
|
* @JMS\SerializedName("create_date_end")
|
||||||
|
* @TopAssert\Timezone("America/Los_Angeles")
|
||||||
|
*/
|
||||||
|
public $createDateEnd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var DateTime $createDateStart
|
||||||
|
*
|
||||||
|
* @JMS\Type("DateTime<'Y-m-d H:i:s'>")
|
||||||
|
* @JMS\SerializedName("create_date_start")
|
||||||
|
* @TopAssert\Timezone("America/Los_Angeles")
|
||||||
|
*/
|
||||||
|
public $createDateStart;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var DateTime $modifiedDateStart
|
||||||
|
*
|
||||||
|
* @JMS\Type("DateTime<'Y-m-d H:i:s'>")
|
||||||
|
* @JMS\SerializedName("modified_date_start")
|
||||||
|
* @TopAssert\Timezone("America/Los_Angeles")
|
||||||
|
*/
|
||||||
|
public $modifiedDateStart;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string[] $orderStatusList
|
||||||
|
*
|
||||||
|
* @JMS\Type("array<string>")
|
||||||
|
* @JMS\SerializedName("order_status_list")
|
||||||
|
* @Assert\Choice(choices=RetailCrm\Model\Enum\OrderStatuses::STATUSES_LIST, multiple=true)
|
||||||
|
*/
|
||||||
|
public $orderStatusList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $buyerLoginId
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("buyer_login_id")
|
||||||
|
*/
|
||||||
|
public $buyerLoginId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int $pageSize
|
||||||
|
*
|
||||||
|
* @JMS\Type("int")
|
||||||
|
* @JMS\SerializedName("page_size")
|
||||||
|
* @Assert\NotBlank()
|
||||||
|
* @Assert\GreaterThan(0)
|
||||||
|
*/
|
||||||
|
public $pageSize;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var DateTime $modifiedDateEnd
|
||||||
|
*
|
||||||
|
* @JMS\Type("DateTime<'Y-m-d H:i:s'>")
|
||||||
|
* @JMS\SerializedName("modified_date_end")
|
||||||
|
* @TopAssert\Timezone("America/Los_Angeles")
|
||||||
|
*/
|
||||||
|
public $modifiedDateEnd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int $currentPage
|
||||||
|
*
|
||||||
|
* @JMS\Type("int")
|
||||||
|
* @JMS\SerializedName("current_page")
|
||||||
|
* @Assert\NotBlank()
|
||||||
|
* @Assert\GreaterThan(0)
|
||||||
|
*/
|
||||||
|
public $currentPage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $orderStatus
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("order_status")
|
||||||
|
* @Assert\Choice(choices=RetailCrm\Model\Enum\OrderStatuses::STATUSES_LIST)
|
||||||
|
*/
|
||||||
|
public $orderStatus;
|
||||||
|
}
|
@ -27,6 +27,9 @@ use JMS\Serializer\Annotation as JMS;
|
|||||||
class SingleItemRequestDto
|
class SingleItemRequestDto
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
|
* Any value here will be serialized to JSON before serializing entire model.
|
||||||
|
* Only array and RequestDtoInterface are viable here.
|
||||||
|
*
|
||||||
* @var \RetailCrm\Interfaces\RequestDtoInterface $itemContent
|
* @var \RetailCrm\Interfaces\RequestDtoInterface $itemContent
|
||||||
*
|
*
|
||||||
* @JMS\Type("RetailCrm\Interfaces\RequestDtoInterface")
|
* @JMS\Type("RetailCrm\Interfaces\RequestDtoInterface")
|
||||||
|
58
src/Model/Request/AliExpress/SolutionOrderGet.php
Normal file
58
src/Model/Request/AliExpress/SolutionOrderGet.php
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category SolutionOrderGet
|
||||||
|
* @package RetailCrm\Model\Request\AliExpress
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Model\Request\AliExpress;
|
||||||
|
|
||||||
|
use JMS\Serializer\Annotation as JMS;
|
||||||
|
use RetailCrm\Model\Request\BaseRequest;
|
||||||
|
use RetailCrm\Model\Response\AliExpress\SolutionOrderGetResponse;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class SolutionOrderGet
|
||||||
|
*
|
||||||
|
* @category SolutionOrderGet
|
||||||
|
* @package RetailCrm\Model\Request\AliExpress
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
class SolutionOrderGet extends BaseRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Contains request params. This weird naming has been borrowed from developer docs.
|
||||||
|
* @see https://developers.aliexpress.com/en/doc.htm?docId=42270&docType=2
|
||||||
|
*
|
||||||
|
* @var \RetailCrm\Model\Request\AliExpress\Data\OrderQuery $param0
|
||||||
|
*
|
||||||
|
* @JMS\Type("RetailCrm\Model\Request\AliExpress\Data\OrderQuery")
|
||||||
|
* @JMS\SerializedName("param0")
|
||||||
|
* @todo Should be marshaled to JSON before building request? Check that.
|
||||||
|
*/
|
||||||
|
public $param0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritDoc
|
||||||
|
*/
|
||||||
|
public function getMethod(): string
|
||||||
|
{
|
||||||
|
return 'aliexpress.solution.order.get';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritDoc
|
||||||
|
*/
|
||||||
|
public function getExpectedResponse(): string
|
||||||
|
{
|
||||||
|
return SolutionOrderGetResponse::class;
|
||||||
|
}
|
||||||
|
}
|
@ -17,6 +17,7 @@ use RetailCrm\Component\Constants;
|
|||||||
use RetailCrm\Model\Enum\AvailableResponseFormats;
|
use RetailCrm\Model\Enum\AvailableResponseFormats;
|
||||||
use RetailCrm\Model\Enum\AvailableSignMethods;
|
use RetailCrm\Model\Enum\AvailableSignMethods;
|
||||||
use Symfony\Component\Validator\Constraints as Assert;
|
use Symfony\Component\Validator\Constraints as Assert;
|
||||||
|
use RetailCrm\Component\Validator\Constraints as TopAssert;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class BaseRequest
|
* Class BaseRequest
|
||||||
@ -65,6 +66,7 @@ abstract class BaseRequest
|
|||||||
* @JMS\Type("DateTime<'Y-m-d H:i:s'>")
|
* @JMS\Type("DateTime<'Y-m-d H:i:s'>")
|
||||||
* @JMS\SerializedName("timestamp")
|
* @JMS\SerializedName("timestamp")
|
||||||
* @Assert\NotBlank()
|
* @Assert\NotBlank()
|
||||||
|
* @TopAssert\Timezone("Asia/Shanghai")
|
||||||
*/
|
*/
|
||||||
public $timestamp;
|
public $timestamp;
|
||||||
|
|
||||||
|
@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category SolutionOrderGetResponseData
|
||||||
|
* @package RetailCrm\Model\Response\AliExpress\Data
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Model\Response\AliExpress\Data;
|
||||||
|
|
||||||
|
use JMS\Serializer\Annotation as JMS;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class SolutionOrderGetResponseData
|
||||||
|
*
|
||||||
|
* @category SolutionOrderGetResponseData
|
||||||
|
* @package RetailCrm\Model\Response\AliExpress\Data
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
class SolutionOrderGetResponseData
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var \RetailCrm\Model\Response\AliExpress\Result\SolutionOrderGetResponseResult $result
|
||||||
|
*
|
||||||
|
* @JMS\Type("RetailCrm\Model\Response\AliExpress\Result\SolutionOrderGetResponseResult")
|
||||||
|
* @JMS\SerializedName("result")
|
||||||
|
*/
|
||||||
|
public $result;
|
||||||
|
}
|
@ -13,6 +13,7 @@
|
|||||||
namespace RetailCrm\Model\Response\AliExpress\Result;
|
namespace RetailCrm\Model\Response\AliExpress\Result;
|
||||||
|
|
||||||
use JMS\Serializer\Annotation as JMS;
|
use JMS\Serializer\Annotation as JMS;
|
||||||
|
use RetailCrm\Model\Response\AliExpress\Result\Interfaces\ErrorInterface;
|
||||||
use RetailCrm\Model\Response\AliExpress\Result\Traits\ErrorTrait;
|
use RetailCrm\Model\Response\AliExpress\Result\Traits\ErrorTrait;
|
||||||
use RetailCrm\Model\Response\AliExpress\Result\Traits\SuccessTrait;
|
use RetailCrm\Model\Response\AliExpress\Result\Traits\SuccessTrait;
|
||||||
|
|
||||||
@ -26,7 +27,7 @@ use RetailCrm\Model\Response\AliExpress\Result\Traits\SuccessTrait;
|
|||||||
* @link http://retailcrm.ru
|
* @link http://retailcrm.ru
|
||||||
* @see https://help.retailcrm.ru
|
* @see https://help.retailcrm.ru
|
||||||
*/
|
*/
|
||||||
class AeopCategoryForecastResultDto
|
class AeopCategoryForecastResultDto implements ErrorInterface
|
||||||
{
|
{
|
||||||
use ErrorTrait;
|
use ErrorTrait;
|
||||||
use SuccessTrait;
|
use SuccessTrait;
|
||||||
|
36
src/Model/Response/AliExpress/Result/Entity/OrderDtoList.php
Normal file
36
src/Model/Response/AliExpress/Result/Entity/OrderDtoList.php
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category OrderDtoList
|
||||||
|
* @package RetailCrm\Model\Response\AliExpress\Result\Entity
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Model\Response\AliExpress\Result\Entity;
|
||||||
|
|
||||||
|
use JMS\Serializer\Annotation as JMS;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class OrderDtoList
|
||||||
|
*
|
||||||
|
* @category OrderDtoList
|
||||||
|
* @package RetailCrm\Model\Response\AliExpress\Result\Entity
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
class OrderDtoList
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var \RetailCrm\Model\Entity\OrderDto[] $orderDto
|
||||||
|
*
|
||||||
|
* @JMS\Type("array<RetailCrm\Model\Entity\OrderDto>")
|
||||||
|
* @JMS\SerializedName("order_dto")
|
||||||
|
*/
|
||||||
|
public $orderDto;
|
||||||
|
}
|
@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category ErrorInterface
|
||||||
|
* @package RetailCrm\Model\Response\AliExpress\Result\Interfaces
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Model\Response\AliExpress\Result\Interfaces;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Interface ErrorInterface. Should be used with ErrorTrait.
|
||||||
|
*
|
||||||
|
* @category ErrorInterface
|
||||||
|
* @package RetailCrm\Model\Response\AliExpress\Result\Interfaces
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license MIT https://mit-license.org
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
interface ErrorInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @return ?string
|
||||||
|
*/
|
||||||
|
public function getErrorCode(): ?string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return ?string
|
||||||
|
*/
|
||||||
|
public function getErrorMessage(): ?string;
|
||||||
|
}
|
@ -0,0 +1,82 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category SolutionOrderGetResponseResult
|
||||||
|
* @package RetailCrm\Model\Response\AliExpress\Result
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Model\Response\AliExpress\Result;
|
||||||
|
|
||||||
|
use RetailCrm\Model\Response\AliExpress\Result\Interfaces\ErrorInterface;
|
||||||
|
use RetailCrm\Model\Response\AliExpress\Result\Traits\ErrorTrait;
|
||||||
|
use JMS\Serializer\Annotation as JMS;
|
||||||
|
use RetailCrm\Model\Response\AliExpress\Result\Traits\SuccessTrait;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class SolutionOrderGetResponseResult
|
||||||
|
*
|
||||||
|
* @category SolutionOrderGetResponseResult
|
||||||
|
* @package RetailCrm\Model\Response\AliExpress\Result
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
class SolutionOrderGetResponseResult implements ErrorInterface
|
||||||
|
{
|
||||||
|
use ErrorTrait;
|
||||||
|
use SuccessTrait;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int $totalCount
|
||||||
|
*
|
||||||
|
* @JMS\Type("int")
|
||||||
|
* @JMS\SerializedName("total_count")
|
||||||
|
*/
|
||||||
|
public $totalCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var \RetailCrm\Model\Response\AliExpress\Result\Entity\OrderDtoList $targetList
|
||||||
|
*
|
||||||
|
* @JMS\Type("RetailCrm\Model\Response\AliExpress\Result\Entity\OrderDtoList")
|
||||||
|
* @JMS\SerializedName("target_list")
|
||||||
|
*/
|
||||||
|
public $targetList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int $pageSize
|
||||||
|
*
|
||||||
|
* @JMS\Type("int")
|
||||||
|
* @JMS\SerializedName("page_size")
|
||||||
|
*/
|
||||||
|
public $pageSize;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int $currentPage
|
||||||
|
*
|
||||||
|
* @JMS\Type("int")
|
||||||
|
* @JMS\SerializedName("current_page")
|
||||||
|
*/
|
||||||
|
public $currentPage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int $totalPage
|
||||||
|
*
|
||||||
|
* @JMS\Type("int")
|
||||||
|
* @JMS\SerializedName("total_page")
|
||||||
|
*/
|
||||||
|
public $totalPage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string $timestamp
|
||||||
|
*
|
||||||
|
* @JMS\Type("string")
|
||||||
|
* @JMS\SerializedName("time_stamp")
|
||||||
|
*/
|
||||||
|
public $timeStamp;
|
||||||
|
}
|
@ -13,6 +13,7 @@
|
|||||||
namespace RetailCrm\Model\Response\AliExpress\Result;
|
namespace RetailCrm\Model\Response\AliExpress\Result;
|
||||||
|
|
||||||
use JMS\Serializer\Annotation as JMS;
|
use JMS\Serializer\Annotation as JMS;
|
||||||
|
use RetailCrm\Model\Response\AliExpress\Result\Interfaces\ErrorInterface;
|
||||||
use RetailCrm\Model\Response\AliExpress\Result\Traits\ErrorTrait;
|
use RetailCrm\Model\Response\AliExpress\Result\Traits\ErrorTrait;
|
||||||
use RetailCrm\Model\Response\AliExpress\Result\Traits\SuccessTrait;
|
use RetailCrm\Model\Response\AliExpress\Result\Traits\SuccessTrait;
|
||||||
|
|
||||||
@ -26,7 +27,7 @@ use RetailCrm\Model\Response\AliExpress\Result\Traits\SuccessTrait;
|
|||||||
* @link http://retailcrm.ru
|
* @link http://retailcrm.ru
|
||||||
* @see https://help.retailcrm.ru
|
* @see https://help.retailcrm.ru
|
||||||
*/
|
*/
|
||||||
class SolutionProductSchemaGetResponseResult
|
class SolutionProductSchemaGetResponseResult implements ErrorInterface
|
||||||
{
|
{
|
||||||
use ErrorTrait;
|
use ErrorTrait;
|
||||||
use SuccessTrait;
|
use SuccessTrait;
|
||||||
|
@ -41,4 +41,24 @@ trait ErrorTrait
|
|||||||
* @JMS\SerializedName("error_message")
|
* @JMS\SerializedName("error_message")
|
||||||
*/
|
*/
|
||||||
public $errorMessage;
|
public $errorMessage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ErrorInterface implementation.
|
||||||
|
*
|
||||||
|
* @return ?string
|
||||||
|
*/
|
||||||
|
public function getErrorCode(): ?string
|
||||||
|
{
|
||||||
|
return $this->errorCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ErrorInterface implementation.
|
||||||
|
*
|
||||||
|
* @return ?string
|
||||||
|
*/
|
||||||
|
public function getErrorMessage(): ?string
|
||||||
|
{
|
||||||
|
return $this->errorMessage;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
37
src/Model/Response/AliExpress/SolutionOrderGetResponse.php
Normal file
37
src/Model/Response/AliExpress/SolutionOrderGetResponse.php
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category SolutionOrderGetResponse
|
||||||
|
* @package RetailCrm\Model\Response\AliExpress
|
||||||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||||||
|
* @license http://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see http://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\Model\Response\AliExpress;
|
||||||
|
|
||||||
|
use RetailCrm\Model\Response\BaseResponse;
|
||||||
|
use JMS\Serializer\Annotation as JMS;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class SolutionOrderGetResponse
|
||||||
|
*
|
||||||
|
* @category SolutionOrderGetResponse
|
||||||
|
* @package RetailCrm\Model\Response\AliExpress
|
||||||
|
* @author RetailDriver LLC <integration@retailcrm.ru>
|
||||||
|
* @license https://retailcrm.ru Proprietary
|
||||||
|
* @link http://retailcrm.ru
|
||||||
|
* @see https://help.retailcrm.ru
|
||||||
|
*/
|
||||||
|
class SolutionOrderGetResponse extends BaseResponse
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var \RetailCrm\Model\Response\AliExpress\Data\SolutionOrderGetResponseData $responseData
|
||||||
|
*
|
||||||
|
* @JMS\Type("RetailCrm\Model\Response\AliExpress\Data\SolutionOrderGetResponseData")
|
||||||
|
* @JMS\SerializedName("aliexpress_solution_order_get_response")
|
||||||
|
*/
|
||||||
|
public $responseData;
|
||||||
|
}
|
@ -211,7 +211,19 @@ class TopClient implements TopClientInterface
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send TOP request
|
* Send TOP request. Can throw several exceptions:
|
||||||
|
* - ValidationException - when request didn't pass validation.
|
||||||
|
* - FactoryException - when PSR-7 request cannot be built.
|
||||||
|
* - TopClientException - when PSR-7 request cannot be processed by client, or xml mode is used
|
||||||
|
* (always use JSON mode, it's already chosen in the BaseRequest model). Previous error will contain HTTP
|
||||||
|
* client processing error (if it's present).
|
||||||
|
* - TopApiException - when request is not processed and API returned error. Note: this exception is only thrown
|
||||||
|
* when request cannot be processed by API at all (for example, if signature is invalid). It will not be thrown
|
||||||
|
* if request was processed, but API returned error in the response result. In that case you can use error fields
|
||||||
|
* from the response result itself; those results implement ErrorInterface via ErrorTrait.
|
||||||
|
* However, some result classes may contain different format for error data. Those result classes won't implement
|
||||||
|
* ErrorInterface - you can use `instanceof` to differentiate such results from the others. This inconsistency
|
||||||
|
* is brought by the API design itself, and cannot be easily removed.
|
||||||
*
|
*
|
||||||
* @param \RetailCrm\Model\Request\BaseRequest $request
|
* @param \RetailCrm\Model\Request\BaseRequest $request
|
||||||
*
|
*
|
||||||
@ -256,7 +268,7 @@ class TopClient implements TopClientInterface
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send authenticated TOP request
|
* Send authenticated TOP request. Authenticator should be present in order to use this method.
|
||||||
*
|
*
|
||||||
* @param \RetailCrm\Model\Request\BaseRequest $request
|
* @param \RetailCrm\Model\Request\BaseRequest $request
|
||||||
*
|
*
|
||||||
|
@ -15,14 +15,20 @@ namespace RetailCrm\Tests\TopClient;
|
|||||||
use Http\Message\RequestMatcher\CallbackRequestMatcher;
|
use Http\Message\RequestMatcher\CallbackRequestMatcher;
|
||||||
use Psr\Http\Message\RequestInterface;
|
use Psr\Http\Message\RequestInterface;
|
||||||
use RetailCrm\Builder\TopClientBuilder;
|
use RetailCrm\Builder\TopClientBuilder;
|
||||||
|
use RetailCrm\Component\ConstraintViolationListTransformer;
|
||||||
|
use RetailCrm\Component\Exception\ValidationException;
|
||||||
use RetailCrm\Model\Entity\CategoryInfo;
|
use RetailCrm\Model\Entity\CategoryInfo;
|
||||||
use RetailCrm\Model\Enum\FeedOperationTypes;
|
use RetailCrm\Model\Enum\FeedOperationTypes;
|
||||||
use RetailCrm\Model\Enum\FeedStatuses;
|
use RetailCrm\Model\Enum\FeedStatuses;
|
||||||
|
use RetailCrm\Model\Enum\OfflinePickupTypes;
|
||||||
|
use RetailCrm\Model\Enum\OrderStatuses;
|
||||||
|
use RetailCrm\Model\Request\AliExpress\Data\OrderQuery;
|
||||||
use RetailCrm\Model\Request\AliExpress\Data\SingleItemRequestDto;
|
use RetailCrm\Model\Request\AliExpress\Data\SingleItemRequestDto;
|
||||||
use RetailCrm\Model\Request\AliExpress\PostproductRedefiningCategoryForecast;
|
use RetailCrm\Model\Request\AliExpress\PostproductRedefiningCategoryForecast;
|
||||||
use RetailCrm\Model\Request\AliExpress\SolutionFeedListGet;
|
use RetailCrm\Model\Request\AliExpress\SolutionFeedListGet;
|
||||||
use RetailCrm\Model\Request\AliExpress\SolutionFeedQuery;
|
use RetailCrm\Model\Request\AliExpress\SolutionFeedQuery;
|
||||||
use RetailCrm\Model\Request\AliExpress\SolutionFeedSubmit;
|
use RetailCrm\Model\Request\AliExpress\SolutionFeedSubmit;
|
||||||
|
use RetailCrm\Model\Request\AliExpress\SolutionOrderGet;
|
||||||
use RetailCrm\Model\Request\AliExpress\SolutionProductSchemaGet;
|
use RetailCrm\Model\Request\AliExpress\SolutionProductSchemaGet;
|
||||||
use RetailCrm\Model\Request\AliExpress\SolutionSellerCategoryTreeQuery;
|
use RetailCrm\Model\Request\AliExpress\SolutionSellerCategoryTreeQuery;
|
||||||
use RetailCrm\Model\Request\Taobao\HttpDnsGetRequest;
|
use RetailCrm\Model\Request\Taobao\HttpDnsGetRequest;
|
||||||
@ -459,9 +465,155 @@ EOF;
|
|||||||
$request = new SolutionProductSchemaGet();
|
$request = new SolutionProductSchemaGet();
|
||||||
$request->aliexpressCategoryId = 1;
|
$request->aliexpressCategoryId = 1;
|
||||||
|
|
||||||
/** @var SolutionProductSchemaGetResponse $response */
|
|
||||||
$response = $client->sendAuthenticatedRequest($request);
|
$response = $client->sendAuthenticatedRequest($request);
|
||||||
|
|
||||||
self::assertEquals('{}', $response->responseData->result->schema);
|
self::assertEquals('{}', $response->responseData->result->schema);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testAliexpressSolutionOrderGet()
|
||||||
|
{
|
||||||
|
$json = <<<'EOF'
|
||||||
|
{
|
||||||
|
"aliexpress_solution_order_get_response":{
|
||||||
|
"result":{
|
||||||
|
"error_message":"1",
|
||||||
|
"total_count":1,
|
||||||
|
"target_list":{
|
||||||
|
"order_dto":[
|
||||||
|
{
|
||||||
|
"timeout_left_time":120340569,
|
||||||
|
"seller_signer_fullname":"cn1234",
|
||||||
|
"seller_operator_login_id":"cn1234",
|
||||||
|
"seller_login_id":"cn1234",
|
||||||
|
"product_list":{
|
||||||
|
"order_product_dto":[
|
||||||
|
{
|
||||||
|
"total_product_amount":{
|
||||||
|
"currency_code":"USD",
|
||||||
|
"amount":"1.01"
|
||||||
|
},
|
||||||
|
"son_order_status":"PLACE_ORDER_SUCCESS",
|
||||||
|
"sku_code":"12",
|
||||||
|
"show_status":"PLACE_ORDER_SUCCESS",
|
||||||
|
"send_goods_time":"2017-10-12 12:12:12",
|
||||||
|
"send_goods_operator":"WAREHOUSE_SEND_GOODS",
|
||||||
|
"product_unit_price":{
|
||||||
|
"currency_code":"USD",
|
||||||
|
"amount":"1.01"
|
||||||
|
},
|
||||||
|
"product_unit":"piece",
|
||||||
|
"product_standard":"",
|
||||||
|
"product_snap_url":"http:\/\/www.aliexpress.com:1080\/snapshot\/null.html?orderId\\u003d1160045860056286",
|
||||||
|
"product_name":"mobile",
|
||||||
|
"product_img_url":"http:\/\/g03.a.alicdn.com\/kf\/images\/eng\/no_photo.gif",
|
||||||
|
"product_id":2356980,
|
||||||
|
"product_count":1,
|
||||||
|
"order_id":222222,
|
||||||
|
"money_back3x":false,
|
||||||
|
"memo":"1",
|
||||||
|
"logistics_type":"EMS",
|
||||||
|
"logistics_service_name":"EMS",
|
||||||
|
"logistics_amount":{
|
||||||
|
"currency_code":"USD",
|
||||||
|
"amount":"1.01"
|
||||||
|
},
|
||||||
|
"issue_status":"END_ISSUE",
|
||||||
|
"issue_mode":"w",
|
||||||
|
"goods_prepare_time":3,
|
||||||
|
"fund_status":"WAIT_SELLER_CHECK",
|
||||||
|
"freight_commit_day":"27",
|
||||||
|
"escrow_fee_rate":"0.01",
|
||||||
|
"delivery_time":"5-10",
|
||||||
|
"child_id":23457890,
|
||||||
|
"can_submit_issue":false,
|
||||||
|
"buyer_signer_last_name":"1",
|
||||||
|
"buyer_signer_first_name":"1",
|
||||||
|
"afflicate_fee_rate":"0.03"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"phone":false,
|
||||||
|
"payment_type":"ebanx101",
|
||||||
|
"pay_amount":{
|
||||||
|
"currency_code":"USD",
|
||||||
|
"amount":"1.01"
|
||||||
|
},
|
||||||
|
"order_status":"PLACE_ORDER_SUCCESS",
|
||||||
|
"order_id":1160045860056286,
|
||||||
|
"order_detail_url":"http",
|
||||||
|
"logistics_status":"NO_LOGISTICS",
|
||||||
|
"logisitcs_escrow_fee_rate":"1",
|
||||||
|
"loan_amount":{
|
||||||
|
"currency_code":"USD",
|
||||||
|
"amount":"1.01"
|
||||||
|
},
|
||||||
|
"left_send_good_min":"1",
|
||||||
|
"left_send_good_hour":"1",
|
||||||
|
"left_send_good_day":"1",
|
||||||
|
"issue_status":"END_ISSUE",
|
||||||
|
"has_request_loan":false,
|
||||||
|
"gmt_update":"2017-10-12 12:12:12",
|
||||||
|
"gmt_send_goods_time":"2017-10-12 12:12:12",
|
||||||
|
"gmt_pay_time":"2017-10-12 12:12:12",
|
||||||
|
"gmt_create":"2017-10-12 12:12:12",
|
||||||
|
"fund_status":"WAIT_SELLER_CHECK",
|
||||||
|
"frozen_status":"IN_FROZEN",
|
||||||
|
"escrow_fee_rate":1,
|
||||||
|
"escrow_fee":{
|
||||||
|
"currency_code":"USD",
|
||||||
|
"amount":"1.01"
|
||||||
|
},
|
||||||
|
"end_reason":"buyer_confirm_goods",
|
||||||
|
"buyer_signer_fullname":"test",
|
||||||
|
"buyer_login_id":"test",
|
||||||
|
"biz_type":"AE_RECHARGE",
|
||||||
|
"offline_pickup_type":"RU_OFFLINE_SELF_PICK_UP_EXPRESSION"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"page_size":1,
|
||||||
|
"error_code":"1",
|
||||||
|
"current_page":1,
|
||||||
|
"total_page":1,
|
||||||
|
"success":true,
|
||||||
|
"time_stamp":"1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EOF;
|
||||||
|
$mock = self::getMockClient();
|
||||||
|
$mock->on(
|
||||||
|
RequestMatcher::createMatcher('api.taobao.com')
|
||||||
|
->setPath('/router/rest')
|
||||||
|
->setOptionalQueryParams([
|
||||||
|
'app_key' => self::getEnvAppKey(),
|
||||||
|
'method' => 'aliexpress.solution.order.get',
|
||||||
|
'session' => self::getEnvToken()
|
||||||
|
]),
|
||||||
|
$this->responseJson(200, $json)
|
||||||
|
);
|
||||||
|
$client = TopClientBuilder::create()
|
||||||
|
->setContainer($this->getContainer($mock))
|
||||||
|
->setAppData($this->getEnvAppData())
|
||||||
|
->setAuthenticator($this->getEnvTokenAuthenticator())
|
||||||
|
->build();
|
||||||
|
$query = new OrderQuery();
|
||||||
|
$query->orderStatus = OrderStatuses::PLACE_ORDER_SUCCESS;
|
||||||
|
$request = new SolutionOrderGet();
|
||||||
|
$request->param0 = $query;
|
||||||
|
|
||||||
|
/** @var \RetailCrm\Model\Response\AliExpress\SolutionOrderGetResponse $response */
|
||||||
|
$response = $client->sendAuthenticatedRequest($request);
|
||||||
|
$result = $response->responseData->result;
|
||||||
|
|
||||||
|
self::assertTrue($result->success);
|
||||||
|
self::assertEquals(1, $result->totalCount);
|
||||||
|
self::assertCount(1, $result->targetList->orderDto);
|
||||||
|
self::assertEquals(OrderStatuses::PLACE_ORDER_SUCCESS, $result->targetList->orderDto[0]->orderStatus);
|
||||||
|
self::assertEquals(222222, $result->targetList->orderDto[0]->productList->orderProductDto[0]->orderId);
|
||||||
|
self::assertEquals(
|
||||||
|
OfflinePickupTypes::RU_OFFLINE_SELF_PICK_UP_EXPRESSION,
|
||||||
|
$result->targetList->orderDto[0]->offlinePickupType
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user