UDENTIVA Умная платформа управления стоматологией
РЕСУРС API

Инкассация и финансы

Счёт, идемпотентная оплата, сальдо взаиморасчётов, сверка на конец дня и e-Fatura. Деньги хранятся в numeric(14,2); сальдо взаиморасчётов вычисляется, а не вводится вручную.

Ранний доступ Весь API

Конечные точки

12 конечная точка

Конечные точки этого ресурса. Каждая точка ограничена данными клиники, к которой привязан ключ API; точки записи поддерживают заголовок Idempotency-Key.

POST /v1/invoices Создаёт счёт admin · секретарь · врач
GET /v1/invoices Выводит список счетов admin
GET /v1/invoices/{id} Возвращает детали счёта Все авторизованные роли
POST /v1/invoices/{id}/void Аннулирует счёт (сторнирующая запись) admin
POST /v1/invoices/{id}/einvoice Отправляет счёт как e-Fatura (GİB) admin
GET /v1/einvoices Выводит список записей e-Fatura admin
POST /v1/payments Регистрирует оплату (идемпотентно) admin · секретарь · врач
GET /v1/patients/{id}/balance Возвращает сальдо взаиморасчётов пациента Все авторизованные роли
GET /v1/patients/{id}/ledger Выводит список операций по взаиморасчётам пациента Все авторизованные роли
GET /v1/cash/day Возвращает кассовую сводку на конец дня admin · секретарь
GET /v1/cari Выводит список текущих сальдо взаиморасчётов admin · секретарь
GET /v1/billing/summary Возвращает сводку по финансам/оплатам admin · секретарь

Пример использования

Зарегистрировать оплату (идемпотентно)

Запрос
curl -X POST https://api.udentiva.com/v1/payments \
  -H "Authorization: Bearer udk_live_xxx" \
  -H "Idempotency-Key: pay-7c3f..." \
  -H "Content-Type: application/json" \
  -d '{"patient_id":"c0ffee00-...","amount":"1500.00","method":"card"}'
Ответ
HTTP/1.1 201 Created
{
  "id": "pmt-9001",
  "amount": "1500.00",
  "method": "card",
  "created_at": "2026-06-24T09:15:00Z"
}

# Aynı Idempotency-Key ile tekrar → aynı kayıt döner, ikinci tahsilat OLUŞMAZ.

Безопасность этого ресурса

Безопасность — не функция, а сама архитектура. Гарантии, действующие на этом ресурсе:

Идемпотентная оплата: благодаря Idempotency-Key + серверной блокировке одна и та же оплата не регистрируется дважды даже при повторе по сети (двойного списания нет).
Деньги всегда в numeric(14,2); арифметика с суммой, полученной от клиента, не выполняется, округление производится в одном месте на сервере.
Аннулирование/возврат = сторнирующая запись (void/refund); строка физически не удаляется. Сальдо взаиморасчётов вычисляется как Σсчетов − Σоплат.
Многосущностная операция (счёт + позиция + оплата) атомарна в одной transaction: либо всё, либо ничего.
Вся модель безопасности →

Формат ошибки

Ошибки возвращаются в согласованном конверте; код — для машины, сообщение — для пользователя. Внутренняя ошибка/стек никогда не утекает.

{
  "error": {
    "code": "validation_failed",
    "message": "Недопустимое поле: e-mail"
  }
}

Другие ресурсы

Пациенты Записи на приём и календарь Одонтограмма и лечение Склад Снимки Лаборатория Lead и CRM Медицинский туризм Отчётность и BI Webhooks Передача данных (Export API)
Хотите ранний доступ?
Узнайте об открытии API первыми.
Связаться