Sotuvning hayotiy sikli
BILLZ’da sotuv — bir necha holatlardan o’tuvchi obyekt.
qoralama yaratildi ├── pozitsiyalar qo'shildi ├── mijoz biriktirildi (ixtiyoriy) ├── chegirmalar qo'llanildi (ixtiyoriy) ├── sertifikat qo'shildi (ixtiyoriy) │ ├──> kechiktirilgan ──> ishga qaytarildi │ └──> to'langan ──> sotuv (fiskal chek)Qoralama
“Qoralama” bo'limiPOST /v2/order tanasi bilan {"shop_id": "…"} chaqirish orqali yaratiladi.
Bu asinxron metod: Billz-Response-Channel: HTTP bilan javob konvertda keladi, unda qoralama
identifikatori id maydonida, uning qisqa raqami esa data.order_number da joylashgan bo’ladi.
Qoralama do’kondagi kassirga ko’rinadi va u to’langunga yoki o’chirilgunga qadar mavjud bo’ladi
(DELETE /v2/order/:id — asinxron).
Pozitsiyalar
“Pozitsiyalar” bo'limiBittadan qo’shiladi: POST /v2/order-product/:order_id (asinxron), miqdori —
sold_measurement_value maydonida.
Xuddi shu metod pozitsiyani olib tashlaydi: sold_measurement_value: 0 chekdan qatorni unga
tayinlangan qo’lda kiritilgan chegirma bilan birga o’chiradi.
Kechiktirish
“Kechiktirish” bo'limiAlohida holat: chek to’xtatib turilgan, ammo yo’qolmagan.
Kechiktirish — POST /v2/order/create_postpone (asinxron), tanada order_id, time va ixtiyoriy
comment. Ishga qaytarish — POST /v2/order/return-postpone.
time maydoni majburiy va qat’iy formatni talab qiladi: 2024-07-16 06:47:30.
To’lov
“To’lov” bo'limiPOST /v2/order-payment/:order_id chekni yopadi. Bu sinxron metod: unga Billz-Response-Channel
sarlavhasi kerak emas.
Tanada — to’lovlar massivi: chekni bir vaqtning o’zida bir nechta metodlar bilan, shuningdek,
with_cashback orqali mijoz bonuslari bilan ham to’lash mumkin. To’lovdan so’ng qoralama sotuvga
aylanadi va hisobotlarga tushadi.
Kassa smenalari mavjud bo’lganda, to’lov uchun sotuv do’konida ochiq smena bo’lishi talab etiladi. To’lov xatolarini tahlil qilish — onlayn buyurtmada.
Chegirmalar
“Chegirmalar” bo'limiQo’lda beriladigan chegirma — POST /v2/order-manual-discount/:order_id (asinxron): butun savatga
yoki, agar product_id uzatilgan bo’lsa, aniq bir mahsulotga.
Chek summasini qayta hisoblash — POST /v1/recalculate-order-bill/:order_id, sinxron: javobda
sotuvning qayta hisoblangan tafsilotlari bo’ladi.
Nima sinxron va nima yo’q
“Nima sinxron va nima yo’q” bo'limiHar bir metodning o’z rejimi bor:
| Metod | Qanday ishlaydi |
|---|---|
POST /v1/recalculate-order-bill/:order_id |
sinxron |
POST /v2/order-payment/:order_id |
sinxron |
GET /v2/order/:id, GET /v2/order-notes |
sinxron |
POST /v2/order (sotuv yaratish) |
asinxron |
POST /v2/order-product/:order_id |
asinxron |
POST /v2/order-manual-discount/:order_id |
asinxron |
PUT /v2/order-customer-new/:order_id |
asinxron |
DELETE /v2/order/:id |
asinxron |
POST /v2/order/create_postpone |
asinxron |
POST /v2/order/return-postpone |
asinxron |
Asinxron metodlar uchun Billz-Response-Channel: HTTP uzatiladi, aks holda javobda faqat so’rov
identifikatori keladi.