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

  • CategoryCreatedMessage
  • CategorySlugChangedMessage
  • CustomerAddressAddedMessage
  • CustomerAddressChangedMessage
  • CustomerAddressRemovedMessage
  • CustomerCompanyNameSetMessage
  • CustomerCreatedMessage
  • CustomerDateOfBirthSetMessage
  • CustomerDeletedMessage
  • CustomerEmailChangedMessage
  • CustomerEmailVerifiedMessage
  • CustomerGroupSetMessage
  • CustomerPasswordUpdatedMessage
  • CustomLineItemStateTransitionMessage
  • DeliveryAddedMessage
  • DeliveryAddressSetMessage
  • DeliveryItemsUpdatedMessage
  • DeliveryRemovedMessage
  • InventoryEntryCreatedMessage
  • InventoryEntryDeletedMessage
  • InventoryEntryQuantitySetMessage
  • LineItemStateTransitionMessage
  • Message
  • MessageCollection
  • MessagesConfiguration
  • MessagesConfigurationDraft
  • OrderBillingAddressSetMessage
  • OrderCreatedMessage
  • OrderCustomerEmailSetMessage
  • OrderCustomerGroupSetMessage
  • OrderCustomerSetMessage
  • OrderDeletedMessage
  • OrderEditAppliedMessage
  • OrderImportedMessage
  • OrderLineItemDistributionChannelSetMessage
  • OrderPaymentAddedMessage
  • OrderPaymentChangedMessage
  • OrderReturnInfoSetMessage
  • OrderShippingAddressSetMessage
  • OrderStateChangedMessage
  • OrderStateTransitionMessage
  • OrderStoreSetMessage
  • ParcelAddedToDeliveryMessage
  • ParcelItemsUpdatedMessage
  • ParcelMeasurementsUpdatedMessage
  • ParcelRemovedFromDeliveryMessage
  • ParcelTrackingDataUpdatedMessage
  • PaymentCreatedMessage
  • PaymentInteractionAddedMessage
  • PaymentStatusInterfaceCodeSetMessage
  • PaymentStatusStateTransitionMessage
  • PaymentTransactionAddedMessage
  • PaymentTransactionChangedMessage
  • PaymentTransactionStateChangedMessage
  • ProductAddedToCategoryMessage
  • ProductCreatedMessage
  • ProductDeletedMessage
  • ProductImageAddedMessage
  • ProductPriceDiscountsSetMessage
  • ProductPriceDiscountsSetUpdatedPrice
  • ProductPriceDiscountsSetUpdatedPriceCollection
  • ProductPriceExternalDiscountSetMessage
  • ProductPublishedMessage
  • ProductRemovedFromCategoryMessage
  • ProductRevertedStagedChangesMessage
  • ProductSelectionCreatedMessage
  • ProductSelectionDeletedMessage
  • ProductSelectionProductAddedMessage
  • ProductSelectionProductRemovedMessage
  • ProductSlugChangedMessage
  • ProductStateTransitionMessage
  • ProductUnpublishedMessage
  • ProductVariantAddedMessage
  • ProductVariantDeletedMessage
  • ReviewCreatedMessage
  • ReviewRatingSetMessage
  • ReviewStateTransitionMessage
  • StateTransitionMessage
  • StoreCreatedMessage
  • StoreDeletedMessage
  • StoreProductSelectionsChangedMessage
  • UserProvidedIdentifiers
 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 
<?php
/**
 * @author @jenschude <jens.schulze@commercetools.de>
 */

namespace Commercetools\Core\Model\Message;

use Commercetools\Core\Model\Common\Context;
use Commercetools\Core\Model\Common\JsonObject;
use Commercetools\Core\Model\Common\Reference;
use Commercetools\Core\Model\Common\DateTimeDecorator;
use Commercetools\Core\Model\Common\Resource;
use DateTime;

/**
 * @package Commercetools\Core\Model\Message
 * @link https://docs.commercetools.com/http-api-projects-messages.html#message
 * @method string getId()
 * @method Message setId(string $id = null)
 * @method DateTimeDecorator getCreatedAt()
 * @method Message setCreatedAt(DateTime $createdAt = null)
 * @method int getSequenceNumber()
 * @method Message setSequenceNumber(int $sequenceNumber = null)
 * @method Reference getResource()
 * @method Message setResource(Reference $resource = null)
 * @method int getResourceVersion()
 * @method Message setResourceVersion(int $resourceVersion = null)
 * @method string getType()
 * @method Message setType(string $type = null)
 * @method int getVersion()
 * @method Message setVersion(int $version = null)
 * @method DateTimeDecorator getLastModifiedAt()
 * @method Message setLastModifiedAt(DateTime $lastModifiedAt = null)
 * @method UserProvidedIdentifiers getResourceUserProvidedIdentifiers()
 * @method Message setResourceUserProvidedIdentifiers(UserProvidedIdentifiers $resourceUserProvidedIdentifiers = null)
 */
class Message extends Resource
{
    const MESSAGE_TYPE = '';

    /**
     * @param array $data
     * @param Context|callable $context
     */
    public function __construct(array $data = [], $context = null)
    {
        parent::__construct($data, $context);
        $type = static::MESSAGE_TYPE;
        if (!empty($type)) {
            $this->setType(static::MESSAGE_TYPE);
        }
    }

    public function fieldDefinitions()
    {
        return [
            'id' => [static::TYPE => 'string'],
            'version' => [static::TYPE => 'int'],
            'createdAt' => [
                static::TYPE => DateTime::class,
                static::DECORATOR => DateTimeDecorator::class
            ],
            'lastModifiedAt' => [
                static::TYPE => DateTime::class,
                static::DECORATOR => DateTimeDecorator::class
            ],
            'sequenceNumber' => [static::TYPE => 'int'],
            'resource' => [static::TYPE => Reference::class],
            'resourceVersion' => [static::TYPE => 'int'],
            'type' => [static::TYPE => 'string'],
            'resourceUserProvidedIdentifiers' => [static::TYPE => UserProvidedIdentifiers::class, static::OPTIONAL => true],
        ];
    }

    /**
     * @param array $data
     * @param Context|callable $context
     * @return static
     */
    public static function fromArray(array $data, $context = null)
    {
        if (isset($data['type'])) {
            $className = '\Commercetools\Core\Model\Message\\' . ucfirst($data['type']) . 'Message';
            if (class_exists($className)) {
                return new $className($data, $context);
            }
        }
        return new static($data, $context);
    }
}
PHP SDK API documentation generated by ApiGen