Приклад: форма замовлення поверх API

ERP, з якої всі даніЩо всередині?

Ви - покупець: БФ «Небо поруч». Замовляєте вироби у виробника: ТОВ «Крило і Гвинт». змінити

Замовлення

Що всередині?

Що відбувається всередині

6 викликів API, запитів до бази: 14, 3654 мс

З чого складається цей екран

  1. Хто ви і в кого замовляєтеGET /api/v1/q/company_profile?as_of=Назва компанії з її власної картки. Покупець - перший із переліку, доки не обрано іншого.
  2. Вироби з цінамиGET /api/v1/v/prodazh/offerЩо продають, ціна з податком за одну штуку.
    • KMP-0001: позицій у специфікації 67, операцій 9, роботи на одну штуку 7 год 40 хв
    • KMP-0002: позицій у специфікації 63, операцій 9, роботи на одну штуку 9 год 55 хв
    • VYR-0001: позицій у специфікації 25, операцій 12, роботи на одну штуку 1 год 38 хв
    • VYR-0002: позицій у специфікації 26, операцій 13, роботи на одну штуку 2 год 7 хв
    • VYR-0003: позицій у специфікації 26, операцій 13, роботи на одну штуку 1 год 52 хв
    • VYR-0004: позицій у специфікації 26, операцій 15, роботи на одну штуку 3 год 51 хв
    • VYR-0005: позицій у специфікації 39, операцій 10, роботи на одну штуку 5 год 15 хв
    • VYR-0006: позицій у специфікації 41, операцій 7, роботи на одну штуку 5 год 10 хв
    • VYR-0007: позицій у специфікації 42, операцій 7, роботи на одну штуку 5 год 10 хв
    • VYR-0008: позицій у специфікації 44, операцій 7, роботи на одну штуку 3 год 30 хв
    • VYR-0009: позицій у специфікації 33, операцій 7, роботи на одну штуку 4 год 40 хв
    • VYR-0010: позицій у специфікації 45, операцій 12, роботи на одну штуку 5 год 55 хв
  3. Відповідь про термін і сумаGET /api/v1/v/zbirka/promise?item=&qty=&needed_by=Коли можна відвантажити і чому; суму за кількість дає GET /api/v1/v/prodazh/offer?item=&qty=.
    • На складі 0 шт; під замовлення інших покупців зарезервовано 0, під виробництво і план утримано 0. На це замовлення з наявного і вже замовленого йде 0 шт.
    • Бракує комплектуючих: 34.
    • REG-0001 Регулятор обертів 4-в-1 55 А 6S 30,5×30,5 мм, прошивка Bluejay - 11 шт, постачальник привозить за 24 дні, буде 02.11.2026
    • KRP-0005 Гвинт M3×10 з внутрішнім шестигранником - 160 шт, постачальник привозить за 24 дні, буде 02.11.2026
    • PRP-0003 Пропелер 7×4×3 CCW (проти годинникової) - 58 шт, постачальник привозить за 24 дні, буде 02.11.2026
    • PRP-0001 Пропелер 7×4×3 CW (за годинниковою) - 58 шт, постачальник привозить за 24 дні, буде 02.11.2026
    • KRP-0027 Килимок протиковзний під акумулятор - 10 шт, постачальник привозить за 24 дні, буде 02.11.2026
    • і ще 29 позицій, не пізніше за названі
    • Робота в цеху: 50 год 45 хв, робочих місць: 8, ще 63 год 25 хв очікування без людей. Найдовше - Прошивка і налаштування: у черзі 44 год 58 хв, це замовлення додає 6 год 15 хв; людей на місці 1, разом 4 год на день.
    • Сума: 1 × 756 200,00 = 756 200,00 грн без ПДВ, ПДВ 20% 151 240,00, разом 907 440,00 грн (за ціною останнього замовлення).
  4. ПокупецьGET /api/v1/q/deal_partiesЗ кого вибрати себе; назву можна вписати й самому.
  5. Кнопка «Надіслати запит»POST /api/v1/act/prodazh/new_requestЗапит покупця. З "dry_run": true лише перевіряється; справжній іде з Idempotency-Key.

Виклики API цієї сторінки

Назви запитів і таблиць дає сам API. Перевірку ключа і запис у журнал викликів тут не пораховано.

