Проводка операции по номенклатурному номеру с автоматическим добавлением номенклатуры в случае ее отсутсвия. Если операция (расхода) и на складе нет остатка то образуется минусовой баланс! При операции возврат используются следующие параметры: document_number | document_date | document_time | document_date_r | document_number_r при частичном возврате передается массив goods в котором передается идентификатор товара product_id и количество count
https://storencash.com/api/v1_product.json?action=setTransaction
- Response formats
JSON
- Requires authentication?
Yes
Name | Require | Type | Description |
---|---|---|---|
sabor_kid | yes | int(10) | default = 0. Идентификатор контрагента. |
sabor_rid | yes | int(10) | default = 1. Идентификатор резидента (по-умолчанию идентификатор вашей организации из справочника организаций). |
storage_id | yes | int(10) | default - 0. Идентификатор склада (магазина), на который (с которого) делает приход (расход). |
operation_id | yes | int(10) | НЕТ. Идентификатор операции. |
document_number | no | String(10) | default Номер документа по-умолчанию устанавливается в номер транзакции. |
document_date | no | Date(d.m.Y) or (YYYY-mm-dd) | Дата документа по-умолчанию устанавливает текущую дату. Если передаваемые номер и дата документа совпадают с существующими в системе то они будут добавлены в сущесвующую транзакцию!!! |
🆕document_number_r | yes | String(10) | default Номер документа по которому производится возврат. Обязательный при операции ТОЧНЫЙ ВОЗВРАТ API |
🆕document_date_r | no | Date(d.m.Y) or (YYYY-mm-dd) | Дата документа по которому производится возврат. Обязательный при операции ТОЧНЫЙ ВОЗВРАТ API |
document_time | no | String(10) | default (00:00:00) Время документа. |
susers_id | no | int(10) | Сотрудник совершающий транзакцию. По умолчанию администратор системы (первый зарегистрированный пользователь) |
no | String(100) | Сотрудник совершающий транзакцию (email). Если такого нет, создается новый | |
username | no | String(40) | Имя (ФИО) сотрудника совершающего транзакцию. Учитывается только в связке с email. |
pay_type | no | int(3) | default - 0 Тип оплаты 0 - безнал, 1 - наличные, 2 - карточка |
device_id | no | varchar(100) | default - null Уникальный идентификатор устройства (касса, терминал и тд) |
🆕currency | no | int(10) | default - 1 Уникальный идентификатор валюты в системе. Валюта транзакции (операции). |
🆕course | no | double | defauly - 1. Текущий курс валюты, если не передается то берется курс валюты выставленный в кабинете. |
ext_data | no | text | default - null json массив с любым набором данных пример: [{"transaction_id": 16334,"card_type":1, "card_number":****1212}] |
goods | no | array | default - null. Массив номенклатур, входящих в транзакцию. |
Name | Require | Type | Description |
---|---|---|---|
product_id | yes | int(10) | default - 0. Идентификатор номенклатуры |
measureId | yes | int(10) | default - 0. Идентификатор единицы измерения |
price_p | no | double | default - 0. Закупочная цена (учетная). |
container | no | varchar(32) | default - "". Идентификатор контейнера, необходим для операции возврата - явное указание товарной позиции. |
price | yes | double | default - 0. Цена продажи с учетом персональной скидки (discount_item). |
price_d | no | double | default - 0. Цена продажи исходная без учета персональной скидки (discount_item). |
discount_item | no | double | default - 0. Персональная скидка единицы товара в денежных единицах в валюте продажи (discount_item). |
count | yes | double | default - 0. Количество товара(услуг) в указанных единицах измерения. |
remains_barcode | no | String(15) | default - '' Штрихкод контейнера |
stnds | no | Int(2) | default - 0 Ставка НДС |
sumnds | no | double | default - 0 Сумма НДС |
properties | no | array | default - null. Массив свойств {0:{value_id:935, level_id:2}} где value_id это идентификатор значения свойства data:collection:id, level_id - идентификатор уровня дерева свойств data:collection:level_id |
Example Request for snc-sdk-php
/**
* Операция "продажа" (operation_id == 3) остатков на "Основной склад" (storage_id == 1)
*/
$client = new SyncSnc();
$params = [
'sabor_kid' => 26,
'sabor_rid' => 1,
'storage_id ' => 1,
'operation_id' => 1,
'document_number' => '',
'document_date' => '28.11.2015',
'device_id' => 'DR5000',
'ext_data' => json_encode(["card_type" => "Visa"])
'goods' => [
[
'product_id' => 317,
'measureId' => 106,
'price_p' => 350,
'price' => 520,
'count' => 1,
'remains_barcode' => '7100000000147',
'stnds' => 10,
'properties' => [['value_id' => 576, 'level_id' => 2]],
],
[
'product_id' => 317,
'measureId' => 106,
'price_p' => 350,
'price' => 520,
'count' => 2,
'remains_barcode' => '7100000000148',
'stnds' => 10,
'properties' => [['value_id' => 577, 'level_id' => 2]],
],
],
];
$response = $client->getClient()->postApi('v1_product.json?action=setTransaction', null, null, $params);
{
"status": "success",
"data": {
"transaction_id": 22
}
}
Code | Description |
---|---|
'10000' | Неизвестная операция |
'10001' | Операция возврата по данной транзакции уже совершена |
'10002' | Транзакции с данным номером не найдено |
'10003' | Ошибка удаления транзакции |
'10004' | Запрос на список транзакций пуст |
'10005' | Ошибка создания транзакции |
'10006' | Не передан список аргументов транзакции |
'10007' | Неверный или не корректный JSON |
'10008' | ID склада не должен быть пустым |
'10009' | Не передан массив товара для операции |
'10010' | Склад с таким ID не существует |
'10011' | ID номенклатуры не должено быть пустым |
'10012' | Номенклатуры с таким ID не существует |
'10013' | Переданная единица измерения не совпадает с номенлатурной |
'10014' | Единицы измерения с таким ID не существует |
'10015' | Цена продажи должна быть в формате цифр |
'10016' | Цена закупки должна быть в формате цифр |
'10017' | Количество товара должно быть в формате цифр |
'10018' | Операции с таким ID не существует |
####Example error response
{
"errors": [{
"code": "10010",
"message": "Склад с таким ID не существует"
}],
"status": "error",
"message": "Склад с таким ID не существует"
}