Composable Commerce PHP SDKPHP SDK
  • Namespace
  • Class
  • Tree

Namespaces

  • Commercetools
    • Commons
      • Helper
    • Core
      • Builder
        • Request
        • Update
      • Cache
      • Client
        • Adapter
        • OAuth
      • Error
      • Helper
        • Annotate
        • State
          • Renderer
        • Subscriber
          • Log
      • Model
        • ApiClient
        • Cart
        • CartDiscount
        • Category
        • Channel
        • Common
        • Customer
        • CustomerGroup
        • CustomField
        • CustomObject
        • DiscountCode
        • Extension
        • Inventory
        • Message
        • Order
        • OrderEdit
        • Payment
        • Product
          • Search
        • ProductDiscount
        • ProductSelection
        • ProductType
        • Project
        • Review
        • ShippingMethod
        • ShoppingList
        • State
        • Store
        • Subscription
        • TaxCategory
        • Type
        • Zone
      • Request
        • ApiClients
        • CartDiscounts
          • Command
        • Carts
          • Command
        • Categories
          • Command
        • Channels
          • Command
        • CustomerGroups
          • Command
        • Customers
          • Command
        • CustomField
          • Command
        • CustomObjects
        • DiscountCodes
          • Command
        • Extensions
          • Command
        • GraphQL
        • InStores
        • Inventory
          • Command
        • Me
          • Command
        • Messages
        • OrderEdits
          • Command
          • StagedOrder
            • Command
        • Orders
          • Command
        • Payments
          • Command
        • ProductDiscounts
          • Command
        • Products
          • Command
        • ProductSelections
          • Command
        • ProductTypes
          • Command
        • Project
          • Command
        • Query
        • Reviews
          • Command
        • ShippingMethods
          • Command
        • ShoppingLists
          • Command
        • States
          • Command
        • Stores
          • Command
        • Subscriptions
          • Command
        • TaxCategories
          • Command
        • Types
          • Command
        • Zones
          • Command
      • Response

Classes

  • ApiClientRequestBuilder
  • CartDiscountRequestBuilder
  • CartRequestBuilder
  • CategoryRequestBuilder
  • ChannelRequestBuilder
  • CustomerGroupRequestBuilder
  • CustomerRequestBuilder
  • CustomObjectRequestBuilder
  • DiscountCodeRequestBuilder
  • ExtensionRequestBuilder
  • GraphQLRequestBuilder
  • InventoryRequestBuilder
  • MeCartRequestBuilder
  • MeOrderRequestBuilder
  • MeRequestBuilder
  • MeShoppingListRequestBuilder
  • MessageRequestBuilder
  • OrderEditRequestBuilder
  • OrderRequestBuilder
  • PaymentRequestBuilder
  • ProductDiscountRequestBuilder
  • ProductProjectionRequestBuilder
  • ProductRequestBuilder
  • ProductSelectionRequestBuilder
  • ProductTypeRequestBuilder
  • ProjectRequestBuilder
  • RequestBuilder
  • ReviewRequestBuilder
  • ShippingMethodRequestBuilder
  • ShoppingListRequestBuilder
  • StateRequestBuilder
  • StoreRequestBuilder
  • SubscriptionRequestBuilder
  • TaxCategoryRequestBuilder
  • TypeRequestBuilder
  • ZoneRequestBuilder
  1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 
<?php
// phpcs:disable Generic.Files.LineLength
namespace Commercetools\Core\Builder\Request;

