Сайт Gliver.
Через командную строку.
CLI даёт сотрудникам и их рабочим инструментам доступ к тем же операциям Agent API: читать каталог, собирать страницы конструктора, считать изделия, работать с проектами и заказами в пределах прав своей учётной записи.
Быстрый старт
Нужны Node.js 20+, установленный Gliver CLI и ваша учётная запись на сайте. Сторонние Node-пакеты не требуются. Примеры ниже используют ./bin/gliver из корня репозитория; если CLI добавлен в PATH, используйте gliver.
./bin/gliver help
./bin/gliver config set-url https://gliver.ru
./bin/gliver auth login- Откройте ссылку из
auth login. Войдите в свою учётную запись Gliver и подтвердите показанный код на странице подключения. - Завершите подключение. Выполните
./bin/gliver auth complete. Если ответauthorization_pending, подтверждение ещё не завершено. - Проверьте доступ.
./bin/gliver auth statusи./bin/gliver meпокажут подключение и текущие права.
./bin/gliver auth complete
./bin/gliver me
./bin/gliver catalog search диван --limit 10Например, команды может запускать Codex, Cursor или Claude Code. Вход всегда подтверждаете вы на сайте. По умолчанию запрос называется «Gliver CLI»; имя можно указать через auth login --client-name "Cursor · Gliver CLI". Сверяйте код подключения: название задаёт сам клиент.
Действия зависят от роли
API проверяет права при каждом запросе. Смена роли на сайте сразу меняет доступные операции. Обычный пользователь не может создавать и менять проекты.
| Режим | Что доступно | Основание |
|---|---|---|
| Публичный | Чтение страниц и каталога, предварительный расчёт. | Без входа или обычная учётная запись |
| Менеджер | Всё публичное + проекты, расчёты, создание и изменение заказов. | Группа 9 |
| Администратор | Всё менеджерское + конструктор страниц + чтение журнала вызовов API. | Группа 1 |
Редактирование страниц также доступно сотрудникам с правом записи в инфоблок конструктора 31. Сотрудники группы 12 видят скрытые для публичного каталога товары. Одна эта группа не даёт доступ к проектам и заказам.
Справочник CLI
Все команды выводят JSON. Для операций с телом запроса передайте JSON-объект через stdin. Флаги пишутся после команды.
Подключение и сервис
./bin/gliver config set-url https://gliver.ru
./bin/gliver auth login
./bin/gliver auth complete
./bin/gliver auth status
./bin/gliver auth logout
./bin/gliver status
./bin/gliver me
./bin/gliver openapiКаталог, страницы, расчёт
./bin/gliver catalog sections
./bin/gliver catalog search диван --limit 10
./bin/gliver catalog get 1380
./bin/gliver content list --q диваны --limit 50
./bin/gliver content get static delivery
./bin/gliver calc modules
./bin/gliver calc fabrics Омега --module backrest --type free
./bin/gliver calc module backrest --type free
./bin/gliver calc quote < quote.jsonКонструктор страниц · редактор контента
./bin/gliver pages roots
./bin/gliver pages list
./bin/gliver pages product-card 1536
./bin/gliver pages get 410
./bin/gliver pages block-types --template 2023
./bin/gliver pages block-type catsli --template 2023
./bin/gliver pages block-types
./bin/gliver pages block-type title
./bin/gliver pages create < page.json
./bin/gliver pages add-block 410 < block.json
./bin/gliver pages update-block 410 456 < block-update.json
./bin/gliver pages link-product 123 < link.json
./bin/gliver pages unlink-product 123 < link.json
./bin/gliver pages reorder 410 < order.json
./bin/gliver pages upload-file ./image.webp
./bin/gliver pages update 123 < page-update.json
./bin/gliver pages delete-block 410 456 < version.json
./bin/gliver pages delete 123 < version.jsonМенеджер и администратор
./bin/gliver projects list --q Иванов --limit 30
./bin/gliver projects get 123
./bin/gliver projects create < project.json
./bin/gliver projects update 123 < update.json
./bin/gliver projects add-calculated 123 < item.json
./bin/gliver projects checkout-options 123
./bin/gliver orders locations Москва
./bin/gliver projects create-order 123 < checkout.json
./bin/gliver orders list --page 1 --limit 30
./bin/gliver orders get 123
./bin/gliver orders contractors 123 ООО
./bin/gliver orders buyer 123 < buyer.json
./bin/gliver orders custom-classifiers 123 диван
./bin/gliver orders custom-context 123 456
./bin/gliver orders custom-create 123 < custom.json
./bin/gliver orders custom-update 123 456 < custom.json
./bin/gliver orders project-items 123
./bin/gliver orders add-project-item 123 < project-item.json
./bin/gliver orders catalog-colors 43662
./bin/gliver orders catalog-add 123 < catalog-item.json
./bin/gliver orders catalog-update 123 456 < catalog-item.json
./bin/gliver orders fabric-colors 43161
./bin/gliver orders fabric-add 123 < fabric-item.json
./bin/gliver orders stock-search кресло
./bin/gliver orders stock-add 123 < stock-item.json
./bin/gliver orders module-context 123 456
./bin/gliver orders module-update 123 456 < module.json
./bin/gliver orders update 123 < update.json
./bin/gliver orders update-item 123 456 < quantity.json
./bin/gliver audit list --limit 50 --offset 0Редактирование проекта
./bin/gliver projects get 123
./bin/gliver projects update-calculated 123 1 < item.json
./bin/gliver projects color 123 1 < color.json
./bin/gliver projects remove-configuration 123 1 result-val-1-2 < version.json
./bin/gliver projects custom-classifiers диван
./bin/gliver projects upload-file 123 ./drawing.pdf --if-version HASH
./bin/gliver projects custom-create 123 < custom.json
./bin/gliver projects catalog-create 123 < catalog.json
./bin/gliver projects copy-with-fabric 123 < copy.json
./bin/gliver projects editor-select 123 < editor.json
./bin/gliver projects scheme-save 123 ./scheme.png --if-version HASH
./bin/gliver projects pdf 123 --type client
./bin/gliver projects history 123Карточка заказа
./bin/gliver orders operations 123
./bin/gliver orders references 123
./bin/gliver orders history 123
./bin/gliver orders shipping 123
./bin/gliver orders payments-1c 123
./bin/gliver orders order-1c 123
./bin/gliver orders run 123 priority < priority.json
./bin/gliver orders upload-file 123 ./file.pdf --if-version HASH
./bin/gliver orders download-file 123 456 --output ./file.pdf
./bin/gliver orders download-bill 123 --output ./bill.pdf
./bin/gliver orders create-payment-link 123 < link.json
./bin/gliver orders send-payment-link 123 < email.json
./bin/gliver orders payment-action 123 card < payment.jsonУ заказов также есть фильтры --status, --id, --phone, --project-id. Адрес сервера можно временно переопределить через GLIVER_BASE_URL. Для страниц обычный менеджерский доступ недостаточен: нужны права редактора инфоблока 31. Свойство ElementWithDescription принимает {"id":65687,"description":"Первая вкладка"}; веб-форма выбирается по числовому id из справочника типа блока.
Рабочие сценарии
Найти товар и прочитать страницу
./bin/gliver catalog search диван --limit 10
./bin/gliver catalog get 1380
./bin/gliver content list --q доставка
./bin/gliver content get static deliveryID товара и код страницы приведены для примера. Для других товаров и страниц используйте значения из ответа поиска.
Собрать и опубликовать страницу
./bin/gliver pages roots
./bin/gliver pages block-types
./bin/gliver pages block-type title
printf '%s\n' '{"parent_id":238,"name":"Новая страница","code":"new-page","noindex":true}' | ./bin/gliver pages create
printf '%s\n' '{"if_version":"VERSION_ИЗ_PAGES_GET","type":"title","name":"Заголовок","properties":{"TITLE_TEXT":"Новая страница"}}' | ./bin/gliver pages add-block PAGE_ID
./bin/gliver pages get PAGE_ID
printf '%s\n' '{"if_version":"НОВАЯ_VERSION","active":true}' | ./bin/gliver pages update PAGE_IDpages create создаёт черновик внутри действующего маршрута, например /blog/. Получайте свежий version после каждой записи. Варианты оформления задавайте XML_ID из pages block-type; файл для блока загрузите через pages upload-file и передайте его file_id. Публикация открывает страницу на текущем сайте. Для главной используйте pages get 410, pages block-types --template 2023 и команды работы с блоками для страницы 410.
Изменить блок на главной
./bin/gliver pages get 410
./bin/gliver pages block-types --template 2023
./bin/gliver pages block-type title --template 2023
printf '%s\n' '{"if_version":"VERSION_ИЗ_PAGES_GET","properties":{"TITLE_TEXT":"Новый заголовок"}}' | ./bin/gliver pages update-block 410 BLOCK_ID
./bin/gliver pages get 410Главная имеет ID 410 и шаблон 2023. Перед изменением получите свежую version и проверьте тип выбранного блока. Для слайдера catsli описания заголовков и изображений передаются вместе со значениями; у множественного свойства передавайте весь массив, чтобы сохранить остальные слайды. Новый блок можно подготовить с active:false, затем включить через pages update-block. Настройки и удаление самой главной страницы закрыты.
Создать проект
printf '%s\n' '{"client":"Иван Иванов","phone":"+7 999 000-00-00"}' | ./bin/gliver projects createCLI добавляет ключ идемпотентности и возвращает его вместе с результатом. Если запрос оборвался и вы не знаете, был ли создан проект, повторите с тем же --idempotency-key <ключ>. При совпадении телефона API предупредит о возможном дубле; осознанное повторное создание требует "allow_duplicate": true.
Изменить проект
./bin/gliver projects get 123
printf '%s\n' '{"client":"Иван Иванов","phone":"+7 999 000-00-00","if_version":"ВЕРСИЯ_ИЗ_КАРТОЧКИ"}' | ./bin/gliver projects update 123Возьмите version из свежей карточки проекта. Если её уже изменили, вернётся HTTP 409: прочитайте карточку заново и повторите изменение.
Посчитать и добавить модуль
./bin/gliver calc modules
./bin/gliver calc module backrest --type free
./bin/gliver calc fabrics Вертикаль --module backrest --type free
./bin/gliver calc quote < quote.json
./bin/gliver projects add-calculated 123 < item.json{"code":"backrest","fields":{"type":"free","width":1200,"height":1050,"weight_correction":5,"fabric_id":20138,"color":"выбранный цвет"}}Для модулей Фри и Драм передайте fields.type со значением free или drum и используйте тот же тип при поиске ткани и добавлении расчёта в проект. Поправка на вес задаётся процентом: 0 — до 80 кг, 5 — 80–100 кг, 10 — 100–120 кг, 15 — 120–140 кг. Найдите ткань и возьмите её id из поиска: сервер сам подставит название и текущую цену. Для альтернативной ткани вместо ID укажите cloth_price и cloth_title — объекты с одинаковыми ключами. Для заказа добавьте fields.color и передайте те же поля при сохранении. В item.json также нужны item_index (по умолчанию 0) и массив configurations с ключами из price_table ответа расчёта. Повторяйте прерванный запрос с исходным ключом идемпотентности.
Посчитать модуль Квадро
./bin/gliver calc module quad_backrest
./bin/gliver calc fabrics Velutto --module quad_backrest
./bin/gliver calc quote < quote-quad.json{"code":"quad_backrest","fields":{"width":1400,"height":1400,"fabric_id":104831}}Для Квадро есть коды quad_backrest, quad_angular и quad_puff. Тип уже задан кодом; ширину и глубину выбирайте из calc module. Высоты и поправка на вес фиксированы, как на сайте. configurations в описании модуля — все возможные комплектации, а не обещание цены для каждого размера. После расчёта смотрите items[].available_configurations: там только комплектации с ценой для выбранных параметров. При сохранении в проект передайте нужный price_key в массиве configurations, добавьте fields.color и используйте те же поля.
Изменить состав и подготовить документы
./bin/gliver projects get 123
./bin/gliver projects custom-classifiers диван
./bin/gliver orders catalog-colors 43662
./bin/gliver projects catalog-create 123 < catalog.json
./bin/gliver projects copy-with-fabric 123 < copy.json
./bin/gliver projects scheme-save 123 ./scheme.png --if-version HASH
./bin/gliver projects pdf 123 --type client
./bin/gliver projects history 123{"if_version":"ВЕРСИЯ_ИЗ_PROJECTS_GET","positions":[1],"fabric_id":20138}Перед каждым изменением используйте свежий version проекта как if_version. Копирование заново считает цену по текущей формуле и очищает цвет: выберите цвет новой ткани командой projects color. Для старой позиции без calculator_fields укажите исходные параметры в fields_by_position, например {"1":{"width":"1700","height":"1200"}}. При замене каталожной позиции сайт выдаёт новый id; последующие изменения делайте по нему. Для изменения цвета в уже созданных заказах передайте update_linked_orders: true: сайт обновит их через 1С.
Создать заказ из проекта
./bin/gliver projects checkout-options 123
./bin/gliver orders locations Москва
./bin/gliver orders checkout-contractors 456
./bin/gliver orders agent-requests 789
./bin/gliver projects checkout-preview 123 < checkout.json
./bin/gliver projects create-order 123 < checkout.json{"if_project_version":"ВЕРСИЯ_ИЗ_CHECKOUT_OPTIONS","items":[{"kind":"calculated","position":1,"configuration":"result-val-1-1"}],"checkout":{"payment_system_id":10,"delivery_id":3,"payer_type":"person","scheme":"retail","order_city_id":118,"order_source":"ИСТОЧНИК_ИЗ_CHECKOUT_OPTIONS","delivery_term":"УСЛОВИЕ_ИЗ_CHECKOUT_OPTIONS","properties":{"name":"Иван","phone":"+7 999 000-00-00","address":"Москва, улица Примерная, дом 1","city":"Москва","index":"101000","street":"Примерная","house":"1"}}}Версию, позиции, способы оплаты, доставки, источник заказа и условия доставки берите из checkout-options; город — из orders locations. Для опта с дилером укажите scheme: wholesale, payer: dealer и dealer_id; контрагента выбирайте командой orders checkout-contractors. Для опта по агентской заявке укажите payer: agent, agent_id и agent_request_id из orders agent-requests. checkout-preview возвращает предварительную сумму позиций без создания заказа; окончательная сумма появится после оформления. После создания проверьте сумму, проект и documents в карточке заказа.
Изменить заказ
./bin/gliver orders get 456
printf '%s\n' '{"if_version":"ВЕРСИЯ_ИЗ_ЗАКАЗА","properties":{"name":"Иван Петров"}}' | ./bin/gliver orders update 456
./bin/gliver orders get 456
printf '%s\n' '{"if_version":"НОВАЯ_ВЕРСИЯ","quantity":2}' | ./bin/gliver orders update-item 456 789Получателя, адрес и комментарий меняйте разными запросами. Комментарий передаётся как "comment":"Текст"; для очистки используйте пустую строку. Перед каждым изменением получайте свежий version. Количество пересчитывает стоимость по правилам сайта.
Операции карточки заказа
./bin/gliver orders get 456
./bin/gliver orders operations 456
./bin/gliver orders references 456
printf '%s\n' '{"if_version":"ВЕРСИЯ_ИЗ_ЗАКАЗА","value":"anytime"}' | ./bin/gliver orders run 456 priority
./bin/gliver orders get 456operations показывает доступные действия, references — актуальные ID услуг, организаций, менеджеров и значения справочников сайта. Для записи передайте if_version из свежего orders get. Изменение оплат и отправка ссылки также требуют ключа идемпотентности; CLI создаёт его автоматически и показывает для повторной попытки.
Действия orders run | Поля JSON кроме if_version | Назначение |
|---|---|---|
priority, status, manager | value = anytime / not-before и date; status_id; manager_id | Приоритет, статус, ответственный. |
delivery-terms, store, organization, project, pickup, delivery | delivery_term и при необходимости delivery_date, readiness_date, delivery_time; code; organization_id; project_id; для самовывоза дополнительных полей нет; для переключения на доставку передайте properties с полным адресом. | Доставка и привязки заказа. |
production-comment, confirm, refresh-pdf | comment; для двух остальных дополнительных полей нет. | Комментарий производства, подтверждение и документы. |
add-service, delete-item, item-discount, item-price, reexport-item | service_id, price, quantity; basket_id; для скидки ещё discount, для цены — base_price. | Состав и цены. Изменение цены товара ограничено ролью. |
dealer, agent, remove-dealer, remove-agent | dealer_id и необязательный discount_id; для снятия дополнительных полей нет. | Дилер или агент и его скидка. |
cancel-request, delete-request | reason | Запрос на отмену или удаление. |
approve-cancel, reject-cancel, approve-delete, reject-delete, reexport-order, export-payment | Только для export-payment нужен payment_id. | Администраторские действия по запросам и обмену с 1С. |
Сменить тип покупателя
./bin/gliver orders get 456
./bin/gliver orders contractors 456 Название
./bin/gliver orders buyer 456 < buyer.json{"if_version":"ВЕРСИЯ_ИЗ_ЗАКАЗА","person_type":"organization","contractor_id":"new","recipient":{"name":"Иван","phone":"+7 999 000-00-00","email":"client@example.com"},"company":{"company_name":"Тестовая компания","inn":"7700000000","phone":"+7 999 000-00-00","email":"office@example.com"}}Для существующего контрагента возьмите числовой ID из orders contractors. Для нового укажите contractor_id: "new". Дополнительные поля компании: kpp, bik, bank_name, correspondent_account, checking_account, legal_address. Для физического лица передайте person_type: "person" и recipient, без company. После выгрузки в 1С сайт запрещает смену юридического лица обратно на физическое. При повторе после сбоя используйте тот же ключ идемпотентности.
Добавить или заменить позицию
./bin/gliver orders custom-classifiers 456 диван
./bin/gliver orders custom-context 456 789
./bin/gliver orders get 456
./bin/gliver orders upload-file 456 ./photo.png --if-version HASH
./bin/gliver orders upload-file 456 ./drawing.pdf --if-version НОВЫЙ_HASH
./bin/gliver orders custom-create 456 < custom.json
./bin/gliver orders custom-update 456 789 < custom.json{"if_version":"ВЕРСИЯ_ИЗ_ЗАКАЗА","classificator_id":45511,"name":"Диван по индивидуальному заказу","quantity":1,"price":10000,"size":"2000 мм","cloth":"Выбранная ткань","color":"Синий","image_file_ids":[101],"pdf_file_ids":[102]}Передайте ID уже загруженных файлов заказа: до 10 изображений JPEG, PNG или GIF и до 10 PDF. После каждого действия получите свежий version. При редактировании опущенное поле вложений сохраняет их, пустой массив удаляет. Компонент сайта заменяет позицию и возвращает новый basket_id; общая сумма пересчитывается.
Добавить позиции в существующий заказ
./bin/gliver orders project-items 456
./bin/gliver orders add-project-item 456 < project-item.json
./bin/gliver orders catalog-colors 43662
./bin/gliver orders catalog-add 456 < catalog-item.json
./bin/gliver orders catalog-update 456 789 < catalog-item.json
./bin/gliver orders fabric-colors 43161
./bin/gliver orders fabric-add 456 < fabric-item.json
./bin/gliver orders stock-search кресло
./bin/gliver orders stock-add 456 < stock-item.json
./bin/gliver orders module-context 456 789
./bin/gliver orders module-update 456 789 < module.json{"if_version":"ВЕРСИЯ_ИЗ_ЗАКАЗА","kind":"calculated","position":1,"configuration":"result-val-1-2"}Для модуля используйте готовую конфигурацию из project-items. Для товара каталога передайте offer_id, color_id и целое quantity. Для ткани из справочника: kind: catalog, color_id, quantity; для альтернативной: kind: alternative, name, color, price, quantity. Для товара из наличия передайте product_id и quantity. Для изменения каталожной позиции используйте catalog-update с ID позиции; для перерасчёта модуля сначала вызовите module-context, затем передайте в module-update параметры fields как в calc quote и выбранную configuration. Калькулятор обновит и проект, и заказ. Каждый запрос требует свежий if_version; CLI показывает ключ для безопасного повтора.
Счёт и ссылка на оплату
./bin/gliver orders bill 456
./bin/gliver orders download-bill 456 --output ./bill.pdf
printf '%s\n' '{"if_version":"ВЕРСИЯ_ИЗ_ЗАКАЗА","amount":1000,"description":"Аванс по заказу"}' | ./bin/gliver orders create-payment-link 456
printf '%s\n' '{"if_version":"ВЕРСИЯ_ИЗ_ЗАКАЗА","amount":1000,"description":"Аванс по заказу","email":"client@example.com","message":"Ссылка на оплату заказа"}' | ./bin/gliver orders send-payment-link 456Создание ссылки возвращает адрес без письма. Отправка создаёт новую ссылку и ставит письмо в очередь сайта; она доступна для заказа физического лица. Сумма не может превышать неоплаченный остаток. Ссылка использует адрес текущего сайта.
Что важно учитывать
Расчёт предварительный
Для ткани из справочника цена берётся с сайта по fabric_id. Для альтернативной ткани цену указывают вручную. Итоговую цену заказа определяет действующая бизнес-логика сайта.
Запись с защитой от повторов
Создание проекта, добавление расчёта и оформление заказа требуют Idempotency-Key. CLI создаёт его автоматически; при повторной попытке используйте прежний.
Токен остаётся локально
CLI хранит его в ~/.config/gliver-cli/state.json с правами 0600. На сервере хранится хеш токена. Путь меняется через GLIVER_CLI_STATE.
Перед оформлением получите projects checkout-options и город через orders locations. Для рассчитанной позиции проверьте ready_for_order: true; если поле ложно, смотрите missing_fields. В заказ передайте if_project_version, выбранные позиции и данные оформления. Для срочного заказа укажите checkout.is_express: true. Сайт сам определяет организацию и может сменить платёжную систему; итог проверяйте в orders get. Значение дилерской или агентской скидки в свойствах заказа само по себе не означает уменьшения цены калькуляторного товара: этот товар добавляется сайтом с собственной ценой. Перед каждым изменением заказа получите свежий version через orders get. Контакты, адрес, комментарий, количество, приоритет, статус, услуги, файлы, ссылки на оплату и доступные действия карточки меняются отдельными запросами. Состав действий зависит от роли и состояния заказа; перед изменением используйте orders operations. PDF из files и счёт можно скачать командами CLI.
Методы Agent API 96
CLI обращается к тем же HTTP-методам. Базовый путь: /api/agent/v1. Список ниже формируется из текущего OpenAPI-контракта ↗.
Для прямого HTTP-доступа после подключения передавайте Authorization: Bearer <токен>. Публичные методы работают без него. Запросы записи отправляют JSON с Content-Type: application/json; для создания проекта, добавления расчёта и оформления заказа нужен заголовок Idempotency-Key.
curl -H 'Accept: application/json' 'https://gliver.ru/api/agent/v1/catalog/search/?q=диван&limit=10'Сервис
2GET/status/Статус API⌄
GET/openapi.jsonКонтракт OpenAPI⌄
Вход
4POST/auth/device/Начать подключение⌄
Выдаёт код и ссылку для подтверждения входа на сайте.
client_namestring./bin/gliver auth loginPOST/auth/token/Завершить подключение⌄
После подтверждения выдаёт токен; до него вернёт authorization_pending.
device_codestring · обязательно./bin/gliver auth completePOST/auth/logout/Отключить CLI⌄
GET/me/Профиль и права⌄
Показывает режим, scopes и возможности текущего пользователя.
./bin/gliver meКаталог
3GET/catalog/sections/Разделы каталога⌄
GET/catalog/search/Поиск товаров⌄
Ищет товары по запросу q; привычное название «Француз» находит коллекцию ДеФранс.
./bin/gliver catalog search диван --limit 10GET/catalog/products/{id}/Карточка товара⌄
Описание, публичные свойства, размеры изделия и вариантов в миллиметрах, цены вариантов по текущему уровню доступа.
./bin/gliver catalog get 1380Контент
2GET/content/Список страниц⌄
Лендинги и статические страницы с поиском.
./bin/gliver content list --q диваныGET/content/{type}/{code}/Содержимое страницы⌄
Читает страницу типа static или landing по коду.
./bin/gliver content get static deliveryКонструктор страниц
16GET/pages/roots/Корневые разделы конструктора⌄
Действующие маршруты и главная страница 410.
./bin/gliver pages rootsGET/pages/Страницы конструктора⌄
Включая главную и черновики внутренних страниц.
./bin/gliver pages listPOST/pages/Создать черновик⌄
Новая страница в существующем маршруте конструктора.
parent_idinteger · обязательноnamestring · обязательноcodestring · обязательноsortintegernoindexbooleanhide_in_menubooleandescriptionstringseoobjecthide_in_breadcrumbsbooleanpicture_file_idobjectauthor_idobject./bin/gliver pages create < page.jsonGET/pages/block-types/Типы блоков⌄
Выберите .default или 2023 для главной.
./bin/gliver pages block-types --template 2023GET/pages/block-types/{type}/Поля блока⌄
Действующие свойства выбранного шаблона и XML_ID перечислений.
./bin/gliver pages block-type title --template 2023GET/pages/{id}/Страница и блоки⌄
PATCH/pages/{id}/Изменить страницу⌄
Название, URL-код, SEO и публикация с if_version.
if_versionstring · обязательноnamestringcodestringsortintegeractivebooleannoindexbooleanhide_in_menubooleandescriptionstringseoobjecthide_in_breadcrumbsbooleanpicture_file_idobjectauthor_idobject./bin/gliver pages update 123 < page-update.jsonDELETE/pages/{id}/Удалить страницу⌄
Сначала снимите с публикации и удалите блоки с дочерними страницами.
if_versionstring · обязательно./bin/gliver pages delete 123 < version.jsonPOST/pages/{id}/blocks/Добавить блок⌄
Создаёт блок через инфоблок конструктора.
typestring · обязательноif_versionstring · обязательноnamestringsortintegeractivebooleanpropertiesobject./bin/gliver pages add-block 123 < block.jsonPATCH/pages/{id}/blocks/{block_id}/Изменить блок⌄
Изменяет свойства, сортировку и активность блока.
if_versionstring · обязательноnamestringsortintegeractivebooleanpropertiesobject./bin/gliver pages update-block 123 456 < block-update.jsonDELETE/pages/{id}/blocks/{block_id}/Удалить блок⌄
Удаляет блок после проверки версии страницы.
if_versionstring · обязательно./bin/gliver pages delete-block 123 456 < version.jsonPATCH/pages/{id}/blocks/reorder/Порядок блоков⌄
Передайте все ID блоков в нужном порядке.
if_versionstring · обязательноblock_idsarray · обязательно./bin/gliver pages reorder 123 < order.jsonPOST/pages/files/Загрузить медиа⌄
Возвращает file_id для файлового свойства блока.
./bin/gliver pages upload-file ./image.webpGET/pages/product-card/Конструктор карточки товара⌄
По ID или URL товара: разделы для обычной и express-карточки.
./bin/gliver pages product-card 1536POST/pages/{id}/product-links/Привязать конструктор к товару⌄
Передайте if_version, product_id и express; проверяет существующую привязку.
if_versionstring · обязательноproduct_idinteger · обязательноexpressboolean · обязательно./bin/gliver pages link-product 123 < link.jsonDELETE/pages/{id}/product-links/Снять привязку⌄
Убирает товар из раздела, не затрагивая другие товары.
if_versionstring · обязательноproduct_idinteger · обязательноexpressboolean · обязательно./bin/gliver pages unlink-product 123 < link.jsonКалькулятор
4GET/calculator/modules/Модули калькулятора⌄
GET/calculator/fabrics/Поиск тканей и цен⌄
Ткани из справочника калькулятора сайта; для Фри и Драм учитывается доступность ткани.
./bin/gliver calc fabrics Омега --module backrest --type freeGET/calculator/modules/{code}/Поля модуля⌄
Поля и возможные комплектации модуля; для Фри/Драм укажите тип. Наличие комплектации для конкретных размеров проверяйте расчётом.
./bin/gliver calc module backrest --type freePOST/calculator/quote/Предварительный расчёт⌄
Для модулей Фри/Драм обязателен fields.type. С fabric_id цена ткани берётся из справочника. Для Квадро ответ показывает доступные комплектации.
codestring · обязательноfieldsobject · обязательно./bin/gliver calc quote < quote.jsonПроекты
27GET/projects/Список проектов⌄
POST/projects/Создать проект⌄
Создаёт проект с проверкой возможного дубля телефона.
clientstring · обязательноphonestring · обязательноallow_duplicateboolean./bin/gliver projects create < project.jsonGET/projects/{id}/Карточка проекта⌄
Возвращает проект, позиции и version для изменения.
./bin/gliver projects get 123PATCH/projects/{id}/Изменить проект⌄
Изменяет клиента, телефон, комментарий и ответственного менеджера с проверкой if_version.
clientstring · обязательноphonestring · обязательноif_versionstring · обязательноallow_duplicatebooleancommentstringmanager_idinteger./bin/gliver projects update 123 < update.jsonDELETE/projects/{id}/Удалить проект⌄
Удаление с теми же правами, что на сайте.
if_versionstring · обязательно./bin/gliver projects delete 123 < version.jsonPOST/projects/{id}/calculated-items/Добавить расчёт⌄
Сохраняет рассчитанный модуль в проект.
codestring · обязательноfieldsobject · обязательноitem_indexintegerconfigurationsarray · обязательно./bin/gliver projects add-calculated 123 < item.jsonGET/projects/custom-classifiers/Классификаторы ручных позиций⌄
Поиск по справочнику сайта.
./bin/gliver projects custom-classifiers диванPOST/projects/{id}/calculated-items/{position}/Пересчитать модуль проекта⌄
Использует калькулятор и сохранение позиции сайта.
if_versionstring · обязательноcodestring · обязательноfieldsobject · обязательноitem_indexintegerconfigurationsarray · обязательно./bin/gliver projects update-calculated 123 1 < item.jsonDELETE/projects/{id}/calculated-items/{position}/Удалить модуль проекта⌄
Удаляет позицию через действие карточки проекта.
if_versionstring · обязательно./bin/gliver projects remove-calculated 123 1 < version.jsonDELETE/projects/{id}/calculated-items/{position}/configurations/{priceKey}/Удалить комплектацию⌄
Удаляет вариант цены из модуля.
if_versionstring · обязательно./bin/gliver projects remove-configuration 123 1 result-val-1-2 < version.jsonPOST/projects/{id}/calculated-items/{position}/color/Изменить цвет модуля⌄
Проверяет цвет выбранной ткани; при update_linked_orders обновляет связанные заказы через 1С.
if_versionstring · обязательноcolorstring · обязательноupdate_linked_ordersboolean./bin/gliver projects color 123 1 < color.jsonPOST/projects/{id}/custom-items/Добавить ручную позицию⌄
Сохраняет ручной товар в проекте.
if_versionstring · обязательноclassificator_idinteger · обязательноnamestring · обязательноquantityinteger · обязательноpricenumber · обязательноsizestringclothstringcolorstringweight_correctionstringimage_pathsarraypdf_pathsarray./bin/gliver projects custom-create 123 < custom.jsonPOST/projects/{id}/custom-items/{itemId}/Изменить ручную позицию⌄
Обновляет ручной товар проекта.
if_versionstring · обязательноclassificator_idinteger · обязательноnamestring · обязательноquantityinteger · обязательноpricenumber · обязательноsizestringclothstringcolorstringweight_correctionstringimage_pathsarraypdf_pathsarray./bin/gliver projects custom-update 123 456 < custom.jsonDELETE/projects/{id}/custom-items/{itemId}/Удалить ручную позицию⌄
Удаляет ручной товар из проекта.
if_versionstring · обязательно./bin/gliver projects custom-remove 123 456 < version.jsonPATCH/projects/{id}/custom-items/{itemId}/quantity/Количество ручной позиции⌄
Меняет количество ручного товара.
if_versionstring · обязательноquantityinteger · обязательно./bin/gliver projects custom-count 123 456 < quantity.jsonPOST/projects/{id}/catalog-items/Добавить товар каталога⌄
Поддерживает ткань из справочника и альтернативную ткань с ручной ценой.
if_versionstring · обязательноoffer_idinteger · обязательноcolor_idintegersecond_color_idintegerquantityinteger · обязательноmaterial_modestringmaterial_namestringproduct_pricenumbercolorstringsecond_colorstring./bin/gliver projects catalog-create 123 < catalog.jsonPOST/projects/{id}/catalog-items/{itemId}/Изменить товар каталога⌄
Заменяет вариант товара проекта.
if_versionstring · обязательноoffer_idinteger · обязательноcolor_idintegersecond_color_idintegerquantityinteger · обязательноmaterial_modestringmaterial_namestringproduct_pricenumbercolorstringsecond_colorstring./bin/gliver projects catalog-update 123 456 < catalog.jsonDELETE/projects/{id}/catalog-items/{itemId}/Удалить товар каталога⌄
Удаляет товар из проекта.
if_versionstring · обязательно./bin/gliver projects catalog-remove 123 456 < version.jsonPATCH/projects/{id}/catalog-items/{itemId}/quantity/Количество товара каталога⌄
Меняет количество товара проекта.
if_versionstring · обязательноquantityinteger · обязательно./bin/gliver projects catalog-count 123 456 < quantity.jsonPATCH/projects/{id}/settings/Настройки проекта⌄
Группировка и суммирование комплектаций.
if_versionstring · обязательноis_groupbooleansum_configurationsboolean./bin/gliver projects settings 123 < settings.jsonGET/projects/{id}/history/История проекта⌄
История действий из журнала сайта.
./bin/gliver projects history 123POST/projects/{id}/copy-with-fabric/Копировать с другой тканью⌄
Копирует выбранные модули через действие сайта.
if_versionstring · обязательноpositionsarray · обязательноfabric_idinteger · обязательноfields_by_positionobject./bin/gliver projects copy-with-fabric 123 < copy.jsonPOST/projects/{id}/editor-items/Модули расстановщика⌄
Выбирает модули для схемы расстановки.
if_versionstring · обязательноxml_idsarray · обязательно./bin/gliver projects editor-select 123 < editor.jsonPOST/projects/{id}/scheme/Сохранить схему⌄
Сохраняет PNG-схему проекта.
if_versionstring · обязательноimage_base64string · обязательноoriginal_image_base64stringcommentstring./bin/gliver projects scheme-save 123 < scheme.jsonDELETE/projects/{id}/scheme/Очистить схему проекта⌄
Сбрасывает изображение схемы перед новой расстановкой, как в редакторе сайта.
if_versionstring · обязательно./bin/gliver projects scheme-clear 123 < version.jsonPOST/projects/{id}/pdf/PDF проекта⌄
Готовит PDF для клиента или производства.
typestring./bin/gliver projects pdf 123 < pdf.jsonPOST/projects/{id}/files/Файл ручной позиции⌄
Загружает изображение или PDF для последующего добавления в ручной товар проекта.
./bin/gliver projects upload-file 123 ./drawing.pdf --if-version HASHЗаказы
36GET/orders/Список заказов⌄
Фильтры по статусу, ID, телефону и проекту.
./bin/gliver orders list --limit 30GET/orders/{id}/Карточка заказа⌄
Полные свойства, позиции, оплаты, файлы и отгрузки.
./bin/gliver orders get 123PATCH/orders/{id}/Изменить заказ⌄
Получатель, адрес или комментарий через действующий компонент сайта. Каждая группа меняется отдельно.
if_versionstring · обязательноpropertiesobjectcommentstring./bin/gliver orders update 123 < update.jsonGET/projects/{id}/checkout-options/Параметры заказа⌄
Позиции, оплата, доставка, партнёры, агенты, источники, условия доставки и версия проекта.
./bin/gliver projects checkout-options 123POST/projects/{id}/checkout-preview/previewOrderFromProject⌄
Описание в OpenAPI-контракте.
if_project_versionstring · обязательноitemsarray · обязательноcheckoutobject · обязательноPOST/projects/{id}/orders/Создать заказ из проекта⌄
Использует оформление заказа сайта, включая расчёт цены и передачу в 1С.
if_project_versionstring · обязательноitemsarray · обязательноcheckoutobject · обязательно./bin/gliver projects create-order 123 < checkout.jsonGET/orders/checkout-locations/Поиск города⌄
Возвращает ID города для оформления доставки.
./bin/gliver orders locations МоскваGET/orders/checkout-partners/{id}/contractors/getCheckoutPartnerContractors⌄
Описание в OpenAPI-контракте.
Полная схема запроса и ответа ↗GET/orders/checkout-agents/{id}/requests/getCheckoutAgentRequests⌄
Описание в OpenAPI-контракте.
Полная схема запроса и ответа ↗PATCH/orders/{id}/items/{basketId}/Изменить количество⌄
Меняет количество позиции и пересчитывает сумму заказа по правилам сайта.
if_versionstring · обязательноquantitynumber · обязательно./bin/gliver orders update-item 123 456 < quantity.jsonGET/orders/{id}/operations/Доступные действия с заказом⌄
Показывает действия с учётом роли, статуса и возможности менять состав.
./bin/gliver orders operations 123GET/orders/{id}/operations/{operation}/Справочники, контрагенты, история, доставка, данные 1С, счёт, платёжная ссылка⌄
Чтение данных карточки и заказа в 1С; для платёжной ссылки нужен ID платежа.
./bin/gliver orders references 123POST/orders/{id}/operations/{operation}/Действие с заказом⌄
Выполняет доступную операцию через бизнес-логику карточки заказа. В теле нужен if_version.
if_versionstring · обязательно./bin/gliver orders run 123 priority < priority.jsonPOST/orders/{id}/files/Загрузить файл заказа⌄
Прикрепляет файл с проверкой версии заказа и синхронизацией с 1С.
./bin/gliver orders upload-file 123 ./document.pdf --if-version HASHGET/orders/{id}/files/{fileId}/Скачать файл заказа⌄
Отдаёт файл только из указанного заказа; пустые PDF не скачиваются.
./bin/gliver orders download-file 123 456 --output ./document.pdfDELETE/orders/{id}/files/{fileId}/Удалить вложение⌄
Удаляет прикреплённый файл с проверкой версии заказа.
if_versionstring · обязательно./bin/gliver orders delete-file 123 456 < delete.jsonPOST/orders/{id}/payment-links/Создать ссылку на оплату⌄
Создаёт ссылку на оплату без отправки письма.
if_versionstring · обязательноamountnumber · обязательноdescriptionstring · обязательно./bin/gliver orders create-payment-link 123 < payment-link.jsonPOST/orders/{id}/payment-links/send/Отправить ссылку на оплату⌄
Создаёт ссылку и отправляет письмо через обработчик карточки заказа.
if_versionstring · обязательноamountnumber · обязательноdescriptionstring · обязательноemailstring · обязательноmessagestring./bin/gliver orders send-payment-link 123 < payment-email.jsonGET/orders/{id}/bill.pdfСкачать счёт⌄
Скачивает PDF счёта после формирования сайтом.
./bin/gliver orders download-bill 123 --output bill.pdfPOST/orders/{id}/payments/actions/{action}/Оплаты и возвраты⌄
Внесение, изменение, возврат и удаление оплаты через действующую логику сайта и 1С.
if_versionstring · обязательноpayment_idintegeramountnumberdatestringbox_officestringterminalstringcardstringcommentstring./bin/gliver orders payment-action 123 cash < cash.jsonPOST/orders/{id}/buyer/Изменить покупателя⌄
Физическое или юридическое лицо, существующий либо новый контрагент и получатель; сохраняет правила карточки сайта.
if_versionstring · обязательноperson_typestring · обязательноrecipientobject · обязательноcontractor_idobjectcompanyobject./bin/gliver orders buyer 123 < buyer.jsonGET/orders/{id}/custom-classifiers/Поиск классификаторов⌄
Ищет классификатор для ручного товара в действующем справочнике сайта.
./bin/gliver orders custom-classifiers 123 диванPOST/orders/{id}/custom-items/Добавить ручной товар⌄
Добавляет ручной товар через компонент сайта. Изображения и PDF сначала загрузите в файлы заказа.
if_versionstring · обязательноclassificator_idinteger · обязательноnamestring · обязательноquantityinteger · обязательноpricenumber · обязательноsizestringclothstringcolorstringweight_correctionstringimage_file_idsarraypdf_file_idsarray./bin/gliver orders custom-create 123 < custom.jsonGET/orders/{id}/custom-items/{basketId}/Данные ручного товара⌄
Поля формы редактирования, текущие вложения и версия заказа.
./bin/gliver orders custom-context 123 456POST/orders/{id}/custom-items/{basketId}/Изменить ручной товар⌄
Компонент сайта заменяет позицию; ответ содержит новый basket_id. Вложения сохраняются, если их поля не переданы.
if_versionstring · обязательноclassificator_idinteger · обязательноnamestring · обязательноquantityinteger · обязательноpricenumber · обязательноsizestringclothstringcolorstringweight_correctionstringimage_file_idsarraypdf_file_idsarray./bin/gliver orders custom-update 123 456 < custom.jsonGET/orders/{id}/project-items/Позиции проекта для заказа⌄
Готовые модули, каталожные и ручные позиции привязанного проекта.
./bin/gliver orders project-items 123POST/orders/{id}/project-items/Добавить позицию проекта⌄
Добавляет позицию через калькулятор и синхронизацию заказа сайта.
if_versionstring · обязательноkindstring · обязательноpositionintegerconfigurationstringidobject./bin/gliver orders add-project-item 123 < project-item.jsonGET/orders/catalog-offers/{offerId}/colors/Цвета варианта каталога⌄
Цвета выбранной ткани для варианта товара.
./bin/gliver orders catalog-colors 43662POST/orders/{id}/catalog-items/Добавить товар каталога⌄
Использует модальное окно каталога в карточке заказа.
if_versionstring · обязательноoffer_idinteger · обязательноcolor_idinteger · обязательноsecond_color_idintegerquantityinteger · обязательно./bin/gliver orders catalog-add 123 < catalog-item.jsonGET/orders/fabrics/{fabricId}/colors/Цвета ткани⌄
Цена для заказа, цвета и доступность синхронизации с 1С.
./bin/gliver orders fabric-colors 43161POST/orders/{id}/fabrics/Добавить ткань⌄
Ткань из справочника либо альтернативная ткань по обработчику сайта.
if_versionstring · обязательноkindstring · обязательноcolor_idintegernamestringcolorstringpricenumberquantitynumber · обязательно./bin/gliver orders fabric-add 123 < fabric-item.jsonGET/orders/stock/Товары из наличия⌄
Свободный остаток и цена товара из наличия.
./bin/gliver orders stock-search креслоPOST/orders/{id}/stock-items/Добавить товар из наличия⌄
Проверяет свободный остаток и пересчитывает сумму заказа.
if_versionstring · обязательноproduct_idinteger · обязательноquantitynumber · обязательно./bin/gliver orders stock-add 123 < stock-item.jsonPOST/orders/{id}/catalog-items/{basketId}/Изменить товар каталога⌄
Заменяет позицию и возвращает новый basket_id.
if_versionstring · обязательноoffer_idinteger · обязательноcolor_idinteger · обязательноsecond_color_idintegerquantityinteger · обязательно./bin/gliver orders catalog-update 123 456 < catalog-item.jsonGET/orders/{id}/items/{basketId}/calculator/Контекст модуля заказа⌄
Показывает калькулятор, позицию проекта и текущую комплектацию.
./bin/gliver orders module-context 123 456POST/orders/{id}/items/{basketId}/calculator/Пересчитать модуль заказа⌄
Обновляет расчёт проекта и товар заказа через обработчик калькулятора сайта.
if_versionstring · обязательноfieldsobject · обязательноitem_indexintegerconfigurationstring · обязательно./bin/gliver orders module-update 123 456 < module.jsonЖурнал
2GET/audit/Журнал обращений⌄
Список вызовов с источником, пользователем, методом, статусом и временем. По ID запроса откройте отдельную запись с данными.
./bin/gliver audit list --source webmcp --since 2026-09-28 --limit 50GET/audit/{request_id}/Запрос и ответ из журнала⌄
Показывает JSON запроса и ответа для одного вызова. Коды входа и токены исключены.
./bin/gliver audit get REQUEST_IDНичего не найдено. Попробуйте название раздела, путь или команду CLI.
Ответы и ошибки
У обычного ответа есть data и meta. При ошибке API добавляет error. Сохраняйте request_id при обращении к разработчикам.
{
"data": null,
"meta": { "request_id": "...", "api_version": "v1" },
"error": { "code": "forbidden", "message": "Недостаточно прав..." }
}| HTTP | Что означает | Что сделать |
|---|---|---|
| 401 | Требуется вход или токен недействителен. | Проверьте auth status, войдите снова. |
| 403 | У роли нет права на действие. | Проверьте me и доступ учётной записи. |
| 409 | Конфликт версии, повтор или возможный дубль. | Прочитайте актуальную карточку и проверьте ключ идемпотентности. |
| 422 | Неверные поля запроса. | Сверьте JSON с OpenAPI и описанием модуля. |
| 429 | Превышен лимит запросов. | Подождите перед повтором. |
| 503 | Временная проблема хранилища или источника контента. | Повторите позже с тем же ключом для операции записи. |
Администратор может фильтровать журнал по источнику, ID запроса, пользователю, операции, HTTP-статусу, датам и ID вызова WebMCP. Команда audit get REQUEST_ID показывает JSON запроса и ответа, включая данные заказа и расчёта. Коды входа и токены исключены; для файлов сохраняются метаданные. Очень большой JSON ограничен 1 МиБ с отметкой об усечении. Имя CLI и источник сообщаются клиентом и не служат подтверждением личности. Срок хранения — 90 дней.
Если что-то не работает
Вход не завершается+
Убедитесь, что вы подтвердили код в своей учётной записи Gliver. Если время кода истекло, выполните auth login заново, затем auth complete.
Команда отвечает 403+
Выполните ./bin/gliver me. Создание проектов и чтение заказов доступны менеджерам и администраторам; журнал — администраторам.
Проект не обновляется: 409+
Получите текущий version через projects get <id> и передайте его как if_version. При создании проверьте найденный дубль телефона.