Создание корзины с заказом клиента

применимо к: Центр партнеров | Центр партнеров, управляемый 21Vianet | Центр партнеров для Microsoft Cloud для государственных организаций США

Вы можете добавить заказ для клиента в корзину. Чтобы получить дополнительные сведения о том, что в настоящее время доступно для продажи, см. партнёрские предложения в программе поставщика облачных решений.

Заметка

Срок действия корзины истекает семь дней после первоначального создания.

Необходимые условия

  • Учетные данные, как описано в аутентификации в Центре партнеров. Этот сценарий поддерживает проверку подлинности как с помощью автономных учетных данных приложения, так и учетных данных приложения совместно с пользователем.

  • Идентификатор клиента (customer-tenant-id). Если вы не знаете идентификатор клиента, его можно найти в Центре партнеров, выбрав рабочую область клиентов , затем выберите этого клиента из списка клиентов, а после этого выберите учетную запись. На странице "Учетная запись клиента" найдите идентификатор Майкрософт в разделе сведения о учетной записи клиента. Идентификатор Майкрософт совпадает с идентификатором клиента (customer-tenant-id).

C#

Чтобы создать заказ для клиента, выполните приведенные действия.

  1. Создайте экземпляр объекта Корзина.

  2. Создайте список объектов CartLineItem и назначьте список свойству LineItems корзины. Каждый элемент строки корзины содержит сведения о покупке для одного продукта. У вас должен быть хотя бы один элемент корзины.

  3. Получите интерфейс для операций с корзиной, вызвав метод IAggregatePartner.Customers.ById с указанием идентификатора клиента, а затем получите интерфейс из свойства Cart.

  4. Вызовите метод Create или CreateAsync, чтобы создать корзину.

  5. Чтобы завершить аттестацию и включить прочих реселлеров, ознакомьтесь с следующими образцами запросов и ответов:

Запросить образец


{
    "PartnerOnRecordAttestationAccepted":true,     "lineItems": [
        {
            "id": 0,
            "catalogItemId": "CFQ7TTC0LH0Z:0001:CFQ7TTC0K18P",
            "quantity": 1,
            "billingCycle": "monthly",
            "termDuration": "P1M",
            "renewsTo": null,
            "provisioningContext": {},
            "customTermEndDate": "2022-02-19T00:00:00Z"
        },
        {
            "id": 1,
            "catalogItemId": "CFQ7TTC0LFLS:0002:CFQ7TTC0KDLJ",
            "quantity": 2,
            "billingCycle": "monthly",
            "termDuration": "P1Y",
            "participants": [
                {
                    "key": "transaction_reseller",
                    "value": "5357564"
                },
                 {
                    "key": "additional_transaction_reseller",                     
                    "value": "517285"
                },
                 {
                    "key": "additional_transaction_reseller", 
                    "value": "5357563"
                }
            ]
        }
    ]
}


Пример ответа


{
    "id": "3e22b548-647d-4223-9675-1fcb6cb57665",
    "creationTimestamp": "2021-08-18T17:29:52.3517492Z",
    "lastModifiedTimestamp": "2021-08-18T17:29:52.3517553Z",
    "expirationTimestamp": "2021-08-25T17:30:11.2406416Z",
    "lastModifiedUser": "da62a0dc-35e9-4601-b48e-a047bd3ec7c1",
    "status": "Active",
    "lineItems": [
        {
            "id": 0,
            "catalogItemId": "CFQ7TTC0LH0Z:0001:CFQ7TTC0K18P",
            "quantity": 1,
            "currencyCode": "USD",
            "billingCycle": "monthly",
            "termDuration": "P1M",
	    "customTermEndDate": "2022-02-19T00:00:00Z";
            "provisioningContext": {},
            "orderGroup": "0"
        },
        {
            "id": 1,
            "catalogItemId": "CFQ7TTC0LFLS:0002:CFQ7TTC0KDLJ",
            "quantity": 2,
            "currencyCode": "USD",
            "billingCycle": "monthly",
            "termDuration": "P1Y",
            "participants": [
                {
                    "key": "transaction_reseller",
                    "value": "5357564"
                },
                {
                    "key": "additional_transaction_reseller", 
                    "value": "517285"
                },
                {
                    "key": "additional_transaction_reseller", 
                    "value": "5357563"
                }
            ],
            "provisioningContext": {},
            "orderGroup": "0"
        }
    ],
    "links": {
        "self": {
            "uri": "/customers/f81d98dd-c2f4-499e-a194-5619e260344e/carts/3e22b548-647d-4223-9675-1fcb6cb57665",
            "method": "GET",
            "headers": []
        }
    },
    "attributes": {
        "objectType": "Cart"
    }
}


