Invozon × Trendyol
Trendyol, Türkiye'nin en büyük e-ticaret platformu ve aynı zamanda bölgenin en geniş satıcı ağına sahip pazaryeridir. Aylık 30 milyondan fazla aktif alıcısı, 250.000'in üzerinde satıcısı ve 200'den fazla kategorisi ile Türk e-ticaretinin omurgasını oluşturur. Trendyol Satıcı Paneli'nin sunduğu zengin API yüzeyi, satıcılara ürün yönetiminden kampanya planlamasına, sipariş akışından kargo entegrasyonuna kadar uçtan uca bir kontrol imkânı verir. Buna karşılık her uç noktanın kendi ritim ve sözleşmesi vardır; Supplier ID bağlamı, parti (batch) sorgulama mantığı, kategori puanı ve "Akıllı Kategori Eşleme" gibi Trendyol'a özgü kavramlar entegrasyonu hızla karmaşıklaştırır.
Invozon'un Trendyol konektörü, bu karmaşıklığı tek bir tutarlı API yüzeyi altında gizler. Aynı POST /v1/marketplaces/trendyol/products çağrısı altında ürün gönderirken biz arka planda parti oluşturma, batch_id takibi, kategori öznitelik doğrulaması ve gerektiğinde retry/backoff kurguluyoruz. Bu sayede ekibiniz Trendyol'un iç idiyoma hakim olmadan da üretim seviyesinde entegrasyon kurabilir.
Bu rehber Trendyol satıcı hesabınızı Invozon'a bağlamak, en sık kullanılan akışları çağırmak ve yerel sınırlamaları anlamak için tasarlandı. Tüm örnekler cURL ve JSON gövdesi ile gösterilmiştir; SDK'mızı kullanıyorsanız aynı şemalar SDK metodlarında da geçerlidir.
Bağlantı kurma
Trendyol entegrasyonu için Supplier ID, API Key ve API Secret olmak üzere üç bilgiye ihtiyacınız vardır. Bu bilgileri Trendyol Satıcı Paneli üzerinden şu adımlarla alabilirsiniz:
- partner.trendyol.com üzerinden satıcı hesabınıza giriş yapın.
- Sağ üstte yer alan mağaza adınıza tıklayıp Hesabım menüsünü açın.
- Sol menüden Entegrasyon Bilgileri sekmesine geçin.
- Sayfanın üst kısmında görünen Cari ID (Supplier ID) değerini not alın — bu sizin satıcı kimliğinizdir.
- API Anahtarı Oluştur butonuna basın. Trendyol size bir
API Keyve birAPI Secretüretecek;Secretdeğeri yalnızca bir kere gösterildiği için güvenli bir yere kaydedin. - Trendyol API anahtarınızın aktif olabilmesi için satıcı hesabınızın Onaylı Satıcı durumunda olması gerekir. Yeni hesap açtıysanız bu süreç 1-3 iş günü sürebilir.
Ardından Invozon Konsolu'nda Settings → Marketplaces → Trendyol sekmesine gidin ve bu üç değeri yapıştırın. Test için Stage ortamını seçtiğinizde Trendyol'un sandbox uç noktasına yönlendirilirsiniz; canlı operasyon için Production seçeneğini işaretleyin.
# Bağlantıyı doğrulayan ping çağrısı
curl -X POST https://api.invozon.com/v1/marketplaces/trendyol/ping \
-H "Authorization: Bearer $INVOZON_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"supplier_id": "123456",
"api_key": "abc...",
"api_secret": "xyz..."
}'
Başarılı yanıt:
{
"status": "connected",
"supplier_id": "123456",
"store_name": "Örnek Mağaza",
"approved": true,
"checked_at": "2026-06-02T08:14:22Z"
}
Bağlantı kurulduktan sonra Invozon Trendyol'a yapılan tüm çağrılar için imzalama, rate-limit takibi ve hata yeniden deneme stratejilerini sizin için yürütür.
Endpoint referansı
Invozon'un Trendyol uç noktaları /v1/marketplaces/trendyol/ öneki altında toplanmıştır. Her uç nokta, Trendyol'un kendi API'sinde birden fazla çağrıya karşılık gelebilir; örneğin tek bir Invozon products POST'u, Trendyol tarafında "batch oluştur → batch durumunu sorgula → ürünleri sorgula" üçlüsüne karşılık gelir.
Ürün listeleme
Yeni ürünleri Trendyol'a göndermek için kullanılır. Invozon arka planda ürünleri parti halinde grupluyor, batch_id ile durumu takip ediyor ve onaylanan ürünler için barcode → contentId eşlemesini kaydediyor.
curl -X POST https://api.invozon.com/v1/marketplaces/trendyol/products \
-H "Authorization: Bearer $INVOZON_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"items": [
{
"barcode": "INV-TSH-001-M-BLK",
"title": "Basic Tişört Siyah Medium",
"product_main_id": "INV-TSH-001",
"brand": "Invozon Basics",
"category_id": 411,
"stock_code": "TSH-001-M-BLK",
"quantity": 25,
"list_price": 299.90,
"sale_price": 199.90,
"dimensional_weight": 0.4,
"description": "Pamuklu, slim fit, ön baskısız temel tişört.",
"currency_type": "TRY",
"vat_rate": 10,
"cargo_company_id": 17,
"images": [
{ "url": "https://cdn.example.com/tsh-001-1.jpg" },
{ "url": "https://cdn.example.com/tsh-001-2.jpg" }
],
"attributes": [
{ "attribute_id": 47, "attribute_value_id": 4294 },
{ "attribute_id": 338, "attribute_value_id": 6927 }
]
}
]
}'
Yanıt:
{
"batch_id": "f51a0f3c-9c1e-4c4e-b820-3f1a9e8c7d12",
"accepted_count": 1,
"rejected_count": 0,
"status_url": "/v1/marketplaces/trendyol/batches/f51a0f3c-9c1e-4c4e-b820-3f1a9e8c7d12"
}
Batch durumunu sorgulamak için:
curl https://api.invozon.com/v1/marketplaces/trendyol/batches/f51a0f3c-9c1e-4c4e-b820-3f1a9e8c7d12 \
-H "Authorization: Bearer $INVOZON_TOKEN"
{
"batch_id": "f51a0f3c-9c1e-4c4e-b820-3f1a9e8c7d12",
"status": "COMPLETED",
"item_count": 1,
"succeeded": 1,
"failed": 0,
"items": [
{
"barcode": "INV-TSH-001-M-BLK",
"status": "SUCCESS",
"content_id": 884412091,
"approval_status": "PENDING_REVIEW"
}
]
}
Trendyol'da approval_status değeri PENDING_REVIEW iken ürün henüz vitrinde görünmez; onay genellikle 2-24 saat içinde tamamlanır.
Stok güncelleme
Stok ve fiyat güncellemesi Trendyol'da ayrı bir uç nokta olsa da pratikte birlikte güncellenir. Invozon ikisini tek istekte birleştirir.
curl -X POST https://api.invozon.com/v1/marketplaces/trendyol/inventory \
-H "Authorization: Bearer $INVOZON_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"items": [
{ "barcode": "INV-TSH-001-M-BLK", "quantity": 12, "sale_price": 189.90, "list_price": 299.90 },
{ "barcode": "INV-TSH-001-L-BLK", "quantity": 0, "sale_price": 189.90, "list_price": 299.90 }
]
}'
Yanıt:
{
"batch_id": "9e8c7d12-3f1a-4c4e-b820-f51a0f3c9c1e",
"queued": 2
}
Trendyol stok-fiyat batch'leri tipik olarak 30-90 saniye içinde sonuçlanır. Invozon webhook'una abone olduysanız inventory.synced olayını alır almaz dahili sisteminizde durumu güncelleyebilirsiniz.
Sipariş alma
Trendyol siparişlerini çekmek için tarih aralığı ve durum filtreleri ile sorgu yapabilirsiniz. Invozon, Trendyol'un Created → Picking → Invoiced → Shipped → Delivered durum makinesini doğrudan yansıtır.
curl "https://api.invozon.com/v1/marketplaces/trendyol/orders?status=Created&start=2026-06-01T00:00:00Z&end=2026-06-02T00:00:00Z&page=0&size=50" \
-H "Authorization: Bearer $INVOZON_TOKEN"
{
"page": 0,
"size": 50,
"total_pages": 1,
"total_elements": 2,
"orders": [
{
"order_number": "1283749812",
"shipment_package_id": 1029384756,
"status": "Created",
"customer_first_name": "Ahmet",
"customer_last_name": "Y.",
"customer_id": 88312,
"gross_amount": 199.90,
"total_discount": 0,
"tax_number": null,
"shipping_address": {
"city": "İstanbul",
"district": "Kadıköy",
"address1": "Caferağa Mah. ... No: 12 D: 4",
"postal_code": "34710"
},
"cargo_provider": "Trendyol Express",
"cargo_tracking_number": "TY8736251092",
"lines": [
{
"line_id": 5512837461,
"barcode": "INV-TSH-001-M-BLK",
"quantity": 1,
"amount": 199.90,
"vat_base_amount": 33.32
}
],
"created_at": "2026-06-01T18:42:11Z"
}
]
}
Yeni sipariş bildirimleri için webhook kurmanız önerilir; aksi halde Trendyol'un Created listesini her 1-2 dakikada bir polling yapmanız gerekir ki bu hem sizin hem Trendyol için kaynak israfıdır.
Sipariş statüsü güncelleme
Sipariş kalemlerini "Picking" durumuna almak veya iptal etmek için kullanılır.
curl -X PATCH https://api.invozon.com/v1/marketplaces/trendyol/orders/1283749812/status \
-H "Authorization: Bearer $INVOZON_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"shipment_package_id": 1029384756,
"status": "Picking",
"lines": [
{ "line_id": 5512837461, "quantity": 1 }
]
}'
Geçerli durum geçişleri:
Created → Picking(toplama başladı)Picking → Invoiced(faturalandı)Invoiced → Shipped(kargoya verildi)Created → Cancelled(sadece müşteri kaynaklı olmayan ve stok yokluğu nedeniyle)
Trendyol, geriye doğru durum geçişine izin vermez; bir kez Shipped yaptığınız bir kalemi Picking'e çekemezsiniz.
Kargo etiketi üretme
Trendyol Express ile çalışıyorsanız etiket üretimi otomatiktir; siparişi Picking → Invoiced durumuna geçirdiğinizde Trendyol size etiketi PDF olarak hazır eder.
curl https://api.invozon.com/v1/marketplaces/trendyol/orders/1283749812/label \
-H "Authorization: Bearer $INVOZON_TOKEN" \
-H "Accept: application/pdf" \
-o etiket-1283749812.pdf
Yanıt 200 ise PDF binary'si döner. 202 dönüyorsa Trendyol etiketi henüz hazırlamamış demektir; Retry-After başlığında belirtilen saniye kadar bekleyip tekrar çağırın.
İade akışı
Müşteri Trendyol panelinden iade talebi oluşturduğunda Invozon bunu claims uç noktası üzerinden size sunar.
curl "https://api.invozon.com/v1/marketplaces/trendyol/claims?status=Created&start=2026-05-25T00:00:00Z&end=2026-06-02T00:00:00Z" \
-H "Authorization: Bearer $INVOZON_TOKEN"
{
"claims": [
{
"claim_id": 88123745,
"order_number": "1283749812",
"reason": "BEDEN_UYUMSUZLUGU",
"status": "Created",
"items": [
{ "line_id": 5512837461, "quantity": 1 }
],
"customer_note": "Beden büyük geldi.",
"created_at": "2026-06-02T06:12:55Z"
}
]
}
İadeyi onaylamak veya reddetmek için:
curl -X PATCH https://api.invozon.com/v1/marketplaces/trendyol/claims/88123745 \
-H "Authorization: Bearer $INVOZON_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"decision": "approve",
"note": "Ürün hasarsız geldi, iade kabul edildi."
}'
Reddetmek istediğinizde Trendyol bir kanıt belgesi (evidence_url) istemektedir; aksi halde Trendyol Müşteri Hizmetleri 48 saat içinde iadeyi otomatik onaylar.
Soru-cevap yönetimi
Trendyol ürün sayfalarındaki müşteri soruları satıcı performans skorunu (Trendyol Puanı) doğrudan etkilediği için entegrasyona dahil edilmiştir.
curl "https://api.invozon.com/v1/marketplaces/trendyol/questions?status=WAITING_FOR_ANSWER" \
-H "Authorization: Bearer $INVOZON_TOKEN"
Cevap göndermek için:
curl -X POST https://api.invozon.com/v1/marketplaces/trendyol/questions/77231/answer \
-H "Authorization: Bearer $INVOZON_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"text": "Merhabalar, ürün %100 pamuktur ve makinada 30 derecede yıkanabilir. İyi günler dileriz."
}'
Trendyol soru-cevap için 24 saatlik bir SLA uygular; bu süreyi geçen sorular satıcı puanınızı düşürür.
Kampanya katılımı
Trendyol'un komisyon indirimli kampanyalarına (Trendyol İndirim Günleri, Efsane Cuma vb.) ürün eklemek için kullanılır.
curl https://api.invozon.com/v1/marketplaces/trendyol/campaigns \
-H "Authorization: Bearer $INVOZON_TOKEN"
{
"campaigns": [
{
"campaign_id": 4421,
"name": "Yaz İndirimi 2026",
"starts_at": "2026-06-15T00:00:00Z",
"ends_at": "2026-06-22T23:59:59Z",
"min_discount": 20,
"commission_bonus": 5
}
]
}
Ürün eklemek:
curl -X POST https://api.invozon.com/v1/marketplaces/trendyol/campaigns/4421/items \
-H "Authorization: Bearer $INVOZON_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"items": [
{ "barcode": "INV-TSH-001-M-BLK", "campaign_price": 149.90 }
]
}'
Pazaryeri-spesifik notlar
Kategori puanı ve akıllı kategori eşleme. Trendyol, her ürünün doğru kategoride listelenmesini "Kategori Puanı" ile zorunlu kılar. Bir ürünü hatalı kategoride açtığınızda Trendyol içerik onayında reddedebilir, ya da onaylasa bile arama sonuçlarında geriye iter. Invozon, category_id parametresi yerine auto_category: true flag'ini desteklemektedir; bu flag açıkken Invozon ürün başlığı + marka + öznitelik kombinasyonunu Trendyol'un "Akıllı Kategori Eşleme" servisine sorar ve dönen ID'yi kullanır.
Marka onayı. Yeni bir marka eklediğinizde Trendyol marka inceleme ekibi 3-7 iş günü içinde onaylar. Onay sürecindeyken o markaya ait ürünler approval_status: PENDING_BRAND durumunda bekler. Invozon, marka durumunu /v1/marketplaces/trendyol/brands/lookup?name=... ile sorgulamanıza izin verir.
Trendyol Express. Tavsiye edilen kargo entegrasyonu Trendyol Express'tir; etiket üretimi otomatik olur, kargo bedeli müşteriye yansır ve "Hızlı Teslimat" rozeti alma şansınız artar. Anlaşmalı kargonuzu kullanmak için Satıcı Paneli'nden mağaza ayarlarını değiştirmeniz ve Invozon konfigürasyonunda cargo_provider alanını OWN_CONTRACT olarak işaretlemeniz gerekir.
Komisyon ve kampanya. Trendyol komisyonu kategoriye göre %8-25 arasında değişir. Kampanyaya katıldığınızda komisyon kategoriye özel olarak 1-5 puan daha artabilir; Invozon campaign.commission_bonus alanında bu artış miktarını size verir.
Varyant ve product_main_id. Trendyol aynı ürünün farklı bedenlerini/renklerini tek bir vitrin sayfasında gruplamak için product_main_id alanını kullanır. Bu alanı doğru doldurmak satıcı puanınızı ve dönüşümünüzü doğrudan etkiler; her varyantta aynı product_main_id'yi (ürün ana kodu) gönderdiğinizden emin olun.
Fiyat denetimi. Trendyol "rekabetçi fiyat" politikası gereği aynı ürünü başka pazaryerlerinde daha ucuza satıyorsanız Trendyol'da listenizi geçici olarak askıya alabilir. Invozon pricing.warnings webhook olayı ile bu durumdan haberdar olursunuz.
Sınırlamalar
- Trendyol API'si dakikada Supplier başına ~600 istek tavanı uygular. Invozon bu tavanı arka planda yönetir, ancak çok yüksek katalog (>250.000 ürün) günlük sync'i için partner planına yükseltme gerekebilir.
- Ürün başlığında 100 karakterden fazlasını Trendyol reddeder.
descriptionalanı düz metindir; HTML kabul edilmez (Hepsiburada'nın aksine).- Trendyol kategori değişikliği (bir ürünü farklı kategoriye taşıma) API üzerinden yapılamaz; yalnızca panelden manuel veya destek talebi ile yapılır.
- KDV oranı yalnızca 0, 1, 10, 20 değerlerinden biri olabilir.
- Toplu fiyat güncellemesi tek partide en fazla 1000 SKU içerebilir; Invozon büyük güncellemeleri otomatik olarak böler.
- Trendyol Express dışındaki kargolarda etiket Invozon üzerinden değil, kargonuzun kendi panelinden alınır.
Sık Sorulan Sorular
Bir ürünü gönderdim ama vitrinde görünmüyor, ne yapmalıyım?
Önce batch durumunu sorgulayın (/batches/{id}). COMPLETED ve SUCCESS ise ürün Trendyol içerik onayında bekliyor demektir. approval_status: PENDING_REVIEW durumu genellikle 2-24 saat sürer. 48 saati geçtiyse Trendyol'un içerik ekibinin reddettiği bir başlık veya görsel olabilir; rejection_reason alanını kontrol edin.
Aynı barkodla iki kez ürün gönderirsem ne olur?
Trendyol aynı barkoda sahip ikinci ürünü reddeder ve batch'de DUPLICATE_BARCODE hatasıyla geri döner. Eğer mevcut bir ürünü güncellemek istiyorsanız PUT /v1/marketplaces/trendyol/products/{barcode} uç noktasını kullanın.
Müşteri siparişi iptal etti, ben de kargoya vermiştim, ne olur?
Bu durumda sipariş otomatik olarak "Müşteri İadesi" akışına geçer. Kargo geri size döner ve siz onaylayıp claims üzerinden ücret iadesini onayladığınızda işlem kapanır. Kargonun "Müşteriye Teslim Edilmedi → Satıcıya İade" olarak işaretlenmesi 5-7 gün sürebilir.
Sandbox ortamı var mı?
Trendyol resmi sandbox sunmuyor; ancak https://stageapi.trendyol.com üzerinden test satıcı hesabı talep edebilirsiniz. Invozon'da environment: "stage" olarak ayarladığınızda istekler bu adrese yönlendirilir.
Hangi puan satıcı performansı için kritik? Trendyol Satıcı Puanı 1.0 - 5.0 arası bir skordur; 4.0 altına düşerseniz ürünleriniz arama sonuçlarında geriye düşer ve kampanyalara kabul edilmezsiniz. Geç gönderim, iade oranı ve cevapsız soru bu puanı düşüren ana etkenlerdir.
Faturayı Trendyol mu kesiyor?
Hayır. Fatura kesmek satıcının sorumluluğudur. Invozon e-fatura entegrasyonu (Logo, Mikro, EDM, Foriba) üzerinden faturayı otomatik üretip Trendyol'a Invoiced adımında yükleyebilir.
Resmî dokümantasyon: https://developers.trendyol.com