Skip to content

Эндпоинты API

Обзорная карта публично описываемых endpoints SNABZHENETS+. Детальный контракт с DTO, схемами ответов и Swagger metadata доступен при запущенном API по http://localhost:3001/docs.

Базовые правила

  • Tenant API использует prefix /api/v1.
  • GET /health доступен без /api/v1.
  • Большинство tenant endpoints требуют session auth.
  • Hub endpoints находятся под /api/v1/hub/api и используются операторской админкой.
  • Public supplier endpoints находятся под /api/v1/public/v1 и используют token в path.

Health и auth

МетодПутьОписание
GET/healthПроверка состояния API
POST/api/v1/auth/registerРегистрация портала и администратора
POST/api/v1/auth/register/availabilityПроверка доступности данных регистрации
POST/api/v1/auth/loginВход
GET/api/v1/auth/meТекущая сессия
POST/api/v1/auth/change-passwordСмена временного или текущего пароля
POST/api/v1/auth/logoutВыход
POST/api/v1/auth/impersonateИмперсонация пользователя

Рабочие процессы закупки

МетодПутьОписание
GET/api/v1/procurement-requestsСписок заявок на закупку
POST/api/v1/procurement-requestsСоздать заявку
GET/api/v1/procurement-requests/:requestIdКарточка заявки
POST/api/v1/procurement-requests/from-procurementСоздать заявку из PO с выбором строк
GET/api/v1/procurementsСписок закупок
POST/api/v1/procurementsСоздать закупку
GET/api/v1/procurements/status-flowСтатусная схема закупок
GET/api/v1/procurements/:procurementIdКарточка закупки
PATCH/api/v1/procurements/:procurementIdОбновить закупку
PATCH/api/v1/procurements/:procurementId/statusСменить статус
GET/api/v1/procurements/:procurementId/suppliersПоставщики закупки
POST/api/v1/procurements/:procurementId/suppliersДобавить поставщика
PATCH/api/v1/procurements/:procurementId/suppliers/:procurementSupplierIdОбновить поставщика закупки
GET/api/v1/procurements/:procurementId/quotesКП поставщиков
POST/api/v1/procurements/:procurementId/quotesДобавить КП
PATCH/api/v1/procurements/:procurementId/quotes/:quoteIdОбновить КП
POST/api/v1/procurements/:procurementId/winnerВыбрать победителя
POST/api/v1/procurements/:procurementId/stock-receiptПринять позиции на склад
GET/api/v1/procurements/:procurementId/exchange/templateСкачать шаблон позиций PO
POST/api/v1/procurements/:procurementId/exchange/importsСоздать preview импорта позиций PO
PATCH/api/v1/procurements/:procurementId/exchange/imports/:jobId/previewОбновить mapping или режим импорта PO
POST/api/v1/procurements/:procurementId/exchange/imports/:jobId/applyПрименить импорт позиций PO
POST/api/v1/procurements/:procurementId/exchange/exportЭкспортировать позиции PO

Каталог, склады, контрагенты

МетодПутьОписание
GET/api/v1/catalogСписок номенклатуры
POST/api/v1/catalogСоздать позицию; обязательно только name, sku optional, можно передать initialPrice и initialStock
GET/api/v1/catalog/:itemIdКарточка позиции
PATCH/api/v1/catalog/:itemIdОбновить позицию
GET/api/v1/catalog/:itemId/stockОстатки
GET/api/v1/catalog/:itemId/movementsДвижения
POST/api/v1/catalog/:itemId/movements/adjustmentРучная корректировка
GET/api/v1/catalog/exchange/template?format=...Скачать шаблон импорта с колонкой ID
POST/api/v1/catalog/exchange/importsЗагрузить файл и создать preview
PATCH/api/v1/catalog/exchange/imports/:jobId/previewПересчитать preview после mapping/options/rowActions
POST/api/v1/catalog/exchange/imports/:jobId/applyПрименить импорт
POST/api/v1/catalog/exchange/exportЭкспорт текущего списка или выбранных строк
GET/api/v1/warehousesСписок складов
POST/api/v1/warehousesСоздать склад
PATCH/api/v1/warehouses/:warehouseIdОбновить склад
GET/api/v1/counterpartiesСписок контрагентов
POST/api/v1/counterpartiesСоздать контрагента
GET/api/v1/counterparties/:counterpartyIdКарточка контрагента
PATCH/api/v1/counterparties/:counterpartyIdОбновить контрагента
DELETE/api/v1/counterparties/:counterpartyIdУдалить контрагента

