eCommerce Automation with OpenClaw + Shopify

Automate Shopify operations with OpenClaw AI agents. Order processing, inventory sync, customer service, fraud detection, and personalization at scale.

E
ECOSIRE Research and Development Team
|19 Mart 20269 dk okuma2.1k Kelime|

OpenClaw + Shopify ile e-Ticaret Otomasyonu

Shopify bir platformdur. OpenClaw, bunun üzerinde çalışan operasyon zekasıdır. Shopify vitrin, ödeme ve ödeme işlemlerini yönetirken, bir Shopify mağazasını geniş ölçekte çalıştırmanın operasyonel karmaşıklığı (sipariş yönetimi, envanter optimizasyonu, müşteri iletişimi, dolandırıcılık taraması, iade işleme, kişiselleştirme), Shopify'ın yerel akışlarının sağladığının ötesine geçen otomasyon gerektirir.

OpenClaw temsilcileri, operasyonel katmanı özerk bir şekilde yönetmek için web kancaları ve Admin API aracılığıyla Shopify ile entegre olur. Bu kılavuz sekiz otomasyon alanını kapsamaktadır: sipariş işleme, sahtekarlık tespiti, envanter yönetimi, müşteri desteği, kişiselleştirme, iadeler ve geri ödemeler, pazarlama otomasyonu ve satıcı koordinasyonu.

Önemli Çıkarımlar

  • OpenClaw, Shopify web kancalarına gerçek zamanlı olarak abone olarak sipariş olaylarına, envanter değişikliklerine ve müşteri işlemlerine bir saniyeden kısa sürede yanıt verilmesini sağlar.
  • Sipariş İşleme Temsilcisi sipariş karşılama yönlendirmesini, nakliye etiketi oluşturmayı, taşıyıcı seçimini ve müşteri bildirimlerini uçtan uca yönetir.
  • Dolandırıcılık Tespit Aracısı, yerine getirme başlamadan önce davranışsal sinyaller, adres doğrulama, hız kontrolleri ve üçüncü taraf risk puanlarını kullanarak her siparişi tarar.
  • Envanter Aracısı, depolar ve Shopify konumları genelinde stok seviyelerini izler, yeniden siparişleri tetikler ve vitrindeki düşük stok mesajlarını yönetir.
  • Müşteri Hizmetleri Temsilcisi, sipariş durumu sorgularını, iade taleplerini ve genel destek sorularını marka sesinizde otomatik olarak yönetir.
  • Kişiselleştirme Aracısı, bireysel müşteri geçmişine göre uyarlanmış ürün önerileri, sepet kurtarma mesajları ve satın alma sonrası sekanslar oluşturur.
  • Tüm otomasyon gözlemlenebilir: her temsilci eylemi, tam denetim takibini içeren bir kontrol panelinde görünür.
  • ECOSIRE, büyüyen ve kurumsal ölçekteki Shopify mağazaları için OpenClaw Shopify entegrasyonlarını oluşturur ve yönetir.

Entegrasyon Mimarisi

OpenClaw, Shopify'a üç kanal aracılığıyla bağlanır:

Shopify Webhook'lar: Birincil gerçek zamanlı kanal. OpenClaw yanıt vermesi gereken olay türleri için webhook uç noktalarını kaydeder: orders/create, orders/updated, orders/fulfilled, inventory_levels/update, customers/create, refunds/create ve daha fazlası. Shopify, tüm webhook yüklerini HMAC-SHA256 ile imzalar; OpenClaw, işlenmeden önce imzayı doğrular.

Shopify Yönetici API'si: Web kancalarında bulunmayan verileri sorgulamak ve Shopify kayıtlarını oluşturmak/güncellemek için kullanılan REST ve GraphQL API'leri. Fiyat limitleri, sızdıran kova algoritması kullanılarak OpenClaw'ın Shopify araç adaptörü tarafından yönetilir.

Shopify Storefront API: Vitrine öneriler ve dinamik içerik ekleyen kişiselleştirme özellikleri için.

export const ShopifyTool = defineTool({
  name: "shopify",
  type: "rest",
  baseUrl: `https://${process.env.SHOPIFY_SHOP_DOMAIN}/admin/api/2024-01`,
  auth: {
    type: "header",
    header: "X-Shopify-Access-Token",
    value: "${SHOPIFY_ACCESS_TOKEN}", // Vault reference
  },
  rateLimiting: {
    type: "leaky-bucket",
    bucketSize: 40,
    refillRate: 2, // 2 requests per second (REST API rate limit)
  },
  webhookVerification: {
    secret: "${SHOPIFY_WEBHOOK_SECRET}",
    algorithm: "hmac-sha256",
  },
});

