Kontentga o'tish

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)

POST /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).

Bittadan 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.

Alohida 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.

POST /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.

Qo’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.

Har 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.