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

  • CustomerByEmailTokenGetRequest
  • CustomerByIdGetRequest
  • CustomerByKeyGetRequest
  • CustomerByTokenGetRequest
  • CustomerCreateRequest
  • CustomerDeleteByKeyRequest
  • CustomerDeleteRequest
  • CustomerEmailConfirmRequest
  • CustomerEmailTokenRequest
  • CustomerLoginRequest
  • CustomerPasswordChangeRequest
  • CustomerPasswordResetRequest
  • CustomerPasswordTokenRequest
  • CustomerQueryRequest
  • CustomersEndpoint
  • CustomerUpdateByKeyRequest
  • CustomerUpdateRequest
  • LoginEndpoint
 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 
<?php
/**
 * @author @jenschude <jens.schulze@commercetools.de>
 * @created: 12.02.15, 12:34
 */

namespace Commercetools\Core\Request\Customers;

use Commercetools\Core\Client\HttpMethod;
use Commercetools\Core\Client\JsonRequest;
use Commercetools\Core\Model\Common\Context;
use Commercetools\Core\Request\AbstractUpdateRequest;
use Commercetools\Core\Model\Customer\CustomerToken;
use Commercetools\Core\Response\ApiResponseInterface;
use Commercetools\Core\Model\MapperInterface;

/**
 * @package Commercetools\Core\Request\Customers
 * phpcs:disable
 * @link https://docs.commercetools.com/http-api-projects-customers.html#create-a-token-for-verifying-the-customers-email
 * phpcs:enable
 * @method CustomerToken mapResponse(ApiResponseInterface $response)
 * @method CustomerToken mapFromResponse(ApiResponseInterface $response, MapperInterface $mapper = null)
 */
class CustomerEmailTokenRequest extends AbstractUpdateRequest
{
    const ID = 'id';
    const TTL_MINUTES = 'ttlMinutes';

    protected $resultClass = CustomerToken::class;

    /**
     * @var int
     */
    protected $ttlMinutes;

    /**
     * @param string $id
     * @param int $version
     * @param int $ttlMinutes
     * @param Context $context
     */
    public function __construct($id, $version, $ttlMinutes, Context $context = null)
    {
        parent::__construct(CustomersEndpoint::endpoint(), $id, $version, [], $context);
        $this->setId($id);
        $this->setVersion($version);
        $this->ttlMinutes = $ttlMinutes;
    }

    /**
     * @param string $id
     * @param int $version
     * @param int $ttlMinutes
     * @param Context $context
     * @return static
     */
    public static function ofIdVersionAndTtl($id, $version, $ttlMinutes, Context $context = null)
    {
        return new static($id, $version, $ttlMinutes, $context);
    }

    /**
     * @return string
     * @internal
     */
    protected function getPath()
    {
        return (string)$this->getEndpoint() . '/email-token' . $this->getParamString();
    }

    /**
     * @return JsonRequest
     * @internal
     */
    public function httpRequest()
    {
        $payload = [
            static::ID => $this->getId(),
            static::VERSION => (int)$this->getVersion(),
            static::TTL_MINUTES => (int)$this->ttlMinutes,
        ];
        return new JsonRequest(HttpMethod::POST, $this->getPath(), $payload);
    }
}
PHP SDK API documentation generated by ApiGen