1b.app
Скопійоване посилання -

API склади (Storage)

Метод: / api / storage-translocation/

Параметри

Приклад оприбуткування:

http://myboxurl/api/storage-translocation/?login=LOGIN&password=PASSWORD&type=incoming&storageto=STORAGE_1&productArray[1][code]=ТОВАР1&productArray[1][count]=2&productArray[1][price]=22&productArray[1][currency]=USD&productArray[1][serialnumber]=123456

Приклад переміщення:

http://myboxurl/api/storage-translocation/?login=LOGIN&password=PASSWORD&type=transfer&storageto=STORAGE_1&storagefrom=STORAGE_2&productArray[1][code]=ТОВАР1&productArray[1][count]=2&productArray[1][serialnumber]=123456

Приклад списання:

http://myboxurl/api/storage-translocation/?login=LOGIN&password=PASSWORD&type=outcoming&storagefrom=STORAGE_2&productArray[1][code]=ТОВАР1&productArray[1][count]=2&productArray[1][serialnumber]=123456

Поле Тип Опис Обов'язкове чи ні Коментар
1 login string Логін в системі BOX Обов'язкове поле.  
2 password string Пароль в форматі md5 Обов'язкове поле. Напишіть в техпідтримку і ми видамо вам hash для API
3 type string тип операції Обов'язкове поле. incoming - оприбуткування
transfer - переміщення
outcoming - списання
4 code1c string код операції з зовнішньої системи Не обов'язкове поле. id операції з зовнішньої системи
5 storagefrom string Склад з якого буде вироблено списування або переміщення Не обов'язкове поле. id товару з вашої системи або з BOX, якщо такий є те движок його зв'яже із замовленням
6 storageto string Склад на буде вироблено оприбуткування або переміщення Не обов'язкове поле. id складу з вашої системи або з BOX або ж його ім'я, якщо такого немає - система створить його
7 productArray array(code, name, serialnumber, count, price, currency, vat, shipment, warranty, cell) Масив товарів Не обов'язкове поле.

code - id товару з вашої системи або з BOX
name - найменування товару
serialnumber - серійний номер
count - Кількість
price - ціна товару
currency - назва або код валюти
vat - з ПДВ
shipment - код партії
warranty - гарантія
cell - осередок

custom_*key* - додаткове поле складу, замість * key * вкажіть Ідентифікатор поля

8 cdate datetime Дата проведення операції Не обов'язкове поле.  
9 dateto datetime Термін придатності партії товарів (використовується при оприбуткуванні) Не обов'язкове поле.  
10 contractor decimal Юридична особа Не обов'язкове поле. id юридичної особи в BOX або ж його ім'я
11 supplier string Постачальник Не обов'язкове поле. id постачальника оприбутковуються товару або його ім'я
12 numberdocument string Номер Документа Не обов'язкове поле.  
13 typetransaction integer Тип тразакціі зовнішньої системи Не обов'язкове поле.  
14 orderid string translate_wp_nomer_protsessa Не обов'язкове поле. Передача номера процесса в операцию

Редагування операцій, метод: /api/storage-translocation/edit/

Параметри

Приклад:

http://myboxurl/api/storage-translocation/edit/?login=LOGIN&password=PASSWORD&id=111&productArray[1][count]=1&productArray[1][price]=10&productArray[1][batchCode]=1111111&productArray[1][id]=123

Поле Тип Опис Обов'язкове чи ні Коментар
1 login string Логін в системі BOX Обов'язкове поле.  
2 password string Пароль в форматі md5 Обов'язкове поле. Напишіть в техпідтримку і ми видамо вам hash для API
3 id integer id операції яке повернуло вам наше API при його створенні Обов'язкове поле. Код операції в системі BOX
4 code1c string код операції з зовнішньої системи Обов'язкове поле. id операції з зовнішньої системи
5 date date дата проведення Не обов'язкове поле. Дата проведення операції
6 dateto date Годен до Не обов'язкове поле.  
7 return 1 / 0 Повернути продукт Не обов'язкове поле. Якщо ви хочете повернути товар з операції, то вкажіть в цьому полі true
8 deleted 1 / 0 Видалити Не обов'язкове поле. Якщо ви хочете видалити операцію, то вкажіть в цьому полі true
9 productArray array(id, price, amount, shipment, delete) Масив товарів Не обов'язкове поле.

