Push-события в реальном времени для вашего парка 3D-принтеров

Webhooks: мгновенные уведомления о событиях

При запуске печати, сбое задания, добавлении элемента в очередь, нехватке запчасти или переназначении филамента SimplyPrint может за секунды отправить событие POST-запросом на ваш URL. Передавайте события в Discord, Slack или Microsoft Teams без единой строки кода либо стройте собственную автоматизацию на основе необработанной JSON-полезной нагрузки.

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

Запрашивайте, когда хотите. Получайте автоматически, когда это важно.

SimplyPrint API отлично подходит, когда вопросы задаёт ваша система. Webhooks позволяют SimplyPrint сообщать вам о любом изменении сразу, без опроса, запланированных задач и пропущенных событий.

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

Отправка событий вместо опроса

Webhook представляет собой URL-адрес, который вы передаёте SimplyPrint. Каждый раз, когда в аккаунте происходит событие, на которое вы подписаны, например запускается печать, задание завершается ошибкой, элемент очереди одобряется или запас детали опускается ниже заданного уровня, SimplyPrint отправляет на этот URL HTTP POST с данными события. Не нужны циклы опроса, управление лимитами запросов и сомнения, не пропущено ли событие. Вы получаете поток событий, который можно подключить к любой системе с поддержкой HTTP.

Создавайте столько Webhooks, сколько нужно. Точно выбирайте события для каждого из них. Отключайте любой из них без удаления. Проверяйте каждую доставку в истории. Это тот же базовый механизм, на котором работает остальной веб, теперь подключённый к вашему парку 3D-принтеров.

Четыре формата доставки: одна система вебхуков

SimplyPrint автоматически определяет назначение по URL и форматирует полезную нагрузку нужным образом. Настройте вебхук для Discord, и получите корректный embed с цветом, полями и временной меткой. Настройте его для Slack, и получите сообщение Slack Block Kit. Для Microsoft Teams будет адаптивная карточка. Для других сервисов будет чистый JSON, с которым можно делать что угодно.

Необработанный JSON

Чистое тело POST-запроса для Zapier, n8n, Make или собственного бэкенда.

Discord

Вставьте URL вебхука канала и получите расширенные карточки без бота.

Slack

Нативные сообщения Block Kit из любого входящего вебхука Slack.

Microsoft Teams

Адаптивные карточки, отправляемые в рабочий процесс Teams или на URL коннектора.

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

Все события, создаваемые вашим парком, сгруппированы по понятным категориям

Подпишите каждый вебхук только на нужные ему события. Каналу Discord для всей команды могут быть нужны лишь печать завершена и печать не удалась. Автоматизацию Zapier можно подписать на элемент очереди одобрен. Дашборду техобслуживания могут понадобиться все события maintenance.*. Настройку для каждого вебхука определяете вы.

  • События заданий печати: запуск, пауза, возобновление, отмена, завершение, сбой, очистка стола, пропуск объектов
  • События принтера: состояние AutoPrint, размер сопла, материал, добавление / удаление пользовательского тега, состояние неисправности, состояние ИИ, обнаружение сбоя ИИ, ложное срабатывание ИИ, максимальное число циклов AutoPrint
  • События организации: состояние AutoPrint аккаунта, регистрация нового пользователя, ожидание одобрения пользователя
  • Очередь печати: элемент добавлен, удалён, перемещён, восстановлен, ожидает утверждения, утверждён, отклонён, очередь очищена
  • Филамент: создан, обновлён, удалён, назначен принтеру, снят с принтера
  • Техобслуживание - задание создано / запущено / завершено / отменено / просрочено / открыто повторно / обновлено / удалено, сообщено о проблеме / проблема устранена, запчасть создана / обновлена / удалена, запас скорректирован, низкий запас, задача выполнена / пропущена, расписание создано / обновлено / удалено
  • Баланс: списание, возврат, пополнение, корректировка
  • Квота: новый запрос, запрос обработан, скорректирована, сброшена
