Принтери

Принтер — це одиниця обладнання у фліті студії: назва, технологія друку, модель, об'єм друку, статус та нотатки з обслуговування. На відміну від решти каталогу (матеріали, якості друку, послуги постобробки), фліт принтерів доступний для запису — можна створювати, редагувати та видаляти принтери напряму через API.

Об'єкт Printer#

ПолеТипОпис
idintegerУнікальний ідентифікатор принтера
namestringНазва принтера (наприклад, «Bambu Lab X1 Carbon #2»)
studioIdintegerІдентифікатор студії-власника
technologyTechnologyТехнологія друку принтера
modelstring | nullМодель обладнання
buildVolumestring | nullОб'єм друку, наприклад "256x256x256mm"
statusstringСтатус — див. Статуси принтера
maintenanceNotestring | nullДовільна нотатка з обслуговування
nextMaintenanceAtstring | nullДата наступного планового обслуговування, YYYY-MM-DD
assignedItemsarrayПозиції замовлень, що зараз друкуються на цьому принтері — див. Об'єкт PrinterQueueItem

Статуси принтера#

СтатусЗначення
activeУ роботі
maintenanceНа обслуговуванні
offlineВимкнено / недоступний

Об'єкт PrinterQueueItem#

ПолеТипОпис
orderItemIdintegerІдентифікатор позиції замовлення
orderIdintegerІдентифікатор замовлення
orderStatusstringСтатус замовлення
customerNamestringІм'я та прізвище клієнта
itemLabelstringНазва товару або оригінальна назва файлу моделі
quantityintegerКількість копій у позиції
downloadUrlstring | nullТимчасове підписане посилання на файл моделі
materialColorstring | nullКолір матеріалу позиції

Список технологій друку#

Повертає всі технології друку, підтримувані платформою. Значення id звідси використовується як technologyId при створенні та редагуванні принтера.

GET /technologies

Приклад запиту

curl https://api.placraftic.com/v1/technologies \
  -H "Authorization: Bearer pk_live_..."

Приклад відповіді

{
  "data": [
    { "id": 1, "name": "FDM", "slug": "fdm", "materialCount": 0 },
    { "id": 2, "name": "SLA", "slug": "sla", "materialCount": 0 },
    { "id": 3, "name": "DLP", "slug": "dlp", "materialCount": 0 },
    { "id": 4, "name": "MSLA", "slug": "msla", "materialCount": 0 },
    { "id": 5, "name": "SLS", "slug": "sls", "materialCount": 0 }
  ]
}

materialCount тут завжди 0 — це поле має сенс лише в контексті студії (кількість матеріалів студії цієї технології) і для загального довідника технологій не рахується.


Список принтерів#

Повертає всі принтери студії, відсортовані за id у спадному порядку.

GET /printers

Приклад запиту

curl https://api.placraftic.com/v1/printers \
  -H "Authorization: Bearer pk_live_..."

Приклад відповіді

{
  "data": [
    {
      "id": 2,
      "name": "Voron 2.4 350",
      "studioId": 1,
      "technology": { "id": 1, "name": "FDM", "slug": "fdm", "materialCount": 0 },
      "model": "Voron 2.4r2 Custom",
      "buildVolume": "350x350x350 mm",
      "status": "active",
      "maintenanceNote": "Замінено сопло на 0.6 CHT",
      "nextMaintenanceAt": "2026-11-15",
      "assignedItems": []
    }
  ]
}

Отримати принтер#

Повертає один принтер за ідентифікатором, включно з поточною чергою друку.

GET /printers/{id}

Параметри шляху

ПараметрТипОпис
idintegerІдентифікатор принтера

Приклад запиту

curl https://api.placraftic.com/v1/printers/2 \
  -H "Authorization: Bearer pk_live_..."

Помилки

КодПричина
404Принтер з таким id не існує або належить іншій студії

Створити принтер#

POST /printers

Тіло запиту (JSON)

ПолеТипОбов'язковеОпис
namestringтакНазва принтера
technologyIdintegerтакІдентифікатор технології зі списку технологій
statusstringніactive, maintenance або offline, за замовчуванням active
modelstringніМодель обладнання
buildVolumestringніОб'єм друку, наприклад "256x256x256mm"
maintenanceNotestringніДовільна нотатка з обслуговування
nextMaintenanceAtstringніДата наступного обслуговування, YYYY-MM-DD

Приклад запиту

curl https://api.placraftic.com/v1/printers \
  -H "Authorization: Bearer pk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"name":"Bambu Lab X1 Carbon #2","technologyId":1,"model":"Bambu Lab X1 Carbon","buildVolume":"256x256x256mm"}'

Приклад відповіді

{
  "data": {
    "id": 3,
    "name": "Bambu Lab X1 Carbon #2",
    "studioId": 1,
    "technology": { "id": 1, "name": "FDM", "slug": "fdm", "materialCount": 0 },
    "model": "Bambu Lab X1 Carbon",
    "buildVolume": "256x256x256mm",
    "status": "active",
    "maintenanceNote": null,
    "nextMaintenanceAt": null,
    "assignedItems": []
  }
}

Помилки

КодПричина
400Відсутнє обов'язкове поле name або technologyId, або невалідне значення status
404Технологія з таким technologyId не існує

Оновити принтер#

Часткове оновлення — змінюються лише передані поля, решта залишається без змін.

PATCH /printers/{id}

Параметри шляху

ПараметрТипОпис
idintegerІдентифікатор принтера

Тіло запиту (JSON)

Ті самі поля, що й при створенні (див. вище), усі опціональні — передавайте лише те, що потрібно змінити.

Приклад запиту

curl -X PATCH https://api.placraftic.com/v1/printers/3 \
  -H "Authorization: Bearer pk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"status":"maintenance","maintenanceNote":"Заміна сопла"}'

Помилки

КодПричина
400Невалідне значення status
404Принтер з таким id не існує або належить іншій студії; або технологія з переданим technologyId не існує

Видалити принтер#

DELETE /printers/{id}

Параметри шляху

ПараметрТипОпис
idintegerІдентифікатор принтера

Приклад запиту

curl -X DELETE https://api.placraftic.com/v1/printers/3 \
  -H "Authorization: Bearer pk_live_..."

Успішна відповідь — 204 No Content без тіла.

Помилки

КодПричина
404Принтер з таким id не існує або належить іншій студії

Світлій пам'яті Норіка (2015–2026). Він до останнього тяжко боровся за життя.