Вопрос: WOocommerce REST API без учета скидок и купонов

Я пытаюсь создать заказ в своем магазине WooCommerce из моего мобильного приложения с помощью REST API v2. Заказ создан успешно, но я не могу найти решение следующих проблем.

  1. Я отправляю массив coupon_lines в order объекта и когда заказ просматривается на панели администратора, он показывает купон там, но на порядок total это никак не влияет.
  2. Затем я решил рассчитать Всего и скидки на основе примененного купона вручную. Я попытался установить discount_total в объекте order равным сумме, которая является значением купона. Я также обновляю total вручную. Но опять же, все значения, которые я передаю, игнорируются, и порядок total равен сумме цен всех позиций (игнорируя discount_total ).

Вот пример объекта JSON, который отправляется в API из моего приложения.

Общая сумма заказа должна быть 5000, но это 10000 в админ-панели WordPress, потому что код купона на 5000 не действует. Кроме того, код & lt; code & gt; discount_total & lt; /Код & gt; не имеет никакого эффекта. Он равен 0 в ответе & lt; code & gt; order & lt; /code & gt; object.

Какие другие варианты мне нужны, чтобы установить общую сумму заказа и скидку вручную? Любые предложения приветствуются.

<

Ответы и комментарии:

Привет. Я посмотрел на документы и, таким образом, получил скидку на поле вместо суммы. Также обновлен код с изображением объекта запроса JSON.
Создан 01-08-2018 02:01 Samarth Agarwal

Документы REST API говорят, что это должно быть количество.
Создан 01-08-2018 02:24 Adam Mellen

Когда я попробовал указать сумму вместо скидки, это то, что я получаю (i.imgur.com/45O9cFz.png). Я думаю, что вы ссылались на старые документы. Здесь (woocommerce.github.io/woocommerce-rest-api-docs/…) представлены документы для REST API v2.
Создан 01-08-2018 02:30 Samarth Agarwal

Извини, ты прав. Похоже, вы не можете использовать это в качестве фактической функции до WC API v3, который находится в разработке. Поля, которые вы пытались установить (например, total, discount_total и т. Д.), Доступны только для чтения, поэтому они не влияют ни на что. Возможно, вам придется в конечном итоге пройти через каждую позицию и удалить значения из общего поля (не промежуточного итога!)
Создан 01-08-2018 02:21 Adam Mellen

На самом деле у меня даже нет общего или промежуточного итога ни в одном из моих объектов line_items. У них просто есть product_id и количество. Я понимаю, что discount_total только для чтения, но нет ли способа переопределить значение total?
Создан 01-08-2018 04:25 Samarth Agarwal

В вашем массиве coupon_lines каждому элементу в массиве требуется 2 свойства: код (сам код купона) и сумма, которая представляет собой фиксированную плату (например, скидка 50,00) или скидку (например, скидка 10%). Ваша структура в конечном итоге выглядит как:
"coupon_lines": [
    {
        "код": "MYCODE1",
        "сумма": "10,00"
    },
    {
        "код": "MYCODE2",
        "сумма": "25,00"
    }
]

Если вы уже делаете это - рассмотрите возможность размещения примера запроса здесь.
Создан 01-08-2018 01:10 Adam Mellen12