id - внутрішній код продукту в операції
price - Ціна
amount - Кількість
shipment - код партії
delete - вилучити продукт, якщо хочете видалити продукт з операції поставте в це поле true

custom_*key* - додаткове поле складу, замість * key * вкажіть Ідентифікатор поля

Оновлення балансу на складі, метод: /api/storage-translocation/updatebalance/

Параметри

Приклад:

http://myboxurl/api/storage-translocation/updatebalance/?login=LOGIN&password=PASSWORD&storagecode=111&suppliercode=222&productArray[1][code]=1&productArray[1][amount]=10

Поле Тип Опис Обов'язкове чи ні Коментар
1 login string Логін в системі BOX Обов'язкове поле.  
2 password string Пароль в форматі md5 Обов'язкове поле. Напишіть в техпідтримку і ми видамо вам hash для API
3 storagecode string Склад на якому буде перевірятися баланс продуктів Обов'язкове поле. код складу в системі BOX або з вашої системи або назву складу в системі
4 suppliercode string Постачальник від якого буде проводиться оприбуткування Обов'язкове поле. Код постачальника в системі BOX або з вашої системи або найменування поствщіка
5 searchbyproductid boolean Шукати збігу продуктів тільки по їх id Не обов'язкове поле. Якщо параметр не вказано, за замовчуванням пошук йде по коду 1с, id, назвою
6 productArray array(code, amount, currencyid, shipment, serial, taxvalue) Масив товарів Не обов'язкове поле.

code - код товару або його ім'я
price - Ціна
currencyid - код валюти в системі
currencyname - ім'я валюти
amount - Кількість
shipment - код партії

serial - серійний номер

taxvalue - розмір ПДВ

Отримання операцій, метод: /api/storage-translocation/get/

Параметри

Приклад:

http://myboxurl/api/storage-translocation/get/?login=LOGIN&password=PASSWORD&type=incoming
http://myboxurl/api/storage-translocation/get/?login=LOGIN&password=PASSWORD&id=123
http://myboxurl/api/storage-translocation/get/?login=LOGIN&password=PASSWORD

Поле Тип Опис Обов'язкове чи ні Коментар
1 login string Логін в системі BOX Обов'язкове поле.  
2 password string Пароль в форматі md5 Обов'язкове поле. Напишіть в техпідтримку і ми видамо вам hash для API
3 type string тип операції Не обов'язкове поле. incoming - оприбуткування
transfer - переміщення
outcoming - списання
4 id integer id операції яке повернуло вам наше API при його створенні Не обов'язкове поле. Код операції в системі BOX
5 code1c string код операції з зовнішньої системи Не обов'язкове поле. id операції з зовнішньої системи, якщо передати -1 в це поле, то ви отримаєте всі записи у яких code1c порожній
6 datefrom date Дата від Не обов'язкове поле. Дата починаючи з якої брати операції
7 dateto date Дата до Не обов'язкове поле. Дата до якої брати операції
8 storageto string ID або code1c Не обов'язкове поле. ID або code1c складу на який проводилися операції
9 storagefrom string ID або code1c Не обов'язкове поле. ID або code1c складу з якого проводилися операції
10 orderid string translate_wp_nomer_protsessa Не обов'язкове поле. Фильтрация по номеру процесса
11 part integer Частина операцій Не обов'язкове поле. API видає в 1й частини до 1000 товарів, щоб отримати такі 1000 товарів передайте туди 2 (виходить частина 2) і тд.
Значення повертаються полів
id - id операції,
code1c - код операції з зовнішньої системи,
amount - кількість товару в операції,
cost - вартість товарів в оперции в базовій валюті,
date - дата проведення,
dateto - термін придатності,
document - документ операції,
type - тип операції,
storagefrom - масив інформації про склад з якого робилося переміщення (id, code1c, назва),
storageto - масив інформації про склад на який робиося переміщення (id, code1c, назва),
numberdocument - номер документа з зовнішньої системи,
user - масив інформації про оператора (id, ПІБ),
typetransaction - тип операції з зовнішньої системи,
product - масив продуктів з операції:
id - внутрішній код продукту в опперации,
productId - внутрішній код продукту в системі BOX,
productCode1c - зовнішній код продукту,
productName - наіміенованіе продукту,
amount - Кількість,
pricebase - ціна закупівлі,
warranty - гарантія,
batchCode - код партії,