Более 60 различных событий доступны сразу, а новые добавляются с выходом новых функций.

Формат полезной нагрузки Webhook, с которым легко работать в коде

Каждая доставка вебхука в обычном формате имеет одинаковую внешнюю структуру: оболочка с именем события event, меткой времени ISO timestamp и исходным webhook_id, содержащая объект data, структура которого зависит от события.

Объект data для события job.done содержит задание печати, принтер, файл, пользователя и прошедшее время. Событие filament.assigned содержит филамент, принтер и инструмент, которому он назначен. Событие maintenance.job_overdue содержит задание, принтер, ответственного пользователя и исходную дату выполнения. Оболочка одна, данные зависят от события, поэтому одно выражение switch в вашем коде обрабатывает весь поток.

Изображение функции
Weshape
История клиента

Узнайте, как Weshape использует Вебхуки для управления парком ~50 printers

Order queueing is a webhook that feeds into the SimplyPrint API.
- Weshape, Kolind, Denmark
Прочитать историю Weshape

Тестируйте, анализируйте и проверяйте перед запуском в производство

Webhooks должны быть простыми. SimplyPrint даёт три инструмента, чтобы так и было: посмотрите, что получите, отправьте тестовый запрос и просмотрите все уже выполненные доставки.

Отправить тестовое событие

Отправляйте payload с реальной структурой по запросу из любой подписки.

Примеры полезных нагрузок

Изучите точные структуры payload перед написанием кода.

История доставок

URL, HTTP-статус, тело ответа и метка времени для каждой доставки.

рамка рамка рамка

Как выглядят ваши webhooks после доставки

Форматы Discord, Slack и Teams отображаются в этих приложениях как встроенные карточки: расширенный заголовок, поля полезной нагрузки и необязательная миниатюра принтера. Вот три реальных сообщения с фермы печати, работающей с SimplyPrint, полученные непосредственно из канала Discord. Настройте формат один раз, а SimplyPrint сам сформирует карточку.

рамка рамка рамка

Просроченное техобслуживание

Запланированное задание по техобслуживанию просрочено: название задания, принтер, приоритет, расписание и группа, всё в одной карточке.

Задание по техобслуживанию создано

Запланировано новое задание по техобслуживанию, принтер, группа и приоритет сразу появляются в канале вашей команды.

Инвентарь запчастей

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

Необязательная проверка секрета, чтобы подтвердить, что запрос действительно пришёл от SimplyPrint

Задайте секрет для каждого вебхука, и SimplyPrint будет отправлять его с каждой доставкой в заголовке X-SP-Secret, чтобы ваш обработчик мог убедиться, что запрос действительно пришёл от нас, а не с произвольного IP, который угадал ваш URL. Не указывайте секрет для вебхуков во внутренней сети, если он не нужен. Меняйте его при утечке ключа, прошлые доставки останутся действительными, а будущие будут использовать новый ключ.

Каждый вебхук также можно независимо включить или отключить: переключателем можно приостановить шумную интеграцию, не теряя её подписку на события и историю.

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

Что люди на самом деле подключают

Это самые распространённые сценарии, которые встречаются на фермах 3D-печати, в школах, мейкерспейсах и продуктовых командах, использующих SimplyPrint.

Обновления в Discord

Отправляйте job.done и job.failed в канал команды.

Zapier / n8n

Запускайте выставление счетов или выполнение заказа после одобрения элемента очереди.

Оповещения о техобслуживании

Оповещайте команду эксплуатации о просроченном техобслуживании или малом запасе запчастей.

Дашборд класса

Показывайте учителям отправленные учащимися работы в реальном времени.

Push-часть полноценного решения для разработчиков

Webhooks естественно сочетаются с остальными инструментами разработчика SimplyPrint:

  • SimplyPrint API позволяет коду запрашивать любые данные состояния по требованию: принтеры, очередь, файлы, филамент, задания.
  • Webhooks позволяют SimplyPrint отправлять события сразу при изменениях, поэтому опрос не требуется.
  • SimplyPrint MCP server позволяет ИИ-помощникам, включая Claude и ChatGPT, читать данные того же парка принтеров и выполнять действия через проверенный реестр инструментов.
