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

  • AzureEventGridDestination
  • AzureServiceBusDestination
  • ChangeSubscription
  • ChangeSubscriptionCollection
  • Delivery
  • Destination
  • GoogleCloudPubSubDestination
  • IronMQDestination
  • MessageDelivery
  • MessageSubscription
  • MessageSubscriptionCollection
  • PayloadNotIncluded
  • ResourceCreatedDelivery
  • ResourceDeletedDelivery
  • ResourceUpdatedDelivery
  • SNSDestination
  • SQSDestination
  • Subscription
  • SubscriptionCollection
  • SubscriptionDraft
  • SubscriptionReference
 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 
<?php
/**
 * @author @jenschude <jens.schulze@commercetools.de>
 */

namespace Commercetools\Core\Model\Subscription;

use Commercetools\Core\Model\Common\JsonObject;

/**
 * @package Commercetools\Core\Model\Subscription
 *
 * @method string getType()
 * @method Destination setType(string $type = null)
 */
class Destination extends JsonObject
{
    const DESTINATION_SQS = 'SQS';
    const DESTINATION_IRON_MQ = 'IronMQ';
    const DESTINATION_SNS = 'SNS';
    const DESTINATION_AZURE_EVENT_GRID = 'EventGrid';
    const DESTINATION_AZURE_SERVICE_BUS = 'AzureServiceBus';
    const DESTINATION_GOOGLE_CLOUD_PUB_SUB = 'GoogleCloudPubSub';

    public function fieldDefinitions()
    {
        return [
            'type' => [static::TYPE => 'string']
        ];
    }

    protected static function destinationType($typeId)
    {
        $types = [
            static::DESTINATION_SQS => SQSDestination::class,
            static::DESTINATION_IRON_MQ => IronMQDestination::class,
            static::DESTINATION_SNS => SNSDestination::class,
            static::DESTINATION_AZURE_EVENT_GRID => AzureEventGridDestination::class,
            static::DESTINATION_AZURE_SERVICE_BUS => AzureServiceBusDestination::class,
            static::DESTINATION_GOOGLE_CLOUD_PUB_SUB => GoogleCloudPubSubDestination::class,
        ];
        return isset($types[$typeId]) ? $types[$typeId] : Destination::class;
    }

    public static function fromArray(array $data, $context = null)
    {
        if (get_called_class() == Destination::class && isset($data[static::TYPE])) {
            $className = static::destinationType($data[static::TYPE]);
            if (class_exists($className)) {
                return new $className($data, $context);
            }
        }
        return new static($data, $context);
    }
}
PHP SDK API documentation generated by ApiGen