Відкриття сторінки: 3 виклики разом за 666 мс; по черзі це 1837 мс.

  1. 1опис views465 мс200

    GET /api/v1/views

    Подання, які читає цей ключ, з їхніми параметрами і читаннями

    Опис, який API дає про себе. Тримається в памʼяті десять хвилин.

    показати запит і відповідь
    GET /api/v1/views
    {
      "headers": {
        "authorization": "Bearer <ключ>"
      }
    }
    {
      "views": [
        {
          "module": "people",
          "name": "preview",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "prodazh",
          "name": "offer",
          "readers": [
            "sales",
            "accountant"
          ],
          "title": "Що компанія продає: позиції з ціною, податком і сумою за кількість",
          "params": [
            {
              "name": "item",
              "description": "Артикул позиції або її id. Порожньо - усі позиції, що продаються."
            },
            {
              "name": "qty",
              "description": "Кількість, для якої рахувати суму. Порожньо - одна."
            }
          ],
          "rule": "Ціна без податку - з картки позиції, а коли її там немає, з останнього замовлення; рядок каже, звідки ціна. Податок з продажу і суму рахує пакет країни за ставкою позиції, якщо компанія сьогодні його платник.",
          "reads": [
            {
              "query": "sale_offer",
              "tables": [
                "bom_line",
                "bom_operation",
                "item",
                "bom",
                "so_line",
                "sales_order"
              ]
            },
            {
              "query": "tax_profile",
              "tables": [
                "economic_event"
              ]
            }
          ]
        },
        {
          "module": "prodazh",
          "name": "deal_stages",
          "readers": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "about": "The stages of a deal by the rule dealStages. With id: {row: \"deal\"} once, then one {row: \"stage\", stage, state, date, what, n, days, day, of} per stage, left to right. Without id: one {row: \"deal\", ..., stage, state, date, what, ...} per deal that stands, with the first stage something stands in the way of. state: done | now | blocked | wait | stopped. what (null when nothing): not_confirmed | short | components | not_released | unchecked | not_shipped | gift_rule | unsigned | refused | overdue | unsigned_wait | payment_wait; n, days, day and of are its numbers.",
          "title": "Етапи угоди: стан кожного, його день і що заважає",
          "params": [
            {
              "name": "id",
              "description": "Поле id з запиту deals. Порожньо - угоди, що стоять, кожна з етапом, на якому стоїть."
            }
          ],
          "rule": "Правило dealStages (packages/rules/src/deal.ts): етапи рахують із фактів угоди, нічого не зберігають. Стан етапу і те, що йому заважає або чого він чекає, рядок каже кодами, з числами поруч. Без права на суми етап оплати лишається без стану.",
          "reads": [
            {
              "query": "deal",
              "tables": [
                "production_order_need",
                "reservation_held",
                "stock_pool_on_hand",
                "customer_claim",
                "so_line_shipped",
                "document",
                "journal_entry",
                "so_line",
                "production_order",
                "serial_number",
                "qc_unit",
                "document_state",
                "open_item",
                "company_setting",
                "agreement",
                "sales_order",
                "party",
                "request_outcome",
                "request"
              ]
            },
            {
              "query": "deals_standing",
              "tables": [
                "production_order_need",
                "reservation_held",
                "stock_pool_on_hand",
                "customer_claim",
                "so_line_shipped",
                "document",
                "journal_entry",
                "so_line",
                "production_order",
                "serial_number",
                "qc_unit",
                "document_state",
                "open_item",
                "company_setting",
                "agreement",
                "sales_order",
                "party",
                "request_outcome",
                "request"
              ]
            }
          ]
        },
        {
          "module": "dovidnyk",
          "name": "card",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "dovidnyk",
          "name": "glossary",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "dovidnyk",
          "name": "stock_total",
          "readers": [
            "anyone"
          ],
          "fields": {
            "value": [
              "accountant"
            ]
          }
        },
        {
          "module": "dovidnyk",
          "name": "stock",
          "readers": [
            "anyone"
          ],
          "fields": {
            "value": [
              "accountant"
            ]
          }
        },
        {
          "module": "dovidnyk",
          "name": "where_used",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "dovidnyk",
          "name": "spec_versions",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "dovidnyk",
          "name": "sales_orders",
          "readers": [
            "storekeeper",
            "sales",
            "accountant"
          ],
          "fields": {
            "price": [
              "sales",
              "accountant"
            ]
          }
        },
        {
          "module": "komora",
          "name": "sites",
          "readers": [
            "anyone"
          ],
          "fields": {
            "reserve_value": [
              "accountant"
            ],
            "work_value": [
              "accountant"
            ]
          }
        },
        {
          "module": "komora",
          "name": "site_stock",
          "readers": [
            "anyone"
          ],
          "fields": {
            "value": [
              "accountant"
            ]
          }
        },
        {
          "module": "zbirka",
          "name": "plan",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "zbirka",
          "name": "promise",
          "readers": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "title": "Коли можна відвантажити: оцінка терміну для кількості однієї позиції",
          "params": [
            {
              "name": "item",
              "required": true,
              "description": "Артикул позиції або її id."
            },
            {
              "name": "qty",
              "required": true,
              "description": "Кількість, додатне ціле число."
            },
            {
              "name": "needed_by",
              "description": "День, до якого потрібно (РРРР-ММ-ДД). Порожньо - відповідь без порівняння з днем."
            }
          ],
          "rule": "Правило deliveryEstimate (packages/rules/src/promise.ts): план потреби рахують двічі, без цієї кількості і з нею; різниця - що виготовити і що купити. Куповане чекає термін постачальника, виготовлене - чергу і людей робочих місць; дні робочі, з понеділка по пʼятницю.",
          "reads": [
            {
              "query": "mrp_bom_lines",
              "tables": [
                "bom",
                "bom_line"
              ]
            },
            {
              "query": "mrp_demand",
              "tables": [
                "production_order_output",
                "so_line_shipped",
                "so_line",
                "sales_order",
                "production_order",
                "item"
              ]
            },
            {
              "query": "mrp_supply",
              "tables": [
                "reservation_held",
                "po_line_received",
                "stock_balance",
                "po_line",
                "purchase_order",
                "item"
              ]
            },
            {
              "query": "mrp_analogs",
              "tables": [
                "bom",
                "bom_line",
                "bom_substitute",
                "item"
              ]
            },
            {
              "query": "plan_open",
              "tables": [
                "economic_event",
                "journal_entry",
                "production_plan",
                "production_order",
                "production_order_output",
                "item"
              ]
            },
            {
              "query": "promise_routes",
              "tables": [
                "bom",
                "bom_operation",
                "work_center",
                "bom_operation_card"
              ]
            },
            {
              "query": "promise_lead_days",
              "tables": [
                "supplier_price"
              ]
            },
            {
              "query": "floor_plan_orders",
              "tables": [
                "operation_progress",
                "economic_event",
                "journal_entry",
                "operation_live",
                "production_order",
                "item",
                "bom_operation",
                "work_center"
              ]
            },
            {
              "query": "floor_assignments",
              "tables": [
                "work_center_assignment",
                "party",
                "work_center"
              ]
            },
            {
              "query": "item_availability",
              "tables": [
                "reservation_held",
                "stock_pool_on_hand",
                "stock_reserved",
                "item"
              ]
            }
          ]
        },
        {
          "module": "zbirka",
          "name": "order",
          "readers": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant",
            "shop_worker"
          ]
        },
        {
          "module": "zbirka",
          "name": "order_cover",
          "readers": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ]
        },
        {
          "module": "zbirka",
          "name": "demand",
          "readers": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ]
        },
        {
          "module": "zbirka",
          "name": "plan_lines",
          "readers": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ]
        },
        {
          "module": "zbirka",
          "name": "plan_holds",
          "readers": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ]
        },
        {
          "module": "zbirka",
          "name": "changes",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "zbirka",
          "name": "change",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "zbirka",
          "name": "change_versions",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "zbirka",
          "name": "change_diff",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "zbirka",
          "name": "bom_diff",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "zbirka",
          "name": "products",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "zbirka",
          "name": "how_head",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "zbirka",
          "name": "how_totals",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "zbirka",
          "name": "how_parts",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "zbirka",
          "name": "how_route",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "zbirka",
          "name": "plan_time",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "zbirka",
          "name": "order_time",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "zbirka",
          "name": "floor",
          "readers": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant",
            "shop_worker"
          ],
          "fields": {
            "people": [
              "production",
              "accountant"
            ],
            "people_list": [
              "production",
              "accountant"
            ],
            "shop_line": [
              "viewer",
              "storekeeper",
              "sales",
              "purchaser",
              "production",
              "accountant"
            ],
            "shop_line_status": [
              "viewer",
              "storekeeper",
              "sales",
              "purchaser",
              "production",
              "accountant"
            ]
          }
        },
        {
          "module": "zbirka",
          "name": "floor_line",
          "readers": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ]
        },
        {
          "module": "zbirka",
          "name": "open_work",
          "readers": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant",
            "shop_worker"
          ]
        },
        {
          "module": "zbirka",
          "name": "order_operations",
          "readers": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant",
            "shop_worker"
          ],
          "fields": {
            "who": [
              "production",
              "accountant"
            ]
          }
        },
        {
          "module": "zbirka",
          "name": "order_records",
          "readers": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant",
            "shop_worker"
          ],
          "fields": {
            "person": [
              "production",
              "accountant"
            ],
            "actor_id": [
              "production",
              "accountant"
            ]
          }
        },
        {
          "module": "zbirka",
          "name": "load",
          "readers": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ]
        },
        {
          "module": "yakist",
          "name": "protocol_points",
          "readers": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ]
        },
        {
          "module": "instrument",
          "name": "workplace_card",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "chronicle",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "chronicle_scope",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "chronicle_kinds",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "chronicle_months",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "chronicle_graph",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "changes",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "items",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "item",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "item_receipts",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "item_moves",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "item_on_hand",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "item_problems",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "item_graph",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "item_units",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "units",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "unit",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "unit_components",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "unit_events",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "unit_graph",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "documents",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "document_chain",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "document_loose",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "document_graph",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "people",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "person",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "person_actions",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "person_counts",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "person_months",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "person_agreements",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "person_payroll",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "person_equipment",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "person_operations",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "person_graph",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "parties",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "party",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "party_events",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "party_items",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "party_months",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "party_graph",
          "readers": [
            "anyone"
          ]
        },
        {
          "module": "slid",
          "name": "deal_steps",
          "readers": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "about": "The steps of one deal, oldest first. Parameter: id of a customer order (without it, the first example deal). Rows: {row: \"deal\"} once, then per step {row: \"step\", step, key, stage, kind, date, title, text, who} and its parts by the same `step`: \"record\" (type, id, label), \"move\" (item, place, qty), \"line\" (account, side, amount; minor units), \"link\" (from: the earlier step it stands on, text), \"state\" (stock of the product and key components, what the payer owes, the bank). Ledger lines and sums only for a key with the accountant role."
        },
        {
          "module": "slid",
          "name": "deal_examples",
          "readers": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "about": "Finished deals that show the whole way (made from a request, produced, checked, shipped, paid), one per payer; the first is what deal_steps answers without an id."
        }
      ]
    }
    curl
    curl 'https://demokrylo.bnp.works/api/v1/views' \
      -H 'authorization: Bearer <ключ>'
  2. 2подання prodazh/offer разом621 мс200

    GET /api/v1/v/prodazh/offer

    Що компанія продає: позиції з ціною, податком і сумою за кількість

    Читає sale_offer (bom_line, bom_operation, item, bom, so_line, sales_order), tax_profile (economic_event)

    Правило

    • Ціна без податку - з картки позиції, а коли її там немає, з останнього замовлення; рядок каже, звідки ціна. Податок з продажу і суму рахує пакет країни за ставкою позиції, якщо компанія сьогодні його платник.
    показати запит і відповідь
    GET /api/v1/v/prodazh/offer
    {
      "headers": {
        "authorization": "Bearer <ключ>"
      }
    }
    {
      "rows": [
        {
          "id": "3b1e86b5-f264-407a-957a-6c8d9fdd05e9",
          "code": "KMP-0001",
          "name": "Комплекс FPV: 10 дронів 7 дюймів з наземним обладнанням",
          "description": "",
          "measure": "EA",
          "vat_rate_bp": 2000,
          "lifecycle": "production",
          "price": 75620000,
          "price_from": "order",
          "parts": 67,
          "operations": 9,
          "work_minutes": 460,
          "qty": 1,
          "tax_rate_bp": 2000,
          "currency": "UAH",
          "net": 75620000,
          "tax": 15124000,
          "gross": 90744000
        },
        {
          "id": "65614e0d-02de-4a44-8ee3-95317c09e2da",
          "code": "KMP-0002",
          "name": "Комплекс з літаком спостереження: 3 літаки з наземним обладнанням",
          "description": "",
          "measure": "EA",
          "vat_rate_bp": 2000,
          "lifecycle": "production",
          "price": 65820000,
          "price_from": "order",
          "parts": 63,
          "operations": 9,
          "work_minutes": 595,
          "qty": 1,
          "tax_rate_bp": 2000,
          "currency": "UAH",
          "net": 65820000,
          "tax": 13164000,
          "gross": 78984000
        },
        {
          "id": "ade5d759-99fe-47e9-a78e-bc0d271411e4",
          "code": "VYR-0001",
          "name": "FPV-дрон 7 дюймів",
          "description": "",
          "measure": "EA",
          "vat_rate_bp": 2000,
          "lifecycle": "production",
          "price": 2800000,
          "price_from": "order",
          "parts": 25,
          "operations": 12,
          "work_minutes": 98,
          "qty": 1,
          "tax_rate_bp": 2000,
          "currency": "UAH",
          "net": 2800000,
          "tax": 560000,
          "gross": 3360000
        },
        {
          "id": "96f89be5-886f-40b3-b450-4ebe3d10bad6",
          "code": "VYR-0002",
          "name": "FPV-дрон 10 дюймів",
          "description": "",
          "measure": "EA",
          "vat_rate_bp": 2000,
          "lifecycle": "production",
          "price": 4680000,
          "price_from": "order",
          "parts": 26,
          "operations": 13,
          "work_minutes": 127,
          "qty": 1,
          "tax_rate_bp": 2000,
          "currency": "UAH",
          "net": 4680000,
          "tax": 936000,
          "gross": 5616000
        },
        {
          "id": "1639a2ec-92b7-4f4b-8ecd-d6068f631d96",
          "code": "VYR-0003",
          "name": "Нічний FPV-дрон 7 дюймів з тепловізійною камерою",
          "description": "",
          "measure": "EA",
          "vat_rate_bp": 2000,
          "lifecycle": "production",
          "price": 4070000,
          "price_from": "order",
          "parts": 26,
          "operations": 13,
          "work_minutes": 112,
          "qty": 1,
          "tax_rate_bp": 2000,
          "currency": "UAH",
          "net": 4070000,
          "tax": 814000,
          "gross": 4884000
        },
        {
          "id": "758b8702-b698-4d6f-80d2-1d991fb6f5f0",
          "code": "VYR-0004",
          "name": "Квадрокоптер спостереження зі стабілізованою камерою",
          "description": "",
          "measure": "EA",
          "vat_rate_bp": 2000,
          "lifecycle": "production",
          "price": 15340000,
          "price_from": "order",
          "parts": 26,
          "operations": 15,
          "work_minutes": 231,
          "qty": 1,
          "tax_rate_bp": 2000,
          "currency": "UAH",
          "net": 15340000,
          "tax": 3068000,
          "gross": 18408000
        },
        {
          "id": "cd0af722-23b9-415e-8d51-39c06cbf802f",
          "code": "VYR-0005",
          "name": "Літак FPV типу Talon, розмах 1,3 м",
          "description": "",
          "measure": "EA",
          "vat_rate_bp": 2000,
          "lifecycle": "production",
          "price": 5690000,
          "price_from": "order",
          "parts": 39,
          "operations": 10,
          "work_minutes": 315,
          "qty": 1,
          "tax_rate_bp": 2000,
          "currency": "UAH",
          "net": 5690000,
          "tax": 1138000,
          "gross": 6828000
        },
        {
          "id": "0de27525-e412-492b-a694-1b08e64be1b4",
          "code": "VYR-0006",
          "name": "Наземна станція керування в кейсі (FPV)",
          "description": "",
          "measure": "EA",
          "vat_rate_bp": 2000,
          "lifecycle": "production",
          "price": 13260000,
          "price_from": "order",
          "parts": 41,
          "operations": 7,
          "work_minutes": 310,
          "qty": 1,
          "tax_rate_bp": 2000,
          "currency": "UAH",
          "net": 13260000,
          "tax": 2652000,
          "gross": 15912000
        },
        {
          "id": "368e0361-bc5d-49ab-9672-a3c9cd350192",
          "code": "VYR-0007",
          "name": "Наземна станція керування в кейсі (літак)",
          "description": "",
          "measure": "EA",
          "vat_rate_bp": 2000,
          "lifecycle": "production",
          "price": 12580000,
          "price_from": "order",
          "parts": 42,
          "operations": 7,
          "work_minutes": 310,
          "qty": 1,
          "tax_rate_bp": 2000,
          "currency": "UAH",
          "net": 12580000,
          "tax": 2516000,
          "gross": 15096000
        },
        {
          "id": "0e047e88-ad38-4ee8-a109-0aefaacabe44",
          "code": "VYR-0008",
          "name": "Виносний антенний пост",
          "description": "",
          "measure": "EA",
          "vat_rate_bp": 2000,
          "lifecycle": "production",
          "price": 7980000,
          "price_from": "order",
          "parts": 44,
          "operations": 7,
          "work_minutes": 210,
          "qty": 1,
          "tax_rate_bp": 2000,
          "currency": "UAH",
          "net": 7980000,
          "tax": 1596000,
          "gross": 9576000
        },
        {
          "id": "f2c42ecd-5a23-4a2e-a870-7f65463854e8",
          "code": "VYR-0009",
          "name": "Трекер антени",
          "description": "",
          "measure": "EA",
          "vat_rate_bp": 2000,
          "lifecycle": "production",
          "price": 5150000,
          "price_from": "order",
          "parts": 33,
          "operations": 7,
          "work_minutes": 280,
          "qty": 1,
          "tax_rate_bp": 2000,
          "currency": "UAH",
          "net": 5150000,
          "tax": 1030000,
          "gross": 6180000
        },
        {
          "id": "45eeb073-85c7-4b0f-ad40-ba5f42f2aa4a",
          "code": "VYR-0010",
          "name": "Літак спостереження типу Talon, розмах 1,3 м",
          "description": "",
          "measure": "EA",
          "vat_rate_bp": 2000,
          "lifecycle": "production",
          "price": 7790000,
          "price_from": "order",
          "parts": 45,
          "operations": 12,
          "work_minutes": 355,
          "qty": 1,
          "tax_rate_bp": 2000,
          "currency": "UAH",
          "net": 7790000,
          "tax": 1558000,
          "gross": 9348000
        }
      ]
    }
    curl
    curl 'https://demokrylo.bnp.works/api/v1/v/prodazh/offer' \
      -H 'authorization: Bearer <ключ>'
  3. 3опис queries438 мс200

    GET /api/v1/queries

    Іменовані запити, які читає цей ключ, з таблицями кожного

    Опис, який API дає про себе. Тримається в памʼяті десять хвилин.

    показати запит і відповідь
    GET /api/v1/queries
    {
      "headers": {
        "authorization": "Bearer <ключ>"
      }
    }
    {
      "queries": [
        {
          "name": "accounts",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "account"
          ]
        },
        {
          "name": "periods",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "journal_entry",
            "period"
          ]
        },
        {
          "name": "parties_by_role",
          "params": [
            "role"
          ],
          "roles": [
            "sales",
            "purchaser",
            "accountant"
          ],
          "tables": [
            "party_identifier",
            "party",
            "party_role"
          ]
        },
        {
          "name": "party_profile",
          "params": [
            "party_id",
            "as_of"
          ],
          "roles": [
            "sales",
            "purchaser",
            "accountant"
          ],
          "tables": [
            "party_profile"
          ]
        },
        {
          "name": "party_profile_history",
          "params": [
            "party_id"
          ],
          "roles": [
            "sales",
            "purchaser",
            "accountant"
          ],
          "tables": [
            "party_profile"
          ]
        },
        {
          "name": "documents_open",
          "params": [
            "kind",
            "account"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "accountant"
          ],
          "tables": [
            "journal_entry",
            "document",
            "economic_event",
            "party",
            "open_item"
          ],
          "only": {
            "kind": [
              "shipment"
            ]
          }
        },
        {
          "name": "events_by_kind",
          "params": [
            "kind"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "journal_line",
            "document",
            "event_number",
            "journal_entry",
            "economic_event",
            "party",
            "rule_snapshot"
          ],
          "only": {
            "kind": [
              "stock_received",
              "stock_moved",
              "produced"
            ]
          }
        },
        {
          "name": "items",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant",
            "shop_worker"
          ],
          "tables": [
            "item"
          ]
        },
        {
          "name": "stock_on_hand",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "stock_balance",
            "item",
            "location"
          ]
        },
        {
          "name": "locations",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "item",
            "ledger_line",
            "location"
          ]
        },
        {
          "name": "sites",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "site",
            "location"
          ]
        },
        {
          "name": "warehouses",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "location"
          ]
        },
        {
          "name": "catalog",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "supplier_price",
            "item_mpn",
            "item"
          ]
        },
        {
          "name": "glossary",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "glossary_term"
          ]
        },
        {
          "name": "item_mpns",
          "params": [
            "item_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "item_mpn"
          ]
        },
        {
          "name": "item_analogs",
          "params": [
            "item_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "item_analog",
            "item"
          ]
        },
        {
          "name": "analog_of",
          "params": [
            "item_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "item_analog",
            "item"
          ]
        },
        {
          "name": "analog_groups",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "item_analog",
            "item"
          ]
        },
        {
          "name": "supplier_prices",
          "params": [
            "item_id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "supplier_price",
            "party",
            "item_mpn"
          ]
        },
        {
          "name": "find_code",
          "params": [
            "norm"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "item",
            "item_mpn",
            "supplier_price",
            "party"
          ]
        },
        {
          "name": "boms",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom_line",
            "bom",
            "item"
          ]
        },
        {
          "name": "boms_of_item",
          "params": [
            "item_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom_line",
            "bom",
            "change_order"
          ]
        },
        {
          "name": "bom",
          "params": [
            "id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "change_order",
            "bom",
            "item"
          ]
        },
        {
          "name": "bom_lines",
          "params": [
            "bom_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom_substitute",
            "item",
            "bom_line"
          ]
        },
        {
          "name": "bom_subsystems",
          "params": [
            "bom_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom_line_subsystem",
            "bom_subsystem"
          ]
        },
        {
          "name": "bom_structure",
          "params": [
            "bom_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom",
            "bom_line",
            "item",
            "bom_line_subsystem",
            "bom_subsystem"
          ]
        },
        {
          "name": "bom_products",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom_line",
            "bom_subsystem",
            "bom_operation",
            "bom_operation_card",
            "bom",
            "item"
          ]
        },
        {
          "name": "bom_pending_analogs",
          "params": [
            "bom_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom",
            "bom_line",
            "item_analog",
            "item",
            "bom_substitute"
          ]
        },
        {
          "name": "where_used",
          "params": [
            "item_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom_line",
            "bom",
            "bom_substitute",
            "item"
          ]
        },
        {
          "name": "change_orders",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom",
            "item",
            "change_order"
          ]
        },
        {
          "name": "change_order",
          "params": [
            "id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom",
            "item",
            "change_order"
          ]
        },
        {
          "name": "bom_previous",
          "params": [
            "bom_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom"
          ]
        },
        {
          "name": "bom_versions",
          "params": [
            "bom_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom"
          ]
        },
        {
          "name": "active_boms",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom",
            "item"
          ]
        },
        {
          "name": "draft_boms",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom",
            "item"
          ]
        },
        {
          "name": "purchase_requests",
          "params": [],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "po_line",
            "purchase_order",
            "po_line_received",
            "purchase_request",
            "purchase_request_line"
          ]
        },
        {
          "name": "purchase_request_lines",
          "params": [
            "id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "po_line",
            "purchase_order",
            "purchase_request_line",
            "item"
          ]
        },
        {
          "name": "purchase_request",
          "params": [
            "id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "purchase_request"
          ]
        },
        {
          "name": "purchase_orders",
          "params": [],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "po_line",
            "po_line_received",
            "purchase_order",
            "party"
          ]
        },
        {
          "name": "purchase_order",
          "params": [
            "id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "purchase_order",
            "party"
          ]
        },
        {
          "name": "po_lines",
          "params": [
            "id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "po_line",
            "item",
            "po_line_received"
          ]
        },
        {
          "name": "receipts_for_order",
          "params": [
            "id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "event_number",
            "journal_entry",
            "economic_event"
          ]
        },
        {
          "name": "work_centers",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant",
            "shop_worker"
          ],
          "tables": [
            "work_center"
          ]
        },
        {
          "name": "bom_operations",
          "params": [
            "bom_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant",
            "shop_worker"
          ],
          "tables": [
            "bom_operation",
            "work_center"
          ]
        },
        {
          "name": "bom_route",
          "params": [
            "bom_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom_operation_instrument",
            "equipment",
            "qc_point",
            "qc_checklist",
            "bom_operation",
            "bom",
            "work_center",
            "bom_operation_card"
          ]
        },
        {
          "name": "instrument_workplaces",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "equipment_card",
            "work_center",
            "work_center_card"
          ]
        },
        {
          "name": "instrument_workplace",
          "params": [
            "work_center_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "work_center",
            "work_center_card"
          ]
        },
        {
          "name": "route_operations",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant",
            "shop_worker"
          ],
          "tables": [
            "bom_operation",
            "bom",
            "item",
            "work_center"
          ]
        },
        {
          "name": "instrument_workplace_operations",
          "params": [
            "work_center_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant",
            "shop_worker"
          ],
          "tables": [
            "bom_operation",
            "bom",
            "item",
            "bom_operation_card"
          ]
        },
        {
          "name": "instrument_counts",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "equipment"
          ]
        },
        {
          "name": "production_orders_in_work",
          "params": [
            "date"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant",
            "shop_worker"
          ],
          "tables": [
            "production_order_output",
            "serial_number",
            "production_order",
            "item",
            "bom"
          ]
        },
        {
          "name": "production_orders",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant",
            "shop_worker"
          ],
          "tables": [
            "production_order_output",
            "production_order_need",
            "reservation_held",
            "reservation_move",
            "production_order",
            "item",
            "bom",
            "location"
          ]
        },
        {
          "name": "production_order",
          "params": [
            "id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant",
            "shop_worker"
          ],
          "tables": [
            "production_order_output",
            "production_order_need",
            "reservation_held",
            "sales_order",
            "reservation_move",
            "production_order",
            "item",
            "bom",
            "location",
            "stock_pool"
          ]
        },
        {
          "name": "production_order_times",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom_operation",
            "bom_operation_card",
            "production_order",
            "item",
            "bom",
            "production_order_output"
          ]
        },
        {
          "name": "order_components",
          "params": [
            "order_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom_substitute",
            "item",
            "production_order",
            "bom_line",
            "production_order_output"
          ]
        },
        {
          "name": "order_pool_stock",
          "params": [
            "order_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "customer_claim",
            "reservation_held",
            "stock_pool_on_hand",
            "po_line_received",
            "stock_balance",
            "location",
            "stock_pool",
            "po_line",
            "purchase_order",
            "production_order",
            "bom_component_of",
            "item"
          ]
        },
        {
          "name": "order_reservations",
          "params": [
            "order_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "location",
            "reservation_held",
            "item"
          ]
        },
        {
          "name": "reservation_moves",
          "params": [
            "order_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "economic_event",
            "reservation_move",
            "item"
          ]
        },
        {
          "name": "order_component_units",
          "params": [
            "order_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "production_order",
            "bom_line",
            "item",
            "serial_number"
          ]
        },
        {
          "name": "reservation_moves_of_event",
          "params": [
            "event_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "reservation_move",
            "production_order",
            "item"
          ]
        },
        {
          "name": "item_reservations",
          "params": [
            "item_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "location",
            "reservation_held",
            "production_order",
            "item"
          ]
        },
        {
          "name": "reservations",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "location",
            "reservation_held",
            "production_order",
            "item"
          ]
        },
        {
          "name": "item_availability",
          "params": [
            "item_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "reservation_held",
            "stock_pool_on_hand",
            "stock_reserved",
            "item"
          ]
        },
        {
          "name": "pool_stock",
          "params": [
            "location_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "customer_claim",
            "reservation_held",
            "stock_pool_on_hand",
            "stock_pool"
          ]
        },
        {
          "name": "pool_holds",
          "params": [
            "location_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "stock_pool",
            "reservation_held",
            "production_order"
          ]
        },
        {
          "name": "production_settings",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "production_setting"
          ]
        },
        {
          "name": "production_plan",
          "params": [
            "from"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "economic_event",
            "journal_entry",
            "production_order",
            "production_order_output",
            "production_plan",
            "item"
          ]
        },
        {
          "name": "production_outputs",
          "params": [
            "order_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "event_number",
            "journal_entry",
            "serial_number",
            "economic_event"
          ]
        },
        {
          "name": "mrp_bom_lines",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom",
            "bom_line"
          ]
        },
        {
          "name": "mrp_routes",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom",
            "bom_operation",
            "bom_operation_card"
          ]
        },
        {
          "name": "promise_routes",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom",
            "bom_operation",
            "work_center",
            "bom_operation_card"
          ]
        },
        {
          "name": "promise_lead_days",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "supplier_price"
          ]
        },
        {
          "name": "sale_offer",
          "params": [],
          "roles": [
            "sales",
            "accountant"
          ],
          "tables": [
            "bom_line",
            "bom_operation",
            "item",
            "bom",
            "so_line",
            "sales_order"
          ]
        },
        {
          "name": "mrp_demand",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "production_order_output",
            "so_line_shipped",
            "so_line",
            "sales_order",
            "production_order",
            "item"
          ]
        },
        {
          "name": "mrp_supply",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "reservation_held",
            "po_line_received",
            "stock_balance",
            "po_line",
            "purchase_order",
            "item"
          ]
        },
        {
          "name": "mrp_analogs",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom",
            "bom_line",
            "bom_substitute",
            "item"
          ]
        },
        {
          "name": "release_rule",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "production_setting"
          ]
        },
        {
          "name": "plan_open",
          "params": [
            "from"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "economic_event",
            "journal_entry",
            "production_plan",
            "production_order",
            "production_order_output",
            "item"
          ]
        },
        {
          "name": "production_shortages",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "customer_claim",
            "production_order_need",
            "reservation_held",
            "stock_pool_on_hand",
            "po_line_received",
            "production_order",
            "stock_pool",
            "location",
            "po_line",
            "purchase_order",
            "item"
          ]
        },
        {
          "name": "serials_in_stock",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant",
            "shop_worker"
          ],
          "tables": [
            "serial_number",
            "item",
            "production_order"
          ]
        },
        {
          "name": "serial_items",
          "params": [
            "date"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant",
            "shop_worker"
          ],
          "tables": [
            "serial_number",
            "item"
          ]
        },
        {
          "name": "serial_items_stock_on",
          "params": [
            "date"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "serial_number",
            "item",
            "journal_line",
            "journal_entry",
            "location",
            "stock_account"
          ]
        },
        {
          "name": "serials",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant",
            "shop_worker"
          ],
          "tables": [
            "serial_number",
            "item",
            "production_order",
            "party"
          ]
        },
        {
          "name": "serial_trace",
          "params": [
            "serial"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "serial_number",
            "item",
            "economic_event",
            "production_order",
            "bom"
          ]
        },
        {
          "name": "qc_waiting",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant",
            "shop_worker"
          ],
          "tables": [
            "stock_balance",
            "qc_checklist",
            "item",
            "qc_unit",
            "serial_number",
            "production_order"
          ]
        },
        {
          "name": "qc_unnumbered",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "stock_balance",
            "qc_checklist",
            "item",
            "serial_number",
            "qc_back_unnamed",
            "document",
            "party"
          ]
        },
        {
          "name": "qc_back_candidates",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "qc_back_unnamed",
            "qc_checklist",
            "serial_number",
            "item",
            "document"
          ]
        },
        {
          "name": "qc_unit",
          "params": [
            "serial"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "qc_unit",
            "serial_number",
            "item",
            "economic_event",
            "production_order",
            "bom",
            "party"
          ]
        },
        {
          "name": "qc_unit_components",
          "params": [
            "serial"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "serial_number",
            "economic_event",
            "item"
          ]
        },
        {
          "name": "qc_protocols_for_serial",
          "params": [
            "serial"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "qc_protocol",
            "qc_protocol_point",
            "qc_checklist"
          ]
        },
        {
          "name": "qc_protocol_by_key",
          "params": [
            "key"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "qc_protocol",
            "qc_checklist"
          ]
        },
        {
          "name": "qc_protocols_recent",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "qc_protocol",
            "serial_number",
            "item",
            "qc_checklist"
          ]
        },
        {
          "name": "qc_results_for_serial",
          "params": [
            "serial"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "qc_protocol",
            "qc_protocol_point"
          ]
        },
        {
          "name": "qc_checklist_active",
          "params": [
            "item_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "qc_checklist",
            "qc_point",
            "item"
          ]
        },
        {
          "name": "qc_points_for_serial",
          "params": [
            "serial"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "qc_unit",
            "qc_point"
          ]
        },
        {
          "name": "qc_form_points",
          "params": [
            "serial"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "qc_unit",
            "serial_number",
            "qc_point",
            "production_order",
            "bom_operation",
            "bom",
            "work_center",
            "equipment_card"
          ]
        },
        {
          "name": "qc_checklists",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "qc_point",
            "qc_protocol",
            "qc_checklist",
            "item"
          ]
        },
        {
          "name": "qc_checklist",
          "params": [
            "id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "qc_point",
            "qc_protocol",
            "qc_checklist",
            "item"
          ]
        },
        {
          "name": "qc_points",
          "params": [
            "checklist_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "qc_point",
            "qc_checklist",
            "equipment"
          ]
        },
        {
          "name": "qc_items",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "item",
            "bom",
            "serial_number"
          ]
        },
        {
          "name": "trace_moves",
          "params": [
            "item_id",
            "event_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "journal_entry",
            "document",
            "journal_line",
            "item",
            "economic_event",
            "location",
            "party",
            "stock_account"
          ]
        },
        {
          "name": "trace_unit",
          "params": [
            "serial"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "journal_entry",
            "serial_number",
            "item",
            "economic_event",
            "production_order",
            "bom",
            "party"
          ]
        },
        {
          "name": "trace_unit_events",
          "params": [
            "serial"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "document",
            "journal_entry",
            "change_log",
            "serial_number",
            "economic_event",
            "party"
          ]
        },
        {
          "name": "presenter_requests",
          "params": [
            "presenter"
          ],
          "roles": [
            "viewer",
            "shop_worker",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant",
            "closer"
          ],
          "tables": [
            "document",
            "request_key",
            "economic_event"
          ]
        },
        {
          "name": "install_zone",
          "params": [],
          "roles": [
            "viewer",
            "shop_worker",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant",
            "closer"
          ],
          "tables": [
            "company_setting"
          ]
        },
        {
          "name": "sales_orders",
          "params": [],
          "roles": [
            "storekeeper",
            "sales",
            "accountant"
          ],
          "tables": [
            "so_line_shipped",
            "so_line",
            "sales_order",
            "party"
          ]
        },
        {
          "name": "sales_order",
          "params": [
            "id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "accountant"
          ],
          "tables": [
            "sales_order",
            "party",
            "request_outcome",
            "request"
          ]
        },
        {
          "name": "requests",
          "params": [
            "kind"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "request_line",
            "sales_order",
            "purchase_request",
            "economic_event",
            "event_number",
            "request_outcome",
            "request",
            "party"
          ]
        },
        {
          "name": "request",
          "params": [
            "id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "request_line",
            "sales_order",
            "purchase_request",
            "economic_event",
            "event_number",
            "request_outcome",
            "request",
            "party"
          ]
        },
        {
          "name": "request_lines",
          "params": [
            "id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "request_line",
            "item"
          ]
        },
        {
          "name": "request_outcomes",
          "params": [
            "id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "request_outcome",
            "sales_order",
            "purchase_request",
            "economic_event",
            "event_number",
            "journal_entry"
          ]
        },
        {
          "name": "request_of",
          "params": [
            "kind",
            "ref_id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "request_line",
            "sales_order",
            "purchase_request",
            "economic_event",
            "event_number",
            "request_outcome",
            "request",
            "party"
          ]
        },
        {
          "name": "movements_to_link",
          "params": [],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "economic_event",
            "journal_entry",
            "request_outcome"
          ]
        },
        {
          "name": "deal_parties",
          "params": [],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "party",
            "party_role"
          ]
        },
        {
          "name": "deals",
          "params": [],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "production_order_need",
            "reservation_held",
            "stock_pool_on_hand",
            "customer_claim",
            "so_line_shipped",
            "document",
            "journal_entry",
            "so_line",
            "production_order",
            "serial_number",
            "qc_unit",
            "document_state",
            "open_item",
            "company_setting",
            "agreement",
            "sales_order",
            "party",
            "request_outcome",
            "request"
          ]
        },
        {
          "name": "deal",
          "params": [
            "id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "production_order_need",
            "reservation_held",
            "stock_pool_on_hand",
            "customer_claim",
            "so_line_shipped",
            "document",
            "journal_entry",
            "so_line",
            "production_order",
            "serial_number",
            "qc_unit",
            "document_state",
            "open_item",
            "company_setting",
            "agreement",
            "sales_order",
            "party",
            "request_outcome",
            "request"
          ]
        },
        {
          "name": "deals_standing",
          "params": [],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "production_order_need",
            "reservation_held",
            "stock_pool_on_hand",
            "customer_claim",
            "so_line_shipped",
            "document",
            "journal_entry",
            "so_line",
            "production_order",
            "serial_number",
            "qc_unit",
            "document_state",
            "open_item",
            "company_setting",
            "agreement",
            "sales_order",
            "party",
            "request_outcome",
            "request"
          ]
        },
        {
          "name": "deal_log",
          "params": [
            "id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "change_log",
            "request_outcome"
          ]
        },
        {
          "name": "deal_needs",
          "params": [
            "id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "production_order_output",
            "reservation_held",
            "stock_pool_on_hand",
            "customer_claim",
            "so_line_shipped",
            "production_order",
            "bom",
            "so_line",
            "sales_order",
            "item"
          ]
        },
        {
          "name": "deal_production",
          "params": [
            "id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "production_order_output",
            "production_order_need",
            "reservation_held",
            "production_order_release",
            "production_order",
            "item"
          ]
        },
        {
          "name": "deal_units",
          "params": [
            "id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "qc_unit",
            "serial_number",
            "item",
            "production_order"
          ]
        },
        {
          "name": "deal_documents",
          "params": [
            "id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "document",
            "journal_entry",
            "economic_event",
            "tax_invoice",
            "open_item",
            "sales_order",
            "document_state"
          ]
        },
        {
          "name": "papers_open",
          "params": [],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "document",
            "journal_entry",
            "sales_order",
            "party",
            "document_state"
          ]
        },
        {
          "name": "document_steps",
          "params": [
            "document_id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "document_step"
          ]
        },
        {
          "name": "deal_payments",
          "params": [
            "id"
          ],
          "roles": [
            "sales",
            "accountant"
          ],
          "tables": [
            "document",
            "journal_entry",
            "ledger_line",
            "economic_event"
          ]
        },
        {
          "name": "order_handovers",
          "params": [
            "order_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "sales_order",
            "production_order",
            "reservation_handover",
            "item"
          ]
        },
        {
          "name": "order_claims_given",
          "params": [
            "order_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "reservation_handover",
            "customer_claim",
            "sales_order",
            "item"
          ]
        },
        {
          "name": "handover_offer",
          "params": [
            "order_id",
            "item_id",
            "to_kind",
            "to_id",
            "ask"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "reservation_held",
            "sales_order",
            "production_order",
            "item"
          ]
        },
        {
          "name": "customer_claims",
          "params": [
            "id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "reservation_handover",
            "production_order",
            "customer_claim",
            "item"
          ]
        },
        {
          "name": "so_lines",
          "params": [
            "id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "accountant"
          ],
          "tables": [
            "so_line",
            "item",
            "location",
            "so_line_shipped"
          ]
        },
        {
          "name": "stock_available",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "reservation_held",
            "stock_reserved",
            "stock_balance",
            "item"
          ]
        },
        {
          "name": "shipments",
          "params": [],
          "roles": [
            "storekeeper",
            "sales",
            "accountant"
          ],
          "tables": [
            "document",
            "party"
          ]
        },
        {
          "name": "shipment_document",
          "params": [
            "id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "accountant"
          ],
          "tables": [
            "tax_invoice",
            "document"
          ]
        },
        {
          "name": "event_number",
          "params": [
            "event_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "event_number"
          ]
        },
        {
          "name": "event_series",
          "params": [],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "event_series"
          ]
        },
        {
          "name": "entry_paper",
          "params": [
            "entry_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "tax_invoice",
            "journal_entry",
            "economic_event",
            "document",
            "event_number"
          ]
        },
        {
          "name": "returned_for_shipment",
          "params": [
            "document_id"
          ],
          "roles": [
            "storekeeper",
            "sales",
            "accountant"
          ],
          "tables": [
            "economic_event",
            "journal_entry"
          ]
        },
        {
          "name": "serials_of_item",
          "params": [
            "item_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "serial_number",
            "party"
          ]
        },
        {
          "name": "serials_for_event",
          "params": [
            "event_id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "serial_number",
            "item"
          ]
        },
        {
          "name": "item",
          "params": [
            "id"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant",
            "shop_worker"
          ],
          "tables": [
            "item"
          ]
        },
        {
          "name": "items_by_ids",
          "params": [
            "ids"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "item"
          ]
        },
        {
          "name": "company_profile",
          "params": [
            "as_of"
          ],
          "roles": [
            "viewer",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "company_profile"
          ]
        },
        {
          "name": "floor_board",
          "params": [
            "as_of"
          ],
          "roles": [
            "viewer",
            "shop_worker",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "production_order",
            "change_log",
            "economic_event",
            "journal_entry",
            "operation_live",
            "bom_operation",
            "item",
            "bom",
            "work_center"
          ]
        },
        {
          "name": "floor_board_then",
          "params": [
            "date",
            "back"
          ],
          "roles": [
            "viewer",
            "shop_worker",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "operation_live",
            "production_order",
            "change_log",
            "economic_event",
            "journal_entry",
            "bom_operation",
            "item",
            "bom",
            "work_center"
          ]
        },
        {
          "name": "floor_open",
          "params": [
            "as_of"
          ],
          "roles": [
            "viewer",
            "shop_worker",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "operation_live",
            "work_center",
            "production_order",
            "item",
            "serial_number",
            "bom_operation",
            "party",
            "change_log"
          ]
        },
        {
          "name": "floor_days",
          "params": [
            "as_of",
            "limit"
          ],
          "roles": [
            "viewer",
            "shop_worker",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "operation_live"
          ]
        },
        {
          "name": "floor_activity",
          "params": [
            "from",
            "to"
          ],
          "roles": [
            "viewer",
            "shop_worker",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "operation_live"
          ]
        },
        {
          "name": "floor_internal",
          "params": [
            "from",
            "to"
          ],
          "roles": [
            "viewer",
            "shop_worker",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "equipment_maintenance",
            "equipment",
            "equipment_verification"
          ]
        },
        {
          "name": "floor_order_parts",
          "params": [],
          "roles": [
            "viewer",
            "shop_worker",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "production_order_need",
            "reservation_held",
            "qc_unit",
            "item"
          ]
        },
        {
          "name": "floor_check_waiting",
          "params": [
            "date"
          ],
          "roles": [
            "viewer",
            "shop_worker",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "bom_operation",
            "qc_protocol",
            "serial_number",
            "item",
            "production_order",
            "qc_checklist"
          ]
        },
        {
          "name": "floor_plan_orders",
          "params": [],
          "roles": [
            "viewer",
            "shop_worker",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "operation_progress",
            "economic_event",
            "journal_entry",
            "operation_live",
            "production_order",
            "item",
            "bom_operation",
            "work_center"
          ]
        },
        {
          "name": "floor_plan_lines",
          "params": [
            "from"
          ],
          "roles": [
            "viewer",
            "shop_worker",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "economic_event",
            "journal_entry",
            "production_order",
            "production_order_output",
            "production_plan",
            "item",
            "bom",
            "bom_operation",
            "work_center"
          ]
        },
        {
          "name": "floor_order",
          "params": [
            "id"
          ],
          "roles": [
            "viewer",
            "shop_worker",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "production_order_output",
            "operation_progress",
            "economic_event",
            "journal_entry",
            "operation_live",
            "production_order",
            "item",
            "bom_operation",
            "work_center"
          ]
        },
        {
          "name": "floor_order_records",
          "params": [
            "id"
          ],
          "roles": [
            "viewer",
            "shop_worker",
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "operation_record",
            "work_center",
            "bom_operation",
            "party",
            "production_order"
          ]
        },
        {
          "name": "simulate_offers",
          "params": [],
          "roles": [
            "storekeeper",
            "sales",
            "purchaser",
            "production",
            "accountant"
          ],
          "tables": [
            "po_line_received",
            "so_line_shipped",
            "stock_balance",
            "item",
            "location",
            "reservation_balance",
            "purchase_order",
            "po_line",
            "party",
            "sales_order",
            "so_line",
            "party_role"
          ]
        }
      ]
    }
    curl
    curl 'https://demokrylo.bnp.works/api/v1/queries' \
      -H 'authorization: Bearer <ключ>'
  4. 4запит deal_parties разом550 мс200

    GET /api/v1/q/deal_parties

    Читає deal_parties (party, party_role)

    показати запит і відповідь
    GET /api/v1/q/deal_parties
    {
      "headers": {
        "authorization": "Bearer <ключ>"
      }
    }
    {
      "rows": [
        {
          "id": "14ae30c1-0b38-4a8b-a3b2-e8c8e5f562fd",
          "name": "БФ «Небо поруч»"
        },
        {
          "id": "6aa9f121-adc6-422e-b069-6fedbca62411",
          "name": "Військова частина А0000"
        },
        {
          "id": "c07b8a23-87fa-4ef9-9d30-1cc760250194",
          "name": "ДУ «Центр повітряного моніторингу»"
        },
        {
          "id": "53aa6f5b-f4d3-4775-ab94-3963b44b3840",
          "name": "ТОВ «Обрій Безпека»"
        },
        {
          "id": "6fb4f8cb-07e8-4093-a3a0-2b5aef36f77b",
          "name": "ТОВ «Поле з неба»"
        }
      ]
    }
    curl
    curl 'https://demokrylo.bnp.works/api/v1/q/deal_parties' \
      -H 'authorization: Bearer <ключ>'
  5. 5запит company_profile разом666 мс200

    GET /api/v1/q/company_profile?as_of=2026-10-08

    Читає company_profile (company_profile)

    показати запит і відповідь
    GET /api/v1/q/company_profile?as_of=2026-10-08
    {
      "headers": {
        "authorization": "Bearer <ключ>"
      }
    }
    {
      "rows": [
        {
          "id": "b6f7fe44-9a92-4274-b446-ddcdb10c82d2",
          "valid_from": "2025-11-03",
          "payload": "{\"legalName\":\"Товариство з обмеженою відповідальністю «Крило і Гвинт»\",\"shortName\":\"ТОВ «Крило і Гвинт»\",\"registrationNumber\":\"99000011\",\"vatNumber\":\"990000113067\",\"legalAddress\":\"79060, м. Львів, вул. Наукова, 7а\",\"iban\":\"UA783999900000002600701045128\",\"bankName\":\"АТ «Перший Прикладний Банк»\",\"directorName\":\"Сидорук Марія Василівна\",\"directorPosition\":\"Директор\",\"accountantName\":\"Луцик Богдан Ігорович\",\"accountantPosition\":\"Головний бухгалтер\",\"phone\":\"+380 32 000 44 10\",\"email\":\"office@krylo-i-hvynt.example\"}",
          "actor_id": "key:4e85ac04-cbc2-4060-bc6b-41006855c12d",
          "created_at": "2026-10-07T18:25:56.542Z"
        }
      ]
    }
    curl
    curl 'https://demokrylo.bnp.works/api/v1/q/company_profile?as_of=2026-10-08' \
      -H 'authorization: Bearer <ключ>'
  6. 6подання zbirka/promise914 мс200

    GET /api/v1/v/zbirka/promise?item=KMP-0001&qty=1

    Коли можна відвантажити: оцінка терміну для кількості однієї позиції

    Читає mrp_bom_lines (bom, bom_line), mrp_demand (production_order_output, so_line_shipped, so_line, sales_order, production_order, item), mrp_supply (reservation_held, po_line_received, stock_balance, po_line, purchase_order, item), mrp_analogs (bom, bom_line, bom_substitute, item), plan_open (economic_event, journal_entry, production_plan, production_order, production_order_output, item), promise_routes (bom, bom_operation, work_center, bom_operation_card), promise_lead_days (supplier_price), floor_plan_orders (operation_progress, economic_event, journal_entry, operation_live, production_order, item, bom_operation, work_center), floor_assignments (work_center_assignment, party, work_center), item_availability (reservation_held, stock_pool_on_hand, stock_reserved, item)

    Правило

    • Правило deliveryEstimate (packages/rules/src/promise.ts): план потреби рахують двічі, без цієї кількості і з нею; різниця - що виготовити і що купити. Куповане чекає термін постачальника, виготовлене - чергу і людей робочих місць; дні робочі, з понеділка по пʼятницю.
    показати запит і відповідь
    GET /api/v1/v/zbirka/promise?item=KMP-0001&qty=1
    {
      "headers": {
        "authorization": "Bearer <ключ>"
      }
    }
    {
      "rows": [
        {
          "row": "answer",
          "item_id": "3b1e86b5-f264-407a-957a-6c8d9fdd05e9",
          "code": "KMP-0001",
          "name": "Комплекс FPV: 10 дронів 7 дюймів з наземним обладнанням",
          "qty": 1,
          "today": "2026-10-08",
          "needed_by": null,
          "ready_on": "2026-11-30",
          "fits": null,
          "state": "buy",
          "on_hand": 0,
          "reserved": 0,
          "held": 0,
          "free": 0,
          "from_stock": 0,
          "to_make": 1,
          "to_buy": 0,
          "materials_on": "2026-11-02",
          "shop_days": 20,
          "work_minutes": 3045,
          "wait_minutes": 3805,
          "work": "50 год 45 хв"
        },
        {
          "row": "buy",
          "item_id": "2a97562b-db52-43e7-a573-681c32cc784e",
          "code": "REG-0001",
          "name": "Регулятор обертів 4-в-1 55 А 6S 30,5×30,5 мм, прошивка Bluejay",
          "qty": 11,
          "lead_days": 24,
          "arrives_on": "2026-11-02"
        },
        {
          "row": "buy",
          "item_id": "3374a6f1-76e4-4d0b-b3e1-00cfbeb01e1d",
          "code": "KRP-0005",
          "name": "Гвинт M3×10 з внутрішнім шестигранником",
          "qty": 160,
          "lead_days": 24,
          "arrives_on": "2026-11-02"
        },
        {
          "row": "buy",
          "item_id": "383912c4-7df7-4e37-ad8e-b89c274b7017",
          "code": "PRP-0003",
          "name": "Пропелер 7×4×3 CCW (проти годинникової)",
          "qty": 58,
          "lead_days": 24,
          "arrives_on": "2026-11-02"
        },
        {
          "row": "buy",
          "item_id": "3e221da5-7a27-4a90-9b14-e214e2e75d06",
          "code": "PRP-0001",
          "name": "Пропелер 7×4×3 CW (за годинниковою)",
          "qty": 58,
          "lead_days": 24,
          "arrives_on": "2026-11-02"
        },
        {
          "row": "buy",
          "item_id": "3eb7e3d5-2824-4351-825e-b26af2e1fb5f",
          "code": "KRP-0027",
          "name": "Килимок протиковзний під акумулятор",
          "qty": 10,
          "lead_days": 24,
          "arrives_on": "2026-11-02"
        },
        {
          "row": "buy",
          "item_id": "40e568ac-8bd4-4574-81f6-46923ca38b53",
          "code": "KRP-0003",
          "name": "Гвинт M3×6 з внутрішнім шестигранником",
          "qty": 80,
          "lead_days": 24,
          "arrives_on": "2026-11-02"
        },
        {
          "row": "buy",
          "item_id": "4771da1e-1b91-452b-9e53-4a4f99539338",
          "code": "ANT-0003",
          "name": "Антена приймача 900 МГц Т-подібна, роз'єм IPEX1",
          "qty": 16,
          "lead_days": 24,
          "arrives_on": "2026-11-02"
        },
        {
          "row": "buy",
          "item_id": "4f844097-c261-48c8-a9b6-57a8f5ddc5d3",
          "code": "KRP-0012",
          "name": "Гайка пропелера M5 самостопорна",
          "qty": 60,
          "lead_days": 24,
          "arrives_on": "2026-11-02"
        },
        {
          "row": "buy",
          "item_id": "5fdaf939-7917-437d-b81a-a039894cb5be",
          "code": "KRP-0010",
          "name": "Гайка M3 сталева",
          "qty": 40,
          "lead_days": 24,
          "arrives_on": "2026-11-02"
        },
        {
          "row": "buy",
          "item_id": "66d85042-2dcb-4f52-81ee-1c4452400c14",
          "code": "DVG-0001",
          "name": "Мотор безколекторний 2807 1300KV",
          "qty": 44,
          "lead_days": 24,
          "arrives_on": "2026-11-02"
        },
        {
          "row": "buy",
          "item_id": "7387952c-c987-45fe-9f1c-c1232e2f146d",
          "code": "KRP-0001",
          "name": "Гвинт M2×5 з внутрішнім шестигранником",
          "qty": 20,
          "lead_days": 24,
          "arrives_on": "2026-11-02"
        },
        {
          "row": "buy",
          "item_id": "7de10bd4-a81e-4a2f-8bb2-12c14d48f224",
          "code": "RAD-0001",
          "name": "Приймач ExpressLRS 900 МГц",
          "qty": 14,
          "lead_days": 24,
          "arrives_on": "2026-11-02"
        },
        {
          "row": "buy",
          "item_id": "822d0536-06d2-475a-be21-be6e6668bf35",
          "code": "KAB-0018",
          "name": "Шлейф стека JST-SH 8 контактів, 30 мм",
          "qty": 13,
          "lead_days": 24,
          "arrives_on": "2026-11-02"
        },
        {
          "row": "buy",
          "item_id": "8d213476-06e7-4fb2-8ece-78468bcaeadd",
          "code": "KRP-0015",
          "name": "Стійка нейлонова M3×6",
          "qty": 40,
          "lead_days": 24,
          "arrives_on": "2026-11-02"
        },
        {
          "row": "buy",
          "item_id": "97696e9d-aa2b-4b57-aa09-53f03330de45",
          "code": "KRP-0026",
          "name": "Ремінець для акумулятора 20×300 мм",
          "qty": 30,
          "lead_days": 24,
          "arrives_on": "2026-11-02"
        },
        {
          "row": "buy",
          "item_id": "a7aeef83-e743-433f-882d-35365872ecf8",
          "code": "KAB-0019",
          "name": "Кабель-перехідник MMCX – SMA, 100 мм",
          "qty": 13,
          "lead_days": 24,
          "arrives_on": "2026-11-02"
        },
        {
          "row": "buy",
          "item_id": "c7e9c07c-3e78-49b2-a592-5d13b08ae95a",
          "code": "KRP-0008",
          "name": "Гвинт M3×25 з внутрішнім шестигранником",
          "qty": 44,
          "lead_days": 24,
          "arrives_on": "2026-11-02"
        },
        {
          "row": "buy",
          "item_id": "d8ca176f-0362-4c21-83d6-a6be1947329b",
          "code": "EKM-0005",
          "name": "Зумер активний 5 В",
          "qty": 10,
          "lead_days": 24,
          "arrives_on": "2026-11-02"
        },
        {
          "row": "buy",
          "item_id": "def18579-7644-44a8-ab5a-4134b5eaa84c",
          "code": "VDE-0001",
          "name": "Відеопередавач аналоговий 5,8 ГГц 2,5 Вт",
          "qty": 11,
          "lead_days": 24,
          "arrives_on": "2026-11-02"
        },
        {
          "row": "buy",
          "item_id": "e0eff65f-e412-4c4f-bcb6-34dc79ea7690",
          "code": "KAM-0001",
          "name": "Камера FPV аналогова 1200TVL 19×19 мм",
          "qty": 11,
          "lead_days": 16,
          "arrives_on": "2026-10-26"
        },
        {
          "row": "buy",
          "item_id": "997946d2-6217-4ee0-97db-e27bc32cd1bc",
          "code": "AKB-0001",
          "name": "Акумулятор Li-ion 6S2P 8400 мА·год XT60",
          "qty": 20,
          "lead_days": 6,
          "arrives_on": "2026-10-14"
        },
        {
          "row": "buy",
          "item_id": "fd5c92d3-54f6-42e7-8b1e-fa0e64b29fb9",
          "code": "RAM-0001",
          "name": "Рама карбонова 7 дюймів, комплект",
          "qty": 10,
          "lead_days": 6,
          "arrives_on": "2026-10-14"
        },
        {
          "row": "buy",
          "item_id": "1dfefcf5-ad5d-40bd-aced-ba8d7ee655ef",
          "code": "PAK-0004",
          "name": "Пакет zip-lock 150×200 мм",
          "qty": 10,
          "lead_days": 5,
          "arrives_on": "2026-10-13"
        },
        {
          "row": "buy",
          "item_id": "04f566b5-2f7e-47e5-a01d-72fd53b4d541",
          "code": "KAB-0012",
          "name": "Провід силіконовий 28AWG",
          "qty": 6000,
          "lead_days": 3,
          "arrives_on": "2026-10-12"
        },
        {
          "row": "buy",
          "item_id": "1b398104-59e8-40ff-bd94-efbda276f3fb",
          "code": "KRP-0022",
          "name": "Стяжка нейлонова 2,5×100 мм",
          "qty": 100,
          "lead_days": 3,
          "arrives_on": "2026-10-12"
        },
        {
          "row": "buy",
          "item_id": "2c0be2c0-101e-42e0-b6ce-baa3d78f9224",
          "code": "MAT-0013",
          "name": "Етикетка термотрансферна 40×20 мм, чиста",
          "qty": 24,
          "lead_days": 3,
          "arrives_on": "2026-10-12"
        },
        {
          "row": "buy",
          "item_id": "66d0ea6d-5e82-4147-8038-601194124a33",
          "code": "MAT-0001",
          "name": "Філамент TPU 1,75 мм",
          "qty": 122,
          "lead_days": 3,
          "arrives_on": "2026-10-12"
        },
        {
          "row": "buy",
          "item_id": "8f9bc0d5-f102-45bf-a7e3-fcb1d8e92bcd",
          "code": "KAB-0015",
          "name": "Трубка термозбіжна прозора 20 мм",
          "qty": 400,
          "lead_days": 3,
          "arrives_on": "2026-10-12"
        },
        {
          "row": "buy",
          "item_id": "9847aa90-cb9d-4433-a3cc-a5759e20230b",
          "code": "MAT-0011",
          "name": "Папір офісний A4 80 г/м², аркуш",
          "qty": 104,
          "lead_days": 3,
          "arrives_on": "2026-10-12"
        },
        {
          "row": "buy",
          "item_id": "9c0295a9-c725-4298-9e28-8853b37cfccd",
          "code": "VTR-0003",
          "name": "Лак вологозахисний для плат",
          "qty": 50,
          "lead_days": 3,
          "arrives_on": "2026-10-12"
        },
        {
          "row": "buy",
          "item_id": "aa4cf86c-9b28-4d49-afb0-378debada3df",
          "code": "KAB-0003",
          "name": "Провід силіконовий 12AWG червоний",
          "qty": 1300,
          "lead_days": 3,
          "arrives_on": "2026-10-12"
        },
        {
          "row": "buy",
          "item_id": "cc5ab495-b8d5-43fd-9af2-6af4010229e8",
          "code": "KAB-0004",
          "name": "Провід силіконовий 12AWG чорний",
          "qty": 1300,
          "lead_days": 3,
          "arrives_on": "2026-10-12"
        },
        {
          "row": "buy",
          "item_id": "eb0a8d5b-d91c-44ca-8b64-b23476fc05a1",
          "code": "VTR-0002",
          "name": "Фіксатор різьби синій",
          "qty": 10,
          "lead_days": 3,
          "arrives_on": "2026-10-12"
        },
        {
          "row": "buy",
          "item_id": "fa79601a-703c-4b7c-83ef-dfe4885edeb4",
          "code": "VTR-0001",
          "name": "Припій Sn63Pb37 з флюсом, 0,8 мм",
          "qty": 160,
          "lead_days": 3,
          "arrives_on": "2026-10-12"
        },
        {
          "row": "make",
          "item_id": "3b1e86b5-f264-407a-957a-6c8d9fdd05e9",
          "code": "KMP-0001",
          "name": "Комплекс FPV: 10 дронів 7 дюймів з наземним обладнанням",
          "qty": 1,
          "work_minutes": 460,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "0de27525-e412-492b-a694-1b08e64be1b4",
          "code": "VYR-0006",
          "name": "Наземна станція керування в кейсі (FPV)",
          "qty": 1,
          "work_minutes": 310,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "0e047e88-ad38-4ee8-a109-0aefaacabe44",
          "code": "VYR-0008",
          "name": "Виносний антенний пост",
          "qty": 1,
          "work_minutes": 210,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "318b984a-ae42-4948-bbaa-e63807b05b28",
          "code": "DKM-0007",
          "name": "Відомість ЗІП",
          "qty": 1,
          "work_minutes": 2,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "45b59ba7-c1e9-42ad-aaad-781e9b8f446f",
          "code": "DKM-0008",
          "name": "Пакувальний лист",
          "qty": 1,
          "work_minutes": 2,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "4a25e2bc-4c28-4286-b56f-8665818b3a78",
          "code": "DKM-0005",
          "name": "Формуляр комплексу з переліком серійних номерів",
          "qty": 1,
          "work_minutes": 4,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "4cc5c07d-a191-4292-878b-8143b3f3544b",
          "code": "DKM-0009",
          "name": "Акт приймання-передачі",
          "qty": 2,
          "work_minutes": 4,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "764e7cc0-5fed-4269-93cd-b4cef783dfcd",
          "code": "DKM-0011",
          "name": "Журнал обліку акумуляторів",
          "qty": 1,
          "work_minutes": 2,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "ade5d759-99fe-47e9-a78e-bc0d271411e4",
          "code": "VYR-0001",
          "name": "FPV-дрон 7 дюймів",
          "qty": 10,
          "work_minutes": 980,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "d85e6ae9-b5a0-42fa-a6c9-2d572fd2a47a",
          "code": "DKM-0006",
          "name": "Відомість експлуатаційних документів",
          "qty": 1,
          "work_minutes": 1,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "05af3e25-5c80-4fa2-aa38-b5ffb46de64d",
          "code": "DKM-0002",
          "name": "Настанова щодо експлуатування",
          "qty": 3,
          "work_minutes": 12,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "25840c4a-9c8d-4650-adaf-a92c1997c1e1",
          "code": "DET-0007",
          "name": "Ложемент кейса поста",
          "qty": 1,
          "work_minutes": 15,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "2c446af9-27d6-4767-a758-5f66c378d749",
          "code": "VUZ-0025",
          "name": "Котушка Ethernet 75 м",
          "qty": 1,
          "work_minutes": 30,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "3278844b-93fe-4fa5-9ec7-33b2599ebe60",
          "code": "VUZ-0020",
          "name": "Блок живлення станції",
          "qty": 1,
          "work_minutes": 75,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "533e0f15-1707-4d18-a26a-0b01d9698f83",
          "code": "VUZ-0031",
          "name": "Котушка відеокабелю 75 м",
          "qty": 1,
          "work_minutes": 30,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "5a3645fd-5db5-41aa-835b-ae3cc8d38ddf",
          "code": "VUZ-0019",
          "name": "Блок відеоприймача станції",
          "qty": 1,
          "work_minutes": 20,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "5abd9773-9219-409c-a3ab-76e05cf28473",
          "code": "VUZ-0001",
          "name": "Рама з моторами, 7 дюймів",
          "qty": 10,
          "work_minutes": 150,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "5bad103b-e962-431e-a14d-0c03c5e3a7e3",
          "code": "VUZ-0004",
          "name": "Комплект джгутів, 7 дюймів",
          "qty": 10,
          "work_minutes": 80,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "609332a8-adfe-47c8-a92f-f92898f85b2d",
          "code": "DKM-0001",
          "name": "Паспорт виробу",
          "qty": 12,
          "work_minutes": 36,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "629b9b56-85b8-45f0-982b-d0331eb6c6eb",
          "code": "VUZ-0003",
          "name": "Відеоблок денний",
          "qty": 10,
          "work_minutes": 80,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "63380554-da14-4ef6-837e-a7b874513377",
          "code": "VUZ-0022",
          "name": "Джгут кейса станції",
          "qty": 1,
          "work_minutes": 60,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "8c3229ee-4eda-4c01-81b3-d2d7a3715159",
          "code": "VUZ-0021",
          "name": "Кейс станції з панеллю",
          "qty": 1,
          "work_minutes": 60,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "a1f0569d-ea0b-4f0d-afaa-2a4ea34bb9b2",
          "code": "VUZ-0023",
          "name": "Вузол керування поста",
          "qty": 1,
          "work_minutes": 55,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "aceedebc-35ca-4119-836a-f08d88bef27e",
          "code": "DRK-0025",
          "name": "Тримач акумулятора друкований ASA",
          "qty": 1,
          "work_minutes": 4,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "ae107352-a843-4200-a46e-067c5ac445c6",
          "code": "DET-0014",
          "name": "Кабель живлення-розгалужувач XT60, 2 м",
          "qty": 1,
          "work_minutes": 15,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "b92fb2ef-ffa3-4269-92c4-a6c9fb8839e6",
          "code": "VUZ-0002",
          "name": "Стек керування 55 А",
          "qty": 10,
          "work_minutes": 80,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "d3083ec2-1491-4ee5-8903-b18f110786b4",
          "code": "VUZ-0024",
          "name": "Вузол відео поста",
          "qty": 1,
          "work_minutes": 50,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "d986281e-d7d9-43d4-9d8f-38489126d903",
          "code": "DET-0009",
          "name": "Шильдик із серійним номером (лазерне гравіювання)",
          "qty": 2,
          "work_minutes": 6,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "e22be3b2-de47-46bc-8887-8204134bb448",
          "code": "DET-0015",
          "name": "Кабель живлення комутатора DC 5,5×2,1 від виходу 12 В",
          "qty": 1,
          "work_minutes": 8,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "e753bc62-cae5-43e4-b0b0-21a0e50fbdcf",
          "code": "PAK-0006",
          "name": "Етикетка із серійним номером 40×20 мм",
          "qty": 24,
          "work_minutes": 24,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "fd3b240a-3d1e-4c44-ae80-795fcdf70367",
          "code": "DKM-0004",
          "name": "Чек-лист приймання з підписом",
          "qty": 1,
          "work_minutes": 1,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "1bdfc972-e25b-43c7-916c-20da06f4979d",
          "code": "DRK-0003",
          "name": "Кріплення антени відеопередавача TPU",
          "qty": 13,
          "work_minutes": 13,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "23e9ff58-63a7-4d03-9517-e1da3d778ae5",
          "code": "DET-0002",
          "name": "Панель монтажна станції, лист 3 мм",
          "qty": 1,
          "work_minutes": 30,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "48662ba5-2aca-49ca-865a-5d89655afc0a",
          "code": "DRK-0022",
          "name": "Корпус вузла відео друкований ASA",
          "qty": 1,
          "work_minutes": 15,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "4d973bb9-be30-4375-9ea5-1d8c23c7cb19",
          "code": "DRK-0004",
          "name": "Кріплення антени приймача TPU",
          "qty": 13,
          "work_minutes": 13,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "4e8751b5-8e99-4d7e-a461-6f06be9208cf",
          "code": "DRK-0019",
          "name": "Комплект друкованих деталей PETG для станції",
          "qty": 1,
          "work_minutes": 30,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "8c57e2a8-790a-4a33-b1ed-5df62f1eb137",
          "code": "DET-0006",
          "name": "Ложемент кейса станції",
          "qty": 1,
          "work_minutes": 15,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "d78739b4-15b5-4b9f-a2db-0b70e0eca54c",
          "code": "DRK-0020",
          "name": "Корпус вузла керування друкований ASA",
          "qty": 1,
          "work_minutes": 15,
          "no_route": 0
        },
        {
          "row": "make",
          "item_id": "f17695d1-9751-4009-873f-3e86c63966b8",
          "code": "DRK-0001",
          "name": "Накладка на промінь TPU, рама 7 дюймів",
          "qty": 48,
          "work_minutes": 48,
          "no_route": 0
        },
        {
          "row": "work",
          "work_center_id": "31b15aa1-56b6-40e7-974f-549ba35e3a0f",
          "work_center": "FIRMWARE",
          "work_center_name": "Прошивка і налаштування",
          "minutes": 375,
          "queue_minutes": 2698,
          "day_minutes": 240,
          "people": 1,
          "assumed": 0,
          "days": 13
        },
        {
          "row": "work",
          "work_center_id": "8288883a-f561-4ea2-8992-5d567939626e",
          "work_center": "SOLDER",
          "work_center_name": "Пайка та монтаж електроніки",
          "minutes": 700,
          "queue_minutes": 10944,
          "day_minutes": 960,
          "people": 2,
          "assumed": 0,
          "days": 13
        },
        {
          "row": "work",
          "work_center_id": "535be5dd-e577-460f-aff8-efc6ccde1421",
          "work_center": "FLIGHT",
          "work_center_name": "Обліт",
          "minutes": 225,
          "queue_minutes": 2135,
          "day_minutes": 240,
          "people": 1,
          "assumed": 0,
          "days": 10
        },
        {
          "row": "work",
          "work_center_id": "15551204-9781-41d4-9fef-f1c7532a4d3a",
          "work_center": "BENCH",
          "work_center_name": "Стендові випробування",
          "minutes": 335,
          "queue_minutes": 3799,
          "day_minutes": 480,
          "people": 1,
          "assumed": 0,
          "days": 9
        },
        {
          "row": "work",
          "work_center_id": "2db53e44-c4b8-4e0d-a7de-db28fe7ed078",
          "work_center": "MECH",
          "work_center_name": "Механічне збирання",
          "minutes": 674,
          "queue_minutes": 2480,
          "day_minutes": 960,
          "people": 2,
          "assumed": 0,
          "days": 4
        },
        {
          "row": "work",
          "work_center_id": "57ec6041-5755-41f5-9554-b3775aa29826",
          "work_center": "STORE",
          "work_center_name": "Склад і зарядна",
          "minutes": 239,
          "queue_minutes": 1464,
          "day_minutes": 480,
          "people": 1,
          "assumed": 0,
          "days": 4
        },
        {
          "row": "work",
          "work_center_id": "f96299e2-ef43-4411-8cde-8dae582177a6",
          "work_center": "PACK",
          "work_center_name": "Пакування і комплектація",
          "minutes": 274,
          "queue_minutes": 1303,
          "day_minutes": 480,
          "people": 1,
          "assumed": 0,
          "days": 4
        },
        {
          "row": "work",
          "work_center_id": "5b528262-1935-4b45-a0d1-e7d3ebdacdc0",
          "work_center": "CABLE",
          "work_center_name": "Кабельна дільниця",
          "minutes": 223,
          "queue_minutes": 0,
          "day_minutes": 480,
          "people": 1,
          "assumed": 0,
          "days": 1
        }
      ]
    }
    curl
    curl 'https://demokrylo.bnp.works/api/v1/v/zbirka/promise?item=KMP-0001&qty=1' \
      -H 'authorization: Bearer <ключ>'

Як зробити так само

Ця сторінка - окремий Worker без бази. Вона знає адресу ERP і один ключ; усе інше питає через API.