---
title: "Сохранить складские настройки контрагента"
method: PUT
path: "/api/v1/stock/contact-policies"
tags: ["Stock settings"]
---

# Сохранить складские настройки контрагента

`PUT /api/v1/stock/contact-policies`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/stock/contact-policies`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Api-Key`
  - OAuth 2 (authorization code, authorization URL `https://erp.akeda.ru/oauth2/authorize`, token URL `https://erp.akeda.ru/oauth2/token`, scopes: `akeda:delegate`)
  - HTTP bearer

Сохраняет порог остаточного срока годности покупателя целиком (ERP-1821). Оба значения пусты — настройки удаляются, ответ 204 без тела. Неверное значение — 400 shelf_life_minimum_pct_invalid или shelf_life_minimum_days_invalid.

## Headers

- `X-Tenant` string, required

## Request body

- StockContactPolicyInput: Настройки контрагента сохраняются целиком: непереданное значение порога становится пустым. Порог пуст — настройки контрагента удаляются, действует порог кабинета.
  - `contact_id` string, uuid, required
  - `min_shelf_life_pct` string, nullable: Обычная десятичная запись больше 0 и не больше 100, не точнее сотых: «30», «12.5»
  - `min_shelf_life_days` integer, nullable
  - `min_shelf_life_scale` StockShelfLifeStep[]: Шкала порога остаточного срока по общему сроку годности партии (ERP-2182): ступени по возрастанию границы up_to_months, у последней границы нет. Общий срок ровно на границе — ступень этой границы. Общий срок не определить (нет даты изготовления и срока в карточке) — партия порог не проходит: no_production_date
    - `up_to_months` integer, nullable, required: Граница общего срока, месяцев, включительно; у последней ступени — null (всё, что длиннее предыдущей)
    - `min_remaining_pct` string, nullable, required: Доля оставшегося срока, %: десятичная строка больше 0 и не больше 100, не точнее сотых
    - `min_remaining_days` integer, nullable, required: Дней до «годен до»

## Response `200`

Сохранённые настройки контрагента

- StockContactPolicy: Складские настройки контрагента (ERP-1821): порог остаточного срока годности для отгрузок этому покупателю и для поставок на склад, посредник которого — этот контрагент (agent_contact_id склада назначения; у склада «в пути» — склада, для которого он путь; ERP-2182). Он сильнее порога кабинета и слабее порогов магазина площадки и документа.
  - `contact_id` string, uuid, required
  - `contact_name` string, required
  - `min_shelf_life_pct` string, nullable, required: Порог остаточного срока для покупателя, % срока: десятичная строка. null — не задан
  - `min_shelf_life_days` integer, nullable, required: Порог остаточного срока для покупателя в днях до «годен до». null — не задан
  - `min_shelf_life_scale` StockShelfLifeStep[], required: Шкала порога остаточного срока по общему сроку годности партии (ERP-2182): ступени по возрастанию границы up_to_months, у последней границы нет. Общий срок ровно на границе — ступень этой границы. Общий срок не определить (нет даты изготовления и срока в карточке) — партия порог не проходит: no_production_date
    - `up_to_months` integer, nullable, required: Граница общего срока, месяцев, включительно; у последней ступени — null (всё, что длиннее предыдущей)
    - `min_remaining_pct` string, nullable, required: Доля оставшегося срока, %: десятичная строка больше 0 и не больше 100, не точнее сотых
    - `min_remaining_days` integer, nullable, required: Дней до «годен до»
  - `updated_at` string, date-time, required

## Other responses

- `204`: Оба значения порога пусты: настройки контрагента удалены
- `400`: Некорректный запрос или нарушение бизнес-правила
- `401`: Сессия, ключ или кабинет не подтверждены
- `403`: Текущая роль не имеет требуемого права
- `500`: Внутренняя ошибка без раскрытия server-only деталей

---

[API](https://skmtc.dev/akeda/apis/akeda-erp-client-api.md) · [All operations](https://skmtc.dev/akeda/apis/akeda-erp-client-api/llms.txt) · [OpenAPI document](https://skmtc.dev/akeda/apis/akeda-erp-client-api/revisions/a99574d597cc?raw)
