Sipariş Senkronizasyonu

Otomatik 5 dakikalık cron, manuel sync, tarih aralığı seçimi, idempotent davranış.

Otomatik sync

Her bağlı pazaryeri için Qando arka planda her 5 dakikada bir sipariş senkronizasyonu çalıştırır. BullMQ + Redis kuyrukları üzerinden, her pazaryeri için ayrı işçi:

  • Trendyol order sync — */5 * * * *
  • Hepsiburada order sync — */5 * * * *
  • N11 order sync — */5 * * * *
  • Çiçeksepeti order sync — */5 * * * *
  • Pazarama order sync — */5 * * * *
  • Shopify order sync — */5 * * * *
  • ikas, Ticimax, T-Soft order sync — */5 * * * *
  • Temu order sync — */5 * * * *

Cron'lar UTC saatte çalışır.

Manuel sync

İstediğiniz zaman manuel olarak tetikleyebilirsiniz:

  1. Entegrasyonlar > ilgili pazaryeri bağlantısı.
  2. Sipariş Senkronu butonuna basın.
  3. Açılan modal'da tarih aralığı:
    • Başlangıç tarihi (zorunlu)
    • Bitiş tarihi (zorunlu)
  4. Senkronize Et butonuna bas.

Eğer tarih boş bırakırsanız varsayılan son 24 saat senkronize edilir.

Tarih aralığı sınırı

PazaryeriMaksimum aralık
Trendyol14 gün
Hepsiburada30 gün
N1130 gün
Çiçeksepeti7 gün
Pazarama14 gün
Shopify90 gün

Daha uzun süre senkronize etmek için aralıkları parçalayın (örn. 30 günü 2 hafta × 2 olarak).

Idempotent davranış

Aynı siparişi 100 kez senkronize etseniz çift kayıt oluşmaz:

  • Her sipariş (connectionId + extOrderId) kombinasyonu ile unique
  • Var olan kayıt upsert edilir (yeni veriyle günceller)
  • SALE hareketleri çift düşülmez — daha önce işlendi mi kontrolü yapılır

Bu sayede tarih aralığını geniş tutmaktan çekinmeyin.

Sipariş durum güncellemesi

Sipariş zaten Qando'da varsa sync sırasında:

  • Durum güncellenir (NEW → APPROVED, vb.)
  • Kargo takip kodu güncellenir (varsa)
  • Müşteri adresi güncellenir
  • Kalem listesi güncellenir (yeni eklenen kalem varsa)

Bildirim akışı

Sync sonucunda yeni sipariş varsa:

  1. Tek ORDER_NEW bildirim oluşturulur (örn. "3 yeni sipariş geldi")
  2. Bell icon'a düşer
  3. Workspace OWNER + bildirim almaya izinli STAFF'lara gönderilir

Bu aggregate mantıkla — 100 yeni sipariş gelse de 100 bildirim göndermez, tek bildirim.

Hata durumunda

Pazaryeri API'sinden hata gelirse:

  1. CONNECTION_ERROR bildirimi tetiklenir (60dk throttle)
  2. Bağlantının errorCount artar; lastErrorMsg doldurulur
  3. Cron sonraki periyotta tekrar dener (5dk sonra)
  4. Bağlantı kartında 🔴 ERROR rozeti görünür

Detay: Bağlantı Sorunları.

Sync logları

Geçmişte yapılan sync'lerin loglarını Ayarlar > Sync Geçmişi sayfasında görebilirsiniz:

  • Hangi bağlantı, ne zaman, hangi tarih aralığı
  • Çekilen sipariş sayısı
  • Yeni / güncellenen / hata sayıları

Yaygın sorunlar

  • Sipariş gelmiyor → Bağlantı ERROR olabilir veya cron durmuş; Entegrasyonlar sayfasında durumu kontrol
  • "Tarih aralığı çok geniş" hatası → Yukarıdaki tablodan limit kontrol et, böl
  • Manuel sync hata veriyor ama otomatik çalışıyor → Genelde tarih aralığı limiti aşıldı

Sonraki adım