# Создание прихода через API

Public JSON API: журнал приходов (GET) и создание накладной (POST). Токен — **Настройка → API сервер**. Примеры curl — в справке API сервер → Приходы.

## Доступ и URL

Параметр `token` в query. Маршрут: `public/firm-api/prih-docs.json`.

**GET** — журнал; **POST** — создание (тело JSON).

## GET — журнал

Параметры: `date_from`, `date_to` (YYYY-MM-DD, период ≤ 366 дней); `store_id` / `id_sklad` (необязательно).

Черновики — вне зависимости от дат; проведённые — в периоде; производственные приходы не возвращаются.

Ответ: `updated_at`, `filter`, `store`, `stores[]`, `docs[]` (id, даты, поставщик, posted, summa, dolg, is_return, is_auto, `rows[]` с product_id, qty, price, retail_price, nds, summa и т.д.).

## POST — создание

201 Created, `{ "doc": { … } }`.

Обязательно: `store_id`/`id_sklad`, `contragent_id`/`id_contragent`, `rows` (≥1 строка).

Необязательно: `date_prih`/`date`, `nomer_nakl`/`nomer`, `date_nakl`, `posted` (default false; `valid_flag`: 1), `is_return`.

## Строки rows[]

Обязательно: `product_id`/`id_tovar`, `qty`/`cnt` (>0).

Необязательно: `price`/`cena` (иначе последняя закупочная), `nds`, `retail_price`/`cena_rash`, `serials` (при посерийном учёте, длина = qty).

## Черновик и проведение

По умолчанию черновик. `posted: true` или `valid_flag: 1` — сразу проведённая накладная.

## Ограничения

`id_deal` через POST нельзя — в UI карточки. GET без производственных приходов.

## Связанные методы

`stores.json`, `contragents.json`, `catalog.json`, `stocks.json`, `supplier-orders.json`.