Sipariş İşleme Temsilcisi: Makine Hızında Gerçekleştirme

Siparişin verilmesi ile siparişin yerine getirilmesinin başlatılması arasındaki her dakika, bir şeylerin ters gidebileceği bir dakikadır; stoklar tükenir, nakliye firmasının kesintisi geçer, müşterinin hevesi azalır. Sipariş İşleme Temsilcisi, bir siparişin oluşturulduğu anda yerine getirme sırasını başlatır.

Yerine getirme iş akışı:

1. Adım — Sipariş Doğrulaması: Sipariş satır öğelerine göre envanter kullanılabilirliğini kontrol edin. Herhangi bir ürünün stokta kalmaması durumunda, ön siparişi tetiklemeden önce ürünün alternatif bir yerden gönderilip gönderilemeyeceğini kontrol edin.

2. Adım — Sahtekarlık Taraması: Siparişi Dolandırıcılık Tespit Temsilcisine yönlendirin (aşağıda ele alınmıştır). Sahtekarlık kontrolü tamamlanana kadar (genellikle 2 saniyenin altında) yerine getirmeyi beklet.

3. Adım — Depo Yönlendirme: Birden fazla sipariş karşılama konumu olan satıcılar için envanter kullanılabilirliği, teslimat adresine yakınlık ve mevcut iş yüküne göre en uygun depoyu seçin.

4. Adım — Taşıyıcı Seçimi: Müşteri tarafından seçilen gönderim hizmetine, ürün boyutlarına, ağırlığına ve varış noktasına göre belirli taşıyıcı hizmetini seçin ve gönderim etiketini oluşturun.

5. Adım — Müşteri Bildirimi: Etiket oluşturulduğu anda takip bağlantısı içeren bir sipariş onayı gönderin. Shopify'ı sipariş karşılama ve takip numarasıyla güncelleyin.

export const ProcessOrder = defineSkill({
  name: "process-order",
  tools: ["shopify", "warehouse", "shipping", "email"],
  async run({ input, tools }) {
    const order = await tools.shopify.get(`/orders/${input.orderId}.json`);

    // Check inventory
    const stockCheck = await checkInventoryForOrder(tools.shopify, order.line_items);
    if (!stockCheck.allAvailable) {
      return { processed: false, reason: "INVENTORY_SHORTAGE", shortItems: stockCheck.shortItems };
    }

    // Warehouse routing
    const warehouse = await selectWarehouse(tools.warehouse, order, stockCheck.locations);

    // Generate shipping label
    const label = await tools.shipping.createLabel({
      fromAddress: warehouse.address,
      toAddress: order.shipping_address,
      packages: buildPackages(order.line_items),
      service: order.shipping_lines[0]?.code ?? "GROUND",
    });

    // Fulfill in Shopify
    await tools.shopify.post(`/orders/${input.orderId}/fulfillments.json`, {
      fulfillment: {
        location_id: warehouse.shopifyLocationId,
        tracking_number: label.trackingNumber,
        tracking_company: label.carrier,
        tracking_urls: [label.trackingUrl],
        line_items: order.line_items.map((li) => ({ id: li.id, quantity: li.quantity })),
        notify_customer: false, // We send our own notification
      },
    });

    // Send customer notification
    await tools.email.send({
      to: order.email,
      template: "order-shipped",
      data: { order, trackingNumber: label.trackingNumber, trackingUrl: label.trackingUrl },
    });

    return { processed: true, trackingNumber: label.trackingNumber, warehouse: warehouse.name };
  },
});

Dolandırıcılık Tespit Aracısı: Her Siparişi Gerçek Zamanlı Olarak Tarama

Hileli siparişler, Shopify satıcılarına ters ibrazlar ve ürün kayıpları nedeniyle gelirin yaklaşık %0,5-2'sine mal olur. Dolandırıcılık Tespit Aracısı, yerine getirmeye başlamadan önce çok faktörlü bir risk modeli kullanarak her siparişi tarar.

Değerlendirilen risk faktörleri:

