POST {YourHost}/method/const/RetailCustomerCnptsID
Параметр в JSON-формате
{
"db" : "$YourDataBase",
"params" :
[
{
"YourReferenceOperationID" :1,
"jparams":
{
"LanguageCode" : 'ru'
}
}
]
}
Ответ сервера (пример вывода только нужных для работы полей)
[
{
"YourReferenceOperationID":1,
"result":
[
{
"value":"ID клиента РОЗНИЦА"
}
]
}
]
POST {YourHost}/method/cart/get
Параметр в JSON-формате
{
"db" : "{Здесь_передаем_имя_вашей_базы_данных}",
"params" :
[
{
"YourReferenceOperationID" :1,
"jparams":
{
"isWebCart" : 0,
"ShopID" : "ID текущего офиса авторизации/сессии",
"tabID" : "1 - номер вкладки корзины, передаем цифру 1",
"CounterPartsID" : "ID глобальный клиента",
"ByRecord" : "0 - если нужно получить все позиции, иначе ID позиции корзины ",
"FirmID" : "ID текущей фирмы авторизации/сессии",
"isFastSale" : 1,
"LanguageCode" : "ru"
}
}
]
}
Ответ сервера (пример вывода только нужных для работы полей)
[
{
"YourReferenceOperationID":1,
"result":[
{
"id" : "id записи корзины"
"name" : "Название товара",
"code" : "артикул товара",
"brand" : "бренд товара",
"StorPlace" : "полка хранения",
"qty" : "кол-во в корзине",
"qty_free" : "доступное кол-во на полке по складу",
"cost" : "цена",
"total" : "сумма",
"discount":"Если больше нуля, то это размер скидки по позиции",
"dscntBonus":"сумма скидки бонусными рублями",
"dscntGift":"сумма скидки подарочной картой/сертификатом",
"dscntPromo":"сумма скидки по купону/промокоду",
"dscntCard":"сумма скидки процентной дисконтной картой",
"id_rbBarcode" : "Если не null, то это код маркировочного товара",
"TaxSystemCode" : "Тип СНО (система налогообложения), если в корзине более одной типов СНО, то нужно формировать две продажи по каждому СНО {OSN, PATENT, USN_INCOME или USN_INCOME_OUTCOME}",
"isLabeledControl" : "{1,0}-Если равен 1 и id_rbBarcode равен null, то нужно после добавления товара запросить сканирование QR кода макрированного товара"
}
]
}
]
POST {YourHost}/method/cart/TabDelete
Параметр в JSON-формате
{
"db" : "{Здесь_передаем_имя_вашей_базы_данных}",
"params" :
[
{
"YourReferenceOperationID" :1,
"jparams":
{
"isWebCart" : 0,
"ShopID" : "ID текущего офиса авторизации/сессии",
"tabID" : "1 - номер вкладки корзины, передаем цифру 1",
"CounterPartsID" : "ID глобальный клиента",
"FirmID" : "ID текущей фирмы авторизации/сессии",
"LanguageCode" : "ru"
}
}
]
}
POST {YourHost}/method/cart/add
Если необходимо получить остатки товара на полках по складу, то нужно воспользоваться API по текущей ссылке
Параметр в JSON-формате
{
"db" : "{Здесь_передаем_имя_вашей_базы_данных}",
"params" :
[
{
"YourReferenceOperationID" :1,
"jparams":
{
"isWebCart" : 0,
"ShopID" : "ID текущего офиса авторизации/сессии",
"tabID" : "1 - номер вкладки",
"CounterPartsID" : "ID клиента",
"id_rbGoods" : "ID вашего товара",
"GoodsTempID" : 0,
"qty" : "Количество для корзины",
"FirmID" : "ID текущей фирмы авторизации/сессии",
"StockID" : "ID склад списания",
"PlaceID" : "ID полки списания на складе",
"note" : "комментарий, по умолчанию передаем пустую строку",
"isHideArticleCode" : 0,
"LanguageCode" : 'ru'
}
}
]
}
Ответ сервера
[
{
"YourReferenceOperationID":1,
"result":
[
{
"AddCartID" : "ID добавленной записии в корзине"
}
]
}
]
Если вы работете с маркированным товарами, то необходима проверка:
1. После добавления товара в корзину, необходимо запросить информацию о записи через API указанного выше, передав в параметре ByRecord значение AddCartID
2. Если в полученном ответе по добавленной записи поле isLabeledControl=1 и поле id_rbBarcode=null тогда запрашиваем форму для сканирования QR маркировочного кода товара и сохраняем QR код для позиции корзины по АПИ указанному ниже
POST {YourHost}/method/cart/BarcodeSet
Параметр в JSON-формате
{
"db" : "{Здесь_передаем_имя_вашей_базы_данных}",
"params" :
[
{
"YourReferenceOperationID" :1,
"jparams":
{
"id" : "ID записи корзины",
"barcode" : "просканированнй QR код",
"LanguageCode" : "ru"
}
}
]
}
POST {YourHost}/method/cart/upd
Параметр в JSON-формате
{
"db" : "{Здесь_передаем_имя_вашей_базы_данных}",
"params" :
[
{
"YourReferenceOperationID" : 1,
"jparams":
{
"id" : "ID позиции корзины"
"isWebCart" : 0,
"ShopID" : "ID текущего офиса авторизации/сессии",
"tabID" : 1,
"CounterPartsID" : "ID клиента",
"qty" : "количество",
"cost" : "цена продажи",
"note" : "комментарий, по умолчанию передаем пустую строку",
"LanguageCode" : "ru"
}
}
]
}
Если в текущещей корзине есть позиции (независимо какой выбран клиент), то при смене клиента для корзины, у пользователю можно можно запросить "Перенести текущую корзину на выбранного клиента?"
POST {YourHost}/method/cart/Move
Параметр в JSON-формате
{
"db" : "{Здесь_передаем_имя_вашей_базы_данных}",
"params" :
[
{
"YourReferenceOperationID" : 1,
"jparams":
{
"isWebCart" : 0,
"ShopID" : "ID текущего офиса авторизации/сессии",
"tabID" : 1,
"CounterPartsID" : "ID старого клиента",
"CounterPartsToID" : "ID нового клиента",
"tabToID" : 1
}
}
]
}
POST {YourHost}/method/cart/DiscountSet
1. Параметр для скидки по промо-коду в JSON-формате
{
"db" : "{Здесь_передаем_имя_вашей_базы_данных}",
"params" :
[
{
"YourReferenceOperationID" :1,
"jparams":
{
"isWebCart" : 0,
"ShopID" : "ID офиса авторизации/сессии",
"tabID" : 1,
"DiscontType": "promo",
"DiscontValue": "значение промокода или купона",
"CounterPartsID":"ID клиента корзины",
"isFastSale":"передаем значение 1, если это быстрая продаже по складу, иначе вообще не передаем этот параметр",
}
}
]
}
2. Параметр для скидки по сертификату в JSON-формате
{
"db" : "{Здесь_передаем_имя_вашей_базы_данных}",
"params" :
[
{
"YourReferenceOperationID" :1,
"jparams":
{
"isWebCart" : 0,
"ShopID" : "ID офиса авторизации/сессии",
"tabID" : 1,
"DiscontType": "gift",
"DiscontValue": "значение номера сертификата или штрихкод сертификата",
"CounterPartsID":"ID клиента корзины",
"isFastSale":"передаем значение 1, если это быстрая продаже по складу, иначе вообще не передаем этот параметр",
}
}
]
}
3. Параметр для скидки бонусными рублями в JSON-формате
{
"db" : "{Здесь_передаем_имя_вашей_базы_данных}",
"params" :
[
{
"YourReferenceOperationID" :1,
"jparams":
{
"isWebCart" : 0,
"ShopID" : "ID офиса авторизации/сессии",
"tabID" : 1,
"DiscontType": "bonus",
"DiscontCardID":"id дисконтной карты клиента",
"DiscontValue": "значение номера сертификата или штрихкод сертификата",
"sum": "сколько хотим потратить бонусов, по умолчанию предлагаем все",
"CounterPartsID":"ID клиента корзины",
"isFastSale":"передаем значение 1, если это быстрая продаже по складу, иначе вообще не передаем этот параметр",
}
}
]
}
4. Параметр для процентной скидки по дисконтной карте в JSON-формате
{
"db" : "{Здесь_передаем_имя_вашей_базы_данных}",
"params" :
[
{
"YourReferenceOperationID" :1,
"jparams":
{
"isWebCart" : 0,
"ShopID" : "ID офиса авторизации/сессии",
"tabID" : 1,
"DiscontType": "CardPercent",
"DiscontCardID":"id дисконтной карты клиента",
"CounterPartsID":"ID клиента корзины",
"isFastSale":"передаем значение 1, если это быстрая продаже по складу, иначе вообще не передаем этот параметр",
}
}
]
}
5. Параметр для установки ручной скидки в процентах в JSON-формате
{
"db" : "{Здесь_передаем_имя_вашей_базы_данных}",
"params" :
[
{
"YourReferenceOperationID" :1,
"jparams":
{
"isWebCart" : 0,
"ShopID" : "ID офиса авторизации/сессии",
"tabID" : 1,
"DiscontType": "manual",
"DiscontValue": "цифровое значение процента скидки",
"CounterPartsID":"ID клиента корзины",
"isFastSale":"передаем значение 1, если это быстрая продаже по складу, иначе вообще не передаем этот параметр",
}
}
]
}
6. Параметр для сброса всех скидок в JSON-формате
{
"db" : "{Здесь_передаем_имя_вашей_базы_данных}",
"params" :
[
{
"YourReferenceOperationID" :1,
"jparams":
{
"isWebCart" : 0,
"ShopID" : "ID офиса авторизации/сессии",
"tabID" : 1,
"DiscontType": "skip",
"CounterPartsID":"ID клиента корзины",
"isFastSale":"передаем значение 1, если это быстрая продаже по складу, иначе вообще не передаем этот параметр",
}
}
]
}