Geliştiriciler
Yapay zekâ asistanları (MCP)
Bağla
Her asistan için tek bir sunucu adresi. NinjaBuy hesabınızla giriş yaparsınız; yapıştırılacak bir anahtar yoktur.
https://www.ninjabuy.com/mcp
Claude
- Settings › Connectors'ı açın ve Add custom connector seçin.
- Yukarıdaki adresi yapıştırın ve ekleyin.
- NinjaBuy telefon numaranızla giriş yapın, ardından Allow access seçin.
ChatGPT
- Settings'te geliştirici modunu açın, ardından özel bir MCP sunucusu ekleyin.
- Yukarıdaki adresi yapıştırın ve giriş yöntemi olarak OAuth seçin.
- NinjaBuy telefon numaranızla giriş yapın, ardından Allow access seçin.
Cursor
Sunucuyu Cursor Settings › MCP altında ya da ~/.cursor/mcp.json içinde ekleyin. Cursor ilk seferde NinjaBuy girişini tarayıcınızda açar.
{
"mcpServers": {
"ninjabuy": {
"url": "https://www.ninjabuy.com/mcp"
}
}
}Claude Code ve diğer komut satırı asistanları
claude mcp add --transport http ninjabuy https://www.ninjabuy.com/mcpAsistanlar güncellendikçe menü adları değişir; “custom connector” ya da “custom MCP server” arayın.
Giriş ve erişim
Asistan OAuth 2.1 ile giriş yapar: kendini kaydeder, sizi ninjabuy.com'a yönlendirir ve onu kendi ekranımızda onaylarsınız; bu ekran uygulamanın adını ve sizi nereye geri göndereceğini gösterir. Yalnızca az önce bağlamak istediğiniz bir uygulamaya izin verin. Her uygulamayı bir kez onaylarsınız.
- Hesabınız olarak hareket eder: araçlar hesap id'si almaz ve yalnızca sizin siparişlerinizi, rafınızı ve ürünlerinizi görür.
- Erişim bir saat sürer ve yedi gün boyunca yenilenir; ardından asistan sizden yeniden giriş yapmanızı ister.
- Bağlantıyı kesmek için asistanınızdaki bağlayıcıyı kaldırın.
- Bir pazaryerini okuyan araçlar (product, analyze_product, import_product, push_to_shopify) API'nin dakikada 30'luk penceresini paylaşır: Hız sınırları.
Burada hiçbir şey para harcamaz
Hiçbir araç ödeme yapmaz, gönderi oluşturmaz ya da bakiyenizi harcamaz. Ödenmesi gereken bir şey olduğunda yanıt, bunu yapacağınız sayfayı belirtir: sepetten ödeme, depo sayfanızdan gönderim. push_to_shopify bir ürünü taslak olarak listeler; siz yayımlayana kadar hiçbir şey satışa çıkmaz.
Araçlar
Her yanıt requestId (bize yazarken belirtin) ve çağrıyı durdurmayan ama bilinmesi gereken şeyler olan warnings taşır. Uzun bir yanıt yaklaşık 6.000 token'da truncated: true ile kesilir; listeler o zaman daha küçük bir limit alır.
| Araç | Ne yapar |
|---|---|
| list_orders | NinjaBuy siparişlerimi listele |
| order | Tek bir NinjaBuy siparişi |
| warehouse | NinjaBuy depom |
| product | Bir ürünün varyantlarını oku |
| add_to_cart | NinjaBuy sepetime ekle |
| search_products | Ürün ara |
| analyze_product | Ürün analiz et |
| import_product | Ürün içe aktar |
| push_to_shopify | Shopify'a gönder |
| list_synced_products | Senkronize ürünlerimi listele |
| set_sync_rule | Senkronizasyon kuralı belirle |
list_orderssalt okunur
Hesabın siparişleri, en yenisi önce: durum, ödeme durumu, hâlâ ödenmesi gereken, ürünler ve her siparişin sayfası. has_more true olduğu sürece cursor'ı izleyin.
cursorstring?- Önceki yanıttan; ilk sayfa için boş bırakın.
limitnumber?- 1 ile 25 arası. Belirtilmezse 25.
{
"orders": [
{
"id": "j57a9x2b",
"number": 1012,
"kind": "procurement",
"total": "¥57.00",
"orderStatus": { "status": "ordered" },
"paymentStatus": { "status": "paid" },
"amountDue": null,
"itemCount": 1,
"items": [
{
"id": "P1012-1",
"title": "Heavyweight washed hoodie",
"quantity": 1,
"options": ["Black", "M"],
"status": "ordered"
}
],
"url": "https://www.ninjabuy.com/me/orders/j57a9x2b"
}
],
"cursor": "eyJvIjoyNX0",
"has_more": true,
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}ordersalt okunur
Id'ye göre tek bir sipariş: satırları ve fiyatları, her ürünün durumu ve kaç adet geldiği, takip bilgisiyle gönderi. Bu hesaba ait olmayan bir id için order null olur.
idstringzorunlu- list_orders'tan bir id.
{
"order": {
"id": "j57c4k1m",
"number": 1019,
"kind": "shipout",
"orderStatus": { "status": "ready" },
"paymentStatus": { "status": "paid" },
"shipment": {
"state": "shipped",
"destinationCountry": "US",
"weightGrams": 176,
"trackingNumbers": ["YT2630812345678"],
"shippedAt": 1793685600000
},
"url": "https://www.ninjabuy.com/me/orders/j57c4k1m"
},
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}warehousesalt okunur
Depomuza ulaşan her şey: fotoğraflar, kaç adet geldiği, gönderilebilir mi yoksa bir gönderide mi olduğu, ağırlık, beyan edilen değer, ödenip ödenmediği ve ücretsiz depolamanın ne zaman bittiği.
Girdi yok.
{
"items": [
{
"id": "P1012-1",
"order": 1012,
"title": "Heavyweight washed hoodie",
"photos": [
{
"type": "image",
"url": "https://media.ninjabuy.com/qc/P1012-1/1.webp"
}
],
"received": 1,
"availableToShip": 1,
"inShipment": 0,
"unitWeightGrams": 176,
"declaredUnitValue": "¥38.00",
"paid": true,
"freeStorageUntil": "2026-12-02T03:20:11.000Z"
}
],
"warehouseUrl": "https://www.ninjabuy.com/me/warehouse",
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}productsalt okunur
Herhangi bir ürün bağlantısından (Taobao, Tmall, Weidian, 1688, başka bir alışveriş acentesinin bağlantısı ya da kısa bağlantısı veya bir NinjaBuy ürün sayfası) bir ilanı okur: başlık, görseller, satıcı ve skuId, etiket, CN¥ fiyatı ve stoğuyla her varyant.
linkstringzorunlu- En fazla 2.048 karakterlik bir ürün bağlantısı.
{
"product": {
"handle": "weidian-7750970856",
"title": "重磅水洗连帽卫衣",
"seller": "Ruoyi Studio",
"variants": [
{
"skuId": "5187209554",
"label": "Black / M",
"priceMinor": 3800,
"price": "¥38.00",
"inStock": true
},
{
"skuId": "5187209555",
"label": "Black / L",
"priceMinor": 3800,
"price": "¥38.00",
"inStock": false
}
],
"url": "https://www.ninjabuy.com/products/weidian-7750970856"
},
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}add_to_cartyazar
Rafınızda tutmak üzere önceden satın almak için tek bir ilanın varyantlarını sepete koyar. Hiçbir şey satın alınmaz: yanıt, ödemeyi yapacağınız sepet sayfasıdır.
handlestringzorunlu- product'tan.
lines{ skuId, quantity }[]zorunlu- 1 ile 100 satır arası; miktar 1 ile 9.999 arası. Sepette zaten olan bir varyant mevcut olana eklenir.
{
"added": 1,
"cartUrl": "https://www.ninjabuy.com/cart",
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}search_productssalt okunur
Taobao ya da 1688'de, ninjabuy.com ile aynı anahtar kelime araması. Yapıştırılan bir bağlantı o ürünü döndürür.
querystringzorunlu- 2 ile 120 karakter arası ya da bir bağlantı.
providerstring?- taobao ya da 1688. Belirtilmezse taobao.
pagenumber?- 0 ile 20 arası.
{
"kind": "products",
"products": [
{
"handle": "taobao-781204556120",
"title": "Heavyweight cotton hoodie, washed",
"price": { "amount": "45.00", "currency": "CNY" },
"marketplace": "taobao",
"url": "https://www.ninjabuy.com/products/taobao-781204556120"
}
],
"page": 0,
"totalCount": 1840,
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}analyze_productsalt okunur
Her varyantın tek bir satışının alıcının kapısına kadar maliyeti ve pazaryerinizde kâr marjınızı koruyan fiyat. Hiçbir şey kaydedilmez. Rakamlar içe aktarma analizi ile aynıdır.
linkstringzorunlu- Bir ürün bağlantısı.
weight_gnumberzorunlu- Bir adedin paketli ağırlığı, gram cinsinden.
ship_tostring?- İki harfli ülke kodu. Belirtilmezse US.
lanestring?- saver ya da fast.
marketplacestring?- ebay, shopify, amazon ya da tiktok.
margin_percentnumber?- Hedeflenen kâr marjı. Belirtilmezse 30.
{
"title": "重磅水洗连帽卫衣",
"shipTo": "US",
"marketplace": "ebay",
"brandHint": null,
"variants": [
{
"sku": "5187209554",
"label": "Black / M",
"inStock": true,
"procurement": "57.00",
"parcel": "134.52",
"landedUsd": "27.71",
"suggestedPrice": "49.99",
"marginPercent": "30.16"
}
],
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}import_productyazar
İçe Aktarmalar API'sindeki gibi bir ilanı analiziyle birlikte içe aktarır. Ücretsiz. Göndermek ya da yeniden fiyatlamak için içe aktarmayı döndürür.
linkstringzorunlu- Bir ürün bağlantısı ya da ürün keşifleri tablosu.
weight_gnumberzorunlu- Bir adedin paketli ağırlığı, gram cinsinden.
ship_tostring?- İki harfli ülke kodu. Belirtilmezse US.
lanestring?- saver ya da fast.
marketplacestring?- ebay, shopify, amazon ya da tiktok.
margin_percentnumber?- Hedeflenen kâr marjı. Belirtilmezse 30.
{
"import": {
"id": "imp_2c9d",
"status": "ready",
"title": "重磅水洗连帽卫衣",
"variants": 6,
"inStock": 5
},
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}push_to_shopifyyazar
Bir içe aktarmayı ürün olarak kaydeder ve Shopify mağazanızda, stoğu Fulfilled by NinjaBuy konumunda olan bir taslak olarak listeler. Yeniden göndermek onu günceller. Kurallar Shopify'a gönder ile aynıdır.
import_idstringzorunlu- import_product'tan.
variants{ sku, price }[]?- Hangilerinin tutulacağı ve hangi US$ fiyatıyla. Belirtilmezse stokta olanlar önerilen fiyatla.
titlestring?- Başlığınız.
shopstring?- Birden çok mağaza bağlıyken gereklidir.
{
"product": "prd_8f2k",
"shopify": {
"status": "draft",
"variants": 5,
"adminUrl": "https://admin.shopify.com/store/acme-goods/products/8812042"
},
"skipped": [{ "sku": "5187209555", "reason": "sold_out" }],
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}list_synced_productssalt okunur
Son kontrolleri, maliyet değişiklikleri ve stoklarıyla ürünleriniz; neyin değiştiğini görebilmeniz için.
statusstring?- active ya da paused.
changed_sincestring?- Bir tarih: yalnızca o tarihten sonra maliyeti ya da stoğu değişen ürünler.
cursorstring?- Önceki yanıttan; ilk sayfa için boş bırakın.
limitnumber?- 1 ile 25 arası. Belirtilmezse 25.
{
"products": [
{
"id": "prd_1x0a",
"title": "Canvas Tote",
"status": "active",
"lastCheckedAt": "2026-11-04T02:10:00Z",
"costChange": {
"from": "¥42.00",
"to": "¥48.00",
"action": "repriced",
"price": { "from": "$18.99", "to": "$20.99" }
}
}
],
"cursor": null,
"has_more": false,
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}set_sync_ruleyazar
Bir satıcı fiyat artırdığında ne yapılacağı: kâr marjını korumak için fiyatı güncelle, duraklat ya da yalnızca size bildir. Her ürün için ya da tek biri için. Alanlar Senkronizasyon kuralları ile aynıdır.
applies_tostringzorunlu- all ya da bir ürün id'si.
on_cost_increasestringzorunlu- fiyatı güncelle, duraklat ya da bildir.
keep_margin_percentnumber?- reprice ile.
max_increase_percentnumber?- reprice ile: bunun üstünde duraklat.
{
"rule": {
"id": "rule_default",
"appliesTo": "all",
"onCostIncrease": {
"action": "reprice",
"keepMarginPercent": 40,
"maxIncreasePercent": 15
}
},
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}Ne sorulur
Siparişlerimden hangileri hâlâ bir satıcıyı bekliyor?
İki: #1012 (yıkanmış kapüşonlu, 1 Kasım'da satın alındı) ve #1015 (iki kanvas çanta). İkisi de ödendi ve satıcıdan sipariş edildi; hiçbiri henüz depoya ulaşmadı.
Bu kapüşonlu eBay'de satmaya değer mi? weidian.com/item.html?itemID=7750970856, paketli yaklaşık 180 g.
ABD'ye tek bir satışın teslim maliyeti CN¥191,52, yaklaşık $27.71. $49.99'da eBay yaklaşık $7.20 alır ve size $15.08 kalır, %30 kâr marjı. Black / L tükenmiş. Başlıkta marka kelimesi yok.
Güzel. Black / M'yi Shopify'ıma $49.99'dan, “Heavyweight Washed Hoodie” başlığıyla koy.
Tamam: acme-goods.myshopify.com'da 1 varyantlı, stoğu Fulfilled by NinjaBuy konumunda olan bir taslak. Fotoğrafları kontrol edin, ardından Shopify'da yayımlayın.
Her şeyde %40 kâr marjı koru, ama hiçbir fiyatı tek seferde %15'ten fazla artırma.
Tüm ürünler için ayarlandı. %15'in üzerindeki bir artış bunun yerine ürünü duraklatır ve bunu list_synced_products'ta görürüm.