Пример C#

// IAggregatePartner partnerOperations;
// string customerId;
// string subscriptionId;

var cart = new Cart()
{
    LineItems = new List<CartLineItem>()
    {
        new CartLineItem()
        {
      /* Microsoft Azure Subscription */
            Id = 0,
            CatalogItemId = "MS-AZR-0145P",
            Quantity = 1,
            BillingCycle = BillingCycleType.Monthly,
            TermDuration = "P1Y"
        },
        new CartLineItem()
        {
      /* Azure Reserved Instance */
            Id = 1,
            CatalogItemId = "DZH318Z0BQ36:004G:DZH318Z08C0S",
            Quantity = 1,
            BillingCycle = BillingCycleType.OneTime,
            TermDuration = "P1Y",
            ProvisioningContext = new Dictionary<string, string>
            {
                { "subscriptionId", subscriptionId },
                { "scope", "shared" }
            }
        },
        new CartLineItem()
        {
      /* Azure Reserved Instance */
            Id = 2,
            CatalogItemId = "DZH318Z0BQ36:004J:DZH318Z08B8X",
            Quantity = 1,
            BillingCycle = BillingCycleType.OneTime,
            TermDuration = "P3Y",
            ProvisioningContext = new Dictionary<string, string>
            {
                { "subscriptionId", subscriptionId },
                { "scope", "shared" }
            }
        },
        new CartLineItem()
        {
      /* Perpetual Software */
            Id = 3,
            CatalogItemId = "DG7GMGF0DWM3:0002:DG7GMGF0DT1M",
            Quantity = 1,
            BillingCycle = BillingCycleType.OneTime
        },
        new CartLineItem()
        {
      /* SaaS */
            Id = 4,
            CatalogItemId = "DZH318Z0BXWC:0002:DZH318Z0BMRV",
            Quantity = 1,
            BillingCycle = BillingCycleType.Monthly,
            TermDuration = "P1M"
        },
        new CartLineItem()
        {
      /* SaaS Free Trial */
            Id = 5,
            CatalogItemId = "DZH318Z0C0WF:0001:DZH318Z0BP69",
            Quantity = 10,
            BillingCycle = BillingCycleType.None,
            TermDuration = "P1M",
            RenewsTo = new RenewsTo
            {
                TermDuration = "P1Y"
            }
        }
    }
};

cart = partnerOperations.Customers.ById(customerId).Carts.Create(cart);

Ява

Пакет Java SDK для Центра партнеров можно использовать для управления ресурсами Центра партнеров. Это проект с открытым исходным кодом, поддерживаемый сообществом партнеров и официально не поддерживаемый корпорацией Майкрософт. Вы можете получить помощь от сообщества или открыть проблему на сайте GitHub, если возникла проблема.

Чтобы создать заказ для клиента, выполните приведенные действия.

  1. Создайте экземпляр объекта Корзина.

  2. Создайте список объектов CartLineItem и назначьте список элементам строки корзины. Каждый элемент строки корзины содержит сведения о покупке для одного продукта. У вас должен быть хотя бы один элемент корзины.

  3. Получите интерфейс для работы с корзиной, вызвав функцию IAggregatePartner.getCustomers().byId с указанием идентификатора клиента для его идентификации, а затем извлекайте интерфейс, используя функцию getCart.

  4. Вызовите функцию create, чтобы создать корзину.

