İçeriğe atla
OrqLabs

Shopify

Shopify mağazanızı özel uygulama anahtarı veya Dev Dashboard uygulamasıyla bağlama: yeni sipariş, ödenen sipariş, yeni müşteri ve terk edilen sepet tetikleyicileri; sipariş okuma, müşteriye etiket ekleme, indirim kodu oluşturma.

15 dk Son güncelleme:
Bu sayfada
  1. Kimlik kartı
  2. Ne işe yarar?
  3. Ön koşullar
  4. Adım adım kurulum
  5. Örnek iş akışları
  6. Tetikleyiciler nasıl çalışır?
  7. Limitler
  8. Bağlantıyı test etme
  9. Kimlik bilgilerini yenileme
  10. Sık karşılaşılan hatalar
  11. Sık sorulan sorular
  12. Sonraki adım

Bu rehberde: Shopify mağazanızı bir özel uygulama (custom app) ile bağlarsınız. Yeni sipariş, ödenen sipariş, yeni müşteri ve terk edilen sepet olayları iş akışı başlatır; akış içinden sipariş okuyabilir, müşteriye etiket ekleyebilir ve indirim kodu oluşturabilirsiniz.

⏱ 15 dakika

Kimlik kartı

AlanDeğer
Sağlayıcı anahtarıSHOPIFY
KategoriE-ticaret
Kimlik doğrulamaAdmin API erişim anahtarı (shpat_…) veya Dev Dashboard uygulamasının Client ID + Client secret bilgisi
APIGraphQL Admin API, sürüm 2026-07
KapsamProje bazlı
WebhookEvet – bağlarken otomatik kaydedilir (HMAC-SHA256 imzalı)
KutuShopify (app.shopify)
TetikleyiciEntegrasyon olayı → SHOPIFY · Order created, Order paid, Customer created, Checkout abandoned

Ne işe yarar?

Tetikleyiciler (Entegrasyon olayı kutusunda hesap ve olay seçilir):

OlayNe zamanNasıl gelir
Order createdYeni sipariş verildiğindeorders/create webhook'u
Order paidSiparişin ödemesi alındığındaorders/paid webhook'u
Customer createdMüşteri hesabı oluştuğundacustomers/create webhook'u
Checkout abandonedAlışverişçi iletişim bilgisini girip ödeme yapmadan ayrıldığında5 dakikada bir kontrol (Shopify'da bu olayın webhook'u yoktur)

Akış şu alanlarla başlar: orderId, orderNumber (#1001), status (ödeme durumu: pending, paid …), fulfillmentStatus, total, currency, customerId, customerName, customerEmail, customerPhone, items (name, quantity, price), productName (ilk ürün), tags, orderUrl (sipariş durum sayfası), createdAt ve Shopify'ın gönderdiği verinin kısaltılmış hâli raw. Terk edilen sepette ayrıca checkoutId ve recoveryUrl (sepeti geri getiren bağlantı) bulunur.

Shopify kutusunun işlemleri:

İşlemNe yaparEtki
Get orderTek siparişi numara (5512345678901), gid://shopify/Order/… kimliği veya sipariş adıyla (#1001, 1001) okur.Okuma
List ordersEn yeni siparişleri listeler; isteğe bağlı Shopify arama söz dizimiyle (financial_status:paid, created_at:>2026-10-01). Her sipariş ayrı öğe olur.Okuma
Add customer tagsMüşteriye (kimlik veya e-posta ile bulunur) virgülle ayrılmış etiketler ekler; mevcut etiketler korunur.Değişiklik
Create discount codeTüm ürünlerde ve tüm alışverişçilerde geçerli yüzde indirim kodu oluşturur (bitiş tarihi, toplam kullanım sınırı, müşteri başına bir kez).Değişiklik

Editördeki test çalıştırmalarında etiket ekleme ve indirim kodu oluşturma çalıştırılmaz; kutu ne yapacağını çıktıya yazar. Okuma işlemleri çalışır.

Ön koşullar

  • Shopify mağazasında sahip veya uygulama geliştirme izni olan bir personel hesabı.
  • Mağazanın magazaniz.myshopify.com adresi (Ayarlar → Alan adları'nda görünür). Kendi alan adınız (www.magazaniz.com) Admin API'de çalışmaz.
  • Uygulamada şu erişim kapsamları (scopes):
KapsamNe için
read_ordersSipariş okuma, sipariş webhook'ları, terk edilen sepetler
read_customersYeni müşteri webhook'u, müşteriyi e-postayla bulma
write_customersAdd customer tags
write_discountsCreate discount code

Adım adım kurulum

Shopify, 1 Ocak 2026'dan bu yana mağaza yönetiminde yeni "eski tip" özel uygulama oluşturmaya izin vermiyor. Daha önce oluşturduğunuz bir özel uygulama varsa A yolunu, yoksa B yolunu izleyin.

A) Mevcut özel uygulama (shpat_ anahtarı)

  1. Shopify yönetiminde Ayarlar → Uygulamalar ve satış kanalları → Uygulama geliştir → uygulamanızı açın.
  2. Yapılandırma → Admin API entegrasyonu'nda yukarıdaki kapsamları işaretleyip kaydedin.
  3. API kimlik bilgileri sekmesinde Admin API erişim anahtarını (shpat_…) ve API gizli anahtarını (API secret key) kopyalayın. Erişim anahtarı yalnızca bir kez gösterilir; kaybettiyseniz uygulamayı yeniden yükleyerek yenisini alın.

B) Dev Dashboard uygulaması (Client ID + Client secret)

  1. dev.shopify.com → Apps → Create app → bir ad verin (OrqLabs).
  2. Uygulamanın yeni bir sürümünde (Versions) Admin API kapsamlarını seçin ve sürümü yayınlayın (Release).
  3. Uygulamayı mağazanıza yükleyin (Install). Mağaza ile uygulama aynı Shopify organizasyonunda olmalıdır; aksi hâlde anahtar alınamaz.
  4. Müşteri adı, e-posta ve telefonunu görebilmek için API access requests → Protected customer data bölümünden ilgili alanlara erişim isteyin.
  5. Settings sayfasından Client ID ve Client secret değerlerini kopyalayın.