Отримання залишків, метод: /api/storage-balance/get/

Параметри

Приклад:

http://myboxurl/api/storage-balance/get/?login=LOGIN&password=PASSWORD&storagenameid=2

Поле Тип Опис Обов'язкове чи ні Коментар
1 login string Логін в системі BOX Обов'язкове поле.  
2 password string Пароль в форматі md5 Обов'язкове поле. Напишіть в техпідтримку і ми видамо вам hash для API
3 storagenameid string id або code1c складу Обов'язкове поле.  
4 getproductdiscount boolean Получить скидку продукта в процентах Не обов'язкове поле. Если параметр указан, в возвращаемом массиве появятся значения discountpercent
         

Значення повертаються полів
id - id записи,
productId - id товару,
code - код записи,
amount - кількість товару,
amountavaillable - кількість товару яка не зарезервовано,

reserve - Кількість зарезервірованого товару,
cost - вартість товарів в оперции в базовій валюті,
cdate - дата додавання записи,
dateto - термін придатності,
currency - валюта,
price - Ціна,
pricebase - базова ціна,
productname - ім'я товару,
serial - серія товару,
currencyrate - курс валюти,
storageName - ім'я складу,

Отримання списку складів, метод: /api/storage-names/get/

Параметри

Приклад:

http://myboxurl/api/storage-names/get/?login=LOGIN&password=PASSWORD

Поле Тип Опис Обов'язкове чи ні Коментар
1 login string Логін в системі BOX Обов'язкове поле.  
2 password string Пароль в форматі md5 Обов'язкове поле. Напишіть в техпідтримку і ми видамо вам hash для API
3 id string id складу Не обов'язкове поле. Використовується для отримання конкретного складу за вказаною id
4 externalid string зовнішній ID складу Не обов'язкове поле. Використовується для отримання конкретного складу за вказаною зовнішньому ID
4 code string код складу Не обов'язкове поле. Використовується для отримання складів із зазначеним кодом
5 isemployee boolean Склад-співробітник Не обов'язкове поле. Використовується для отримання складів по співробітникам
6 employerexternalid integer Зовнішній ID співробітника Не обов'язкове поле. Використовується для отримання складів по співробітнику із зазначеним зовнішнім ID
         

Значення повертаються полів
id - id складу,
name - найменування складу,
code - код складу,
forsale - можна продавати з цього складу (1 - можна, 0 - немає),
isvendor - є склад віртуальним складом постачальника (1 - так, 0 - ні),
isemployee - є склад віртуальним складом співробітника (1 - так, 0 - ні),
isoutcoming - можна списувати зі складу (1 - так, 0 - ні),
hidden - прихований склад (1 - так, 0 - ні),
default - склад за замовчуванням, для оприбуткування (1 - так, 0 - ні),
externalid - зовнішній ID складу,

Зміна балансу продуктів на складі: / api / storage-translocation / product / updatebalance/

Параметри

Оприбуткування продукту в кількості 2шт на склад:

http://myboxurl/api/storage-translocation/product/updatebalance/?login=LOGIN&password=PASSWORD&data={"storageid":4,"vendorid":3,"productArray":[{"code1c":42875,"count":2,"price":120}]}

Списання продукту в кількості 2шт зі складу:

http://myboxurl/api/storage-translocation/product/updatebalance/?login=LOGIN&password=PASSWORD&data={"storageid":4,"vendorid":3,"productArray":[{"code1c":42875,"count":-2,"price":120}]}

Встановити залишок продукту на складі рівним 2:

http://myboxurl/api/storage-translocation/product/updatebalance/?login=LOGIN&password=PASSWORD&useTotalBalance=1&data={"storageid":4,"vendorid":3,"productArray":[{"code1c":42875,"count":2,"price":120}]}
Поле Тип Опис Обов'язкове чи ні Коментар
1 login string Логін в системі BOX Обов'язкове поле.  
2 password string Пароль в форматі md5 Обов'язкове поле. Напишіть в техпідтримку і ми видамо вам hash для API
3 dataFromBody boolean Брати дані не з аргументів, а з body Не обов'язкове поле. Якщо переданий dataFromBody = 1, то дані будуть брати не з аргументів, а з тіла запиту. В тіло має бути переданий json, в якому ключами повинні бути параметри, описані вище
4 useTotalBalance boolean 1 або 0 Не обов'язкове поле. Якщо передано - то при передачі count = 1 - баланс зазначеного продукту на складі стане 1. Якщо не переданий даний параметр, то при передачі count = 1 буде оприбутковується 1 продукт, а при count = -1 буде списаний 1 продукт
5 data json json Обов'язкове поле. Масив де:
storageid - id складу в OneBox
storagecode1c - зовнішній id складу в OneBox. Обов'язкове поле, якщо не вказано storageid
vendorid - id постачальника в OneBox
vendorcode1c - Зовнішній id постачальника в OneBox. Якщо немає vendorid і vendorcode1c - буде взято перший-ліпший постачальник в системі
productArray - масив з даними про продукти, де один елемент - масив з даними по 1 продукту, в якому:
code1c - зовнішній id продукту в системі OneBox (Обов'язкове поле)
count - кількість (Обов'язкове поле)
price - ціна (Не обов'язкове поле)

Додавання нового складу /api/storage/names/add/

Параметри

Добавление склада с названием Склад1 и Внешним id 10

http://myboxurl/api/storage/names/add/?login=LOGIN&password=PASSWORD&externalid=10&name=Склад1

Поле Тип Опис Обов'язкове чи ні Коментар
1 login string Логін в системі BOX Обов'язкове поле.  
2 password string Пароль в форматі md5 Обов'язкове поле. Напишіть в техпідтримку і ми видамо вам hash для API
3 externalid integer Внешний id склада Обов'язкове поле. Внешний id склада
4 name string 1 або 0 Обов'язкове поле. Название склада
5 forsale boolean boolean Обов'язкове поле. Можно продавать с этого склада?

Можливі варіанти відповіді на запит

Детальніше
Статус Повідомлення Опис повідомлення
1 ok balanceArray Масив балансу обраного складу
2 fail login_empty Відсутня логін
3 fail password_empty Відсутня пароль
4 fail Login or password not correct! Невірний логін або пароль
5 fail Bad user level! Низький рівень користувача, для виконання даної дії (потрібен level 2 і вище)
6 fail Not found storage Склад не найден
7 fail You don't available transaction for update! Чи не знайдена транзакція для поновлення (відсутній id або код транзакції)
8 fail Transaction by id not found! Транзакція з таким id не знайдено
9 fail Transaction by code1c not found! Транзакція з таким кодом не знайдено
10 fail Returns can not be done! Транзакція повернення не може бути виконана
11 fail Returns can not be done! Повернення не може бути осущетвлен (не найден склад, на який необхідно повернути товар)

Також можуть виникати помилки:

502 Bad Gateway - Якщо виникла ця помилка необхідно:
1. Перевірити, чи є доступ до Інтернету (зайти на будь-який інший сайт).
2. Якщо проблем з доступом немає — можна видалити файли cookies.
Якщо вказане вище не допомогло — проблема на стороні сервера. Слід звернутися до системного адміністратора сайту.

503 (Service Temporarily Unavailable) - дана помилка може виникати в результаті занадто великої кількості запитів до сервера. Якщо ви побачили таку помилку, варто почекати пару хвилин і спробувати знову.

504 Gateway Timeout - cкорее за все справа в зрослої навантаженні на сайт, при якій Apache не встигає віддавати HTTP-відповіді, і нові запити встають в чергу. Щоб вирішити проблему, можна додати ресурсів сервера, зокрема оперативної пам'яті, і збільшити кількість процесів httpd (Apache).
Інша можлива причина виникнення помилки 504 - виконуваний скрипт не вкладається у відведений ліміт часу. Це буває, коли запит занадто важкий. Спробуйте розбити свій запит на кілька більш маленьких.

Помилка 505 HTTP Version not supported означає, що веб-сайт не підтримує версію протоколу HTTP, за допомогою якого браузер здійснює запит веб-сторінки