Файлы

МетодПутьОписание
POST/api/v1/filesЗагрузить файл и привязать к сущности

Документы и оплаты

МетодПутьОписание
GET/api/v1/invoicesВходящие счета
POST/api/v1/invoicesСоздать входящий счёт
GET/api/v1/invoices/:invoiceIdКарточка входящего счёта
PATCH/api/v1/invoices/:invoiceIdОбновить входящий счёт
GET/api/v1/commercial-proposalsКоммерческие предложения
POST/api/v1/commercial-proposalsСоздать КП
GET/api/v1/commercial-proposals/:idКарточка КП
PATCH/api/v1/commercial-proposals/:idОбновить КП
DELETE/api/v1/commercial-proposals/:idУдалить КП
POST/api/v1/commercial-proposals/:id/submit-approvalОтправить на согласование
POST/api/v1/commercial-proposals/:id/approveСогласовать
POST/api/v1/commercial-proposals/:id/rejectОтклонить
POST/api/v1/commercial-proposals/:id/sendОтправить клиенту
POST/api/v1/commercial-proposals/:id/convert-to-invoiceКонвертировать в счёт
GET/api/v1/sales-invoicesИсходящие счета
POST/api/v1/sales-invoicesСоздать исходящий счёт
GET/api/v1/sales-invoices/:idКарточка исходящего счёта
PATCH/api/v1/sales-invoices/:idОбновить исходящий счёт
DELETE/api/v1/sales-invoices/:idУдалить исходящий счёт
POST/api/v1/sales-invoices/:id/paymentsЗарегистрировать оплату
POST/api/v1/sales-invoices/:id/submit-approvalОтправить на согласование
POST/api/v1/sales-invoices/:id/approveСогласовать
POST/api/v1/sales-invoices/:id/issueВыпустить
POST/api/v1/sales-invoices/:id/sendОтправить
POST/api/v1/sales-invoices/:id/voidАннулировать
POST/api/v1/sales-invoices/:id/cancelОтменить

RFQ поставщикам

МетодПутьОписание
GET/api/v1/supplier-rfqsСписок RFQ
POST/api/v1/supplier-rfqsСоздать RFQ
GET/api/v1/supplier-rfqs/:idКарточка RFQ
PATCH/api/v1/supplier-rfqs/:idОбновить RFQ
DELETE/api/v1/supplier-rfqs/:idУдалить RFQ
POST/api/v1/supplier-rfqs/:id/sendОтправить поставщикам
POST/api/v1/supplier-rfqs/:id/remindНапомнить поставщикам
GET/api/v1/supplier-rfqs/:id/historyИстория статусов
POST/api/v1/supplier-rfqs/:id/itemsДобавить позицию
PATCH/api/v1/supplier-rfqs/:id/items/:itemIdОбновить позицию
DELETE/api/v1/supplier-rfqs/:id/items/:itemIdУдалить позицию
POST/api/v1/supplier-rfqs/:id/items/reorderИзменить порядок позиций
GET/api/v1/supplier-quotesСписок ответов поставщиков
POST/api/v1/supplier-quotesСоздать ответ
GET/api/v1/supplier-quotes/:idКарточка ответа
PATCH/api/v1/supplier-quotes/:idОбновить ответ
POST/api/v1/supplier-quotes/:id/submitОтправить ответ
GET/api/v1/supplier-quotes/:id/versionsВерсии ответа
GET/api/v1/supplier-quotes/compare/listСравнение ответов
GET/api/v1/public/v1/supplier-rfqs/:tokenПубличная карточка RFQ
POST/api/v1/public/v1/supplier-rfqs/:token/quote-draftЧерновик ответа поставщика
POST/api/v1/public/v1/supplier-rfqs/:token/quote-submitОтправка ответа поставщика
GET/api/v1/public/v1/supplier-quotes/:token/statusПубличный статус ответа

Администрирование, биллинг, аналитика

