Имя файла не соответствует ожидаемой области видимости

Обновлено: 30.06.2024

Товары — это товары, которые можно продать в проекте электронной коммерции на платформе commercetools.

Продукты содержат ProductVariant, которые представляют один продаваемый продукт (часто отдельный артикул). Эффективное сопоставление ваших товаров с продуктами и вариантами commercetools — важная часть работы с платформой. Дополнительные сведения см. в Руководстве по моделированию продуктов.

Представительства Товар

Полное представление продукта объединяет текущее и промежуточное представления в одном представлении.

  • id – строка
    Уникальный идентификатор продукта.
  • ключ — строка — необязательный
    Уникальный идентификатор продукта для конкретного пользователя. Ключи продукта отличаются от ключей вариантов продукта.
  • версия — номер
    текущая версия продукта.
  • createdAt — Дата и время
  • createdBy — CreatedBy BETA
    Присутствует на ресурсах, созданных после 01 февраля 2019 г., за исключением событий, которые не отслеживаются.
  • lastModifiedAt — Дата и время
  • lastModifiedBy — LastModifiedBy БЕТА
    Присутствует на ресурсах, обновленных после 01 февраля 2019 г., за исключением неотслеживаемых событий.
  • productType — ссылка на ProductType
  • masterData – ProductCatalogData
    Данные о товарах в главном каталоге.
  • taxCategory — ссылка на TaxCategory — необязательно
  • состояние — ссылка на состояние — необязательно
  • reviewRatingStatistics – ReviewRatingStatistics – необязательно
    Статистика отзывов, учитываемых для этого продукта.
ProductCatalogData
  • published — логическое значение
    Указывает, опубликован ли продукт.
  • current — ProductData
    Текущие данные о товаре.
  • staged — ProductData
    Поэтапные данные о продукте.
  • hasStagedChanges — логическое значение
    Отличаются ли промежуточные данные от текущих данных.
Данные продукта
  • имя – LocalizedString
  • categories — массив ссылок на категорию
    ссылки на категории, в которых находится товар.
  • categoryOrderHints — CategoryOrderHints — необязательно
  • описание — LocalizedString — необязательно
  • slug — LocalizedString
    Удобочитаемые идентификаторы, обычно используемые в качестве URL-адреса прямой ссылки на соответствующий продукт. Каждый ярлык уникален для проекта, но продукт может иметь один и тот же ярлык для разных языков.
    Для повышения производительности предусмотрены индексы для первых 15 языков, установленных в проекте.
  • metaTitle — LocalizedString — необязательно
  • метаописание — LocalizedString — необязательно
  • metaKeywords — LocalizedString — необязательно
  • masterVariant – вариант продукта
  • варианты – массив ProductVariant
  • Ключевые слова поиска – Ключевые слова поиска
Вариант продукта
  • id — число.
    Последовательный идентификатор варианта в продукте.
  • sku – строка – необязательный
    Уникальный артикул варианта.
  • ключ — строка — необязательный
    Уникальный идентификатор варианта для конкретного пользователя. Ключи вариантов продукта отличаются от ключей продукта.
  • prices — Массив цен — необязательно
    Цены варианта. Цены не содержат двух цен для одной и той же ценовой области (одной и той же валюты, страны, группы клиентов и канала).
  • attributes — массив атрибутов — необязательно
  • цена – цена – необязательно
    Появляется только при выборе цены. Это поле нельзя использовать в предикате запроса.
  • images – Массив изображений – необязательно
  • assets – Массив объектов – необязательно
  • availability – ProductVariantAvailability – необязательно
    Доступность устанавливается, если вариант отслеживается в инвентаре. Поле может не содержать последнее состояние инвентаризации (в конечном счете оно непротиворечиво), и его можно использовать в качестве оптимизации для сокращения числа обращений к службе инвентаризации.
  • isMatchingVariant – логическое значение – необязательный
    Появляется только в ответ на запрос Product Projection Search, чтобы пометить этот вариант как соответствующий поисковому запросу.
  • scopedPrice – ScopedPrice – необязательно
    Появляется только в ответ на запрос прогноза продукта с выбором цены. Может использоваться для сортировки, фильтрации и фасетирования.
  • scopedPriceDiscounted – логическое значение – необязательный
    Появляется только в ответ на запрос Product Projection Search, когда используется выбор цены.
