/api/v2/order/set/ Не знаходить Продукт за externalid
Такий зовнішній Id точно є, і він правильний, шукав у Продуктах у самій OneBox.
Без масиву "products" процес створюється нормально.
Тут одно з двох:
1) Я не вірно передаю масив. Шість разів перевірив, помилки не бачу. Прохання перевірити вашим оком.
2) Це помилка у API OneBox.
Передаю скріншот з Тулз Хрому, масиву, який я передавав у order/set і Лог з сервера
[2022-07-08 13:50:18]
host: inox-trade.1b.app
url: /api/v2/order/set/
contentID: api-v2-order-set
point: /shop.starter.php
engine_sessionid: 1657277418_1065
data: Array (
[0] => Array (
[workflowid] => 2
[statusid] => 18
[name] => Быстрый заказ: Сергій2
[content] =>
Заказчик: Сергій2
Телефон: 0504131799
Комментарий: Тест!
Товар: Подставка под конвектомат ПП-1
Ссылка на товар: https://inox-trade.com.ua/podstavka-pod-konvektomat-pp-1.html
Цена: 6200.00 грн.
[client] => Array (
[userid] => 604
)
[products] => Array (
[0] => Array (
[productinfo] => Array (
[externalid] => 9454
)
[findbyArray] => Array (
[0] => externalid
)
)
)
)
)
[file]15999[/file]
/api/v2/order/set/ Не знаходить Продукт за externalid Такий зовнішній Id точно є, і він правильний, шукав у Продуктах у самій OneBox. Без масиву "products" процес створюється нормально.
Тут одно з двох: 1) Я не вірно передаю масив. Шість разів перевірив, помилки не бачу. Прохання перевірити вашим оком. 2) Це помилка у API OneBox.
В вашем случае как-то вроде закрывается массив сразу после параметра externalid [productinfo] => Array ( [externalid] => 9454 )
Согласно документации, параметры findbyArray - это параметры того эе продукта.
"id": "id",
"externalid": "externalid",
"articul": "articul",
"findbyArray": [
"externalid",
"articul"
],
В вашем случае как-то вроде закрывается массив сразу после параметра externalid
[productinfo] => Array (
[externalid] => 9454
)
То есть массив в вашем случае на 1 товар, должен быть примерно таким: "productinfo": { "externalid": "9454", "findbyArray": [ "externalid", ], "showerrorafterfind": true, //Это чтобы посмотреть ответ },
То есть массив в вашем случае на 1 товар, должен быть примерно таким:
"productinfo": {
"externalid": "9454",
"findbyArray": [
"externalid",
],
"showerrorafterfind": true, //Это чтобы посмотреть ответ
},
Але, тепер повертає помилку: "Ошибка обновления елемента №0 по счету. Поиск не может вестись по полю externalid. В настройках OneBox отключена настройка Уникальность поля Внешний ID (code1c)".
Що з цим робити?
Дякую ) Розібрався.
Масив "findbyArray" мав знаходитися у об'єкті "productinfo". А він в мене знаходився вище.
"products" => [ (object) [
"productinfo" => (object) [
"externalid" => $product_id,
"findbyArray" => [
"externalid"
],
]
]],
Але, тепер повертає помилку:
"Ошибка обновления елемента №0 по счету. Поиск не может вестись по полю externalid. В настройках OneBox отключена настройка Уникальность поля Внешний ID (code1c)".
Що з цим робити?
Ралло Сергій Олександрович Отсутствует писал/а: Що з цим робити?
В помилці вказана причина "В настройках OneBox отключена настройка Уникальность поля Внешний ID (code1c)" Вам потрібно увімкнути унікальність поля Зовнішній ID тут
Якщо у вас дублюється значення в цьому полі для деяких продуктів, то при наступному збереженні у вас буде видавати помилку. Або, якщо вам так потрібно, то ви не можете робити оновлення продуктів по цьому полю.
[quote]
Ралло Сергій Олександрович
Отсутствует писал/а:
Що з цим робити?
[/quote]
В помилці вказана причина "В настройках OneBox отключена настройка Уникальность поля Внешний ID (code1c)"
Вам потрібно увімкнути унікальність поля Зовнішній ID тут [file]16012[/file] [file]16013[/file]
Якщо у вас дублюється значення в цьому полі для деяких продуктів, то при наступному збереженні у вас буде видавати помилку. Або, якщо вам так потрібно, то ви не можете робити оновлення продуктів по цьому полю.
Пожалуйста, присоединяйтесь к диалогу. Если вам есть что сказать - пожалуйста, напишите комментарий. Для входа потребуется мобильный телефон и смс-код для идентификации.
Войти и написать комментарий