Перейти к основному содержимому

Карта API

Общие правила

  • Базовый префикс: /api/v2/crm.
  • Все write endpoints требуют authenticated actor или service scope.
  • Финансовые команды принимают Idempotency-Key и reason.
  • Public storefront не пишет в CRM напрямую, а использует service endpoint для leads.
  • Webhooks платёжных провайдеров проверяют подпись до изменения состояния.
  • Ошибки возвращаются в общем API envelope.

Accounts

EndpointМетодPermissionНазначение
/accountsGETcrm.accounts.readсписок карточек
/accountsPOSTcrm.accounts.manageсоздать карточку
/accounts/{accountId}GETcrm.accounts.readкарточка
/accounts/{accountId}PATCHcrm.accounts.manageизменить карточку
/accounts/{accountId}/person-linksPOSTcrm.accounts.manageсвязать человека
/accounts/{accountId}/contactsPOSTcrm.contacts.manageдобавить контакт
/accounts/{accountId}/timelineGETcrm.timeline.readtimeline

Sales

EndpointМетодPermissionНазначение
/leadsGET/POSTcrm.leads.read/manageлиды
/service/leads/from-storefrontPOSTservice scopeлид из витрины
/leads/{leadId}/statusPATCHcrm.leads.manageстатус лида
/dealsGET/POSTcrm.deals.read/manageсделки
/deals/{dealId}/statusPATCHcrm.deals.manageстатус сделки
/ordersGET/POSTcrm.orders.read/manageзаказы
/orders/{orderId}/confirmPOSTcrm.orders.manageподтвердить заказ

Billing

EndpointМетодPermissionНазначение
/invoicesGET/POSTcrm.billing.read/manageсчета
/invoices/{invoiceId}GETcrm.billing.readсчёт
/invoices/{invoiceId}/issuePOSTcrm.billing.manageвыставить
/paymentsGETcrm.billing.readплатежи
/payments/provider-webhook/{provider}POSTprovider signaturewebhook
/refundsPOSTcrm.refunds.manageсоздать возврат
/adjustmentsPOSTcrm.adjustments.manageручная корректировка
/accounts/{accountId}/balanceGETcrm.billing.readбаланс

Entitlements

EndpointМетодPermissionНазначение
/productsGET/POSTcrm.products.read/manageпродукты
/products/{productId}/runsGET/POSTcrm.products.read/manageзапуски продукта
/price-plansGET/POSTcrm.products.read/manageтарифы
/entitlementsGET/POSTcrm.entitlements.read/manageдоступы
/entitlements/{id}GETcrm.entitlements.readкарточка доступа
/entitlements/{id}/statusPATCHcrm.entitlements.manageсменить статус
/entitlements/{id}/syncPOSTcrm.entitlements.manageотправить command в target domain
/entitlements/{id}/consumptionPOSTcrm.entitlements.consumeзаписать consumption от LMS/competitions

Support and interactions

EndpointМетодPermissionНазначение
/interactionsGET/POSTcrm.interactions.read/manageкоммуникации
/ticketsGET/POSTcrm.tickets.read/manageобращения
/tickets/{ticketId}/statusPATCHcrm.tickets.manageстатус обращения
/notesPOSTcrm.notes.manageзаметка

Payroll

EndpointМетодPermissionНазначение
/teacher-ratesGET/POSTcrm.payroll.manageставки
/teacher-payoutsGET/POSTcrm.payroll.read/manageвыплаты
/teacher-payouts/{id}/calculatePOSTcrm.payroll.manageрасчёт
/teacher-payouts/{id}/approvePOSTcrm.payroll.approveутверждение
/me/teacher-payoutsGETcrm.payroll.read_selfсвой расчёт

Admin

EndpointМетодPermissionНазначение
/sync-logsGETcrm.integrations.readжурнал синхронизации
/audit-logsGETcrm.audit.readаудит
/exportsPOSTcrm.exports.createэкспорт
/settingsGET/PATCHcrm.adminнастройки

Error codes

КодHTTPКогда
crm.account.not_found404карточка не найдена
crm.lead.duplicate409дубль лида по idempotency
crm.invoice.not_payable409счёт нельзя оплатить
crm.payment.signature_invalid401webhook signature invalid
crm.payment.duplicate_webhook200webhook уже обработан
crm.refund.amount_invalid400сумма возврата недопустима
crm.entitlement.source_required400доступ без основания
crm.financial.reason_required400нет причины корректировки
crm.financial.forbidden403нет доступа к финансам