Пример Java

// IAggregatePartner partnerOperations;
// String customerId;
// String subscriptionId;
// String catalogItemId;

CartLineItem lineItem = new CartLineItem();

lineItem.setBillingCycle(BillingCycleType.OneTime);
lineItem.setCatalogItemId(catalogItemId);
lineItem.setFriendlyName("Sample RI Purchase");
lineItem.setQuantity(1);

Map<String, String> provisioningContext = new HashMap<String,String>();

provisioningContext.put("duration", "3Years");
provisioningContext.put("scope", "shared");
provisioningContext.put("subscriptionId", subscriptionId);

lineItem.setProvisioningContext(provisioningContext);

List<CartLineItem> lineItemList = new ArrayList<CartLineItem>();
lineItemList.add(lineItem);

Cart cart = new Cart();
cart.setLineItems(lineItemList);

Cart cartCreated = partnerOperations.getCustomers().byId(customerId).getCarts().create(cart);

PowerShell

Модуль PowerShell для Центра партнеров можно использовать для управления ресурсами Центра партнеров. Это проект с открытым исходным кодом, поддерживаемый сообществом партнеров и официально не поддерживаемый корпорацией Майкрософт. Вы можете получить помощь от сообщества или открыть проблему на сайте GitHub, если возникла проблема.

Чтобы создать заказ для клиента, выполните приведенные действия.

  1. Создайте экземпляр объекта Корзина.

  2. Создайте список объектов CartLineItem и назначьте список элементам строки корзины. Каждый элемент строки корзины содержит сведения о покупке для одного продукта. У вас должен быть хотя бы один элемент корзины.

  3. Выполните команду New-PartnerCustomerCart, чтобы создать корзину.

# $customerId
# $subscriptionId
# $catalogItemId

$lineItem = New-Object -TypeName Microsoft.Store.PartnerCenter.PowerShell.Models.Carts.PSCartLineItem

$lineItem.BillingCycle = 'OneTime'
$lineItem.CatalogItemId = $catalogItemId
$lineItem.FriendlyName = 'Sample RI Purchase'
$lineItem.ProvisioningContext.Add('duration', '1Year')
$lineItem.ProvisioningContext.Add('scope', 'shared')
$lineItem.ProvisioningContext.Add('subscriptionId', $subsciptionId)
$lineItem.Quantity = 10

New-PartnerCustomerCart -CustomerId $customerId -LineItems $lineItem

Запрос REST

Синтаксис запроса

Метод URI запроса
POST {baseURL}/v1/customers/{customer-id}/carts HTTP/1.1

Параметр URI

Используйте следующий параметр пути для идентификации клиента.

Имя Тип Обязательно Описание
идентификатор клиента струна Да Идентификатор клиента в формате GUID, который идентифицирует клиента.

Заголовки запросов

Дополнительные сведения см. в заголовках REST Центра партнеров.

Текст запроса

В этой таблице описаны свойства Cart в тексте запроса.

Недвижимость Тип Обязательно Описание
идентификатор струна Нет Идентификатор корзины, предоставленный при успешном создании корзины.
creationTimeStamp Дата и время Нет Дата создания корзины в формате даты и времени. Применяется после успешного создания корзины.
lastModifiedTimeStamp Дата и время Нет Дата последнего обновления корзины в формате даты и времени. Применяется после успешного создания корзины.
время окончания Дата и время Нет Дата, когда истекает срок действия корзины, указана в формате даты и времени. Применяется после успешного создания корзины.
пользовательПоследнегоИзменения струна Нет Пользователь, который последний раз обновил корзину. Применяется после успешного создания корзины.
lineItems Массив объектов Да Массив ресурсов CartLineItem.
Принятие аттестации партнёра в записи Булев Да Подтверждение завершения аттестации

В этой таблице описаны свойства CartLineItem в тексте запроса.

Заметка

