Trendyol Siparişlerini n8n ile Otomatik Sheets'e Aktarın
Trendyol panelinizde sipariş sayısı arttıkça CSV indirme, yapıştırma, renklendirme döngüsü giderek yorucu hale gelir. Haftada birkaç saat kaybedersiniz; üstelik veriler her zaman bir gün gecikmeli olur. Bu yazıda, Trendyol Seller API'sini kullanan, saatte bir çalışan ve AI düğümüyle her ürünü otomatik kategorilendiren bir n8n akışını adım adım kuruyoruz.
Neye ihtiyacınız var?
- Trendyol Seller API erişimi (satıcı panelinizden API Key + Secret + SupplierId alınır)
- Google Sheets veya Excel Online hesabı
- Çalışan bir n8n instance'ı
Son maddeyi AgentRoost hallediyor — ama önce akışı anlayalım.
Akış Mimarisi
Schedule Trigger (saatte 1)
└─► HTTP Request → Trendyol Orders API
└─► Split In Batches (10'ar)
├─► Set (alanları düzenle)
├─► AI / LLM Node (kategori tahmini)
└─► Google Sheets (satır ekle)
Webhook kolunu da ekleyebilirsiniz: Trendyol her yeni sipariş açıldığında kendi webhook'unuzu tetikler ve gerçek zamanlı güncelleme yaparsınız. İki kol aynı Sheets tablosunu günceller.
Adım 1 — Schedule Trigger
n8n canvas'ında yeni bir akış açın. İlk node olarak Schedule Trigger ekleyin:
| Alan | Değer |
|---|---|
| Trigger Interval | Hours |
| Hours Between Triggers | 1 |
Bu, akışı her saat başı uyandırır. Gece 02:00–06:00 arasını dışarıda bırakmak istiyorsanız IF node'u ile saat kontrolü ekleyebilirsiniz.
Adım 2 — Trendyol Siparişlerini Çekme (HTTP Request)
HTTP Request node'u ekleyin ve şu şekilde yapılandırın:
- Method:
GET - URL:
https://api.trendyol.com/sapigw/suppliers/{{$env.TRENDYOL_SUPPLIER_ID}}/orders - Authentication: Header Auth
- Header Name:
Authorization - Header Value:
Basic {{btoa($env.TRENDYOL_API_KEY + ':' + $env.TRENDYOL_API_SECRET)}}
- Header Name:
Query Parameters:
| Key | Değer |
|---|---|
status |
Created |
startDate |
{{$now.minus({hours: 1}).toMillis()}} |
endDate |
{{$now.toMillis()}} |
size |
200 |
Not:
startDate/endDateTrendyol API'sinde Unix timestamp (ms) formatındadır. n8n'nin Luxon tabanlı$nowifadesi bunu doğrudan üretir.
Kimlik bilgilerini n8n Credentials bölümünde saklayın (Credentials > New > HTTP Header Auth). Değerleri doğrudan workflow içine gömmek yerine bu referansı kullanmak çok daha güvenlidir.
Adım 3 — Yanıtı Parçalara Bölme
API yanıtı content dizisi içinde siparişleri döndürür. Split In Batches node'u ile 10'arlı paketler halinde işleyin; böylece Sheets'e toplu yazma sırasında rate limit hatasına takılmazsınız.
// Batch ayarı
{
"batchSize": 10,
"options": {}
}
Adım 4 — Set Node ile Alan Düzenleme
Ham API yanıtı fazla gürültülüdür. Set node'u ile sadece işinize yarayacak alanları alın:
| Yeni Alan | Kaynak İfade |
|---|---|
orderId |
{{$json.id}} |
orderDate |
{{$json.orderDate}} |
customerName |
{{$json.customerFirstName}} {{$json.customerLastName}} |
productName |
{{$json.lines[0].productName}} |
quantity |
{{$json.lines[0].quantity}} |
price |
{{$json.lines[0].price}} |
status |
{{$json.status}} |
cargoTrackingNumber |
{{$json.cargoTrackingNumber}} |
Birden fazla kalem içeren siparişler için Split In Batches'i $json.lines üzerinde de çalıştırabilirsiniz.
Adım 5 — AI / LLM Node ile Otomatik Kategorilendirme
İşte rakip self-hosted çözümlerin büyük çoğunluğunun kolayca yapamadığı kısım: ürün adından otomatik kategori tahmini. Kendi sunucunuzda n8n çalıştırıyorsanız bir LLM sağlayıcısından API anahtarı almanız gerekir. AgentRoost instance'ınızda ise AI düğümleri aboneliğe dahil LLM kredileriyle çalışır — ayrıca hiçbir sağlayıcıdan anahtar almanıza gerek yoktur.
AI / LLM Node ekleyin ve şu prompt'u kullanın:
- Prompt:
Aşağıdaki Trendyol ürün adını şu kategorilerden birine ata: Elektronik, Giyim, Kozmetik, Ev & Yaşam, Spor, Kitap, Oyuncak, Diğer. Sadece kategori adını yaz, başka hiçbir şey yazma. Ürün: {{$json.productName}} - Model:
gpt-4o-mini,claude-haikuveya ihtiyacınıza göre başka bir model — AgentRoost'ta 350'den fazla model arasından seçebilirsiniz.
Çıktıyı Set node'uyla category alanı olarak saklayın. Artık her sipariş satırında otomatik bir kategori etiketiniz var.
Adım 6 — Google Sheets'e Yazma
Google Sheets node'u ekleyin, OAuth2 bağlantınızı seçin:
- Operation: Append or Update Row
- Spreadsheet: Siparişleri tutmak istediğiniz sayfa
- Sheet:
Siparişler - Columns:
orderId,orderDate,customerName,productName,quantity,price,status,cargoTrackingNumber,category - Matching Column:
orderId(aynı siparişi iki kez eklememek için)
"Append or Update" modunu seçmek kritiktir: akış aynı orderId'yi ikinci kez görürse satırı güncellesin, ekleme yapmasın.
Gerçek Zamanlı Kol: Webhook Entegrasyonu
Trendyol Satıcı Paneli > Entegrasyon Merkezi'nden webhook URL'si tanımlayabilirsiniz. n8n'de Webhook node'u ekleyin:
- HTTP Method:
POST - Path:
trendyol-order
AgentRoost'ta instance'ınız https://<id>.agentroost.app adresinde yaşadığı için webhook URL'niz şöyle görünür:
https://<id>.agentroost.app/webhook/trendyol-order
Bu URL'yi Trendyol paneline yapıştırın. Artık her yeni sipariş, Sheets'inizi saniyeler içinde günceller. Public HTTPS adresi instance'ınızla birlikte otomatik gelir; SSL kurulumu ya da statik IP gerekmez.
Bu Akışı AgentRoost'ta Çalıştırın
Kendi sunucunuzu kurmak, Docker Compose yazmak, SSL sertifikası almak veya Trendyol webhook'ları için statik IP düzenlemek istemiyorsanız AgentRoost tek adımda bunu halleder:
- agentroost.app adresinden kayıt olun (e-posta, Google veya Discord).
- n8n framework'ünü seçin, instance'ınıza bir isim verin.
- Yaklaşık 2 dakika sonra
https://<sizin-id>.agentroost.appadresinde kendi n8n editörünüz açılır — yalnızca sizin eriştiğiniz, yalnızca sizin verilerinizin bulunduğu bir instance. - Yukarıdaki akışı import edin veya sıfırdan kurun. AI / LLM node'ları için API anahtarı girmenize gerek yok — LLM kredisi aboneliğinize dahil.
Fiyatlar $19.99/ay'dan başlar, aylık faturalanır, istediğiniz zaman iptal edebilirsiniz. 14 gün içinde fikrinizi değiştirirseniz tam iade garantisi var.
Yaygın Hatalar ve Çözümleri
"401 Unauthorized" hatası
API Key ve Secret'ı Base64'e dönüştürdüğünüzden emin olun. Trendyol, Basic kimlik doğrulaması kullanır; Bearer değil.
Yinelenen siparişler Sheets'e ekleniyor
Google Sheets node'unda "Matching Column" olarak orderId seçmeyi unutmayın. "Append" yerine "Append or Update" kullanın.
AI node'u yanlış kategori veriyor Prompt'u birkaç örnek ekleyerek (few-shot) iyileştirin. Alternatif olarak daha büyük bir model seçin; AgentRoost'ta model değiştirmek tek tıktır.
Webhook'tan veri gelmiyor Trendyol panelinde webhook URL'sinin doğrulama aşamasını geçtiğinden emin olun. n8n'de Webhook node'u "Test" modunda değil "Production" modunda olmalıdır.
Akışı Genişletmek
Bu temel akışın üstüne kolayca ekleyebilecekleriniz:
- IF node: İade veya iptal durumundaki siparişleri ayrı bir sekmeye yönlendirin.
- Telegram node: Günlük sipariş özetini kendinize gönderin.
- Code node: Trendyol'un döndürdüğü iç kategori ID'lerini kendi etiket sisteminize çevirin.
- HTTP Request (ikinci): Kargo takip API'sini sorgulayıp
cargoStatusalanını doldurun.
Her ek node, aynı n8n instance'ında çalışır — ekstra ücret, ekstra sunucu yok.
Sıkça sorulan sorular
Trendyol API anahtarını n8n'de nasıl güvenli saklarım?
Kimlik bilgilerini doğrudan workflow içine yazmayın. n8n'nin Credentials bölümünü kullanın: Credentials > New > HTTP Header Auth oluşturun ve node'larda bu credential'ı referans gösterin. AgentRoost instance'ınızda credential'lar şifreli saklanır ve yalnızca sizin workflow'larınız erişebilir.
AI / LLM node için ayrıca OpenAI veya başka bir API anahtarı almam gerekiyor mu?
AgentRoost aboneliğinde LLM kredisi dahildir. Kendi n8n instance'ınızda AI düğümleri bu dahili kredilerle çalışır; ayrıca OpenAI, Anthropic veya başka bir sağlayıcıdan anahtar almanıza gerek yoktur. 350'den fazla model arasından seçim yapabilirsiniz.
Fiyat ne kadar, yıllık taahhüt var mı?
Planlar $19.99/ay'dan başlar. Faturalandırma aylıktır; yıllık taahhüt yoktur. İstediğiniz zaman iptal edebilirsiniz. İlk 14 gün içinde memnun kalmazsanız tam iade garantisi sunulur.
n8n akışlarımı ve verilerimi dışa aktarabilir miyim?
Evet. n8n, workflow'ları JSON olarak dışa aktarmanıza olanak tanır: Settings > Import/Export. Akışlarınız tamamen size aittir. Google Sheets veya Excel'e yazan bir akış kurduğunuzda verileriniz zaten kendi tablonuzda yaşar.
Trendyol'da birden fazla mağazam varsa ne yapmalıyım?
Her mağaza için farklı SupplierId ve API kimlik bilgileri gerekir. Aynı n8n instance'ınızda her mağaza için ayrı credential oluşturun ve akışınızı klonlayarak mağaza sayısı kadar workflow çalıştırabilirsiniz.