use Commercetools\Core\Request\ProductDiscounts\ProductDiscountByIdGetRequest;
use Commercetools\Core\Request\ProductDiscounts\ProductDiscountByKeyGetRequest;
use Commercetools\Core\Request\ProductDiscounts\ProductDiscountCreateRequest;
use Commercetools\Core\Model\ProductDiscount\ProductDiscountDraft;
use Commercetools\Core\Request\ProductDiscounts\ProductDiscountDeleteByKeyRequest;
use Commercetools\Core\Model\ProductDiscount\ProductDiscount;
use Commercetools\Core\Request\ProductDiscounts\ProductDiscountDeleteRequest;
use Commercetools\Core\Request\ProductDiscounts\ProductDiscountMatchingRequest;
use Commercetools\Core\Model\Common\Price;
use Commercetools\Core\Request\ProductDiscounts\ProductDiscountQueryRequest;
use Commercetools\Core\Request\ProductDiscounts\ProductDiscountUpdateByKeyRequest;
use Commercetools\Core\Request\ProductDiscounts\ProductDiscountUpdateRequest;

class ProductDiscountRequestBuilder
{

    /**
     * @link https://docs.commercetools.com/http-api-projects-productDiscounts.html#get-productdiscount-by-id
     * @param string $id
     * @return ProductDiscountByIdGetRequest
     */
    public function getById($id)
    {
        $request = ProductDiscountByIdGetRequest::ofId($id);
        return $request;
    }

    /**
     *
     * @param string $key
     * @return ProductDiscountByKeyGetRequest
     */
    public function getByKey($key)
    {
        $request = ProductDiscountByKeyGetRequest::ofKey($key);
        return $request;
    }

    /**
     * @link https://docs.commercetools.com/http-api-projects-productDiscounts.html#create-a-productdiscount
     * @param ProductDiscountDraft $productDiscount
     * @return ProductDiscountCreateRequest
     */
    public function create(ProductDiscountDraft $productDiscount)
    {
        $request = ProductDiscountCreateRequest::ofDraft($productDiscount);
        return $request;
    }

    /**
     *
     * @param ProductDiscount $productDiscount
     * @return ProductDiscountDeleteByKeyRequest
     */
    public function deleteByKey(ProductDiscount $productDiscount)
    {
        $request = ProductDiscountDeleteByKeyRequest::ofKeyAndVersion($productDiscount->getKey(), $productDiscount->getVersion());
        return $request;
    }

    /**
     * @link https://docs.commercetools.com/http-api-projects-productDiscounts.html#delete-productdiscount
     * @param ProductDiscount $productDiscount
     * @return ProductDiscountDeleteRequest
     */
    public function delete(ProductDiscount $productDiscount)
    {
        $request = ProductDiscountDeleteRequest::ofIdAndVersion($productDiscount->getId(), $productDiscount->getVersion());
        return $request;
    }

    /**
     *
     * @param string $productId
     * @param int $variantId
     * @param Price $price
     * @return ProductDiscountMatchingRequest
     */
    public function matching($productId, $variantId, Price $price)
    {
        $request = ProductDiscountMatchingRequest::ofProductIdVariantIdAndPrice($productId, $variantId, $price);
        return $request;
    }

    /**
     * @link https://docs.commercetools.com/http-api-projects-productDiscounts.html#query-productdiscounts
     *
     * @return ProductDiscountQueryRequest
     */
    public function query()
    {
        $request = ProductDiscountQueryRequest::of();
        return $request;
    }

    /**
     *
     * @param ProductDiscount $productDiscount
     * @return ProductDiscountUpdateByKeyRequest
     */
    public function updateByKey(ProductDiscount $productDiscount)
    {
        $request = ProductDiscountUpdateByKeyRequest::ofKeyAndVersion($productDiscount->getKey(), $productDiscount->getVersion());
        return $request;
    }

    /**
     * @link https://docs.commercetools.com/http-api-projects-productDiscounts.html#update-productdiscount
     * @param ProductDiscount $productDiscount
     * @return ProductDiscountUpdateRequest
     */
    public function update(ProductDiscount $productDiscount)
    {
        $request = ProductDiscountUpdateRequest::ofIdAndVersion($productDiscount->getId(), $productDiscount->getVersion());
        return $request;
    }

    /**
     * @return ProductDiscountRequestBuilder
     */
    public function of()
    {
        return new self();
    }
}
PHP SDK API documentation generated by ApiGen