При оформлении корзины через API элементы строки обрабатываются в том порядке, в котором они помещаются в корзину. Заказ может повлиять на соответствие рекламным акциям с ограничениями New To Offer, если в корзине есть два продукта одного типа, один с рекламным идентификатором и другим без (например, с различными условиями). Убедитесь, что все товары, подходящие для скидок или специальных предложений, сначала в корзине, если вы оформляете заказ на несколько товаров.

Недвижимость Тип Обязательно Описание
идентификатор струна Нет Уникальный идентификатор для элемента строки корзины. Применяется после успешного создания корзины.
catalogId струна Да Идентификатор элемента каталога. Убедитесь, что доступность элемента каталога соответствует правильному сегменту.
пользовательское имя струна Нет Необязательный. Понятное название элемента, определенного партнером, для облегчения различения.
promotionId струна Нет Необязательный. Большинство новых торговых акций применяются автоматически, однако для дополнительных рекламных акций (например, Bridge to the Cloud 2), чтобы они применились к позиции в корзине, партнеры должны включать идентификатор акции при добавлении в корзину.
количество int Да Количество лицензий или экземпляров.
код валюты струна Нет Код валюты.
платежный цикл Объект Да Тип цикла выставления счетов, заданный в течение текущего периода.
Дата окончания пользовательского срока Дата и время Нет Дата окончания существующей подписки, к которой требуется сотерминировать новую подписку.
Участники Список пар строк объекта Нет Коллекция PartnerId on Record (PartnerID) для покупки.
контекст подготовки (provisioningContext) Строка<словаря, строка> Нет Сведения, необходимые для обеспечения некоторых элементов в каталоге. Свойство provisioningVariables в номере SKU указывает, какие свойства необходимы для определенных элементов в каталоге.
группа заказов струна Нет Группа, указывающая, какие элементы можно разместить вместе.
ошибка Объект Нет Применяется после создания корзины, если возникает ошибка.
продлениеTo Массив объектов Нет Массив ресурсов RenewsTo.
АттестацияПринята Булев Нет Указывает согласие на условия предложения или условия SKU. Требуется только для предложений или кодов SKU, где для SkuAttestationProperties или OfferAttestationProperties значение принудительного применения аттестации равно True.
транзакция_реселлер Струна Нет Когда косвенный поставщик размещает заказ от имени непрямого торгового посредника, заполните это поле, используя PartnerID только косвенного торгового посредника (никогда не указывайте идентификатор косвенного поставщика). Это обеспечивает надлежащий учет стимулов.
дополнительная_транзакция_перепродавец Струна Нет Если косвенный поставщик размещает заказ от имени косвенного торгового посредника, заполните это поле идентификатором партнёра дополнительного косвенного торгового посредника (никогда не идентификатором косвенного поставщика). Стимулы не применимы для этих других торговых посредников. Можно ввести только пять непрямых торговых посредников. Это требование применяется только для партнеров, осуществляющих сделки в странах или регионах Европы.
scheduledNextTermInstructions Объект Нет Определяет следующие инструкции для пробной подписки. Партнеры могут указать срок действия, частоту выставления счетов и количество, которое имеет соответствующая платная подписка во время продления.

В этой таблице описаны свойства RenewsTo в тексте запроса для предложений Microsoft Marketplace.

Недвижимость Тип Обязательно Описание
длительность срока струна Нет Представление продолжительности срока продления в формате ISO 8601. Текущие поддерживаемые значения: P1M (1 месяц) и P1Y (1 год).
ScheduledNextTermInstructions

В этой таблице описываются свойства scheduledNextTermInstructions в тексте запроса для пробных предложений на основе лицензий на основе NCE. Если значения не указаны, пробные версии автоматически превращаются в платные подписки с годовым сроком, ежемесячной оплатой и 25 лицензиями.

Недвижимость Тип Обязательно Описание
продукт массив Нет Массив, который указывает на предложение, в которое преобразуется пробная подписка, а также на срок и частоту выставления счетов, применяемые к платной подписке.
количество int Нет Количество лицензий, которое имеет соответствующая платная подписка после продления пробного предложения.
Продукт

