---
title: "Trendyol Siparişlerini n8n ile Otomatik Sheets'e Aktarın"
description: "Trendyol sipariş verilerinizi n8n ile Google Sheets veya Excel'e otomatik aktarın; AI düğümüyle kategorilendirin. Kurulum, kopyalanabilir akış ve AgentRoost ile tek tık başlangıç."
canonical: https://agentroost.app/tr/blog/trendyol-siparis-otomasyonu-n8n
date: 2026-05-04T20:00:00Z
---

[Canonical URL](https://agentroost.app/tr/blog/trendyol-siparis-otomasyonu-n8n)

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)}}`

**Query Parameters:**

| Key | Değer |
|---|---|
| `status` | `Created` |
| `startDate` | `{{$now.minus({hours: 1}).toMillis()}}` |
| `endDate` | `{{$now.toMillis()}}` |
| `size` | `200` |

> **Not:** `startDate` / `endDate` Trendyol API'sinde Unix timestamp (ms) formatındadır. n8n'nin Luxon tabanlı `$now` ifadesi 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.

```json
// 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-haiku` veya 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:

1. [agentroost.app](/tr/agents/n8n) adresinden kayıt olun (e-posta, Google veya Discord).
2. **n8n** framework'ünü seçin, instance'ınıza bir isim verin.
3. Yaklaşık 2 dakika sonra `https://<sizin-id>.agentroost.app` adresinde kendi n8n editörünüz açılır — yalnızca sizin eriştiğiniz, yalnızca sizin verilerinizin bulunduğu bir instance.
4. 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.

[Planları karşılaştırın →](/tr/pricing)

---

## 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 `cargoStatus` alanını doldurun.

Her ek node, aynı n8n instance'ında çalışır — ekstra ücret, ekstra sunucu yok.
