Katalog Servisi (CatalogService) ve Hızlı Ürün Yükleme
Çoklu Katalog Arama (SearchCatalog) SOAP API
Katalog servisi için WSDL adresi: https://api.n11.com/ws/CatalogService.wsdl
Çoklu Katalog Arama (SearchCatalog)
n11 katalog toplu ürün sorgulama yapılmasına sağlayan servistir.
• API bilgileri parametresi zorunlu olup, diğer parametrelerde zorunluluk için parametre bazında validasyon mevcuttur.
Dikkat Edilmesi Gerekenler;
- Ürün adı (Title), Kategori ID, GTIN/Barcode, Marka ve Katalog ID alanları ile toplu ürün arama yapılabilir.
- Kategori ID girildiğinde Marka veya Ürün adı'ndan en az biri zorunlu olarak girilmelidir.
- Ürün adı girildiğinde, Kategori ID girilmesi zorunludur.
- Bir istekte birden fazla Kategori ID girilemez.
- Bir istekte birden fazla Marka girilemez.
- Ürün adı, GTIN/Barcode ve Katalog ID için bir istekte birden fazla değer gönderilebilir. Gönderilebilecek azami değer sayısı her bir parametre için 10 adettir. [10 değeri, ileride sistemde oluşacak yükler gözetilerek N11 tarafından artırılıp azaltılabilir.]
- Ürün adı ile yapılan aramalarda, 10 karakter ve üzeri olan ürün adları için servisten cevap dönülecektir.
- Çoklu parametre girişlerinde servis alttaki kurguya göre cevap verecektir.
- Katalog ID girilmiş ise sadece bu alana bakılarak arama yapılır. Diğer alanlara bakılmaz.
- Katalog ID girilmemiş, GTIN/Barcode girilmiş ise sadece bu alana bakılarak arama yapılır. Diğer alanlara bakılmaz.
- Katalog ID ve GTIN değerleri girilmediği çoklu aramalarda, Birden fazla parametre ile arama yapıldığında servis cevabında kesişim dönülür. (Örneğin; marka alanına 'karaca' bilgisi girildi, kategori ID 'elektrikli ev aletleri ID' bilgisi girildiyse cevapta elektrikli ev aletleri Id'si altındaki karaca markaya sahip olan ürünler yer alacaktır.)
Parametre | Açıklama |
Auth.appKey | API Key |
Auth.appSecret | API Secret |
productTitles | Ürün adları, vigülle ayrılarak maksimum 10 adet olacak şekilde toplu girilebilir |
categoryId | Kategory Id |
uscs | GTIN/Barcode, vigülle ayrılarak maksimum 10 adet olacak şekilde toplu girilebilir |
brandName | Marka |
catalogIds | Katalog Id, vigülle ayrılarak maksimum 10 adet olacak şekilde toplu girilebilir |
currentPage | Mevcut sayfa no |
Parametre (Cevap) | Açıklama |
result.status | İşlem sonucu durum bilgisini gösterir. “success” ya da “failure” durum bilgilerini döner. |
searchResponses.searchResponse.products.product.catalogId | Ürünün katalog id bilgisi |
searchResponses.searchResponse.products.product.categoryId | Ürünün kategori id bilgisi |
searchResponses.searchResponse.products.product.categoryName | Ürünün kategori adı |
searchResponses.searchResponse.products.product.productTitle | Ürünün adı |
searchResponses.searchResponse.products.product.usc | Ürünün GTIN/Barcode bilgisi |
searchResponses.searchResponse.searchRequest.usc | Arama yapılan GTIN/Barcode bilgisi |
searchResponses.searchResponse.searchRequest.categoryId | Arama yapılan kategori id bilgisi |
searchResponses.searchResponse.searchRequest.productTitle | Arama yapılan ürün adı |
searchResponses.searchResponse.searchRequest.catalogId | Arama yapılan katalog id bilgisi |
searchResponses.searchResponse.searchRequest.brandName | Arama yapılan marka |
Örnek Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://www.n11.com/ws/schemas">
<soapenv:Header/>
<soapenv:Body>
<sch:SearchCatalogRequest>
<auth>
<appKey>***</appKey>
<appSecret>***</appSecret>
</auth>
<productTitles></productTitles>
<categoryId></categoryId>
<uscs></uscs>
<brandName></brandName>
<catalogIds>966491, 964912</catalogIds>
<currentPage>0</currentPage>
</sch:SearchCatalogRequest>
</soapenv:Body>
</soapenv:Envelope>
Örnek Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns3:SearchCatalogResponse xmlns:ns3="http://www.n11.com/ws/schemas">
<result>
<status>success</status>
</result>
<searchResponses>
<searchResponse>
<products>
<product>
<catalogId>966491</catalogId>
<categoryId>1000001832</categoryId>
<categoryName>İç Cephe</categoryName>
<productTitle>description test</productTitle>
</product>
</products>
<searchRequest>
<catalogId>966491</catalogId>
</searchRequest>
</searchResponse>
<searchResponse>
<products>
<product>
<catalogId>964912</catalogId>
<categoryId>1000001832</categoryId>
<categoryName>İç Cephe</categoryName>
<productTitle>Filli Boya İndeko-Home Küf Önleyici İç Cephe Boyası Test</productTitle>
</product>
</products>
<searchRequest>
<catalogId>964912</catalogId>
</searchRequest>
</searchResponse>
</searchResponses>
</ns3:SearchCatalogResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Hızlı Ürün Yükleme
POST https://api.n11.com/ms/product/tasks/product-create
CreateProduct ürün yükleme servisimiz üzerinden belirli parametreleri eleyerek barcode ya da catalogId bazında hızlı ürün yükleyebilirsiniz.
- Authorization no auth seçiniz.
- Headers alanına appkey ve appsecret bilgisini eklemeniz gerekir.
- Tek seferde maximum 1000 sku gönderebilirsiniz.
- İsteğinizi json formatında body de raw olarak ve aşağıdaki örnek desende iletiniz.
- HTTP isteğinizi 'POST' methoduyla ilgili endpoint'e gönderin.
- Servise yapılan her başarılı istek için response’ta ID (taskId) değeri dönmektedir. TaskDetail servisi ile yapılan işlemin kontrolü sağlanabilir.
Dikkat Edilmesi Gerekenler;
- SearchCatalog servisinden dönen n11'e kayıtlı catalogId ya da barcode alanını bu serviste gönderebilirsiniz.
- Dönen task id bilgisi ile TaskDetails servisinden işlem sonucunu kontrol edebilirsiniz.
- Ürün bazlı shipmentTemplate (kargo şablon adı) gönderilmelidir.
- attributes ve images alanı [ ] şeklinde kapalı köşeli parantez ile gelmelidir ( zorunlu ).
- Request içerisinde barcode ya da catalogId alanı zorunludur, her ikisi de dolu ise cataogId öncelikli baz alınacaktır.
- n11 kataloğundan eşleşen üründe kataloga kayıtlı açıklama alanı var ise n11 açıklaması ürüne eklenecektir, katalog açıklama yok ise Request içerisinde gelen description alanı baz alınacaktır.
- barcode ile gönderimde, gönderilen barcode değerine sahip ürünün n11 kategorisi ile Request içerisinde gelen categoryId alanı farklı ise ürün satıcı panelinde Aksiyon Bekleyenler > Satıcı Onayı Bekliyor statüsü ile kayıt edilecektir, bu durumda satıcı panelinden ürün içerisine girip onay vererek ürünü satışa açabilirsiniz.
Parametre | Parametre Değer | Açıklama | Tip |
integrator | Evet | API Kullanıcı/Entegratör Firma ismini yazınız.Tüm gönderimlerinizde aynı ismi iletiniz. | string |
description | Evet | Ürüne ait açıklamaları ekleyiniz. | HTML-string |
categoryId | Evet | GetCategories servisinden aldığınız kategorinin en alt kırılım id değerini yazınız | long |
productMainId | Evet | Ürüne ait tüm modelleri için aynı id yazınız.Varyantlı ürün açmak için Renk ve Beden tüm değeri için aynı değer eklenmelidir. Bu renkleri aynı sayfada toplarken bedenleri varyantlı açılmasını sağlar. | string |
preparingDay | Evet | Ürünün kargoya verilmesi için gereken süre anlamına gelmektedir. | integer |
shipmentTemplate | Evet | Hesabım>Teslimat Bilgilerimden oluşturduğunuz kargo şablon ismini yazınız. | string |
maxPurchaseQuantity | Hayır | Maksimum tekil alıcı başına eklenen satın alım adetidir. | integer |
stockCode | Evet | Ürüne ait belirlediğiniz uniq değerlerdir.Stok-fiyat güncellemeleriniz stokcode'a göre yapmanız gerekmektedir. Maksimum değeri 255 | string |
catalogId | Hayır : barcode alanı dolu ise | n11'in katalogundaki id değeridir. | long |
barcode | Hayır : catalogId alanı dolu ise | n11 kataloguna kayıtlı barcode değeri | string |
quantity | Evet | Stok miktarı.Maksimum değer 999.999 | integer |
images/url/order | Evet | Hızlı ürün yükleme adımında bu alan boş gönderilmelidir, [] şeklinde ( köşeli parantez ) | string |
attributes | Evet | Hızlı ürün yükleme adımında bu alan boş gönderilmelidir, [] şeklinde ( köşeli parantez ) | string |
salePrice | Evet | Ürün satış fiyatı | amount |
listPrice | Evet | Ürün liste fiyatı(Satış fiyatı düşük olunca üstü çizilen fiyat) PSF | amount |
vatRate | Evet | Ürün KDV oranı 0,1,10,20 değerlerini alabilir | integer |
Parametre (Cevap) | Açıklama | Tip |
id | Taskdetail'de bu idye göre sorulanmalıdır. | long |
type | Güncelleme (SKU_UPDATE) veya Yükleme(PRODUCT_CREATE) tasklı olduğu anlaşılır | string |
status | IN_QUEUE (Task İşleniyor, Taskdetail'den sorgulayınız.) ve REJECT (Task İşlenmemiştir . Reasons alanını kontrol ediniz.) | string |
reasons | Status bilgisine göre nedenler yazmaktadır. | list of string |
Örnek Request:
{
"payload": {
"integrator": "Entegratör isminizi yazınız",
"skus": [
{
"description": "BB test test",
"categoryId": 1000476,
"productMainId": "test1",
"preparingDay": 3,
"shipmentTemplate": "1",
"maxPurchaseQuantity": 5,
"stockCode": "md01g4141",
"catalogId": null,
"barcode": 8806094924862,
"quantity": 10,
"images": [],
"attributes": [],
"salePrice": 2000,
"listPrice": 2200,
"vatRate": 10
}
]
}
}
Örnek Response:
{ "id": 1092, "type": "
PRODUCT_CREATE", "status": "IN_QUEUE", "reasons": [ "1 sku işlenmeye alındı." ] }