Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Alışveriş

Sepetten sipariş belgesine

Alıcının gördüğü “sipariş ver” düğmesi aslında birkaç hizmeti sırayla çağırır. Bu sayfa o sırayı anlatır.

1. Katalog ve arama

Alıcının seçili teslimat adresi, hangi depodan alışveriş yapacağını belirler. Arama MeiliSearch product indeksinde çalışır; filtreler depo, şirket tipi ve kategoridir. Sonuçlar o deponun fiyat kademeleriyle doldurulur.

Favori Prisma ProductFavorite tablosundadır. Ürün talebi Mongo productRequests koleksiyonuna düşer.

2. Sepet

Sepete ekleme Prisma ProductBasket satırını yazar veya günceller (kullanıcı + ürün tektir). Sepet henüz sipariş değildir; stok rezervasyonu bu adımda anlatılan kod yolunda yoktur.

3. Önizleme

Satın alma önizlemesi siparişi kaydetmeden şunları kurar:

  • Alıcı, teslimat adresi, fatura adresi
  • Depo kararı ve asgari sepet kuralı
  • Cari bakiye
  • Aktif sepet satırları ve depo fiyatları
  • Kargo, indirim, içeride taşıma, cari kullanımı
  • Teslimat bloğu (tarih, tür, mesafe)

Sonuç, henüz kaydedilmemiş bir sipariş belgesi görünümüdür.

4. Sipariş oluşturma

Aynı kullanıcı için kilit alınır. Ödeme bekleyen eski siparişler iptal edilebilir. Sonra Mongo’da buyerOrders belgesi oluşur.

İlk durum ödeme yöntemine bağlıdır:

Yöntemİlk durumNeden
Kart (CARD)PAYMENT_FAILEDHenüz sağlayıcıdan başarı gelmedi; ödeme bekler
Havale (TRANSFER)PAYMENT_WAITINGOperasyon onayı bekler
Cari (ACCOUNT) veya çevrimdışı / sıfır tutarPENDINGTahsilat sipariş anında kapanmış sayılır

Cari kullanıldıysa USE_BALANCE_FOR_PURCHASE hareketi yazılır. PENDING olan sipariş buyer-order.created olayını üretir ve sepet temizlenir. Kart/havale siparişinde bu olay ödeme düşünce üretilir.

Sipariş oluşunca ne olur?

buyer-order.created dinleyicisi (kodda) şunları yapar:

  • Bölge kilidi bildirimi (kapsama alanı)
  • Yönetici e-postası ve alıcı push
  • Telegram uyarısı
  • AdminBuyer sipariş sayacı
  • Favori upsert
  • BigQuery sipariş ve kalem satırları
  • Sipariş notundan AI çıkarımı
  • CRM notlarının yetkili notuna aktarımı
  • Satış raporu kuyruğu

Sipariş durumları

Sipariş belgesi ve kalemler aynı enum’u paylaşır. Aşağıdakiler sipariş düzeyi yaşam çizgisidir.

DurumAnlamı
PAYMENT_WAITINGHavale bildirimi / onay bekleniyor
PAYMENT_FAILEDKart henüz başarılı değil
PAYMENT_TIMEOUTÖdeme süresi doldu
PENDINGDepo kuyruğunda
APPROVEDOnaylandı
IN_PROGRESSHazırlanıyor
READYTeslime hazır
SHIPPEDYola çıktı; stok çıkışı bu adımda
DELIVEREDTeslim edildi
CANCELLEDİptal
RETURNEDİade tamam

Kalem üzerindeki RETURN_PENDING, RETURN_APPROVED, RETURN_IN_PROGRESS, RETURN_REJECTED değerleri açık bir iade talebinin yansımasıdır; siparişin ana durumundan ayrı tutulur.

Sonraki adım: Ödeme veya Hazırlık ve teslimat. Belge alanları: Sipariş ve iade.