В этой таблице описываются свойства productTerm в тексте запроса для пробных предложений на основе лицензий на основе NCE. Если в этом массиве нет значений, пробные версии преобразуются в платные подписки с ежегодным сроком и ежемесячной оплатой.

Недвижимость Тип Обязательно Описание
productId струна Нет Идентификатор GUID, отформатированный для описания продукта платной подписки, в которую преобразуется пробная версия.
skuId струна Нет Идентификатор GUID, отформатированный для представления номера SKU платной подписки, в которую продлевается пробная версия.
availabilityId струна Нет Идентификатор GUID, отформатированный для представления доступности платной подписки, в которую обновляется пробная версия.
платежный цикл струна Нет Частота выставления счетов для соответствующей платной подписки после продления пробного периода.
длительность срока струна Нет Срок действия соответствующей платной подписки после продления пробного предложения.

Пример запроса

POST /v1/customers/d6bf25b7-e0a8-4f2d-a31b-97b55cfc774d/carts HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 4fa6dad6-a89f-4875-8247-8294a10ae1cf
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Client: Partner Center .NET SDK
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 496
Expect: 100-continue

{
  "lineItems": [
    {
    /* Microsoft Azure Subscription */
      "id": 0,
      "catalogItemId": "MS-AZR-0145P",
      "quantity": 1,
      "billingCycle": "monthly",
      "termDuration": "P1Y"
    },
    {
    /* Azure Reserved Instance */
      "id": 1,
      "catalogItemId": "DZH318Z0BQ36:004G:DZH318Z08C0S",
      "quantity": 1,
      "billingCycle": "one_time",
      "termDuration": "P1Y",
      "provisioningContext": {
        "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
        "scope": "shared"
      }
    },
    {
    /* Azure Reserved Instance */
      "id": 2,
      "catalogItemId": "DZH318Z0BQ36:004J:DZH318Z08B8X",
      "quantity": 1,
      "billingCycle": "one_time",
      "termDuration": "P3Y",
      "provisioningContext": {
        "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
        "scope": "single"
      }
    },
    {
    /* Perpetual Software */
      "id": 3,
      "catalogItemId": "DG7GMGF0DWTL:0001:DG7GMGF0DSFM",
      "quantity": 1,
      "billingCycle": "one_time"
    },
    {
    /* SaaS */
      "id": 4,
      "catalogItemId": "DZH318Z0BXWC:0002:DZH318Z0BMRV",
      "quantity": 1,
      "billingCycle": "monthly",
      "termDuration": "P1M"
    },
  {
    /* SaaS Free Trial */
       "id": 5,
       "catalogItemId": "DZH318Z0C0WF:0001:DZH318Z0BP69",
       "quantity": 10,
       "billingCycle": "none",
       "termDuration": "P1M",
       "renewsTo": {
         "termDuration": "P1Y"
       }
    }
  ]
}

Важный

По состоянию на июнь 2023 г. последняя версия пакета SDK для .NET для Центра партнеров 3.4.0 теперь архивируется. Вы можете скачать релиз SDK с GitHub, вместе с файлом ReadMe, который содержит полезные сведения.

Партнерам рекомендуется продолжать использовать REST API Центра партнеров.

Ответ REST

В случае успешного выполнения этот метод возвращает заполненный ресурс Cart в теле ответа.

Коды успешных и ошибочных ответов

Каждый ответ содержит код состояния HTTP, указывающий на успешность или сбой и сведения об отладке. Используйте средство трассировки сети для чтения этого кода, типа ошибки и других параметров. Полный список см. в разделе Коды ошибок.

Пример ответа

HTTP/1.1 201 Created
Content-Length: 764
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 4fa6dad6-a89f-4875-8247-8294a10ae1cf
X-Locale: en-US,en-US
MS-CV: sF/wRa2ih0CzbABc.0
MS-ServerId: 000001
Date: Thu, 15 Mar 2018 17:15:01 GMT
{
  "id": "3655b1a0-b1c9-4268-9824-577fdbc4d0be",
  "creationTimestamp": "2019-01-16T00:45:41.6062996Z",
  "lastModifiedTimestamp": "2019-01-16T00:45:41.6062996Z",
  "expirationTimestamp": "2019-01-16T01:00:54.4188497Z",
  "lastModifiedUser": "1824b7fc-2fac-4478-b177-66823c40ab75",
  "status": "Active",
  "lineItems": [
    {
      "id": 0,
      "catalogItemId": "MS-AZR-0145P",
      "quantity": 1,
      "currencyCode": "USD",
      "billingCycle": "monthly",
      "termDuration": "P1Y",
      "orderGroup": "OMS-0"
    },
    {
      "id": 1,
      "catalogItemId": "DZH318Z0BQ36:004G:DZH318Z08C0S",
      "quantity": 1,
      "currencyCode": "USD",
      "billingCycle": "one_time",
      "termDuration": "P1Y",
      "provisioningContext": {
        "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
        "scope": "shared"
      },
      "orderGroup": "0"
    },
    {
      "id": 2,
      "catalogItemId": "DZH318Z0BQ36:004J:DZH318Z08B8X",
      "quantity": 1,
      "currencyCode": "USD",
      "billingCycle": "one_time",
      "termDuration": "P3Y",
      "provisioningContext": {
        "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
        "scope": "shared"
      },
      "orderGroup": "0"
    },
    {
      "id": 3,
      "catalogItemId": "DG7GMGF0DWM3:0002:DG7GMGF0DT1M",
      "quantity": 1,
      "currencyCode": "USD",
      "billingCycle": "one_time",
      "orderGroup": "0"
    },
    {
      "id": 4,
      "catalogItemId": "DZH318Z0BXWC:0002:DZH318Z0BMRV",
      "quantity": 1,
      "currencyCode": "USD",
      "billingCycle": "monthly",
      "termDuration": "P1M",
      "orderGroup": "1"
    },
  {
      "id": 5,
      "catalogItemId": "DZH318Z0C0WF:0001:DZH318Z0BP69",
      "quantity": 10,
      "currencyCode": "USD",
      "billingCycle": "none",
      "termDuration": "P1M",
      "renewsTo": {
  "termDuration": "P1Y"
      },
    "orderGroup": "2"
    }
  ],
  "links": {
    "self": {
      "uri": "/customers/28045616-f6b9-462f-9701-0d89b5e65c44/carts/3655b1a0-b1c9-4268-9824-577fdbc4d0be",
      "method": "GET",
      "headers": []
    }
  },
  "attributes": {
    "objectType": "Cart"
  }
}

Пример для новых служб на основе лицензий на коммерческой основе

Заметка

Новые коммерческие возможности для служб на основе лицензий включают множество новых возможностей и доступны для всех поставщиков облачных решений (CSPS). Дополнительные сведения см. в обзор новых коммерческих опытов.

Пример запроса

POST /v1/customers/932c4101-dc08-461b-b4c1-75d80e905775/carts HTTP/1.1
Host: api.partnercenter.microsoft.com
Content-Type: application/json
Content-Length: 165

{
	"LineItems": [
		{
			"CatalogItemId":"CFQ7TTC0LFLZ:0002:CFQ7TTC0K4TS",
			"Quantity": 1,
			"TermDuration": "P1M",
			"BillingCycle": "Monthly"
		}
	]
}

Важный

Элементы плана Azure и постоянного программного обеспечения не поддерживают свойство termDuration. Избегайте включать это при приобретении этих типов предметов.

