Invoice, idempotent na koleksyon, balanse ng account, end-of-day reconciliation at e-Fatura. Ang pera ay itinatago sa numeric(14,2); ang balanse ng account ay hinahango, hindi isinusulat nang manu-mano.
Ang mga endpoint na nauukol sa mapagkukunang ito. Bawat endpoint ay limitado sa datos ng klinikang naka-ugnay sa API key; ang mga write endpoint ay sumusuporta sa Idempotency-Key header.
/v1/invoices
Gumagawa ng invoice
admin · sekretarya · doktor
/v1/invoices
Inililista ang mga invoice
admin
/v1/invoices/{id}
Kinukuha ang detalye ng invoice
Lahat ng awtorisadong role
/v1/invoices/{id}/void
Kinakansela ang invoice (reverse entry)
admin
/v1/invoices/{id}/einvoice
Ipinapadala ang invoice bilang e-Fatura (GİB)
admin
/v1/einvoices
Inililista ang mga tala ng e-Fatura
admin
/v1/payments
Nagtatala ng koleksyon (idempotent)
admin · sekretarya · doktor
/v1/patients/{id}/balance
Kinukuha ang balanse ng account ng pasyente
Lahat ng awtorisadong role
/v1/patients/{id}/ledger
Inililista ang mga galaw ng account ng pasyente
Lahat ng awtorisadong role
/v1/cash/day
Kinukuha ang buod ng end-of-day na kaha
admin · sekretarya
/v1/cari
Inililista ang mga balanse ng account
admin · sekretarya
/v1/billing/summary
Kinukuha ang buod ng pananalapi/koleksyon
admin · sekretarya
Magtala ng koleksyon (idempotent)
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.
Ang seguridad ay hindi isang feature, kundi ang arkitektura mismo. Ang mga garantiyang may bisa sa mapagkukunang ito:
Ang mga error ay ibinabalik sa isang tugmang envelope; ang code ay para sa makina, ang mensahe ay para sa user. Ang panloob na error/stack ay hindi kailanman tumatagas.
{
"error": {
"code": "validation_failed",
"message": "Di-wastong field: email"
}
}
We use cookies necessary for core functionality; analytics and marketing cookies are enabled only with your consent. Cookie Policy