FaktörNasıl Değerlendiriliyor
Adres hızı24 saat içinde farklı ödeme yöntemleriyle aynı adrese birden fazla sipariş
Kart BIN kontrolüKartı veren ülke fatura adresi ülkesiyle eşleşiyor
IP ve faturalandırma eşleşmesiFatura adresiyle tutarlı IP coğrafi konumu
Sipariş değeri anormalliğiSipariş değeri müşterinin geçmişinden çok daha yüksek
E-posta etki alanı riskiTek kullanımlık e-posta alanı veya yeni kayıtlı alan adı
Gönderim yönlendirmeBilinen bir nakliye adresine gönderim
Ad uyuşmazlığıFatura adı kart sahibinin adıyla eşleşmiyor (varsa)
E-postada hız7 gün içinde aynı e-postadan 3'ten fazla sipariş
export const ScreenForFraud = defineSkill({
  name: "screen-for-fraud",
  tools: ["shopify", "ipinfo", "fraud-db"],
  async run({ input, tools }) {
    const order = input.order;
    const risks: RiskFactor[] = [];

    // Address velocity
    const addressOrders = await tools.shopify.get(
      `/orders.json?shipping_address=${encodeURIComponent(order.shipping_address.address1)}&created_at_min=${hoursAgo(24)}`
    );
    if (addressOrders.orders.length > 3) {
      risks.push({ factor: "ADDRESS_VELOCITY", score: 30, detail: `${addressOrders.orders.length} orders to same address in 24h` });
    }

    // IP geolocation
    const ipInfo = await tools.ipinfo.lookup(order.browser_ip);
    if (ipInfo.country !== order.billing_address.country_code) {
      risks.push({ factor: "IP_BILLING_MISMATCH", score: 25, detail: `IP country ${ipInfo.country} vs billing ${order.billing_address.country_code}` });
    }

    // Known fraud patterns
    const fraudMatch = await tools.fraudDb.check({
      email: order.email,
      ip: order.browser_ip,
      phone: order.phone,
    });
    if (fraudMatch.known) {
      risks.push({ factor: "KNOWN_FRAUD_SIGNAL", score: 80, detail: fraudMatch.reason });
    }

    const totalRiskScore = risks.reduce((sum, r) => sum + r.score, 0);
    const recommendation = totalRiskScore >= 80 ? "cancel"
      : totalRiskScore >= 40 ? "hold-for-review"
      : "approve";

    return { recommendation, riskScore: totalRiskScore, risks };
  },
});

Envanter Yönetimi Aracısı: Asla Stok Tükenmez, Asla Stok Fazlası Olmaz

Envanter Temsilcisi, tüm konumlardaki Shopify envanter seviyelerini izler ve stok tükenmesi meydana gelmeden önce stok yenilemeyi koordine eder.

Anahtar davranışlar:

Düşük Stok Uyarıları: Bir ürünün envanteri yeniden sipariş noktasının altına düştüğünde temsilci, bir satın alma siparişi (tedarikçilerden alınan ürünler için) veya transfer talebi (başka bir konumda bulunan ürünler için) şeklinde bir yenileme görevi oluşturur.

Mağaza Yönetimi: Envanter kritik düzeyde düşük bir düzeye ulaştığında, temsilci aciliyet yaratmak için ürünün vitrin mesajını ("Yalnızca 3 tane kaldı!") günceller. Bir ürün stokta kalmadığında, güncellenmiş tahmini teslimat tarihiyle "Satmaya devam et" olarak ayarlanabilir veya yapılandırılmış politika buysa ürün gizlenebilir.

Mevsimsel Ayarlama: Talebin yüksek olduğu dönemlerden (tatiller, promosyon etkinlikleri) önce acente, önceki yıllara ait geçmiş talep modellerine göre yeniden sipariş noktalarını yukarı doğru ayarlar.

export const ManageInventoryLevel = defineSkill({
  name: "manage-inventory-level",
  tools: ["shopify"],
  async run({ input, tools }) {
    const product = await tools.shopify.get(`/products/${input.productId}.json`);
    const level = await tools.shopify.get(
      `/inventory_levels.json?inventory_item_ids=${product.variants.map(v => v.inventory_item_id).join(",")}`
    );

    const totalAvailable = level.inventory_levels.reduce((sum, l) => sum + l.available, 0);

    if (totalAvailable <= input.reorderPoint && totalAvailable > 0) {
      // Low stock — update storefront
      await tools.shopify.put(`/products/${input.productId}.json`, {
        product: { metafields: [{ namespace: "inventory", key: "stock_urgency", value: `Only ${totalAvailable} left in stock!` }] },
      });
      return { action: "LOW_STOCK_FLAGGED", available: totalAvailable };
    }

    if (totalAvailable === 0) {
      await tools.shopify.put(`/variants/${product.variants[0].id}.json`, {
        variant: { inventory_policy: "continue", inventory_management: "shopify" },
      });
      return { action: "OUT_OF_STOCK_CONTINUE_SELLING", available: 0 };
    }

    return { action: "NONE", available: totalAvailable };
  },
});