МетодПутьОписание
GET/api/v1/usersПользователи
POST/api/v1/usersСоздать пользователя
PATCH/api/v1/users/:userIdОбновить пользователя
DELETE/api/v1/users/:userIdУдалить пользователя
PUT/api/v1/users/:userId/rolesНазначить роли
POST/api/v1/users/:userId/password-resetВыдать новый временный пароль и отозвать сессии
POST/api/v1/users/:userId/sessions/revokeОтозвать активные сессии без смены пароля
GET/api/v1/users/departmentsОтделы сотрудников
POST/api/v1/users/departmentsСоздать отдел
PATCH/api/v1/users/departments/:departmentIdОбновить отдел
DELETE/api/v1/users/departments/:departmentIdУдалить пустой отдел
GET/api/v1/users/rolesРоли
POST/api/v1/users/rolesСоздать кастомную роль
PATCH/api/v1/users/roles/:roleIdОбновить кастомную роль и матрицу прав
DELETE/api/v1/users/roles/:roleIdУдалить кастомную роль с переводом пользователей
GET/api/v1/users/permissionsPermissions
GET/api/v1/users/access-matrixМатрица доступа
GET/api/v1/billing/plansТарифы
GET/api/v1/billing/subscriptionТекущая подписка
POST/api/v1/billing/checkoutCheckout flow
POST/api/v1/billing/enterprise-requestEnterprise-запрос
GET/api/v1/billing/transactionsИстория транзакций
GET/api/v1/analytics/overviewОбзор аналитики
GET/api/v1/analytics/trendsТренды
GET/api/v1/analytics/tablesТаблицы
GET/api/v1/audit-logsЖурнал аудита

Platform и Hub

МетодПутьОписание
GET/api/v1/platform/portals/domain-checkПроверка домена/slug
GET/api/v1/platform/portalsСписок порталов, super_admin
POST/api/v1/platform/portalsСоздание портала, super_admin
POST/api/v1/hub/api/auth/loginHub login
POST/api/v1/hub/api/auth/logoutHub logout
GET/api/v1/hub/api/auth/meHub session
GET/api/v1/hub/api/analytics/serverServer analytics
GET/api/v1/hub/api/portalsПорталы
GET/api/v1/hub/api/portals/:idКарточка портала
POST/api/v1/hub/api/portalsСоздать портал
PATCH/api/v1/hub/api/portals/:idОбновить портал
PATCH/api/v1/hub/api/portals/:id/licenseУправление лицензией
PATCH/api/v1/hub/api/portals/:id/subscriptionУправление подпиской
POST/api/v1/hub/api/portals/:id/impersonateИмперсонация
GET/api/v1/hub/api/partnersПартнёры
POST/api/v1/hub/api/partnersСоздать партнёра
GET/api/v1/hub/api/partners/:id/rewardsВознаграждения партнёра

Интеграции

МетодПутьОписание
GET/api/v1/integrations/marketplace/categoriesКатегории
GET/api/v1/integrations/marketplaceКаталог интеграций
GET/api/v1/integrations/marketplace/:slugКарточка интеграции
GET/api/v1/integrations/installationsУстановки
POST/api/v1/integrations/installationsУстановить интеграцию
GET/api/v1/integrations/installations/:idКарточка установки
PATCH/api/v1/integrations/installations/:id/configКонфигурация
POST/api/v1/integrations/installations/:id/enableВключить
POST/api/v1/integrations/installations/:id/disableВыключить
DELETE/api/v1/integrations/installations/:idУдалить
POST/api/v1/integrations/installations/:id/testПроверить соединение
POST/api/v1/integrations/installations/:id/syncЗапустить синхронизацию
GET/api/v1/integrations/installations/:id/logsЛоги установки
GET/api/v1/integrations/installations/:id/webhook-endpointВходящий webhook endpoint
POST/api/v1/integrations/installations/:id/webhook-endpoint/regenerateПерегенерировать endpoint
GET/api/v1/integrations/oauth/:slug/authorizeНачать OAuth
GET/api/v1/integrations/oauth/:slug/callbackOAuth callback
POST/api/v1/integrations/oauth/:slug/revokeОтозвать OAuth token
POST/api/v1/webhooks/inbound/:tokenПриём входящего webhook

Документация платформы SNABZHENETS+.