3D Print Pricing API
3D Print PricingDevelopers
Сайт

Webhook

Получайте события order.created / order.status_changed на свой URL — без опроса по расписанию.

Поиск по документации

Перейти к разделу

Настройка webhook

В Настройки → Интеграции → Разработчикам → Уведомления о заказах можно добавить сразу несколько каналов одновременно — например, Home Assistant и Discord вместе. У каждого канала свой формат тела запроса:

  • 3D Print Pricing / HA — общий JSON с HMAC-подписью, см. раздел ниже.
  • Discord / Slack — их родной формат incoming webhook (без подписи — весь секрет уже зашит в самом URL, который выдаёт Discord/Slack).

Добавьте канал, вставьте URL приёмника, включите — 3D Print Pricing покажет секрет один раз (только у формата «3D Print Pricing / HA»), скопируйте его сразу. Кнопка «Отправить тестовое событие» у каждого канала шлёт синтетическое событие webhook.test прямо сейчас, не дожидаясь реального заказа.

События order.created / order.status_changed

3D Print Pricing отправляет POST с JSON-телом на ваш URL при создании заказа и при каждой смене workflow_status. Доставка — best-effort (без повторных попыток при ошибке в MVP), поэтому не полагайтесь только на webhook — для сверки используйте GET /print-jobs.

POST <ваш URL>
Content-Type: application/json
X-3DP-Event: order.status_changed
X-3DP-Signature: sha256=<hex-подпись тела запроса>

{
  "event": "order.status_changed",
  "occurred_at": "2026-08-27T18:32:10.000Z",
  "data": {
    "id": "b6b6c8b0-...",
    "model_name": "Кронштейн",
    "quantity_pieces": 4,
    "material_name": "PETG",
    "color_hex": "#000000",
    "material_grams": 86.0,
    "print_hours": 3.5,
    "due_date": "2026-09-01",
    "order_notes": "",
    "workflow_status": "assigned",
    "printer_id": null,
    "printer_name": null
  }
}

Проверка подписи (псевдокод)

signature_header = "sha256=" + hex(HMAC_SHA256(webhook_secret, raw_request_body))
if signature_header != request.headers["X-3DP-Signature"]:
    reject()  # тело подделано или секрет не совпадает

Управление подписками через API

То же самое, что карточка Настройки → Интеграции → Разработчикам, но программно — например, чтобы n8n/скрипт сам завёл канал при первом запуске, не заходя в веб-интерфейс. Максимум 10 каналов на аккаунт.

GET/webhook-subscriptions

Список подписок

Все каналы аккаунта (без секретов — они отдаются только один раз, при создании/пересоздании).

POST/webhook-subscriptions

Создать подписку

Секрет (для формата «3D Print Pricing / HA») вернётся в ответе один раз — сохраните его сразу.

POST/webhook-subscriptions/{id}/test

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

Шлёт синтетическое событие webhook.test на URL уже существующей подписки — реальные заказы не трогает.

GET/webhook-subscriptions/{id}/deliveries

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

Последние 20 попыток отправки по этой подписке (статус, ошибка, время).

DELETE/webhook-subscriptions/{id}

Удалить подписку

Использует то же id подписки, что и поля выше.

Вопросы по интеграции — через обычную поддержку 3D Print Pricing.Написать в поддержку
REST APIWEBHOOKSHOME ASSISTANTDISCORDSLACKN8NKLIPPER
REST APIWEBHOOKSHOME ASSISTANTDISCORDSLACKN8NKLIPPER

Попробуйте 3D Print Pricing бесплатно

© 2026 · 3DPP API · v9.5.0 · 16+

Максим Иван Андреевич · Самозанятый (НПД) · ИНН 524308881820 · print.calculator.3d@gmail.com