Müşteri Hizmetleri Temsilcisi: Geniş Ölçekte Marka Sesi Yanıtları

Müşteri Hizmetleri Temsilcisi, destek bildirim hacminin %80'inden fazlasını oluşturan ilk beş müşteri sorgusu türünü yönetir:

  1. Sipariş durumu: Sipariş için Shopify'ı sorgular ve mevcut durum, takip bağlantısı ve tahmini teslimatla yanıt verir.
  2. İade başlatma: İade politikasına göre iade uygunluğunu doğrular, bir iade onayı oluşturur ve iade gönderi etiketi gönderir.
  3. Ürün sorusu: Satın alma öncesi soruları yanıtlamak için ürünle ilgili SSS ve açıklamayı arar.
  4. Siparişi iptal et: Tamamlanmayan siparişleri iptal eder; Gerçekleşen siparişler için iade sürecini başlatır.
  5. Yeniden sevkiyat talebi: Kayıp veya hasarlı gönderiler için değiştirme siparişi oluşturur ve nakliyeci talebini başlatır.

Yanıtlar, yapılandırılabilir bir sistem istemi kullanılarak markanın sesiyle oluşturulur. Yanıt şablonlarının A/B testi, aracının yapılandırması aracılığıyla desteklenir.


Kişiselleştirme Temsilcisi: Her Müşteri Benzersiz Bir Deneyim Yaşar

Kişiselleştirme Temsilcisi, satın alma geçmişinden, göz atma verilerinden (Shopify'ın Müşteri Etkinlikleri API'si aracılığıyla) ve destek etkileşimlerinden bireysel müşteri profilleri oluşturur. Aşağıdakileri oluşturmak için bu profilleri kullanır:

Ürün Önerileri: Temsilci, satın alma sonrası e-postalar ve vitrin öneri widget'ı için müşterinin satın alma geçmişini tamamlayan ve fiyat hassasiyetine uygun ürünleri seçer.

Sepet Kurtarma: Temsilci, terkedilmiş sepetler için müşterinin geçmişine göre zamanlamayı, mesaj içeriğini ve indirim teklifini seçer. Daha önce satın alma işlemi gerçekleştiren yüksek değere sahip müşteriler, ilk kez alışveriş yapan ve bir ürün ekleyen müşterilerden farklı bir mesaj alır.

Bağlılık Segmentasyonu: Müşterileri yaşam döngüsü segmentleriyle (yeni, aktif, risk altında, eski) otomatik olarak etiketler ve uygun elde tutma dizilerini tetikler. 90 gün içinde satın alma işlemi yapmayan "risk altındaki" bir müşteri, bir geri kazanma kampanyasına sahip olur; İlk satın alma işlemini yeni tamamlayan "yeni" bir müşteri, bir katılım süreci alır.


İade ve Geri Ödeme Otomasyonu

İadelerin manuel olarak işlenmesi pahalıdır. İade Temsilcisi, iade yaşam döngüsünün tamamını yönetir:

  1. Müşteri, iade talebini form veya destek bileti aracılığıyla iletir.
  2. Temsilci uygunluğu doğrular: İade süresi içinde ürün iade edilebilir kategoridedir, sahtekarlık olarak işaretlenmemiştir.
  3. Acente, iade ürün yetkilendirmesini (RMA) oluşturur ve ön ödemeli iade etiketi gönderir.
  4. Taşıyıcı iade gönderisini taradığında acente müşteriye bilgi verir.
  5. İade alınıp depo tarafından incelendiğinde acente, iadeyi Shopify'da otomatik olarak işler.
  6. İade edilen ürün hasar görmüşse temsilci, ürünü otomatik para iadesi yerine anlaşmazlık iş akışına yönlendirir.

Sıkça Sorulan Sorular

OpenClaw, Shopify'ın API oranı sınırlarını yüksek sipariş hacimlerinde nasıl ele alıyor?

