Bağlantılar
İstek alanları, bağlantı başına sonuçlar ve yinelenen istekler.
Bağlantı oluşturma
POST https://www.ninjabuy.com/api/v1/links, bearer belirteci ve Content-Type: application/json gerektirir.
| Alan | Kurallar |
|---|---|
links | 1 ile 2.000 dize içeren zorunlu dizi. Her girdinin başındaki ve sonundaki boşluklar temizlenir; uzunluğu 1 ile 4.096 karakter olmalıdır. |
campaign | İsteğe bağlı; küçük harf, rakam veya tirelerden oluşan 3 ile 64 karakter, ilk karakter harf veya rakam: ^[a-z0-9][a-z0-9-]{2,63}$. Ziyaretlerde utm_campaign olarak taşınır. |
label | Bağlantı listenizde isteğe bağlı ad: baştaki ve sondaki boşluklar temizlendikten sonra 1 ile 40 yazdırılabilir karakter, kontrol karakteri içermez. Boşlukların temizlenmesi uyarı üretir. |
async | İsteğe bağlı boolean. true her zaman bir arka plan işi başlatır. |
Taobao, Tmall, Weidian ve 1688 ürün bağlantıları, desteklenen alışveriş aracısı bağlantıları ve kısa bağlantılar, Weidian ve Taobao mağazaları (desteklenen bir aracıdaki sayfaları dahil) ve desteklenen herkese açık NinjaBuy sayfaları dönüştürülebilir. NinjaBuy URL'si veya /search?q=hoodie gibi yalın bir yol kabul edilir. Mevcut bir NinjaBuy referans bağlantısını yapıştırmak, aynı hedefe giden ve sizin hesabınıza atfedilen bir bağlantı oluşturur.
Anında veya toplu işleme
async: true olmadan en fazla 100 girdi, results, warnings ve request_id içeren 200 döndürür. 100'den fazla girdi veya async: true, iş bilgisi, Location ve Retry-After ile 202 döndürür. Hızlı başlangıç ve İşler sayfalarına bakın.
Sonuçlar, yinelenen girdiler dâhil giriş sırasını korur. Her satırda input ve status, isteğe bağlı olarak target, url, code ve note bulunur.
| Durum | Anlamı |
|---|---|
ok | Dönüştürüldü; url, hesabınıza atfedilen NinjaBuy bağlantısıdır. |
unsupported | Tanındı ancak bağlantı oluşturulamaz; örneğin desteklenmeyen bir pazaryeri veya özel NinjaBuy sayfası. |
unreadable | Kullanılabilir hedef okunamadı. |
sheet | Google Sheet URL'si; bu uç nokta içeriğini dönüştürmez. |
E-tablo için içeriğini XLSX’e dönüştürmek üzere E-tablolar API’sini kullanın veya NinjaBuy’a yapıştırın. Mevcut bir NinjaBuy /spreadsheets/d/<sheet id> sayfasının kendisi de hesabınıza atfedilen bir bağlantı alabilir.
Yinelenen istekler ve atıf
Aynı hesap, normalleştirilmiş hedef, kampanya ve etiket için REST, MCP ve toplu işlemede aynı bağlantı döner. Farklı kampanya veya etiket ayrı bir bağlantı oluşturur. Idempotency-Key olmadan toplu isteği yinelemek yeni bir iş oluşturur; bağlantıların yeniden kullanılması iş gönderimlerini tekilleştirmez.
Yeni REST bağlantıları createdVia: "api" kaydeder. Bağlantıyı yeniden kullanmak özgün kaynağını (api, mcp, share veya redirect) korur. Bu alan, MCP list_links ve link sonuçlarında bulunur; REST oluşturma yanıtında bulunmaz. Atıf ve raporlama için Referanslar sayfasına bakın.
Idempotency-Key
Başka bir iş oluşturmadan veya bağlantı oluşturma kotasından başka bir çağrı tüketmeden isteği yinelemek için POST /api/v1/links, POST /api/v1/uploads, POST /api/v1/sheets üzerinde isteğe bağlı Idempotency-Key gönderin. Amaçlanan her istek için benzersiz bir anahtar kullanın: 1 ile 255 yazdırılabilir ASCII karakteri.
Idempotency-Key: partner-batch-2026-10-23-00124 saat boyunca aynı hesap, anahtar ve doğrulanmış istek; özgün durumu, bayt düzeyinde aynı gövdeyi ve özgün request_id dâhil başlıkları Idempotent-Replayed: true ile yeniden döndürür. JSON nesnesindeki anahtar sırası önemli değildir. 24 saat sonra anahtar yeniden kullanılabilir.
- Aynı anahtarla farklı bir gövde veya POST yolu
422(idempotency-key-reused) döndürür; yeni bir anahtar kullanın. - İlk istek çalışırken yinelemeler
Retry-Afterile409(idempotency-key-in-progress) döndürür; yeniden denemeden önce bekleyin. - Geçersiz anahtar
400(bad-idempotency-key) döndürür. Geçersiz gövdeler anahtar ayırmaz. - İşlem başlayınca hatalar dâhil ilk yanıtı saklanır.
429saklanmaz:Retry-Aftersonrasında aynı anahtarla yeniden deneyin.
Çöken bir istek, anahtarın süresi dolana kadar devam ediyor durumunda kalabilir. Bu istek yineleme özelliği, yukarıdaki eşleşen bağlantıların yeniden kullanılmasından ayrıdır.