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 код склада Не обязательное поле. Используется для получения складов с указанным кодом
         

Значения возвращаемых полей
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-translocation/product/updatebalance/

Параметры

Добавление склада с названием Склад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, с помощью которого браузер осуществляет запрос веб-страницы