Товарные позиции

Позиции работают строго в привязке к конкретной сделке — deal_id обязателен в каждом запросе. Позиции можно передать и сразу при создании сделки массивом Goods.

Важно

Сумма сделки не пересчитывается автоматически при изменении позиций — обновите её методом Обновление сделки, если нужно. Удаление позиций через публичный API недоступно.

Список позиций сделки

GET https://do.freshoffice.ru/deal/goods/list?deal_id=12345

Query Parameters

Name Type Description
deal_id* Int ID сделки

Добавление позиций из каталога

POST https://do.freshoffice.ru/deal/goods/insert?deal_id=12345&goods_ids=12,15,20

Добавляет в сделку товары из складского каталога по их ID (найти можно в списке товаров). Количество и цены подставляются из каталога — скорректируйте их обновлением позиции.

Query Parameters

Name Type Description
deal_id* Int ID сделки
goods_ids* String ID товаров через запятую: 12,15,20

Обновление позиции

POST https://do.freshoffice.ru/deal/goods/update

Меняются только переданные поля одной позиции. id позиции берётся из списка позиций сделки.

Request Body

Name Type Description
id* Int ID позиции (строки)
deal_id* Int ID сделки
qnt Decimal Количество
price Decimal Цена за единицу
discount Decimal Скидка, %
vat Decimal НДС, %
discription String Наименование строки
note String Примечание к строке
{
    "id": 501,
    "deal_id": 12345,
    "qnt": 10,
    "price": 45.50
}

Пример

curl --location --request POST 'https://do.freshoffice.ru/deal/goods/insert?deal_id=12345&goods_ids=12,15' \
--header 'Authorization: Bearer XXXX-XXXXXXX-XXXXXXX' \
--header 'Content-Type: application/json' \
--data-raw 'null'
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://do.freshoffice.ru/deal/goods/insert?deal_id=12345&goods_ids=12,15',
  'headers': {
    'Authorization': 'Bearer XXXX-XXXXXXX-XXXXXXX',
    'Content-Type': 'application/json'
  },
  body: 'null'
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Ответ

{
  "status": "success",
  "error": "",
  "code": null,
  "rows": 0,
  "pages": 0,
  "page": 0,
  "value": "1"
}
// value: 1 - выполнено, 0 - ошибка (текст в поле error)
Предыдущая
Следующая