From 99864bf76f9362be4b68ea71c4e2dbcec72c5925 Mon Sep 17 00:00:00 2001 From: "stepanov.v" Date: Mon, 4 May 2026 07:51:26 +0300 Subject: [PATCH] DEV-1913: added get_client_offers functionality --- lib/Client.php | 16 ++ lib/Generated/Model/ClientOfferCounter.php | 162 ++++++++++++++++++ .../Model/GetClientOffersRequest.php | 42 +++++ .../Model/GetClientOffersResponse.php | 42 +++++ 4 files changed, 262 insertions(+) create mode 100644 lib/Generated/Model/ClientOfferCounter.php create mode 100644 lib/Generated/Model/GetClientOffersRequest.php create mode 100644 lib/Generated/Model/GetClientOffersResponse.php diff --git a/lib/Client.php b/lib/Client.php index 2ea3c02..fe0d9ae 100644 --- a/lib/Client.php +++ b/lib/Client.php @@ -22,6 +22,8 @@ use CloudLoyalty\Api\Generated\Model\GetPurchaseHistoryResponse; use CloudLoyalty\Api\Generated\Model\GetSettingsRequest; use CloudLoyalty\Api\Generated\Model\GetSettingsResponse; +use CloudLoyalty\Api\Generated\Model\GetClientOffersRequest; +use CloudLoyalty\Api\Generated\Model\GetClientOffersResponse; use CloudLoyalty\Api\Generated\Model\GiftCardQuery; use CloudLoyalty\Api\Generated\Model\IssuePromocodeRequest; use CloudLoyalty\Api\Generated\Model\IssuePromocodeResponse; @@ -77,6 +79,9 @@ class Client 'CloudLoyalty\Api\Generated\Model\GetBalanceResponse' => [ 'bonuses' => 'CloudLoyalty\Api\Generated\Model\ClientBonusExpirationItem' ], + 'CloudLoyalty\Api\Generated\Model\GetClientOffersResponse' => [ + 'counters' => 'CloudLoyalty\Api\Generated\Model\ClientOfferCounter' + ], 'CloudLoyalty\Api\Generated\Model\NewClientResponse' => [ 'bonuses' => 'CloudLoyalty\Api\Generated\Model\ClientBonusExpirationItem' ], @@ -283,6 +288,17 @@ public function getBalance(ClientQuery $request) return $this->call('get-balance', $request, 'CloudLoyalty\Api\Generated\Model\GetBalanceResponse'); } + /** + * @param GetClientOffersRequest $request + * @return GetClientOffersResponse + * @throws ProcessingException + * @throws TransportException + */ + public function getClientOffers(GetClientOffersRequest $request) + { + return $this->call('get-client-offers', $request, 'CloudLoyalty\Api\Generated\Model\GetClientOffersResponse'); + } + /** * @param UpdateClientRequest $request * @return NewClientResponse diff --git a/lib/Generated/Model/ClientOfferCounter.php b/lib/Generated/Model/ClientOfferCounter.php new file mode 100644 index 0000000..332b3cb --- /dev/null +++ b/lib/Generated/Model/ClientOfferCounter.php @@ -0,0 +1,162 @@ +name; + } + + /** + * Название счетчика + * + * @param string $name + * + * @return self + */ + public function setName($name) + { + $this->name = $name; + return $this; + } + + /** + * Текущее значение счетчика + * + * @return int + */ + public function getValue() + { + return $this->value; + } + + /** + * Текущее значение счетчика + * + * @param int $value + * + * @return self + */ + public function setValue($value) + { + $this->value = $value; + return $this; + } + + /** + * Значение счетчика, при котором клиент получает награду + * + * @return int + */ + public function getTargetValue() + { + return $this->targetValue; + } + + /** + * Значение счетчика, при котором клиент получает награду + * + * @param int $targetValue + * + * @return self + */ + public function setTargetValue($targetValue) + { + $this->targetValue = $targetValue; + return $this; + } + + /** + * Дата, до которой нужно накопить счетчик + * + * @return \DateTime|null + */ + public function getTargetDate() + { + return $this->targetDate; + } + + /** + * Дата, до которой нужно накопить счетчик + * + * @param \DateTime|null $targetDate + * + * @return self + */ + public function setTargetDate(\DateTime $targetDate = null) + { + $this->targetDate = $targetDate; + return $this; + } + + /** + * Количество неиспользованных наград по счетчику + * + * @return int + */ + public function getCoupons() + { + return $this->coupons; + } + + /** + * Количество неиспользованных наград по счетчику + * + * @param int $coupons + * + * @return self + */ + public function setCoupons($coupons) + { + $this->coupons = $coupons; + return $this; + } +} diff --git a/lib/Generated/Model/GetClientOffersRequest.php b/lib/Generated/Model/GetClientOffersRequest.php new file mode 100644 index 0000000..b76b6f0 --- /dev/null +++ b/lib/Generated/Model/GetClientOffersRequest.php @@ -0,0 +1,42 @@ +client; + } + + /** + * Данные о клиенте, для которого делается запрос. + * + * @param ClientQuery $client + * + * @return self + */ + public function setClient(ClientQuery $client) + { + $this->client = $client; + return $this; + } +} diff --git a/lib/Generated/Model/GetClientOffersResponse.php b/lib/Generated/Model/GetClientOffersResponse.php new file mode 100644 index 0000000..0e5a1ba --- /dev/null +++ b/lib/Generated/Model/GetClientOffersResponse.php @@ -0,0 +1,42 @@ +counters; + } + + /** + * Счетчики клиента + * + * @param ClientOfferCounter[] $counters + * + * @return self + */ + public function setCounters(array $counters) + { + $this->counters = $counters; + return $this; + } +}