Giriş
🎯 Bu modül ne yapar?
Orders modülü, müşteri siparişlerini oluşturmanıza, yönetmenize ve takip etmenize olanak tanır - alışveriş sepeti ödeme aşamasından ödeme işlemesine ve siparişin yerine getirilmesine kadar - e-ticaret sipariş yaşam döngüsünü tamamen yönetir.
Bunu sipariş yönetim sisteminiz olarak düşünün - müşteriler ürünleri sepete ekler, sipariş verir, ödemeler yapar ve siz her şeyi siparişin oluşturulmasından teslimata kadar takip edersiniz, hepsi OneEntry içinde.
📖 Basit Açıklama
Her e-ticaret uygulamasının sipariş yönetimine ihtiyacı vardır:
- 🛒 Alışveriş Sepeti - Kullanıcılar ürün ekler, ödeme aşamasına geçer
- 📋 Sipariş Oluşturma - Sepeti müşteri bilgileriyle siparişe dönüştür
- 💳 Ödeme İşleme - Ödemeleri kabul et (kredi kartı, PayPal, vb.)
- 📦 Sipariş Takibi - Durumu takip et (beklemede, işleniyor, gönderildi, teslim edildi)
- 📊 Sipariş Yönetimi - Tüm siparişleri görüntüle, duruma göre filtrele, ara
- 🧾 Sipariş Detayları - Kalemleri, toplamları, müşteri bilgilerini görüntüle
Sorunlar:
- 🔒 Ödeme entegrasyonu yok - Manuel ödeme takibi
- 📊 Zayıf takip - Siparişleri bulmak zor, duruma göre filtreleme
- 🔄 Otomasyon yok - Manuel durum güncellemeleri, bildirim yok
- 💸 Vergi/taşıma hesaplaması yok - Manuel hesaplama
Sipariş çözümü:
Faydalar:
- 🔒 Entegre ödemeler - Stripe, PayPal, diğer geçitler
- 📊 Gelişmiş takip - Siparişleri filtrele, ara, dışa aktar
- 🔄 Otomatik iş akışları - Durum güncellemeleri, bildirimler
- 💸 Otomatik hesaplamalar - Vergi, taşıma, indirimler
✨ Temel Kavramlar
Sipariş Nedir?
Bir Sipariş, aşağıdakileri içeren bir müşteri satın alma işlemidir:
- Sipariş Kalemleri - Satın alınan ürünler/hizmetler (miktar, fiyat)
- Müşteri Bilgileri - İsim, e-posta, telefon
- Gönderim Adresi - Teslimat yeri
- Fatura Adresi - Ödeme fatura bilgileri
- Ödeme Detayları - Ödeme yöntemi, işlem kimliği
- Sipariş Toplamları - Ara toplam, vergi, taşıma, toplam
- Sipariş Durumu - Mevcut durum (beklemede, işleniyor, tamamlandı)
- Zaman Damgaları - Oluşturulma, güncellenme, tamamlama tarihleri
Sipariş Yapısı
Her sipariş bu yapıya sahiptir:
{
id: 179,
storageId: 1,
createdDate: '2025-07-03T00:43:02.908Z',
statusIdentifier: 'inProgress',
formIdentifier: 'orderForm',
formData: [
{
marker: 'order_name',
type: 'string',
value: 'Ivan'
}
],
attributeSetIdentifier: 'order_form',
totalSum: '300.00',
currency: 'USD',
paymentAccountIdentifier: 'cash',
paymentAccountLocalizeInfos: { title: 'Cash' },
products: [
{
id: 2957,
title: 'Cosmo',
sku: null,
previewImage: null,
price: 150,
quantity: 2,
},
],
isCompleted: true,
}
Sipariş Yaşam Döngüsü
1. Müşteri ürünleri sepete ekler
↓
2. Ödeme aşamasına geçer
↓
3. Gönderim/fatura bilgilerini girer
↓
4. Ödeme yöntemini seçer
↓
5. Sipariş oluşturulur (durum: beklemede)
↓
6. Ödeme işlenir (durum: işleniyor)
↓
7. Sipariş onaylanır (durum: onaylandı)
↓
8. Ürünler hazırlanır (durum: işleniyor)
↓
9. Sipariş gönderilir (durum: gönderildi)
↓
10. Sipariş teslim edilir (durum: tamamlandı)
Sipariş Durumları örnekleri
| Durum | Anlamı | Ne Zaman Kullanılır |
|---|---|---|
| beklemede | Sipariş oluşturuldu, ödeme bekleniyor | Yeni verildi, ödeme işlenmedi |
| işleniyor | Ödeme alındı, ürünler hazırlanıyor | Ödeme onaylandı, ürünler paketleniyor |
| onaylandı | Sipariş onaylandı, gönderime hazır | Ödeme alındı, sipariş doğrulandı |
| gönderildi | Sipariş müşteriye gönderildi | Paket kargo ile gönderildi |
| teslim edildi | Sipariş müşteri tarafından alındı | Teslimat onaylandı |
| tamamlandı | Sipariş tamamlandı, işlem gerekmiyor | İşlem tamamlandı |
| iptal edildi | Sipariş iptal edildi | Müşteri/yönetici iptal etti |
| iade edildi | Ödeme müşteriye iade edildi | İade işlemi yapıldı |
| başarısız | Ödeme veya işlem başarısız oldu | Ödeme reddedildi |
Yaygın Sipariş İşlemleri
| İşlem | Açıklama | Örnek Kullanım Durumu |
|---|---|---|
| Sipariş Oluştur | Sepeti siparişe dönüştür | Ödeme butonuna tıklandı |
| Siparişleri Al | Tüm siparişleri listele (sayfalı) | Yönetici paneli |
| ID ile Siparişi Al | Belirli bir siparişi getir | Sipariş detaylarını görüntüle |
| Durumu Güncelle | Sipariş durumunu değiştir | Gönderildi olarak işaretle |
| Toplamları Hesapla | Vergi, taşıma, toplam hesapla | Ödeme özeti |
| Siparişi İptal Et | Beklemedeki siparişi iptal et | Müşteri iptal talep etti |
| Siparişi İade Et | Müşteriye ödemeyi iade et | Ürün iadesi |
Neden Orders Modülünü Kullanmalıyım?
| Faydası | Açıklama |
|---|---|
| Otomatik Sipariş Yönetimi | Manuel takip yok, her şey otomatik |
| Ödeme Entegrasyonu | Stripe, PayPal, diğer geçitler entegre |
| Durum Takibi | Gerçek zamanlı sipariş durumu güncellemeleri |
| Müşteri Bildirimleri | Sipariş onayları, gönderim güncellemeleri otomatik gönder |
| Stok Yönetimi | Siparişle otomatik olarak stok düşürme |
| Analiz ve Raporlama | Satış raporları, gelir takibi |
| Güvenlik | PCI uyumlu ödeme işlemleri |
📋 Bilmeniz Gerekenler
Siparişler Sepet Verilerinden Oluşturulur
Sağlamanız gerekenler:
- Müşteri bilgileri - İsim, e-posta, telefon
- Sipariş kalemleri - Ürünler, miktarlar, fiyatlar
- Gönderim adresi - Teslimat yeri
- Ödeme yöntemi - Müşterinin nasıl ödeyeceği
Sipariş Durumu Yönetimi
Sipariş ilerlemesini durumlar aracılığıyla takip edin:
Yaygın durum akışları:
- Dijital ürünler: beklemede → işleniyor → tamamlandı
- Fiziksel ürünler: beklemede → işleniyor → gönderildi → teslim edildi → tamamlandı
- İptal edildi: herhangi bir durum → iptal edildi
- İade edildi: tamamlandı → iade edildi
Ödeme İşleme
Siparişler ödeme geçitleri ile entegre olur
💡 Önemli Notlar
Siparişler OneEntry'de Oluşturulur
Orders modülü, sipariş yaşam döngüsünü tamamen yönetir:
- ✅ Sepet verilerinden sipariş oluştur
- ✅ Ödemeleri işle
- ✅ Sipariş durumunu güncelle
- ✅ Gönderimi takip et
- ❌ Alışveriş sepeti arayüzünü yönetmez (bunu siz oluşturursunuz)
Sizin sorumluluğunuz:
- Alışveriş sepeti arayüzünü oluşturmak
- Müşteri bilgilerini toplamak
- Sipariş onayını görüntülemek
Ödeme İşleme
Siparişler ödeme geçitleri ile entegre olur:
- Stripe (önerilir)
- PayPal
- Özel geçitler
Önemli:
- Kredi kartı bilgilerini doğrudan saklamayın
- Tokenizasyon kullanın (Stripe.js, PayPal SDK)
- OneEntry güvenli ödeme işlemlerini yönetir
Stok Yönetimi
Siparişler otomatik olarak:
- ✅ Sipariş oluşturulduğunda stok düşür
- ✅ İptal edildiğinde stoku geri yükle
- ✅ Stok seviyelerini takip et
En iyi uygulama: Sipariş oluşturmadan önce stoku kontrol edin
Güvenlik
Siparişler hassas veriler içerir:
- Müşteri kişisel bilgileri
- Ödeme detayları
- Gönderim adresleri
Her zaman:
- Ödeme sayfaları için HTTPS kullanın
- Sipariş oluşturmadan önce verileri doğrulayın
- Uygun kimlik doğrulama uygulayın
- Ödemeler için PCI DSS uyumunu takip edin
📊 Hızlı Referans Tablosu
| Yöntem | Açıklama |
|---|---|
| createOrder() | Yeni sipariş oluştur |
| getAllOrdersByMarker() | Tüm siparişleri al (sayfalı) |
| getOrderByMarker() | Bir sipariş depolama nesnesini marker ile al. |
| getAllOrdersStorage() | Tüm sipariş depolama nesnelerini al. |
| getOrderByMarkerAndId() | Kullanıcı tarafından oluşturulan sipariş depolama nesnesinden marker ve id ile bir siparişi al. |
| updateOrderByMarkerAndId() | Kullanıcı tarafından oluşturulan sipariş depolama nesnesinden marker ve id ile bir siparişi güncelle. |
❓ Yaygın Sorular (SSS)
Birden fazla ürünle nasıl sipariş oluşturabilirim?
Sipariş verilerinde bir dizi ürün nesnesi geçirin.
Her ürün id, quantity ve price içermelidir.
Toplam tutar, ürün miktarları ve fiyatlarına göre otomatik olarak hesaplanır.
Oluşturulduktan sonra bir siparişi güncelleyebilir miyim?
Evet, sipariş detaylarını (durum, gönderim adresi veya sipariş verileri gibi) değiştirmek için updateOrderByMarkerAndId() kullanın.
Ancak, ödeme işlendiğinde, sipariş kalemlerini veya toplamları değiştirirken dikkatli olun.
Sipariş durumu değişikliklerini nasıl takip edebilirim?
Mevcut sipariş durumunu takip etmek için statusIdentifier alanını kullanın.
Ayrıca, sipariş durumu değiştiğinde bildirim almak için web kancaları kurabilir veya Events modülünü kullanabilirsiniz.
Sipariş depolama ile bireysel siparişler arasındaki fark nedir?
Sipariş depolama, ilgili siparişleri (belirli bir form veya satış kanalı gibi) gruplandıran bir konteynırdır. Bireysel siparişler, o depolama içindeki gerçek satın alma işlemleridir. Farklı sipariş depolarını tanımlamak ve düzenlemek için işaretleyicileri kullanın.
Sipariş iptalleri ve iadeleri nasıl yönetebilirim?
updateOrderByMarkerAndId() kullanarak sipariş durumunu 'iptal edildi' olarak güncelleyin.
İadeler için, iade işlemini gerçekleştirmek üzere Payments modülünü kullanın, ardından sipariş durumunu 'iade edildi' olarak güncelleyin.
Bir müşterinin sipariş geçmişini alabilir miyim?
Evet, belirli bir müşteri için tüm siparişleri almak üzere uygun filtrelerle getAllOrdersByMarker() kullanın.
Kullanıcı ID'sine, tarih aralığına veya diğer kriterlere göre filtreleyebilirsiniz.
🎓 En İyi Uygulamalar
- Siparişi oluşturmadan önce sepeti doğrulayın - Stok mevcudiyetini kontrol edin
- Toplamları sunucu üzerinde hesaplayın - İstemci tarafı hesaplamalarına asla güvenmeyin
- Sipariş onaylarını gönderin - Sipariş verildikten sonra müşterilere e-posta gönderin
- Sipariş durumunu takip edin - Sipariş ilerledikçe durumu güncelleyin
- Ödeme hatalarını yönetin - Yeniden deneme mantığı, net hata mesajları
- Sipariş araması uygulayın - Müşterilerin siparişlerini kolayca bulmalarını sağlayın
- Sipariş geçmişini saklayın - Müşteri hizmetleri için kayıtları tutun
- Sayfalandırma kullanın - Tüm siparişleri bir anda yüklemeyin
Modülün kullanıcı arayüzü hakkında daha fazla bilgi https://doc.oneentry.cloud/docs/category/orders
Orders modülünün tanımı
const { Orders } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
🔗 İlgili Belgeler
- Products Modülü - Satın alınabilir ürünleri yönetin
- Users Modülü - Sipariş veren müşterileri yönetin
- IntegrationCollections Modülü - Ödeme geçidi entegrasyonları
- Events Modülü - Sipariş durumu bildirimleri