Обновите Stock_level в OCAPI

Как я могу обновить инвентарь (stock_level) с помощью (API бизнес-менеджера).

Я использую API бизнес-менеджера для получения продуктов. Я могу получить продукты, но я не уверен, как я могу установить их запас (stock_level).

У меня есть специальное требование, когда количество продукта не может превышать 1, поэтому для этого мне нужно установить его в инвентаре, чтобы я мог проверить его.

Я пытался выяснить, могу ли я установить уровень запасов с помощью продукта, но это кажется невозможным.

Когда я пытаюсь получить инвентарь, следующая ошибка

{
    "_v": "18.8",
    "fault": {
        "arguments": {
            "method": "GET",
            "path": "/data/v18_8/inventory_lists/*"
        },
        "type": "ClientAccessForbiddenException",
        "message": "Access to resource 'GET /data/v18_8/inventory_lists/*' is not allowed for the current client."
    }
}

1 ответ

На самом деле есть конечная точка API DATA, которую можно использовать для обновления инвентаря. Это называется ProductInventoryRecords ресурс.

Вы можете обновить учетную запись продукта с помощью PATCH, например:

PATCH /inventory_lists/{inventory_list_id}/product_inventory_records/{product_id}

С ProductInventoryRecordAllocation полезная нагрузка как таковая:

{
    "_resource_state" : "847f9c3c5867f641470b3046aeec31f07757991b792d722e10079926f7a289fb",
    "allocation": {
        "amount": 2000,
        "reset_date": "2016-03-31T14:05:40.872Z"
    }
}

Подробнее об этом типе документа читайте здесь.

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

Поэтому системы должны сначала проверить запись, чтобы получить _resource_state выполняя GET на том же ресурсе.

Ваш вопрос не кристально ясен, но я постараюсь ответить. В Commerce Cloud есть три отдельных (OCAPI) API:

  • API магазина (предоставляет аналогичный доступ как клиент на сайте)
  • API данных (предоставляет аналогичный доступ, как продавец, использующий бизнес-менеджера)
  • Мета API (описывает API с функциональной точки зрения)

Чтобы узнать о наличии товара в инвентаре, используйте нижеприведенный звонок: {{shop_url}}/products/701644676568M/availability и посмотрите на ATS в ответе.

Чтобы установить уровень запасов, перейдите к бизнес-менеджеру или используйте утилиту импорта бизнес-менеджера. Не существует готового API для обновления уровня запасов.

Другие вопросы по тегам