// request example where several renewal values for an NCE license-based trial are specified
http
POST /v1/customers/932c4101-dc08-461b-b4c1-75d80e905775/carts HTTP/1.1
Host: api.partnercenter.microsoft.com
Content-Type: application/json
Content-Length: 165
{
  "lineItems": [
    {
      "id": 0,
      "catalogItemId": "CFQ7TTC0LCHC:0003:CFQ7TTC0XCQC",
      "quantity": 25,
      "currencyCode": "USD",
      "billingCycle": "none",
      "termDuration": "P1M",
      "promotionId": null,
      "provisioningContext": {},
      "customTermEndDate": null,
      "scheduledNextTermInstructions": {
        "product": {
          "billingCycle": "monthly",
          "termDuration": "P1M" 
        }
      }
    }
  ],
  "partnerOnRecordAttestationAccepted": true
}

Ответ REST

В случае успешного выполнения этот метод возвращает заполненный ресурс Cart в теле ответа.

Коды успешных и ошибочных ответов

Каждый ответ содержит код состояния HTTP, указывающий на успешность или сбой, а также другие сведения об отладке. Используйте средство трассировки сети для чтения этого кода, типа ошибки и других параметров. Полный список см. в разделе Коды ошибок.

Пример ответа


{
    "id": "2517c51b-58cd-4abe-87ed-3ab812401ab4",
    "creationTimestamp": "2023-07-11T21:16:11.55149Z",
    "lastModifiedTimestamp": "2023-07-11T21:16:11.5515713Z",
    "expirationTimestamp": "2023-07-18T21:16:17.2480482Z",
    "lastModifiedUser": "9db12087-fbc3-481c-8965-73d44ff88e27",
    "status": "Active",
    "lineItems": [
        {
            "id": 0,
            "catalogItemId": "CFQ7TTC0LF8S:0001:CFQ7TTC0VZW5",
            "quantity": 1,
            "currencyCode": "USD",
            "billingCycle": "monthly",
            "termDuration": "P1Y",
            "provisioningContext": {},
            "orderGroup": "0",
            "pricing": {
                "listPrice": 30.4,
                "discountedPrice": 30.4,
                "proratedPrice": 30.4,
                "price": 30.4,
                "extendedPrice": 364.8
            }
        }
    ],
    "links": {
        "self": {
            "uri": "/customers/ebd8b4c2-4069-46a8-bd70-123d6dec3e39/carts/2517c51b-58cd-4abe-87ed-3ab812401ab4",
            "method": "GET",
            "headers": []
        }
    },
    "attributes": {
        "objectType": "Cart"
    }
}
// response content for an order containing an NCE license-based trial
{
  "id": "99d3777b-61da-4c95-aefa-203c248c4180",
  "creationTimestamp": "2025-02-04T22:22:36.7924103Z",
  "lastModifiedTimestamp": "2025-02-04T22:22:36.7924109Z",
  "expirationTimestamp": "2025-02-11T22:23:34.5190698Z",
  "lastModifiedUser": "b5109661-56c5-45ed-9447-f67463458a97",
  "status": "Active",
  "lineItems": [
    {
      "id": 0,
      "catalogItemId": "CFQ7TTC0LCHC:0003:CFQ7TTC0XCQC",
      "quantity": 25,
      "currencyCode": "USD",
      "billingCycle": "none",
      "termDuration": "P1M",
      "provisioningContext": {},
      "orderGroup": "0",
      "pricing": {
        "listPrice": 0.0,
        "discountedPrice": 0.0,
        "proratedPrice": 0.0,
        "price": 0.0,
        "extendedPrice": 0.0
      },
      "scheduledNextTermInstructions": {
        "product": {
          "productId": "CFQ7TTC0LCHC",
          "skuId": "0002",
          "availabilityId": "CFQ7TTC0XL82",
          "billingCycle": "monthly",
          "termDuration": "P1M"
        },
        "quantity": 25
      }
    }
  ],
  "links": {
    "self": {
      "uri": "/customers/81e78b53-9aa8-44e7-a041-3b15272d8f84/carts/99d3777b-61da-4c95-aefa-203c248c4180",
      "method": "GET",
      "headers": []
    }
  },
  "attributes": {
    "objectType": "Cart"
  }
}