Используйте любой из них или все три. У них одинаковая авторизация, модель разрешений и структура данных, поэтому принтер в данных вебхука является тем же объектом принтера, который возвращает вызов API.

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

Доступность в планах: какие планы включают вебхуки?

Webhooks включены в тарифы Print Farm и Enterprise без доплаты. Никаких сборов за Webhook или доставку и никаких ограничений на события.

Функция / ограничение Free Базовый Pro Ферма печати Enterprise Школа Облачный слайсер Менеджер филамента
Вебхуки
Полная многоканальная система вебхуков: обычный JSON, Discord, Slack и Microsoft Teams, полный каталог событий, опциональная проверка секрета и история каждой доставки.

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

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

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

Просто вставьте URL вебхука канала в SimplyPrint, и всё. Мы определяем платформу по URL, любому discord.com/api/webhooks, hooks.slack.com/services или URL рабочего процесса Teams, и формируем сообщение в нативном для неё формате. Без установки бота, приложения и промежуточного ПО.
Более 60 событий в восьми категориях: задания печати, состояние принтера, организация, очередь печати, филамент, техобслуживание, баланс и квота. Каждый вебхук подписан на свой набор, поэтому канал Discord может получать только job.done и job.failed, а интеграция Zapier отслеживает queue.item_approved. С каждым крупным выпуском функций добавляются новые события.
Задайте секрет для вебхука. SimplyPrint будет отправлять его с каждой доставкой в заголовке X-SP-Secret, чтобы ваш обработчик мог сравнивать его с сохранённым значением и отклонять несовпадающие запросы. Секрет задаётся для каждого вебхука, поэтому ключ одной интеграции можно изменить, не затрагивая остальные.
Да, каждая доставка фиксируется с URL назначения, телом запроса, кодом ответа HTTP и меткой времени. Откройте любой Webhook, чтобы увидеть полную историю доставок, поэтому неверно настроенная конечная точка или временный сбой не останутся загадкой.
Да, у каждой подписки на события есть кнопка "отправить тест". SimplyPrint создаёт полезную нагрузку в реальном формате (с реальной сущностью из аккаунта, если она есть, иначе с синтетическим примером) и по запросу отправляет её на вебхук. Также можно просматривать образцы полезной нагрузки для каждого события, чтобы код получателя был готов до первого реального события.
API работает по модели pull: ваш код запрашивает у SimplyPrint данные состояния по требованию. Webhooks работают по модели push: SimplyPrint сообщает вашему коду о любом изменении сразу, без опроса, манипуляций с ограничениями частоты и пропущенных событий. Большинство реальных интеграций используют оба: API для запросов, webhooks для реакции.
Отправки выполняются через выделенный сервис, и для каждой попытки записываются код ответа, тело запроса и временная метка, поэтому сбой виден в журнале доставок Webhook. Настройте получатель на идемпотентную обработку: каждая доставка содержит собственный ID журнала. Используйте API для сверки состояния и восстановления изменений, пропущенных во время простоя.
Да, неудачные доставки (ответ не 2xx или тайм-аут) повторяются с экспоненциальной задержкой в течение следующих 24 часов, затем помечаются как окончательно неудачные и отображаются в истории доставок.
Попытки доставки с полезной нагрузкой и кодом ответа хранятся 30 дней в истории доставок вебхука, доступной в панели для каждого вебхука.
Webhooks включены в тарифы Print Farm, School (Education) и Enterprise. Никаких сборов за Webhook или доставку и никаких ограничений на события.

Пошаговое руководство по настройке

Пошаговое создание первого вебхука, включая детали для URL Discord, Slack и Microsoft Teams, описано в полной статье справочного центра о вебхуках.

Оглавление