OrqLabs bu bilgilerle Shopify'dan 24 saat geçerli bir erişim anahtarı alır (client credentials) ve süresi dolunca kendiliğinden yeniler.

C) OrqLabs'ta bağlama

  1. Entegrasyonlar → Shopify → Bağla → Proje seçin.
  2. Store domain: magazaniz.myshopify.com (yalnızca magazaniz yazmanız da yeterli).
  3. A yolunda Admin API access token alanına shpat_… anahtarını, B yolunda Client ID alanına Client ID'yi girin (erişim anahtarını boş bırakın).
  4. API secret key / client secret: A yolunda API gizli anahtarı, B yolunda Client secret → Bağla.

Bağlantı kurulunca OrqLabs orders/create, orders/paid ve customers/create webhook'larını mağazanıza otomatik kaydeder. Kayıt başarısız olursa entegrasyon kartında Webhook kaydı başarısız: … uyarısı görünür; sorunu giderip entegrasyonu silerek yeniden bağlayın.

Örnek iş akışları

1) Ödeme sonrası teşekkür mesajı

Entegrasyon olayı (SHOPIFY · Order paid) → Metin üret (istem: {{ $json.customerName }} adlı müşterimize {{ $json.productName }} siparişi için kısa ve sıcak bir teşekkür mesajı yaz.) → E-posta gönder (alıcı {{ $json.customerEmail }}) veya onaylı şablonla WhatsApp Mesaj gönder ({{ $json.customerPhone }}).

2) Terk edilen sepete indirimli hatırlatma

  1. Entegrasyon olayı – SHOPIFY · Checkout abandoned.
  2. Eğer – {{ $json.customerEmail }} boş değil.
  3. Shopify → Create discount code – Code GERI{{ $json.customerId }}, Discount 10, Expires at iki gün sonrası, Total usage limit 1.
  4. E-posta gönder – alıcı {{ $node["Entegrasyon olayı"].json.customerEmail }}, metin {{ $json.code }} koduyla %10 indirimle siparişinizi tamamlayın: {{ $node["Entegrasyon olayı"].json.recoveryUrl }}. $json bir önceki kutunun (indirim kodu) çıktısıdır; sepet bilgileri için tetikleyici kutusunu adıyla çağırın.

3) Yeni müşteriyi etiketleyip aday listesine ekleme

Entegrasyon olayı (SHOPIFY · Customer created) → Aday oluştur (ad, e-posta, telefon) → Shopify → Add customer tags (Customer {{ $json.customerId }}, Tags orqlabs, hosgeldin).

Tetikleyiciler nasıl çalışır?

  • Webhook'lar: Shopify her teslimatı uygulamanın API gizli anahtarıyla imzalar (X-Shopify-Hmac-Sha256); OrqLabs imzayı ham gövde üzerinden doğrular, imzasız ya da hatalı teslimatı reddeder. Aynı sipariş veya müşteri için tekrar gelen teslimatlar ikinci kez akış başlatmaz.
  • Terk edilen sepet: OrqLabs etkin bir iş akışı bu olayı dinliyorsa 5 dakikada bir abandonedCheckouts sorgusuyla açık (tamamlanmamış) sepetleri sorar. Bir sepet, oluşturulduktan yaklaşık 60 dakika sonra hâlâ tamamlanmamışsa olay üretilir; bu süre içinde ödenen sepetler atlanır.
  • İlk kontrol yalnızca başlangıç noktasını kaydeder; bağlamadan önceki sepetler akış başlatmaz.
  • Yalnızca alışverişçinin iletişim bilgisi (e-posta veya telefon) girdiği sepetler Shopify'da "terk edilmiş" olarak listelenir.

