Облачная замена REST API OctoPrint с поддержкой парков принтеров

OctoPrint Альтернатива API OctoPrint

Если у вас уже есть код, работающий с REST API OctoPrint, SimplyPrint предлагает облачную альтернативу для всего парка. Те же операции для каждого принтера: запуск, пауза, возобновление, отправка G-code, получение состояния. Но они доступны для всех принтеров аккаунта через один ключ API, один поток OAuth2 и один базовый URL. Существующие хосты OctoPrint можно использовать параллельно через наш плагин или полностью отказаться от Pi на принтерах с интеграцией в прошивку.

Посмотреть обзор функции API Начать бесплатно Подробнее и инструкция
Изображение функции

OctoPrint + SimplyPrint = облачный REST API для всего парка

SimplyPrint работает вместе с OctoPrint и не заменяет OctoPrint локально на Pi. Плагин SimplyPrint для OctoPrint подключает существующие хосты OctoPrint к нашему облаку, а существующие интеграции API OctoPrint на этих хостах продолжают работать. Главное преимущество: REST для всего парка и один базовый URL для всех принтеров.

Один REST API для всех принтеров, а не отдельный для каждого Pi

Если вы уже обращаетесь к http://pi-1.local/api/printer, http://pi-2.local/api/printer и так далее, вам знакома эта проблема: отдельная аутентификация на каждом хосте, отдельные правила брандмауэра, отдельный SSL, нет общей очереди и общего инвентаря филамента. SimplyPrint заменяет это единым облачным REST API для всего парка.

# Queue a print on a printer connected via the SimplyPrint OctoPrint plugin
curl -X POST "https://api.simplyprint.io/{companyId}/queue/AddItem" \
  -H "X-API-KEY: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "fileId": "your_gcode_file_id",
    "amount": 1,
    "for_printers": "17",
    "position": "top"
  }'
ID принтера действует для всего парка и не меняется; хост, к которому он подключён, не отображается в API. При переносе принтера с одного Pi на другой ID принтера остаётся прежним.

Как это подключается: плагин SimplyPrint для OctoPrint

SimplyPrint подключается к принтерам с OctoPrint через наш официальный плагин OctoPrint. Установите его один раз на каждый хост: плагин свяжет принтер с вашим аккаунтом SimplyPrint, и затем принтер появится в API SimplyPrint как стандартный объект принтера.

  • OctoPrint продолжает работать: существующий интерфейс OctoPrint, плагины OctoPrint и интеграции OctoPrint REST на этом хосте продолжают работать.
  • SimplyPrint добавляет уровень управления парком: облачная панель, облачный REST API, OAuth2, вебхуки, хранилище файлов, очередь для нескольких принтеров. Для этого не нужно менять конфигурацию OctoPrint.
  • Не используйте OctoPrint, где это поддерживается: принтеры семейства Prusa MK4 могут использовать пакет прошивки SimplyPrint с открытым исходным кодом (сейчас бета, веб-камеры пока нет), а принтеры Klipper подключаются через Moonraker на существующем хосте Klipper вместо OctoPrint. В обоих случаях API рассматривает их как один и тот же объект принтера.

Руководство по настройке плагина
Изображение функции
Изображение функции

Получайте состояние принтера и отправляйте команды

Каждая конечная точка управления принтером работает одинаково, независимо от того, подключён ли принтер через OctoPrint или другим способом. Передайте ID принтера и получите JSON.

# List every printer in the account - identical shape regardless of host
curl "https://api.simplyprint.io/{companyId}/printers/Get" \
  -H "X-API-KEY: your_api_key_here"
Отправляйте любой G-code, который поддерживает прошивка, чтобы существующие автоматизации OctoPrint на основе G-code продолжали работать через SimplyPrint:
# Send a one-off G-code line through the SimplyPrint OctoPrint plugin
curl -X POST "https://api.simplyprint.io/{companyId}/printers/actions/SendGcode" \
  -H "X-API-KEY: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{ "pid": 17, "gcode": "M115" }'

Что SimplyPrint добавляет к REST API OctoPrint