ПродуктВариантДоступность
  • isOnStock — логическое значение — необязательно
  • restockableInDays – число – необязательно
    количество дней, которое требуется для пополнения запасов товара, если его нет в наличии.
  • ДоступноеКоличество – Число – Необязательно
    Количество единиц этого варианта продукта, которые в настоящее время доступны на складе
    isOnStock , restockableInDays иquantityOnStock, основаны на Записи запасов без канала поставки для этого варианта.< /li>
  • channels — Карта ProductVariantAvailability по идентификатору канала — необязательно
    Для каждой инвентарной записи с каналом поставки в каналы добавляется запись:
    • ключ – это идентификатор канала.
    • значение представляет собой объект, содержащий данные isOnStock , restockableInDays и availableQuantity для записи запасов с каналом поставки для этого варианта.
    Цена
    • id – строка – только чтение
      Уникальный идентификатор этой цены.
    • значение — TypedMoney
    • country – строка – необязательно
      Двузначный код страны в соответствии со стандартом ISO 3166-1 alpha-2
    Уровень цен

    Ценовая категория выбирается вместо цены по умолчанию, когда определенное количество ProductVariant добавляется в корзину и оформляется заказ.
    Например: цена может быть ниже, если заказывается более 10 товаров.
    Если ценовая категория для количества заказа не найдена, используется базовая цена.
    Ценовая категория применяется ко всему количеству варианта продукта, помещенного в качестве позиции в корзину, как только будет достигнуто минимальное количество для данной ценовой категории.
    Ценовая категория применяется к каждой позиции варианта продукта. Если, например, один и тот же вариант продукта появляется в одной корзине как несколько позиций (что может быть достигнуто за счет разных значений настраиваемого поля в позициях), для каждой позиции должно быть достигнуто минимальное количество, чтобы получить цену. уровень.

    • minimumQuantity – число
      Минимальное количество, для которого действителен этот ценовой уровень.
      Минимальное количество всегда больше или равно 2 (базовая цена интерпретируется как действительная для минимального количества, равного 1). .
    • value – TypedMoney
      Валюта ценового уровня всегда совпадает с валютой базовой цены.
    Цена со скидкой ScopedPrice

    Цена с заданной областью действия возвращается как часть варианта в поиске товаров (при использовании селектора цен).

    • id – строка – только чтение
      Уникальный идентификатор этой цены.
    • значение – TypedMoney – исходное значение цены
    • currentValue – TypedMoney – либо исходное значение цены, либо значение со скидкой, если оно доступно.
    • country – строка – необязательно
      Двузначный код страны в соответствии со стандартом ISO 3166-1 alpha-2

    ПродуктЧерновик

    Представление, отправляемое на сервер при создании нового продукта.

    Идентификатор ПродуктаРесурса
    • id – строка
      Уникальный идентификатор указанного продукта. Требуется идентификатор или ключ.
    • key – строка
      Уникальный ключ указанного Продукта. Требуется идентификатор или ключ.
    • typeId — String — необязательно
      Если указано, должно быть product .
    Ссылка на продукт
    • id – строка – уникальный идентификатор продукта, на который делается ссылка.
    • typeId — строка — продукт
    ПродуктВариантЧерновик
    • sku – строка – необязательно
      SKU должен быть уникальным.
    • key – String – необязательный
      Уникальный идентификатор варианта, определяемый пользователем.
    • prices — массив PriceDraft — необязательный
      Цены для чернового варианта. Можно указать не более 100 цен.
    • images – массив изображений – необязательные
      внешние изображения для черновика варианта. Вы также можете загружать изображения, чтобы использовать сеть доставки контента платформы commercetools.
    • assets — Массив AssetDraft — необязательно
    • attributes — массив атрибутов — необязательный
      AttributeType определяет формат предоставляемого значения атрибута, в частности:
      • для атрибутов EnumType и LocalizableEnumType:
        • в качестве значения должен использоваться только ключ EnumValue или LocalizedEnumValue
        • или полное EnumValue, или полное LocalizedEnumValue, которое должно использоваться в качестве значения
        ЦенаПроект
        • значение – деньги – обязательно
        • country – строка – необязательно
          Двузначный код страны в соответствии со стандартом ISO 3166-1 alpha-2
        • Флаг isActive установлен в значение true .
        • Внешнее значение ProductDiscountValue.
        • Предикат, соответствующий ProductVariant, на который ссылается цена.
        Выбор цены

        Действие обновления корзины addLineItem выбирает цену из массива цен продукта на основе валюты, страны, группы клиентов, канала и даты. Конечные точки, связанные с товаром, также предоставляют ту же логику выбора цены, чтобы помочь магазину показать правильную цену покупателю.

        Если параметр выбора цены priceCurrency и любой из параметров выбора цены priceCountry , priceCustomerGroup и priceChannel заданы в качестве параметра запроса и существует совпадающая цена, поле цены, содержащее совпадающую цену, добавляется в ProductVariant возвращаемых прогнозов продукта. .

        Учитываются даты действия цены (см. validFrom и validUntil в ProductVariant Price). Цена отображается только в том случае, если отметка времени запроса находится в диапазоне validFrom - ValidUntil.

        Изменение даты выбора цены БЕТА

        Параметр priceDate переопределяет метку времени запроса, выбирая действительную цену из прошлого или будущего.

        Если priceDate не совпадает с текущей датой, скидки на товары не учитываются. Например, если вы создаете скидку на продукт со сроками действия в будущем и используете priceDate во временном интервале скидки на продукт, выбранная будущая цена не будет включать скидку на продукт, даже если скидка действительна на дату, указанную в параметре priceDate. .

        Атрибут

        При использовании атрибутов с мутациями API GraphQL необходимо экранировать любые строки в поле значения: "value" : "\"A value\"" .

        • имя – строка
        • value – *
          допустимое значение JSON на основе AttributeDefinition.
        Советы по порядку категорий

        Товары могут иметь подсказку по порядку категорий для каждой категории, к которой они относятся. Это позволяет управлять порядком товаров и тем, как они отображаются в категориях.

        Подсказки по порядку категорий — это объект JSON, где ключи — это идентификаторы категорий, а значения — соответствующий набор подсказок по порядку для этой категории.

        Подсказки по порядку представляют собой строки, представляющие действительные числовые значения от 0 до 1, в то время как все, что ближе к 1, интерпретируется как большее, чем все, что ближе к 0. Таким образом, подсказки по порядку всегда начинаются с 0. и никогда не должны заканчиваться 0 (всегда пишите 0,1, но никогда не 0,10). Товары, не имеющие подсказки для заказа, имеют оценку заказа ниже 0 .

        Подсказки к заказу не уникальны. Если подмножество продуктов имеет одинаковое значение для подсказки заказа в определенной категории, поведение не определено.

        Картинки

        Изображение товара можно загрузить с помощью конечной точки загрузки изображения или через Merchant Center . Изображение, загруженное на платформу commercetools, хранится в сети доставки контента и доступно в нескольких заранее определенных размерах.

        Если у вас уже есть изображение, хранящееся во внешней службе, вы можете сохранить URL-адрес при создании нового продукта или добавлении варианта либо добавить его позже. Изображение представляется следующим образом:

        • url — строка
          URL изображения в исходном размере. URL-адрес должен быть уникальным в пределах одного варианта. Его можно использовать для получения изображения разных размеров — см. ниже.
        • Размеры -
          Размеры исходного изображения. Это может быть использовано вашим приложением, например, чтобы определить, достаточно ли велико изображение для отображения увеличенного изображения.
        • label – строка – необязательная
          Пользовательская метка, которую можно использовать, например, в качестве описания изображения.

        Изображения определенного размера получаются путем добавления суффикса размера к исходному URL-адресу (перед расширением .jpg , .jpg и т. д. в имени файла):

        • -thumb (50 x 50) – пример
        • -маленький (150 x 150) — пример
        • -средний (400 x 400) – пример
        • -большой (700 x 700) — пример
        • -Увеличить (1400 x 1400) — пример
        • исходный размер загруженного изображения указан без суффикса — пример

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

        Также обратите внимание, что изображения не являются общими для разных вариантов — каждый вариант имеет свой собственный набор изображений. Однако, если вы хотите иметь много вариантов с одним и тем же набором изображений, вы можете реализовать это в своем приложении, всегда показывая изображения основного варианта, независимо от выбранного варианта.

        ПоискКлючевые слова

        Ключевые слова для поиска в основном используются подсказчиком, но также учитываются при полнотекстовом поиске. SearchKeywords – это объект JSON, ключи которого относятся к языковому тегу IETF

        <р>. Значением ключа языкового тега является массив SearchKeyword для определенного языка.

        Читайте также: