shop.order.save

Сохраняет информацию о заказе в базу данных.

Параметры

  • id POST

    ID заказа.

  • items POST

    Массив с информацией о заказе:
    - 'items': массив с информацией об элементах заказа: модификациях товаров.
    - 'items'[]['item_id']: ID существующего элемента заказа. Используется для идентификации элементов заказа при его сохранении. Если ID указан, то при выполнении метода обновится информация о существующем элементе заказа. Если это значение не указано и указаны значения 'items'[]['product_id'] и 'items'[]['sku_id'], то либо обновится существующий элемент заказа с этими значениями, либо в заказ будет добавлен новый элемент с этими значениями (если они не соответствуют ни одному из существующих элементов заказа). Элементы заказа, значения 'items'[]['item_id'] либо 'items'[]['product_id'] и 'items'[]['sku_id'] которых отсутствуют в POST-запросе, будут удалены из заказа при выполнении метода.
    - 'items'[]['product_id']: ID товара, к которому относится новый элемент заказа. Используется для идентификации элементов заказа при сохранении, если не заполнено поле 'items'[]['item_id'].
    - 'items'[]['sku_id']: ID модификации товара, к которой относится новый элемент заказа. Используется для идентификации элементов заказа при сохранении, если не заполнено поле 'items'[]['item_id'].
    - 'items'[]['quantity']: количество модификации товара в заказе в формате decimal(15,3). Если значение не указано, то по умолчанию используется 1.
    - 'items'[]['price']: цена модификации товара, выраженная в валюте заказа, в формате decimal(15,4). Если значение не указано, то используется цена модификации товара из таблицы 'shop_product_skus', если она не была удалена из каталога товаров.
    - 'items'[]['total_discount']: скидка на всё количество данной модификации товара в заказе, выраженная в валюте заказа, в формате decimal(15,4).
    - 'items'[]['name']: наименование товара. Используется в том случае, если выполняется сохранение заказа с модификацией товара, уже удалённой из магазина.
    - 'items'[]['sku_code']: код артикула товара. Используется в том случае, если выполняется сохранение заказа с модификацией товара, уже удалённой из магазина.
    - 'items'[]['stock_id']: ID склада, с которого нужно списывать остатки заказанной модификации товара. Если значение не указано, то по умолчанию используется ID одного из существующих складов.
    - 'items'[]['virtual_stock_id']: ID виртуального склада, с которого нужно списывать остатки заказанной модификации товара. Если значение не указано, то по умолчанию используется ID одного из существующих виртуальных складов.
    - 'items'[]['services']: массив информации об услугах, связанных с данной заказанной модификацией товара.
    - 'items'[]['services'][]['item_id']: ID элемента заказа, являющегося услугой. Если значение указано, то при выполнении метода будет обновлена информация об этой услуге для данного элемента заказа. Если значение не указано и в POST-запросе содержатся значения 'items'[]['services'][]['service_id'] и 'items'[]['services'][]['service_variant_id'], то либо обновится существующая услуга для данного элемента заказа с этими значениями, либо для него будет добавлена новая услуга с этими значениями. Услуги, значения 'items'[]['services'][]['item_id'] которых отсутствуют в POST-запросе для данного элемента заказа, будут удалены из его свойств при выполнении метода.
    - 'items'[]['services'][]['price']: стоимость услуги, выраженная в валюте заказа, в формате decimal(15,4).
    - 'items'[]['services'][]['total_discount']: скидка на услугу, выраженная в валюте заказа, в формате decimal(15,4).
    - 'discount': информация о сохранении размера скидки для всего заказа. Текстовое значение 'true' либо 'calculate' приведёт к автоматическому расчёту скидки. Значение в виде числа сохранит указанный размер скидки, выраженный в валюте заказа. Отсутствие значения (null) сохранит ранее зафиксированный размер скидки в случае сохранения существующего заказа.

  • customer POST Необязательно

    Массив информации о покупателе.

  • shipping_address POST Необязательно

    Ассоциативный массив полей адреса доставки.

  • billing_address POST Необязательно

    Ассоциативный массив полей адреса плательщика.

  • discount POST Необязательно

    Информация о скидке:
    - Размер скидки в валюте заказа.
    - null, если не нужно изменять размер скидки.
    - calculate, если нужно автоматически пересчитать размер скидки.

  • params POST Необязательно

    Массив дополнительных параметров заказа для таблицы shop_order_params.

  • comment POST Необязательно

    Комментарий к заказу.

  • access_token GET

    Токен авторизации, полученный при подключении к API.

  • format GET Необязательно

    Устанавливает формат ответа. Возможные значения: json (по умолчанию), xml.

Коды ошибок

  • invalid_request

    Неверно сформированный запрос. Дополнительная информация об ошибке передается в параметре error_description.

  • access_denied

    Доступ к указанному методу API не разрешен.

  • invalid_method

    Неизвестный метод API.