REST OctoPrint работает для каждого хоста и ориентирован на отдельный принтер. SimplyPrint добавляет возможности для парков принтеров. Очередь для нескольких принтеров, вебхуки и постоянная история заданий являются тремя наиболее используемыми возможностями SimplyPrint, которых нет в REST API OctoPrint:

  • Очередь для нескольких принтеров с одобрением и маршрутизацией: /queue/AddItem автоматически выбирает совместимый принтер или позволяет выбрать конкретный. Больше не нужен отдельный код для поиска свободного Pi.
  • События Webhook: SimplyPrint отправляет POST-запросы о событиях очереди, файлов, принтеров, заданий и филамента на ваш URL сразу при их возникновении. Без опроса и пропущенных событий.
  • Поток партнёрского приложения OAuth2: разрешите другим мастерским подключать свой аккаунт SimplyPrint к вашему инструменту через экран согласия, это неподходящая схема для OctoPrint REST на отдельном хосте.
  • Учёт филамента: отслеживайте все катушки в мастерской, а не только загруженные в хотэнд принтера. Учёт веса для каждой печати, бренда, материала, цвета и состояния сушки.
  • Конечные точки истории заданий и статистики: фильтрация и архивирование прошлых заданий, получение данных о стоимости и времени по всему парку, а не по каждому хосту.
  • MCP-сервер для ИИ-агентов: тот же парк принтеров доступен Claude, ChatGPT и Gemini как нативный набор инструментов.

Изображение функции
Изображение функции

Переход с REST-интеграции OctoPrint

Если ваш код OctoPrint REST уже работает, переход можно выполнять постепенно: оба решения могут работать параллельно во время перехода:

  • 1. Установите плагин SimplyPrint для OctoPrint на каждый хост, где уже работает OctoPrint. Плагин не отключает REST OctoPrint, оба интерфейса остаются доступны.
  • 2. Создайте ключ API SimplyPrint в разделе настройки аккаунта → API.
  • 3. Переносите по одному эндпоинту: начните с операций только для чтения (/printers/Get, /queue/GetItems), затем переходите к операциям записи.
  • 4. Настройте Webhooks, чтобы заменить используемую схему обработчиков событий OctoPrint: SimplyPrint отправляет события по URL вместо запуска цикла плагина на каждом Pi.
  • 5. Откажитесь от эндпоинтов для каждого хоста, когда код будет читать и записывать данные только через облако SimplyPrint.
Нужна помощь в сопоставлении конкретной конечной точки OctoPrint с её аналогом в SimplyPrint? Полный справочник API содержит все конечные точки с примерами.

Доступность облачного REST API SimplyPrint в планах

Такие же ограничения по тарифам, как у основного API SimplyPrint. На тарифах Free и Basic API недоступен; Pro и выше открывают Basic API; Print Farm и выше открывают Enhanced (возможность записи для изменения очереди и запуска печати).

Функция / ограничение Free Базовый Pro Ферма печати Enterprise Школа Облачный слайсер Менеджер филамента
Запросов API в минуту
Скользящий поминутный лимит для всех API-вызовов аккаунта.
- - 60 180 600 180 - -
Доступ к Basic API
Получайте сведения о состоянии принтера, очереди, заданиях и истории для каждого подключённого принтера.
Расширенный API (запуск печати, отправка G-code)
Открывает загрузку файлов, операции в очереди, запускающие печать, и прямую отправку G-code.
Webhooks (замена слушателей событий OctoPrint)
Тариф Print Farm и выше. Пуш-события для очереди, файлов, принтеров, заданий и филамента.

Хотите узнать больше о наших тарифах?

Посмотреть все цены и сравнение функций

Частые вопросы о замене OctoPrint

Нет. Плагин SimplyPrint для OctoPrint работает внутри OctoPrint, поэтому OctoPrint продолжает работать как обычно. Преимущество в том, что облачный API SimplyPrint предоставляет все принтеры парка через один базовый URL, вместо обращения к каждому Pi отдельно.
Да. Плагин SimplyPrint работает наряду с другими установленными плагинами OctoPrint. Интерфейс OctoPrint и REST API не удаляются, оба продолжают работать.
Если ваши принтеры поддерживаются, можно отказаться от OctoPrint и использовать другой способ: семейство Prusa MK4 через пакет прошивки SimplyPrint с открытым исходным кодом (бета, пока без веб-камеры) или Klipper через Moonraker на существующем хосте Klipper. Принтеры Bambu Lab подключаются через мост SimplyPrint Bambu Lab Client на Raspberry Pi или мини-ПК. В обоих случаях API работает с принтером одинаково.
SimplyPrint назначает принтеру постоянный числовой ID при первом подключении. ID хранится в аккаунте SimplyPrint, а не на хосте, поэтому перенос принтера с одного Pi на другой не меняет ID принтера, используемый вашим кодом API.
Да, это рекомендуемый путь миграции. Установите плагин SimplyPrint, переносите по одной конечной точке за раз и оставьте OctoPrint REST API доступным, пока не убедитесь, что интеграция через SimplyPrint работает надёжно.
Да. Поток OAuth2 позволяет каждому магазину подключить свой аккаунт SimplyPrint к вашему приложению через экран согласия, без общих ключей API. Сведения об OAuth2 и форму запроса клиента см. на главной странице API.

Оглавление