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

  • Cart
  • CartCollection
  • CartDiscountCodeState
  • CartDraft
  • CartReference
  • CartState
  • ClassificationShippingRateInput
  • ClassificationShippingRateInputDraft
  • CustomLineItem
  • CustomLineItemCollection
  • CustomLineItemDraft
  • CustomLineItemDraftCollection
  • DiscountCodeInfo
  • DiscountCodeInfoCollection
  • DiscountedLineItemPortion
  • DiscountedLineItemPortionCollection
  • DiscountedLineItemPrice
  • DiscountedPricePerQuantity
  • DiscountedPricePerQuantityCollection
  • ExternalLineItemTotalPrice
  • ExternalTaxAmountDraft
  • InventoryMode
  • ItemShippingDetails
  • ItemShippingDetailsDraft
  • ItemShippingTarget
  • ItemShippingTargetCollection
  • LineItem
  • LineItemCollection
  • LineItemDraft
  • LineItemDraftCollection
  • MyCartDraft
  • MyLineItemDraft
  • MyLineItemDraftCollection
  • ReplicaCartDraft
  • ScoreShippingRateInput
  • ScoreShippingRateInputDraft
  • ShippingInfo
  • ShippingRateInput
  • ShippingRateInputDraft
 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 
<?php
/**
 * @author @jenschude <jens.schulze@commercetools.de>
 */

namespace Commercetools\Core\Model\Cart;

use Commercetools\Core\Model\Common\AddressCollection;
use Commercetools\Core\Model\Common\Context;
use Commercetools\Core\Model\Common\JsonObject;
use Commercetools\Core\Model\Common\LocaleTrait;
use Commercetools\Core\Model\CustomField\CustomFieldObjectDraft;
use Commercetools\Core\Model\Common\Address;
use Commercetools\Core\Model\ShippingMethod\ShippingMethodReference;

/**
 * @package Commercetools\Core\Model\Cart
 * @link https://docs.commercetools.com/http-api-projects-me-carts.html#mycartdraft
 * @method string getCurrency()
 * @method MyCartDraft setCurrency(string $currency = null)
 * @method string getCustomerEmail()
 * @method MyCartDraft setCustomerEmail(string $customerEmail = null)
 * @method string getCountry()
 * @method MyCartDraft setCountry(string $country = null)
 * @method string getInventoryMode()
 * @method MyCartDraft setInventoryMode(string $inventoryMode = null)
 * @method MyLineItemDraftCollection getLineItems()
 * @method MyCartDraft setLineItems(MyLineItemDraftCollection $lineItems = null)
 * @method Address getShippingAddress()
 * @method MyCartDraft setShippingAddress(Address $shippingAddress = null)
 * @method Address getBillingAddress()
 * @method MyCartDraft setBillingAddress(Address $billingAddress = null)
 * @method ShippingMethodReference getShippingMethod()
 * @method MyCartDraft setShippingMethod(ShippingMethodReference $shippingMethod = null)
 * @method CustomFieldObjectDraft getCustom()
 * @method MyCartDraft setCustom(CustomFieldObjectDraft $custom = null)
 * @method string getLocale()
 * @method int getDeleteDaysAfterLastModification()
 * @method MyCartDraft setDeleteDaysAfterLastModification(int $deleteDaysAfterLastModification = null)
 * @method string getTaxMode()
 * @method MyCartDraft setTaxMode(string $taxMode = null)
 * @method AddressCollection getItemShippingAddresses()
 * @method MyCartDraft setItemShippingAddresses(AddressCollection $itemShippingAddresses = null)
 */
class MyCartDraft extends JsonObject
{
    use LocaleTrait;

    public function fieldDefinitions()
    {
        return [
            'currency' => [static::TYPE => 'string'],
            'customerEmail' => [static::TYPE => 'string', static::OPTIONAL => true],
            'country' => [static::TYPE => 'string', static::OPTIONAL => true],
            'inventoryMode' => [static::TYPE => 'string', static::OPTIONAL => true],
            'lineItems' => [static::TYPE => MyLineItemDraftCollection::class, static::OPTIONAL => true],
            'shippingAddress' => [static::TYPE => Address::class, static::OPTIONAL => true],
            'billingAddress' => [static::TYPE => Address::class, static::OPTIONAL => true],
            'shippingMethod' => [static::TYPE => ShippingMethodReference::class, static::OPTIONAL => true],
            'custom' => [static::TYPE => CustomFieldObjectDraft::class, static::OPTIONAL => true],
            'locale' => [static::TYPE => 'string', static::OPTIONAL => true],
            'deleteDaysAfterLastModification' => [static::TYPE => 'int', static::OPTIONAL => true],
            'taxMode' => [static::TYPE => 'string', static::OPTIONAL => true],
            'itemShippingAddresses' => [static::TYPE => AddressCollection::class, static::OPTIONAL => true],
        ];
    }

    /**
     * @param string $currency
     * @param Context|callable $context
     * @return MyCartDraft
     */
    public static function ofCurrency($currency, $context = null)
    {
        $draft = static::of($context);
        return $draft->setCurrency($currency);
    }

    /**
     * @param string $currency
     * @param string $country
     * @param Context|callable $context
     * @return MyCartDraft
     */
    public static function ofCurrencyAndShippingCountry($currency, $country, $context = null)
    {
        $draft = static::of($context);

        return $draft->setCurrency($currency)
            ->setCountry($country)
            ->setShippingAddress(Address::of()->setCountry($country));
    }
}
PHP SDK API documentation generated by ApiGen