Shopify araç adaptörü, X-Shopify-Shop-Api-Call-Limit yanıt başlığını kullanarak kalan API paketi boyutunu izleyen, sızdıran bir paket hızı sınırlayıcı uygular. Yüksek öncelikli işlemlere (sipariş onayı web kancası işleme) pakete öncelikli erişim verilir. Acil olmayan işlemler (analitik sorgular, rapor oluşturma) sıraya alınır ve trafiğin düşük olduğu dönemlerde çalıştırılır. REST API sınırlarını aşan mağazalar için aracı, daha verimli toplu sorgulara olanak tanıyan maliyet tabanlı hız sınırlama modeli kullanan GraphQL API'ye geçebilir.

Sahtekarlık tespit aracısı yanlış pozitifleri azaltacak şekilde ayarlanabilir mi?

Evet. Risk faktörü ağırlıkları ve onay/tutma/iptal eşikleri tamamen yapılandırılabilir. İlk dağıtımdan sonra ECOSIRE bir kalibrasyon hizmeti sağlar: ağırlıkları ayarlamak için ilk 30 günlük dolandırıcılık tarama kararlarını gerçek ters ibraz sonuçlarıyla karşılaştırırız. Satıcılar ayrıca güvenilir sürekli müşteriler veya modelin hatalı şekilde işaretlediği belirli sipariş modelleri için manuel beyaz liste kuralları oluşturabilir.

Shopify kesintisi veya webhook teslimatı hatası sırasında ne olur?

Shopify, başarısız webhook teslimatlarını üstel geri çekilmeyle 48 saat boyunca yeniden dener. OpenClaw'ın webhook işleyicisi bağımsız olacak şekilde tasarlanmıştır; aynı webhook'u birden çok kez almak aynı sonucu üretir, eylemlerin kopyalarını değil. Web kancası teslimatının tamamen başarısız olduğu senaryolar için OpenClaw, oluşturulan ancak web kancaları hiç alınmamış işlenmemiş siparişler için Shopify Siparişleri API'sini yoklayan bir mutabakat işi içerir.

Kişiselleştirme aracısı küçük müşteri tabanına sahip mağazalarda çalışıyor mu?

Soğuk başlangıç, küçük müşteri tabanlarıyla kişiselleştirmenin ana zorluğudur. Temsilci, yeni müşteriler için (3'ten az sipariş) bireysel geçmiş yerine kategori bazlı ve en çok satan önerilere başvuruyor. Müşteriler satın alma geçmişini biriktirdikçe kişiselleştirme daha doğru hale gelir. Temsilci, en az 1.000 aktif müşteriye ve 90 günlük sipariş geçmişine sahip mağazalar için en etkilidir.

Otomasyon Shopify Flow ile birlikte çalışabilir mi?

Evet. OpenClaw, Shopify Flow otomasyonlarıyla çakışmaz. Önerilen model, Shopify ekosistemi içindeki basit, kural tabanlı otomasyonlar (müşterileri etiketleme, temel e-postalar gönderme) için Shopify Flow'u ve muhakeme, harici API çağrıları veya çok adımlı karar mantığı gerektiren karmaşık, sistemler arası otomasyonlar için OpenClaw'ı kullanmaktır. OpenClaw, uygun olduğunda Shopify API aracılığıyla Shopify Flow iş akışlarını da tetikleyebilir.


Sonraki Adımlar

OpenClaw otomasyonunu çalıştıran bir Shopify mağazası, manuel işlemlerle çalışan bir Shopify mağazasından temelde farklı bir iştir. Sipariş işleme saatler değil saniyeler içinde gerçekleşir. Dolandırıcılık ifa edilmeden yakalanır. Envanter asla sessizce tükenmez. Müşteriler her an anında ve doğru yanıtlar alırlar.

ECOSIRE'ın OpenClaw Shopify entegrasyon hizmeti eksiksiz bir otomasyon yığını sağlar: ürün kategorinize göre kalibre edilmiş dolandırıcılık tespiti, depo ağınız için yapılandırılmış sipariş karşılama yönlendirmesi, marka sesiniz konusunda eğitilmiş müşteri hizmetleri temsilcileri ve müşteri verilerinizden oluşturulan kişiselleştirme modelleri.

Shopify otomasyon değerlendirmesi ve uygulama yol haritası almak için ECOSIRE ile iletişime geçin.

E

Yazan

ECOSIRE Research and Development Team

ECOSIRE'da kurumsal düzeyde dijital ürünler geliştiriyor. Odoo entegrasyonları, e-ticaret otomasyonu ve yapay zeka destekli iş çözümleri hakkında içgörüler paylaşıyor.

WhatsApp'ta Sohbet Et