# FSP — Fulfillment Services Protocol Открытый стандарт услуг фулфилмента: прайс оператора, свободные мощности и заявка на фулфилмент описываются машиночитаемо. Версия протокола 1.0. Канон: https://github.com/open-fsp/fsp. Спецификация, реестры и схемы под CC BY 4.0, код под Apache-2.0. ## Происхождение и управление Стандарт ведёт МПФИТ (https://mpfit.ru) — облачная WMS для фулфилмент-центров и селлеров; она же первая реализация. Протокол выделен из внутреннего стандарта каталога услуг МПФИТ (версии 1.0–1.3, первая половина 2026 года), где всё жило одной версией: правка в модели цены поднимала версию каталога услуг. Разделение на независимо версионируемые модули, манифест согласования и уровни соответствия появились при выделении. Правки принимаются через pull request в канон; решает валидатор, отказ обязан ссылаться на конкретное правило или проверку. Подробнее: https://openfsp.ru/about/ ## Устройство Протокол собран из модулей, каждый версионируется отдельно (MAJOR.MINOR). Сторона объявляет поддерживаемые модули и версии в манифесте по адресу /.well-known/fsp; стороны сводят манифесты и работают по пересечению. - core 1.0 — Общий язык: услуги, единицы начисления, категории товара, габаритные профили, оператор и склад. - pricing 1.0 — Как оператор описывает свой прайс: тарифный план, предложения, правила цены, условия, модификаторы, ступени. Зависит от: core. - capacity 1.0 — Что оператор готов взять, сколько у него свободно и куда он возит. Волатильные данные с отметкой актуальности. Зависит от: core. - quote 1.0 — Запрос сметы (операции + объём) и ответ: подошедшие операторы, смета, применённые допущения, коды непокрытия. Зависит от: core, pricing, capacity. - order (planned, реестров нет) — Поставка на склад, отгрузка, возврат: заказ как объект обмена между заявителем и оператором. Зависит от: core, capacity. - tracking (planned, реестров нет) — События по заказу и остатки на складе оператора. Зависит от: core, order. ## Уровни соответствия FSP Pricing Глубина описания прайса разная у разных операторов, поэтому модуль цен определяет уровни. Оператор объявляет достигнутый; согласованным считается наименьший общий уровень. - L1 Плоский прайс: Прайс-лист, где у строки есть услуга, единица начисления и одна ставка - L2 Условия и модификаторы: Ставка зависит от габаритов, схемы, маршрута или объёма; наценки за срочность и минимальный чек - L3 Ступенчатые тарифы: Бесплатный период хранения, разная цена первой и последующих единиц, матрицы цены по количеству ## Ключевые решения - Запрос сметы описывается операциями и объёмом, а не площадью под хранение (QUOTE-001). - Формулы вывода площади и остатка стандартом не нормируются; применённые допущения обязаны возвращаться в ответе полем assumptions (QUOTE-002). - Свободная мощность декларативна: стандарт не требует её верификации, актуальность выражается через updated_at (CAP-002). - Непокрытие возвращается кодами закрытого реестра из 21 причин, а не текстом (QUOTE-003). - Коды стандартных услуг неизменяемы после публикации (CAT-001). - Своя операция вне стандарта оформляется расширением x-: с указанием родительского модуля; расширение только добавляет поля и не переопределяет стандартные (PROFILE-007). ## Состав - Услуг в каталоге: 59 (53 базовых) - Полей условий цены: 92 - Нормативных правил: 68 - Проверок целостности в валидаторе: 40 - Тарифных вариантов из реальных прайсов в приложении: 166 ## Страницы - https://openfsp.ru/ — обзор - https://openfsp.ru/about/ — зачем нужен стандарт, откуда взялся, кто ведёт - https://openfsp.ru/modules/ — модули и правила версионирования - https://openfsp.ru/modules/core/ — FSP Core - https://openfsp.ru/modules/pricing/ — FSP Pricing - https://openfsp.ru/modules/capacity/ — FSP Capacity - https://openfsp.ru/modules/quote/ — FSP Quote - https://openfsp.ru/modules/order/ — FSP Order - https://openfsp.ru/modules/tracking/ — FSP Tracking - https://openfsp.ru/profile/ — манифест и правила согласования сторон - https://openfsp.ru/rules/ — все нормативные правила - https://openfsp.ru/artifacts/ — машиночитаемые артефакты - https://openfsp.ru/appendix/ — разбор реальных прайсов (вне стандарта) - https://openfsp.ru/changelog/ — что менялось ## Машиночитаемое - https://openfsp.ru/1.0/<модуль>/schema.json — JSON Schema сущностей модуля - https://openfsp.ru/1.0/<модуль>/module.json — манифест модуля - https://openfsp.ru/1.0/<модуль>/<реестр>.json — реестр как массив объектов - https://openfsp.ru/1.0/<модуль>/<реестр>.csv — реестр как CSV - https://openfsp.ru/1.0/profile/fsp-profile.schema.json — схема манифеста стороны - https://openfsp.ru/1.0/quote/openapi.yaml — OpenAPI модуля Quote