Limitler

KonuSınır
List ordersİstek başına en fazla 100 sipariş, sipariş başına ilk 5 ürün satırı (Get order: 50)
API hız sınırıShopify'ın sorgu maliyeti sınırı; aşılırsa RATE_LIMIT ve otomatik yeniden deneme
Terk edilen sepet gecikmesiSepet oluştuktan ~60 dakika sonra + en fazla 5 dakika kontrol aralığı
İndirim koduYalnızca yüzde indirim, tüm ürünler ve tüm alışverişçiler; ürün/koleksiyon bazlı indirimler Shopify yönetiminden
Webhook yanıtıShopify 5 saniye içinde yanıt bekler; OrqLabs teslimatı hemen onaylar, akış arka planda çalışır

Bağlantıyı test etme

Bağlantıyı test et mağaza adını, myshopify.com adresini, para birimini ve kullanılan kimlik doğrulama türünü (access_token / client_credentials) gösterir. Webhook'ları denemek için mağazada bir test siparişi oluşturun (ör. Bogus Gateway test ödeme sağlayıcısıyla) ve iş akışının Çalıştırmalar sekmesine bakın.

Kimlik bilgilerini yenileme

  • A yolu: Uygulamanın API kimlik bilgileri sekmesinden anahtarı yenileyin (rotate) → OrqLabs'ta ayrıntı panelinde Kimlik bilgileri → Güncelle.
  • B yolu: Dev Dashboard'da Client secret'ı yenilerseniz yenisini girin. Erişim anahtarını OrqLabs kendisi yeniler.

API gizli anahtarı değişirse webhook imzaları da yeni anahtarla gelir; OrqLabs'taki değeri hemen güncelleyin.

Sık karşılaşılan hatalar

HataOlası nedenÇözüm
CONFIG – "use the store's yourstore.myshopify.com domain"Kendi alan adınız girildimagazaniz.myshopify.com adresini girin
CONFIG – "enter an Admin API access token … or the Dev Dashboard app's client ID"Ne shpat_ anahtarı ne Client ID varA veya B yolundaki bilgileri girin
AUTH – 401Anahtar geçersiz, uygulama kaldırılmışUygulamayı yeniden yükleyip yeni anahtar girin
AUTH – "client credentials refused"Client ID/secret yanlış, uygulama mağazaya yüklenmemiş ya da mağaza başka organizasyondaB yolunun 3. adımını kontrol edin
FORBIDDEN – "missing access scope" / ACCESS_DENIEDKapsam eksik (ör. write_discounts)Kapsamı ekleyin; B yolunda yeni sürüm yayınlayıp mağazada onaylayın
FORBIDDEN – 402 / 423Mağaza dondurulmuş, ödenmemiş veya kilitliShopify faturalandırmasını kontrol edin
NOT_FOUND – "order … not found"Sipariş adı/numarası yanlış#1001 biçimini veya uzun sipariş numarasını kullanın
INVALID – "Code must be unique"Aynı indirim kodu zaten varKodun içine {{ $json.customerId }} gibi benzersiz bir parça ekleyin
Müşteri adı/e-posta boş geliyorDev Dashboard uygulamasında protected customer data erişimi yokB yolunun 4. adımı

Sık sorulan sorular

Shopify App Store'da bir OrqLabs uygulaması var mı? Hayır. Bağlantı, sizin mağazanızda oluşturduğunuz özel uygulamayla kurulur; veriler yalnızca sizin mağazanızla OrqLabs arasında akar.

Sipariş tutarı hangi para biriminde? total ve currency mağazanızın ana para birimidir (shop currency).

Terk edilen sepet olayının süresini değiştirebilir miyim? Varsayılan 60 dakikadır. Daha geç hatırlatma için tetikleyiciden sonra Bekle kutusu ekleyin ve gönderimden önce siparişin tamamlanmadığını List orders ile kontrol edin.

Sonraki adım

OrqLabs ile başlayın

İlk iş akışınızı bugün kurun

Ücretsiz planla başlayın: hesaplarınızı bağlayın, bir şablon seçin, onay adımlarıyla kontrol sizde kalsın. Kredi kartı gerekmez.