1b.app
Скопирована ссылка -

Помилка при відсутньому userid

Добрий день.
Якщо передаю масив даних без userid, то показує помилку (створення/оновлення контакта)
Fatal error: Uncaught OneBoxOSAPIv2_Exception: Invalid json responce in /var/www/sambag/test.sambag.com.ua/system/helper/onebox/OneBoxAPI.php:64 Stack trace: #0 /var/www/sambag/test.sambag.com.ua/system/helper/onebox/OneBoxAPI.php(5): OneBoxAPI->_request('POST', 'api/v2/contact/...', Array, false, '58104193b30a78f...') #1 /var/www/sambag/test.sambag.com.ua/system/helper/onebox/onebox.php(14): OneBoxAPI->request('POST', 'api/v2/contact/...', Array) #2 /var/www/sambag/test.sambag.com.ua/system/helper/onebox/onebox.php(3): set_request(Array, 'api/v2/contact/...') #3 /var/www/sambag/test.sambag.com.ua/admin/model/customer/customer.php(549): set_client(Array) #4 /var/www/sambag/test.sambag.com.ua/admin/model/customer/customer.php(54): ModelCustomerCustomer->updateDataInOneBox('1', Array) #5 /var/www/sambag/storage_test/modification/system/engine/loader.php(251): ModelCustomerCustomer->editCustomer('1', Array) #6 /var/www/sambag/test.sambag.com.ua/system/engine/proxy.php(47): Loader->{closure}(Array, Array) #7 /var/www/sambag/test.sambag.com.ua/admin/controller/customer/customer.php(79): Proxy->__call('editCustomer', Array) #8 /var/www/sambag/storage_test/modification/system/engine/action.php(79): ControllerCustomerCustomer->edit() #9 /var/www/sambag/test.sambag.com.ua/admin/controller/startup/router.php(26): Action->execute(Object(Registry), Array) #10 /var/www/sambag/storage_test/modification/system/engine/action.php(79): ControllerStartupRouter->index() #11 /var/www/sambag/test.sambag.com.ua/system/engine/router.php(67): Action->execute(Object(Registry)) #12 /var/www/sambag/test.sambag.com.ua/system/engine/router.php(56): Router->execute(Object(Action)) #13 /var/www/sambag/test.sambag.com.ua/system/framework.php(165): Router->dispatch(Object(Action), Object(Action)) #14 /var/www/sambag/test.sambag.com.ua/system/startup.php(104): require_once('/var/www/sambag...') #15 /var/www/sambag/test.sambag.com.ua/admin/index.php(19): start('admin') #16 {main} thrown in

Ось сам масив
array(1) {
[0]=>
array(13) {
["name"]=>
string(12) "Андрій"
["namemiddle"]=>
string(16) "Особиста"
["namelast"]=>
string(36) "Самохович Особиста"
["userid"]=>
string(4) "1145"
["userlogin"]=>
string(18) "chornu88@gmail.com"
["level"]=>
int(1)
["externalid"]=>
string(1) "1"
["findbyArray"]=>
string(16) "externalid,phone"
["phones"]=>
string(10) "0977541793"
["emails"]=>
string(18) "chornu88@gmail.com"
["addressArray"]=>
array(1) {
[0]=>
array(7) {
["address"]=>
string(51) "Україна, Рівненська, Рівне, 2"
["postindex"]=>
string(1) "2"
["country"]=>
string(14) "Україна"
["region"]=>
string(20) "Рівненська"
["city"]=>
string(10) "Рівне"
["main"]=>
bool(true)
["type"]=>
string(16) "Домашній"
}
}
["groups"]=>
string(2) "13"
["addnewgroup"]=>
bool(true)
["distribution"]=>
bool(false)
}
}
от якщо так передаю, то все ок, а якщо без userid (пробував і пустим оставляти) - то крашиться. Але в ж в доці пише якщо userid не вказано, то буде шукати по findbyArray

Ответы:

Здравствуйте, данную ошибку API v2 не отдает, возможно вы используете сторонний код, в котором дополнительная обработка ответа.
В документации есть кнопка Try it out вы там можете попробовать сделать тот же самый запрос и посмотреть какой чистый ответ вы получаете по API v2
19.10.2021, 14:49

Не розумію як у вас це працює
запит
[{"name":"Oksana","findbyArray":["phone"],"showerrorafterfind":false,"phones":["0962153402"]}]
отримую відповідь {"status":1,"dataArray":["70"]}
інший клієнт
[{"name":"Tanya","findbyArray":["phone"],"showerrorafterfind":false,"phones":["0662049162"]}]
і помилка , скрін прикріпив з Try it out. Обидва клієнта є в onebox (раніше завантажені імпортом через ексель)
20.10.2021, 14:48

Якщо я контакт видаляю, то всерівно така ж помилка, як в повідомлення вище.

При цьому, якщо я вручну запишу в свою базу id з onebox і передам це в запиті, то все ок
[{"userid":"56","name":"Tanya","findbyArray":["phone"],"showerrorafterfind":false,"phones":["0662049162"]}]
і після цього вже можу відправляти без id з onebox - тоже норм
[{"name":"Tanya","findbyArray":["phone"],"showerrorafterfind":false,"phones":["0662049162"]}]
20.10.2021, 14:58

Аналогічна помилка, коли передаю номер телефона контакта, якого ще нема в системі onebox
20.10.2021, 15:03

Исправлено. Сейчас не должно фаталить
20.10.2021, 15:18

Дякую, клієнти працюють.
Зараз налаштовую замовлення і вилізна наступна помилка
"Ошибка обновления елемента №0 по счету. Executing error: Unknown column 'externalid' in 'field list' in query:"
частина запиту, де зустрічається externalid така `discountsum`='0', `externalid`='2947', `deliverynote`=
весь запит скинути?
24.10.2021, 12:20

Лучше создайте новый топик и там укажите ваш запрос. Т.к. судя по кусочку вашего комментария данная ошибка касается процесса а не контакта как в данном топике
24.10.2021, 15:23

Пожалуйста, присоединяйтесь к диалогу. Если вам есть что сказать - пожалуйста, напишите комментарий. Для входа потребуется мобильный телефон и смс-код для идентификации. Войти и написать комментарий