vantuz 3.4.2 → 3.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/.env.example +21 -0
  2. package/.openclaw/completions/openclaw.bash +227 -0
  3. package/.openclaw/completions/openclaw.fish +1552 -0
  4. package/.openclaw/completions/openclaw.ps1 +1966 -0
  5. package/.openclaw/completions/openclaw.zsh +3571 -0
  6. package/.openclaw/gateway.cmd +10 -0
  7. package/.openclaw/identity/device.json +7 -0
  8. package/.openclaw/openclaw.json +40 -0
  9. package/.windsurf/workflows/vantuz-dev.md +31 -0
  10. package/DOCS_TR.md +80 -0
  11. package/LICENSE +45 -45
  12. package/README.md +52 -21
  13. package/cli.js +685 -585
  14. package/config.js +733 -733
  15. package/core/agent-loop.js +190 -190
  16. package/core/ai-provider.js +298 -261
  17. package/core/automation.js +523 -523
  18. package/core/brand-analyst.js +101 -0
  19. package/core/channels.js +167 -167
  20. package/core/dashboard.js +230 -230
  21. package/core/database.js +135 -37
  22. package/core/eia-monitor.js +3 -1
  23. package/core/engine.js +648 -636
  24. package/core/gateway.js +447 -447
  25. package/core/learning.js +214 -214
  26. package/core/license.js +113 -0
  27. package/core/marketplace-adapter.js +168 -168
  28. package/core/memory.js +190 -190
  29. package/core/migrations/001-initial-schema.sql +1 -1
  30. package/core/queue.js +120 -120
  31. package/core/self-healer.js +314 -314
  32. package/core/unified-product.js +214 -214
  33. package/core/vision-service.js +113 -113
  34. package/index.js +217 -174
  35. package/modules/crm/sentiment-crm.js +231 -231
  36. package/modules/healer/listing-healer.js +201 -201
  37. package/modules/oracle/predictor.js +214 -214
  38. package/modules/researcher/agent.js +169 -169
  39. package/modules/team/agents/base.js +92 -92
  40. package/modules/team/agents/dev.js +33 -33
  41. package/modules/team/agents/josh.js +40 -40
  42. package/modules/team/agents/marketing.js +33 -33
  43. package/modules/team/agents/milo.js +36 -36
  44. package/modules/team/index.js +78 -78
  45. package/modules/team/shared-memory.js +87 -87
  46. package/modules/war-room/competitor-tracker.js +250 -250
  47. package/modules/war-room/pricing-engine.js +308 -308
  48. package/n11docs.md +1680 -0
  49. package/nodes/warehouse.js +238 -238
  50. package/onboard.js +1 -1
  51. package/openclawdocs.md +3 -0
  52. package/package.json +7 -5
  53. package/platforms/pttavm.js +14 -14
  54. package/plugins/vantuz/index.js +528 -528
  55. package/plugins/vantuz/memory/hippocampus.js +465 -465
  56. package/plugins/vantuz/package.json +20 -20
  57. package/plugins/vantuz/platforms/_template.js +118 -118
  58. package/plugins/vantuz/platforms/amazon.js +236 -236
  59. package/plugins/vantuz/platforms/ciceksepeti.js +166 -166
  60. package/plugins/vantuz/platforms/hepsiburada.js +180 -180
  61. package/plugins/vantuz/platforms/index.js +165 -165
  62. package/plugins/vantuz/platforms/n11.js +229 -229
  63. package/plugins/vantuz/platforms/pazarama.js +154 -154
  64. package/plugins/vantuz/platforms/pttavm.js +127 -127
  65. package/plugins/vantuz/platforms/trendyol.js +326 -326
  66. package/plugins/vantuz/services/alerts.js +253 -253
  67. package/plugins/vantuz/services/license.js +34 -34
  68. package/plugins/vantuz/services/scheduler.js +232 -232
  69. package/plugins/vantuz/tools/analytics.js +152 -152
  70. package/plugins/vantuz/tools/crossborder.js +187 -187
  71. package/plugins/vantuz/tools/nl-parser.js +211 -211
  72. package/plugins/vantuz/tools/product.js +110 -110
  73. package/plugins/vantuz/tools/quick-report.js +175 -175
  74. package/plugins/vantuz/tools/repricer.js +314 -314
  75. package/plugins/vantuz/tools/sentiment.js +115 -115
  76. package/plugins/vantuz/tools/vision.js +257 -257
  77. package/public.pem +9 -0
  78. package/server/app.js +260 -260
  79. package/server/public/index.html +514 -514
  80. package/start.bat +33 -33
  81. package/vantuz.sqlite +0 -0
  82. package/workspace/AGENTS.md +73 -0
  83. package/workspace/BRAND.md +29 -0
  84. package/workspace/SOUL.md +72 -0
  85. package/workspace/team/DECISIONS.md +3 -0
  86. package/workspace/team/GOALS.md +3 -0
  87. package/workspace/team/PROJECT_STATUS.md +3 -0
  88. package/workspace/team/agents/dev/SOUL.md +12 -0
  89. package/workspace/team/agents/josh/SOUL.md +12 -0
  90. package/workspace/team/agents/marketing/SOUL.md +12 -0
  91. package/workspace/team/agents/milo/SOUL.md +12 -0
  92. package/vantuz-3.3.4.tgz +0 -0
package/n11docs.md ADDED
@@ -0,0 +1,1680 @@
1
+ n11 RestAPI Entegrasyon Servisleri
2
+
3
+ Ürün Servisleri
4
+
5
+ Ürün Yükleme (CreateProduct)
6
+ Ürün Fiyat-Stok Güncelleme (UpdateProductPriceAndStock)
7
+ Ürün Bilgisi Güncelleme (UpdateProduct)
8
+ Task Detail Sorgulama (TaskDetails)
9
+ Satıcı Ürünlerini Listeleme (GetProductQuery)
10
+
11
+ Kategori Servisleri
12
+
13
+ Kategori Ağacı Listeleme (GetCategories)
14
+ Kategori Özellikleri Listeleme (GetCategoryAttributesList)
15
+
16
+ Sipariş Servisleri
17
+
18
+ Sipariş Listeleme (GetShipmentPackages)
19
+ Sipariş Kalemlerini Güncelleme (UpdateOrder)
20
+ Paket Bölme (SplitPackages)
21
+ Miktar Bazlı Paket Bölme & Sipariş Ürün İptali (SplitPackagesByQuantity & PartialCancel)
22
+ Sipariş Kalemi İşçilik Bedeli ekleme
23
+ - Sorularınızı ve takıldığınız alanları sellerintegration@n11.com adresine mail yoluyla iletebilirsiniz. 
24
+ Ürün Yükleme (CreateProduct)
25
+ POST https://api.n11.com/ms/product/tasks/product-create
26
+ • Authorization no auth seçiniz.
27
+ • Headers alanına appkey ve appsecret bilgisini eklemeniz gerekir.
28
+ • Tek seferde maximum 1000 sku için güncelleme atabilirsiniz.
29
+ • İsteğinizi json formatında body de raw olarak ve aşağıdaki örnek desende iletiniz.
30
+ • HTTP isteğinizi 'POST' methoduyla ilgili endpoint'e gönderin.
31
+ • 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.
32
+ Dikkat Edilmesi Gerekenler;
33
+ • GetCategoryAttributesList servisinden mandatory>true dönen ürün özellik değeri zorunludur.
34
+ • GetCategoryAttributesList servisinden customValue>false dönen ürün özelliği için yine aynı servisten dönen valueId değeri ile yazılmalıdır.
35
+ • GetCategoryAttributesList servisinden customValue>true döner ise ister valueId ister customValue değerini free text yazabilirsiniz.
36
+ • GetCategoryAttributesList servisinden Slicer>true döner ise ürünlere aynı productMainId eklenirse aynı sayfada ürün görseliyle seçenekli şeklinde gözükür. Bu değeri bilgi amaçlı kullanabilirsiniz.
37
+ • GetCategoryAttributesList servisinden Variant>true döner ise ürünlere aynı productMainId eklenirse aynı sayfada ürün seçeneği şeklinde gözükür.
38
+ • Ürün görsel boyutu maksimum 10 MB ( 10.240 KB ) olmalıdır.
39
+ • CreateProduct servisinde gönderilen barcode alanı n11 kataloğundaki bir barkod ile eşleşir ve kategori değeri n11 kataloğunda farklı ise, ürün satıcı panelinden Aksiyon Bekleyenler > Satıcı Onay Bekliyor statüsünde listelenip satıcı tarafından onaylanması beklenecektir.
40
+
41
+ Parametre(İstek) Zorunlu Açıklama Veri Tipi
42
+ integrator Evet API Kullanıcı/Entegratör Firma ismini yazınız.Tüm gönderimlerinizde aynı ismi iletiniz. string
43
+ title Evet Ürün ismi, Marka-cinsiyet renk veye ürün bilgisini eklerek yazabilirsiniz. string
44
+ description Evet Ürüne ait açıklamaları ekleyiniz. HTML-string
45
+ categoryId Evet GetCategories servisinden aldığınız kategorinin en alt kırılım id değerini yazınız long
46
+ currencyType Evet Fiyatlandırmanızı TL, USD, EUR para birimlerini kullanabilirsiniz.USD ve EUR para birimi Merkez Bankası kur oranına göre güncellenir. string
47
+ 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
48
+ preparingDay Evet Ürünün kargoya verilmesi için gereken süre anlamına gelmektedir. integer
49
+ shipmentTemplate Evet Hesabım>Teslimat Bilgilerimden oluşturduğunuz kargo şablon ismini yazınız.
50
+ maxPurchaseQuantity Hayır Maksimum tekil alıcı başına eklenen satın alım adetidir. integer
51
+ 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
52
+ catalogId Hayır n11'in katalogundaki id değeridir. long
53
+ barcode Hayır gönderim yapılan değeri hata vermeden sadece ulusal barkodları kaydedilir.n11 katalogundaki barkod eşleştirebilmesi için yazılır. string
54
+ quantity Evet Stok miktarı.Maksimum değer 999.999 integer
55
+ images/url/order Evet Ürün görsellerine ait URL adresi listesidir.Parametresi ile Görsel url adresleri SSL sertifikalı "https" formatında adresler olmalıdır. Order parametresi ile görsel sırasını yazınız string
56
+ attributes Evet Ürünün kategori özellik bilgilerini yazınız. Kategori özellik servisindeki Mandatory>true olan değerini yazmak zorunludur. string
57
+ attributesid Evet Kategori özellik servisindeki özellik id değerini ekleyiniz. long
58
+ valueId Evet Kategori özellik servisindeki CustomValue>false ise valueId yazılmalıdır. long
59
+ customValue Evet Kategori özellik servisindeki CustomValue>true ise free değer yazabilirsiniz. string
60
+ salePrice Evet Ürün satış fiyatı amount
61
+ listPrice Evet Ürün liste fiyatı(Satış fiyatı düşük olunca üstü çizilen fiyat) PSF amount
62
+ vatRate Evet Ürün KDV oranı 0,1,10,20 değerlerini alabilir integer
63
+
64
+
65
+ Parametre(Cevap) Açıklama Veri Tipi
66
+ id Taskdetail'de bu idye göre sorulanmalıdır. long
67
+ type Güncelleme (SKU_UPDATE) veye Yükleme(PRODUCT_CREATE) tasklı olduğu anlaşılır string
68
+ status IN_QUEUE (Task İşleniyor, Taskdetail'den sorgulayınız.) ve REJECT (Task İşlenmemiştir . Reasons alanını kontrol ediniz.) string
69
+ reasons Status bilgisine göre nedenler yazmaktadır. list of string
70
+
71
+ Tekil Ürün Yükleme (Varyantsız )
72
+ Örnek Request
73
+ {
74
+ "payload": {
75
+ "integrator": "Entegratör isminizi yazınız",
76
+ "skus": [
77
+ {
78
+ "title": "Realme C55 8 GB 256 GB (Realme Türkiye Garantili) md0123278",
79
+ "description": "BB test test",
80
+ "categoryId": 1000476,
81
+ "currencyType": "TL",
82
+ "productMainId": "test1",
83
+ "preparingDay": 3,
84
+ "shipmentTemplate": "1",
85
+ "maxPurchaseQuantity": 5,
86
+ "stockCode": "md01g4141",
87
+ "catalogId": null,
88
+ "barcode": 8806094924862,
89
+ "quantity": 10,
90
+ "images": [
91
+ {
92
+ "url": "https://n11scdn.akamaized.net/a1/602_857/15/94/31/26/IMG-4582034240738960980.jpg",
93
+ "order": 1
94
+ },
95
+ {
96
+ "url": "https://images.secretlab.co/theme/common/collab_pokemon_catalog_charizard-min.png",
97
+ "order": 0
98
+ }
99
+ ],
100
+ "attributes": [
101
+ {
102
+ "id": 1,
103
+ "valueId": null,
104
+ "customValue": "Realme"
105
+ },
106
+ {
107
+ "id": 911,
108
+ "valueId": 444058,
109
+ "customValue": “null”
110
+ },
111
+ {
112
+ "id": 1302,
113
+ "valueId": 587473,
114
+ "customValue": “null”
115
+ },
116
+ {
117
+ "id": 429,
118
+ "valueId": null,
119
+ "customValue": "Beyaz"
120
+ }
121
+ ],
122
+ "salePrice": 2000,
123
+ "listPrice": 2200,
124
+ "vatRate": 10
125
+ }
126
+ ]
127
+ }
128
+ }
129
+ Örnek Response
130
+ {
131
+ "id": 1092,
132
+ "type": "PRODUCT_CREATE",
133
+ "status": "IN_QUEUE",
134
+ "reasons": [
135
+ "1 sku işlenmeye alındı."
136
+ ]
137
+ }
138
+
139
+ Create Product Varyantlı ve Aynı Modele Ait Ürün Yükleme
140
+
141
+ • GetCategoryAttributesList Servisinden variant true değerli ürünlerde aynı productMainId değeri yüklediğinizdeList ürün varyantlı açılacaktır
142
+ • GetCategoryAttributes Servisinden slicer true değerli için productMainId değeri yüklediğinizde ürün varyantlı açılacaktır
143
+
144
+
145
+ Örnek Request
146
+
147
+ {
148
+ "payload": {
149
+ "integrator": "Entegratör İsmini yazınız ",
150
+ "skus": [
151
+ {
152
+ "title": "Bisiklet Yaka Çicek Desenli Elbise Mavi A11-2",
153
+ "description": "B5555544",
154
+ "categoryId": 1209218,
155
+ "currencyType": "TL",
156
+ "productMainId": "1122",
157
+ "preparingDay": 3,
158
+ "shipmentTemplate": "1",
159
+ "maxPurchaseQuantity": 5,
160
+ "stockCode": "22211112S",
161
+ "catalogId": null,
162
+ "barcode": null,
163
+ "quantity": 10,
164
+ "images": [
165
+ {
166
+ "url": "https://n11scdn.akamaized.net/a1/602_857/15/94/31/26/IMG-4582034240738960980.jpg",
167
+ "order": 0
168
+ },
169
+ {
170
+ "url": "https://images.secretlab.co/theme/common/collab_pokemon_catalog_charizard-min.png",
171
+ "order": 1
172
+ }
173
+ ],
174
+ "attributes": [
175
+ {
176
+ "id": 1,
177
+ "valueId": null,
178
+ "customValue": "Mağaza7"
179
+ },
180
+ {
181
+ "id": 429,
182
+ "valueId": null,
183
+ "customValue": "Mavi"
184
+ },
185
+ {
186
+ "id": 220,
187
+ "valueId": 6397019,
188
+ "customValue": "null"
189
+ },
190
+ {
191
+ "id": 1493,
192
+ "valueId": 6179186,
193
+ "customValue": "null"
194
+ },
195
+ {
196
+ "id": 1272,
197
+ "valueId": 6179186,
198
+ "customValue": "null"
199
+ },
200
+ {
201
+ "id": 1236,
202
+ "valueId": 9619686,
203
+ "customValue": "null"
204
+ },
205
+ {
206
+ "id": 6791,
207
+ "valueId": 6753182,
208
+ "customValue": "null"
209
+ },
210
+ {
211
+ "id": 394,
212
+ "valueId": 6753182,
213
+ "customValue": "null"
214
+ },
215
+ {
216
+ "id": 5368,
217
+ "valueId": 4094199,
218
+ "customValue": "null"
219
+ },
220
+ {
221
+ "id": 22,
222
+ "valueId": 4093865,
223
+ "customValue": "null"
224
+ },
225
+ {
226
+ "id": 1494,
227
+ "valueId": 4093868,
228
+ "customValue": "null"
229
+ }
230
+ ],
231
+ "salePrice": 2000,
232
+ "listPrice": 2200,
233
+ "vatRate": 10
234
+ },
235
+ {
236
+ "title": "Bisiklet Yaka Çicek Desenli Elbise Mavi A11-2",
237
+ "description": "B5555544",
238
+ "categoryId": 1209218,
239
+ "currencyType": "TL",
240
+ "productMainId": "1122",
241
+ "preparingDay": 3,
242
+ "shipmentTemplate": "1",
243
+ "maxPurchaseQuantity": 5,
244
+ "stockCode": "22211112M",
245
+ "catalogId": null,
246
+ "barcode": null,
247
+ "quantity": 10,
248
+ "images": [
249
+ {
250
+ "url": "https://n11scdn.akamaized.net/a1/602_857/15/94/31/26/IMG-4582034240738960980.jpg",
251
+ "order": 0
252
+ },
253
+ {
254
+ "url": "https://images.secretlab.co/theme/common/collab_pokemon_catalog_charizard-min.png",
255
+ "order": 1
256
+ }
257
+ ],
258
+ "attributes": [
259
+ {
260
+ "id": 1,
261
+ "valueId": null,
262
+ "customValue": "Mağaza7"
263
+ },
264
+ {
265
+ "id": 429,
266
+ "valueId": null,
267
+ "customValue": "Mavi"
268
+ },
269
+ {
270
+ "id": 220,
271
+ "valueId": 6397019,
272
+ "customValue": "null"
273
+ },
274
+ {
275
+ "id": 1493,
276
+ "valueId": 6179186,
277
+ "customValue": "null"
278
+ },
279
+ {
280
+ "id": 1272,
281
+ "valueId": 6179186,
282
+ "customValue": "null"
283
+ },
284
+ {
285
+ "id": 1236,
286
+ "valueId": 9619686,
287
+ "customValue": "null"
288
+ },
289
+ {
290
+ "id": 6791,
291
+ "valueId": 6753182,
292
+ "customValue": "null"
293
+ },
294
+ {
295
+ "id": 394,
296
+ "valueId": 6753182,
297
+ "customValue": "null"
298
+ },
299
+ {
300
+ "id": 5368,
301
+ "valueId": 4094199,
302
+ "customValue": "null"
303
+ },
304
+ {
305
+ "id": 22,
306
+ "valueId": 4093865,
307
+ "customValue": "null"
308
+ },
309
+ {
310
+ "id": 1494,
311
+ "valueId": 4093852,
312
+ "customValue": "null"
313
+ }
314
+ ],
315
+ "salePrice": 2000,
316
+ "listPrice": 2200,
317
+ "vatRate": 10
318
+
319
+ },
320
+ {
321
+ "title": "Bisiklet Yaka Çicek Desenli Elbise Yeşil A11-2",
322
+ "description": "B5555544",
323
+ "categoryId": 1209218,
324
+ "currencyType": "TL",
325
+ "productMainId": "1122",
326
+ "preparingDay": 3,
327
+ "shipmentTemplate": "1",
328
+ "maxPurchaseQuantity": 5,
329
+ "stockCode": "222111121S",
330
+ "catalogId": null,
331
+ "barcode": "null",
332
+ "quantity": 10,
333
+ "images": [
334
+ {
335
+ "url": "https://n11scdn.akamaized.net/a1/602_857/15/94/31/26/IMG-4582034240738960980.jpg",
336
+ "order": 0
337
+ },
338
+ {
339
+ "url": "https://images.secretlab.co/theme/common/collab_pokemon_catalog_charizard-min.png",
340
+ "order": 1
341
+ }
342
+ ],
343
+ "attributes": [
344
+ {
345
+ "id": 1,
346
+ "valueId": null,
347
+ "customValue": "Mağaza7"
348
+ },
349
+ {
350
+ "id": 429,
351
+ "valueId": null,
352
+ "customValue": "Yeşil"
353
+ },
354
+ {
355
+ "id": 220,
356
+ "valueId": 6397019,
357
+ "customValue": "null"
358
+ },
359
+ {
360
+ "id": 1493,
361
+ "valueId": 6179186,
362
+ "customValue": "null"
363
+ },
364
+ {
365
+ "id": 1272,
366
+ "valueId": 6179186,
367
+ "customValue": "null"
368
+ },
369
+ {
370
+ "id": 1236,
371
+ "valueId": 9619686,
372
+ "customValue": "null"
373
+ },
374
+ {
375
+ "id": 6791,
376
+ "valueId": 6753182,
377
+ "customValue": "null"
378
+ },
379
+ {
380
+ "id": 394,
381
+ "valueId": 6753182,
382
+ "customValue": "null"
383
+ },
384
+ {
385
+ "id": 5368,
386
+ "valueId": 4094199,
387
+ "customValue": "null"
388
+ },
389
+ {
390
+ "id": 22,
391
+ "valueId": 4093865,
392
+ "customValue": "null"
393
+ },
394
+ {
395
+ "id": 1494,
396
+ "valueId": 4093868,
397
+ "customValue": "null"
398
+ }
399
+ ],
400
+ "salePrice": 2000,
401
+ "listPrice": 2200,
402
+ "vatRate": 10
403
+
404
+ },
405
+ {
406
+ "title": "Bisiklet Yaka Çicek Desenli Elbise Mavi A11-2",
407
+ "description": "B5555544",
408
+ "categoryId": 1209218,
409
+ "currencyType": "TL",
410
+ "productMainId": "1122",
411
+ "preparingDay": 3,
412
+ "shipmentTemplate": "1",
413
+ "maxPurchaseQuantity": 5,
414
+ "stockCode": "222111121M",
415
+ "catalogId": null,
416
+ "barcode": null,
417
+ "quantity": 10,
418
+ "images": [
419
+ {
420
+ "url": "https://n11scdn.akamaized.net/a1/602_857/15/94/31/26/IMG-4582034240738960980.jpg",
421
+ "order": 0
422
+ },
423
+ {
424
+ "url": "https://images.secretlab.co/theme/common/collab_pokemon_catalog_charizard-min.png",
425
+ "order": 1
426
+ }
427
+ ],
428
+ "attributes": [
429
+ {
430
+ "id": 1,
431
+ "valueId": null,
432
+ "customValue": "Mağaza7"
433
+ },
434
+ {
435
+ "id": 429,
436
+ "valueId": null,
437
+ "customValue": "Yeşil"
438
+ },
439
+ {
440
+ "id": 220,
441
+ "valueId": 6397019,
442
+ "customValue": "null"
443
+ },
444
+ {
445
+ "id": 1493,
446
+ "valueId": 6179186,
447
+ "customValue": "null"
448
+ },
449
+ {
450
+ "id": 1272,
451
+ "valueId": 6179186,
452
+ "customValue": "null"
453
+ },
454
+ {
455
+ "id": 1236,
456
+ "valueId": 9619686,
457
+ "customValue": "null"
458
+ },
459
+ {
460
+ "id": 6791,
461
+ "valueId": 6753182,
462
+ "customValue": "null"
463
+ },
464
+ {
465
+ "id": 394,
466
+ "valueId": 6753182,
467
+ "customValue": "null"
468
+ },
469
+ {
470
+ "id": 5368,
471
+ "valueId": 4094199,
472
+ "customValue": "null"
473
+ },
474
+ {
475
+ "id": 22,
476
+ "valueId": 4093865,
477
+ "customValue": "null"
478
+ },
479
+ {
480
+ "id": 1494,
481
+ "valueId": 4093852,
482
+ "customValue": "null"
483
+ }
484
+ ],
485
+ "salePrice": 2000,
486
+ "listPrice": 2200,
487
+ "vatRate": 10
488
+
489
+ }
490
+ ]
491
+ }
492
+ }
493
+ Hızlı Ürün Yükleme
494
+ • SearchCatalog servisinden dönen n11'e kayıtlı catalogId ya da barcode alanını bu serviste gönderebilirsiniz.
495
+ • Dönen task id bilgisi ile TaskDetails servisinden işlem sonucunu kontrol edebilirsiniz.
496
+ • Ürün bazlı shipmentTemplate (kargo şablon adı) gönderilmelidir.
497
+ • attributes ve images alanı [ ] şeklinde kapalı köşeli parantez ile gelmelidir ( zorunlu ).
498
+ • Request içerisinde barcode ya da catalogId alanı zorunludur, her ikisi de dolu ise cataogId öncelikli baz alınacaktır.
499
+ • 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.
500
+ • 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.
501
+ Örnek Request
502
+ {
503
+ "payload": {
504
+ "integrator": "Entegratör isminizi yazınız",
505
+ "skus": [
506
+ {
507
+ "description": "BB test test",
508
+ "categoryId": 1000476,
509
+ "productMainId": "test1",
510
+ "preparingDay": 3,
511
+ "shipmentTemplate": "1",
512
+ "maxPurchaseQuantity": 5,
513
+ "stockCode": "md01g4141",
514
+ "catalogId": null,
515
+ "barcode": 8806094924862,
516
+ "quantity": 10,
517
+ "images": [],
518
+ "attributes": [],
519
+ "salePrice": 2000,
520
+ "listPrice": 2200,
521
+ "vatRate": 10
522
+ }
523
+ ]
524
+ }
525
+ }
526
+
527
+
528
+
529
+
530
+
531
+
532
+
533
+
534
+
535
+
536
+
537
+
538
+ Ürün Fiyat-Stok Güncelleme (UpdateProductPriceAndStock)
539
+ POST https://api.n11.com/ms/product/tasks/price-stock-update
540
+ Bu servis kullanılarak ürünlerin fiyat ve stok bilgisini güncelleyebilirsiniz.
541
+
542
+ • Authorization no auth seçiniz.
543
+ • Headers alanına appkey ve appsecret bilgisini eklemeniz gerekir.
544
+ • Tek seferde maximum 1000 sku için güncelleme atabilirsiniz.
545
+ • İsteğinizi json formatında body de raw olarak iletmeniz gerekir.
546
+ • HTTP isteğinizi 'POST' methoduyla ilgili endpoint'e gönderin.
547
+ • JSON dosyanızı iletilen örnek desen formatında hazırlayın.
548
+ 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.
549
+ • Fiyat güncellemelerinde listPrice ve salePrice parametreleri birlikte gönderilmelidir.
550
+ • listPrice ve salePrice değerlerinde küsurat bilgisi nokta ile ayrılmalıdır. Virgül kullanımı hata alınmasına sebebiyet verecektir.
551
+ • listPrice ve salePrice değerlerinde küsurat noktadan sonra 2 hane iletilmelidir. Aksi takdirde isteğiniz REJECT alacaktır.
552
+ • Sadece fiyat veya sadece stok güncellemesi yapılacak ise istekte güncellemek istemediğiniz alanları göndermeyebilirsiniz. İstekte mevcut olmayan alanlar için herhangi bir update yapılmayacaktır. Burada dikkat edilmesi gereken nokta fiyat güncellemelerinde listPrice ve salePrice'ın birlikte gönderilmesi gerektiğidir.
553
+ • listPrice ve salePrice değerini aynı değer gönderebilirsiniz. listPrice, salePrice'dan yüksek olmalıdır. Aksi takdirde isteğiniz REJECT alacaktır.
554
+
555
+
556
+
557
+ Request Parametre Zorunluluk Açıklama Veri Tipi
558
+ integrator Evet Entegratör ve API kullanıcısının verilebilecek özel ismi. Tüm gönderimlerinizde aynı değer kullanmanızı rica ederiz. string
559
+ stockCode Evet Tedarikçinin ürüne belirlediği uniq kod. Ürünler (SKU) ile ilgili güncellemeleri bu değeri zorunlu olarak göndermelisiniz. string
560
+ listPrice Hayır Ürün liste fiyatı (Satış fiyatı düşük olunca üstü çizilen fiyat) PSF. number
561
+ salePrice Hayır Ürün satış fiyatı TSF. number
562
+ quantity Hayır Stok miktarı. integer
563
+ currencyType Hayır Ürün liste fiyatı para birimi. Alınan değerler TL, USD ve EUR olabilir. text
564
+
565
+
566
+
567
+ Response Status Açıklama
568
+ IN_QUEUE İlettiğiniz task kuyrukta bekmektedir.Task Detail Servisinden taskid ile sorgulayabilirsiniz.
569
+ REJECT Veri seti yüklenmediğinde doğrudan reason parametresi ile açıklamasını iletilmektedir.
570
+
571
+
572
+
573
+ Örnek Request
574
+
575
+
576
+
577
+ {
578
+ "payload": {
579
+ "integrator": "Entegratör isminizi yazınız",
580
+ "skus": [
581
+ {
582
+ "stockCode": "test_variant_ea1_1",
583
+ "listPrice": 2000,
584
+ "salePrice": 1600,
585
+ "quantity": 2,
586
+ "currencyType": "TL"
587
+ },
588
+ {
589
+ "stockCode": "test_variant_ea1_2",
590
+ "listPrice": 2200,
591
+ "salePrice": 1800,
592
+ "quantity": 1,
593
+ "currencyType": "TL"
594
+ }
595
+
596
+ ]
597
+ }
598
+ }
599
+
600
+ Örnek Response
601
+ {
602
+ "id": 1092,
603
+ "type": "SKU_UPDATE",
604
+ "status": "IN_QUEUE",
605
+ "reasons": [
606
+ "1 sku işlenmeye alındı."
607
+ ]
608
+ } 
609
+ Ürün Bilgisi Güncelleme (UpdateProduct)
610
+ POST https://api.n11.com/ms/product/tasks/product-update
611
+ Bu servis kullanılarak ürün bilgilerinizi güncelleyebilirsiniz.
612
+
613
+ • Authorization no auth seçiniz.
614
+ • Headers alanına appkey ve appsecret bilgisini eklemeniz gerekir.
615
+ • Tek seferde maximum 1000 sku için güncelleme atabilirsiniz.
616
+ • İsteğinizi json formatında body de raw olarak iletmeniz gerekir.
617
+ • HTTP isteğinizi 'POST' methoduyla ilgili endpoint'e gönderin.
618
+ • JSON dosyanızı iletilen örnek desen formatında hazırlayın.
619
+ • 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.
620
+ • Ürün gruplaması yapmak için productMainId değeri iletilmelidir.
621
+ • productMainId değeri güncellenmek isteniyorsa deleteProductMainId değeri True aktarılmalı ve yeni değer productMainId parametresi ileiletilmelidir. deleteProductMainId parametresinin False gönderildiği durumda herhangi bir güncelleme olmayacaktır.
622
+ • Ürün maximum satış adedi maxPurchaseQuantity parametresi ile iletilmelidir. Bu parametrenin güncellenebilmesi için deleteMaxPurchaseQuantity parametresi True aktarılmalıdır. deleteMaxPurchaseQuantity parametresinin False gönderildiği durumda herhangi bir güncelleme olmayacaktır.
623
+
624
+
625
+ Request Parametre Zorunluluk Açıklama Veri Tipi
626
+ integrator Evet Entegratör ve API kullanıcısının verilebilecek özel ismi. Tüm gönderimlerinizde aynı değer kullanmanızı rica ederiz. string
627
+ stockCode Evet Tedarikçinin ürüne belirlediği uniq kod. Ürünler (SKU) ile ilgili güncellemeleri bu değeri zorunlu olarak göndermelisiniz. string
628
+ status Hayır Ürünün satışta olup olmadığını belirtir. Satışta olması isteniyorsa "Active" yazılır, ürünü satıştan çekmek için "Suspended" yazılır. string
629
+ preparingDay Hayır Ürün bazlı kargoya gönderim süresini belirtir. 0'dan büyük bir değer girilmelidir. integer
630
+ shipmentTemplate Hayır Satıcı Panelinde Hesabım > Teslimat Bilgileri alanından oluşturulan "Şablon Adı" başlığında belirtilen değeri yazabilirsiniz. string
631
+ currencyType Hayır Ürün liste fiyatı para birimi. Alınan değerler TL, USD ve EUR olabilir. string
632
+ deleteProductMainId Hayır Ana ürün kodunu (productMainId ) silmek isterseniz "True" değerini ekleyiniz. Alabildiği değerler: True, False boolean
633
+ productMainId Hayır Ana ürün kodudur. Aynı modele ait ürün özelliklerini birleştirir. string
634
+ deleteMaxPurchaseQuantity Hayır Maksimum satın alım değerini (maxPurchaseQuantity) silmek isterseniz "True" değerini ekleyiniz. Alabildiği değerler: True, False boolean
635
+ maxPurchaseQuantity Hayır Ürüne toplu alışveriş yapılmaması isteniyorsa, ürün bazlı maksimum kaç adet satın alınabileceğini belirtir. integer
636
+ description Hayır Ürün açıklaması string
637
+ vatRate Evet Ürün KDV oranı 0,1,10,20 değerlerini alabilir integer
638
+
639
+ Response Status Açıklama
640
+ IN_QUEUE İlettiğiniz task kuyrukta bekmektedir.Task Detail Servisinden taskid ile sorgulayabilirsiniz.
641
+ REJECT Veri seti yüklenmediğinde doğrudan reason parametresi ile açıklamasını iletilmektedir.
642
+
643
+
644
+ Örnek Request
645
+
646
+ {
647
+ "payload": {
648
+ "integrator": "Entegratör İsmini yazabilirsiniz",
649
+ "skus": [
650
+ {
651
+ "stockCode": "xyz-1",
652
+ "status": "Active",
653
+ "preparingDay": 3,
654
+ "shipmentTemplate": "STANDART",
655
+ "deleteProductMainId": true,
656
+ "productMainId": "ea_v_xyz",
657
+ "deleteMaxPurchaseQuantity": false,
658
+ "maxPurchaseQuantity": 3,
659
+ "description": "Test Ürün Açıklaması"
660
+
661
+ }
662
+
663
+ ]
664
+ }
665
+ }
666
+
667
+
668
+ Örnek Response
669
+
670
+ {
671
+ "id": 1092,
672
+ "type": "PRODUCT_UPDATE",
673
+ "status": "IN_QUEUE",
674
+ "reasons": [
675
+ "1 sku işlenmeye alındı."
676
+ ]
677
+ }
678
+
679
+
680
+
681
+
682
+ Task Detail Sorgulama (TaskDetails)
683
+
684
+ POST https://api.n11.com/ms/product/task-details/page-query
685
+
686
+ UpdateProduct ve UpdateProductPriceAndStock servislerine yapılan her başarılı istek için response’ta id(taskId) değeri dönmektedir. Bu ID değerini requestte taskid'ye yazınız.Servis ile ilgili işlem için itemCode bazlı sonuçları alınmaktadır.
687
+
688
+ • Authorization no auth seçiniz.
689
+ • Headers alanına appkey ve appsecret bilgisini eklemeniz gerekir.
690
+ • İsteğinizi json formatında body de raw olarak iletmeniz gerekir.
691
+ • Response’da yer alan itemCode değeri stock kodunu ifade eder. Status, Fail ve SUCCESS değerlerini alımaktadır. Sku alanında güncelleme alanın sonucunu görmektesiniz.
692
+ • Task işlenmesi bitti ise "status": "PROCESSED" değerinden alabilirsiniz.Buradaki değerler statu değerleri "PROCESSED" = İşlem tamamlandı ve “IN_QUEUE” = İşleniyor “REJECT” = Task işlenmemiştir.
693
+
694
+
695
+ Örnek Request
696
+
697
+ {
698
+ "taskId": 362,
699
+ "pageable": {
700
+ "page": 0,
701
+ "size": 1000
702
+ }
703
+ }
704
+
705
+ Örnek Response
706
+
707
+ {
708
+ "taskId": 1095,
709
+ "skus": {
710
+ "content": [
711
+ {
712
+ "id": 1585,
713
+ "taskId": 1095,
714
+ "ownerId": 2770263,
715
+ "itemCode": "1234567m",
716
+ "status": "SUCCESS",
717
+ "sku": {
718
+ "salePrice": 1100.00,
719
+ "listPrice": 1200.00,
720
+ "currencyType": "TL",
721
+ "reasons": [
722
+ "Başarıyla tamamlandı."
723
+ ],
724
+ "stock": 9
725
+ },
726
+ "reasons": [
727
+ "Başarıyla tamamlandı."
728
+ ]
729
+ }
730
+ ]
731
+ ,
732
+ "pageable": {
733
+ "sort": {
734
+ "empty": true,
735
+ "sorted": false,
736
+ "unsorted": true
737
+ },
738
+ "offset": 0,
739
+ "pageNumber": 0,
740
+ "pageSize": 100000,
741
+ "paged": true,
742
+ "unpaged": false
743
+ },
744
+ "last": true,
745
+ "totalElements": 1,
746
+ "totalPages": 1,
747
+ "sort": {
748
+ "empty": true,
749
+ "sorted": false,
750
+ "unsorted": true
751
+ },
752
+ "first": true,
753
+ "number": 0,
754
+ "numberOfElements": 1,
755
+ "size": 100000,
756
+ "empty": false
757
+ },
758
+ "createdDate": "12-08-2024 06:12:05",
759
+ "modifiedDate": "12-08-2024 06:12:11",
760
+ "status": "PROCESSED"
761
+ }
762
+
763
+
764
+ Satıcı Ürünlerini Listeleme (GetProductQuery)
765
+ GET https://api.n11.com/ms/product-query
766
+ • Authorization no auth seçiniz.
767
+ • Headers alanına appkey ve appsecret bilgisini eklemeniz gerekir.
768
+ • HTTP isteğinizi 'GET' methoduyla ilgili endpoint'e gönderin.
769
+ Dikkat Edilmesi Gerekenler;
770
+ • Request parametrelerinde zorunluluk yer almamaktadır, parametreler boş olacak şekilde listeleme yapabilirsiniz. Hiçbir parametre girilmediğinde satıcının tüm ürünleri page 0 size 20 olacak şekilde listelenecektir.
771
+
772
+ • stockCode parametresi her istekte tek bir değer alabilmektedir, birden fazla ürün listelemek için satıcı stok kodu bazlı istek atmanız gerekmektedir.
773
+
774
+ • Pagination yapısı kullanıyorsanız page 0 başlatarak responsede dönen totalPages alanını dikkate alarak content boş dönen sayfayı son sayfa olarak belirleyebilirsiniz.
775
+
776
+ • Response Body içerisindeki parametre değerleri karakter sayısı ve veri tipleri sipariş sayısının doğal artışıyla beraber değişebilmektedir ( Örneğin n11ProductId alanı 9 haneden 10 haneye çıkabilir, entegratör üzerinde tanımlama yapılırken bu durumlar göz önünde bulundurulması sağlıklı olacaktır ).
777
+ Parametre Parametre Değer Açıklama Tip
778
+ id N11 Ürün Kodu N11 Ürün kodu ile listeleme long
779
+ productMainId Grup Kodu Ürün grup kodu ile listeleme string
780
+ stockCode Satıcı Ürün Kodu Satıcı ürün kodu ile listeleme string
781
+ saleStatus Before_Sale, On_Sale, Out_Of_Stock, Sale_Closed Ürün satış durumuna göre listeleme string
782
+ productStatus Active, InCatalogApproval, Suspended, CatalogRejected, Unlisted, Prohibited, InApproval Ürün onay durumuna göre listeleme string
783
+ brandName Marka ismi N11 Satıcı panelinde yer alan ürünleri marka ismine göre listelemesini sağlar string
784
+ categoryIds Kategori ID bilgisi Kategori ID ile listeleme long list
785
+ page Varsayılan 0 int
786
+ size Varsayılan 20 maksimum 250 int
787
+
788
+ Parametre(Cevap) Açıklama
789
+ n11ProductId N11 Ürün Kodu
790
+ sellerId Mağaza ID
791
+ sellerNickname Mağaza Adı
792
+ stockCode Satıcı Stok Kodu
793
+ title Ürün Adı
794
+ description Ürün açıklaması
795
+ categoryId Kategori ID
796
+ productMainId Model Kodu
797
+ status Ürün Aktifliği
798
+ saleStatus Satış Durumu
799
+ preparingDay Kargo Hazırlık Süresi
800
+ shipmentTemplate Kargo Şablonu
801
+ maxPurchaseQuantity Maksimum Satın Alım Adedi
802
+ customTextOptions Müşteriye Özel Ürün Seçeneği
803
+ catalogId Ürün Katalog ID
804
+ barcode Barkod
805
+ groupId Ürün Katalog Grup ID
806
+ currencyType Para Birimi
807
+ salePrice Satış Fiyatı
808
+ listPrice Liste Fiyatı
809
+ quantity Stok Adedi
810
+ attributes Ürün Özellikleri
811
+ imageUrls Görsel Linkleri
812
+ vatRate KDV Oranı
813
+ commissionRate Komisyon Oranı
814
+ totalElements Toplam Ürün Sayısı
815
+ totalPages Toplam Sayfa Sayısı
816
+ number Mevcut Sayfa Numarası
817
+ numberOfElements Sayfadaki Ürün Sayısı
818
+ size Listelenen Ürün Adedi
819
+
820
+ Satıcı ürünlerini listeleme
821
+ Örnek Request
822
+ GET : https://api.n11.com/ms/product-query?id=&productMainId=&stockCode=&saleStatus=&productStatus=&brandName=&categoryIds=
823
+ Örnek Response
824
+ {
825
+ "content": [
826
+ {
827
+ "n11ProductId": 123456789,
828
+ "sellerId": 9876543,
829
+ "sellerNickname": testMagaza,
830
+ "stockCode": "TestSKU123",
831
+ "title": "Test Ürünü Kontrol Amaçlı Gri",
832
+ "description": "Açıklama bilgisi uzun açıklama",
833
+ "categoryId": 1231231,
834
+ "productMainId": "GrupKoduModellemeİçin",
835
+ "status": "Active",
836
+ "saleStatus": "On_Sale",
837
+ "preparingDay": 3,
838
+ "shipmentTemplate": "1",
839
+ "maxPurchaseQuantity": 5,
840
+ "customTextOptions": [],
841
+ "catalogId": 987654321,
842
+ "barcode": null,
843
+ "groupId": 12345678,
844
+ "currencyType": "TL",
845
+ "salePrice": 10000.0,
846
+ "listPrice": 10000,
847
+ "quantity": 2,
848
+ "attributes": [
849
+ {
850
+ "attributeId": 1,
851
+ "attributeName": "Marka",
852
+ "attributeValue": "Diğer"
853
+ },
854
+ {
855
+ "attributeId": 429,
856
+ "attributeName": "Renk",
857
+ "attributeValue": "Gri"
858
+ },
859
+ {
860
+ "attributeId": 845,
861
+ "attributeName": "Ölçüler",
862
+ "attributeValue": "0.5 CMx 1 M"
863
+ }
864
+ ],
865
+ "imageUrls": [
866
+ "https://n11scdn3.akamaized.net/a1/org/07/76/32/73/IMG-4395477787604309691.jpg"
867
+ ],
868
+ "vatRate": 10,
869
+ "commissionRate": 8
870
+ }
871
+ ],
872
+ "pageable": {
873
+ "sort": null,
874
+ "pageNumber": 0,
875
+ "pageSize": 20,
876
+ "offset": 0,
877
+ "paged": true,
878
+ "unpaged": false
879
+ },
880
+ "last": true,
881
+ "totalElements": 1,
882
+ "totalPages": 1,
883
+ "first": true,
884
+ "number": 0,
885
+ "sort": null,
886
+ "numberOfElements": 1,
887
+ "size": 20,
888
+ "empty": false
889
+ }
890
+
891
+ Kategori Ağacı Listeleme (GetCategories)
892
+
893
+ GET https://api.n11.com/cdn/categories
894
+
895
+ • Authorization no auth seçiniz.
896
+ • Headers alanına appkey ve appsecret bilgisini eklemeniz gerekir.
897
+ • GetCategories kullanırken herhangi bir parametre gerekmemektedir.
898
+ • Tüm n11 kategori ağacını tek istekle alabilmektesiniz.
899
+ • Ürün açma servisinde en alt kırılım olan kategori id değerleri iletilmelidir.
900
+ • subCategories değerinin null dönmesi o kategorinin en alt kırılım olduğunu ifade etmektedir.
901
+
902
+
903
+
904
+
905
+
906
+
907
+
908
+
909
+
910
+
911
+
912
+
913
+
914
+
915
+
916
+
917
+
918
+
919
+
920
+
921
+
922
+
923
+
924
+
925
+
926
+
927
+
928
+ Kategori Özellikleri Listeleme (GetCategoryAttributesList)
929
+
930
+ GET https://api.n11.com/cdn/category/{categoryId}/attribute
931
+ • Authorization no auth seçiniz.
932
+ • Headers alanına appkey ve appsecret bilgisini eklemeniz gerekir.
933
+ • HTTP isteğinizi 'GET' methoduyla ilgili endpoint'e gönderin.
934
+ • Bu serviste Request parametre yer almamaktadır, endpoint içerisindeki categoryId değerine göre kategori özelinde listeleme yapılmaktadır.
935
+
936
+ Dikkat Edilmesi Gerekenler;
937
+
938
+ • Endpoint içerisinde yer alan {categoryId} alanını GetCategories servisinden GET : https://api.n11.com/cdn/categories requesti ile çağırdığınız kategori listesinde yer alan “id” parametresindeki değer ile değiştirerek ilgili kategori attributelerini listeleyebilirsiniz.
939
+ • Response body alanında ilgili kategoriye ait attribute id, attribute value ve attribute value id bilgilerini görüntüleyebilirsiniz.
940
+ • isMandatory : true olan attributeleri zorunludur, CreatProduct servisinde ürün bazlı göndermeniz gerekmektedir.
941
+ • isVariant : true olan attribute için CreateProduct servisinde ürünlere aynı productMainId eklenirse aynı sayfada ürün seçeneği şeklinde gözükür.
942
+
943
+
944
+ Örnek Request
945
+
946
+ GET https://api.n11.com/cdn/category/1002571/attribute
947
+
948
+ Örnek Response
949
+
950
+ {
951
+ "id": 1002571,
952
+ "name": "Makyaj Çantası",
953
+ "categoryAttributes": [
954
+ {
955
+ "attributeId": 1,
956
+ "categoryId": 1002571,
957
+ "attributeName": "Marka",
958
+ "isMandatory": true,
959
+ "isVariant": false,
960
+ "isSlicer": false,
961
+ "isCustomValue": true,
962
+ "isN11Grouping": false,
963
+ "attributeOrder": 1000,
964
+ "attributeValues": [
965
+ {
966
+ "id": 8372688,
967
+ "value": "Abay"
968
+ },
969
+ {
970
+ "id": 6655098,
971
+ "value": "Abbagift"
972
+ },
973
+ {
974
+ "id": 1229210,
975
+ "value": "Albatros"
976
+ }
977
+ ]
978
+ },
979
+ {
980
+ "attributeId": 429,
981
+ "categoryId": 1002571,
982
+ "attributeName": "Renk",
983
+ "isMandatory": true,
984
+ "isVariant": true,
985
+ "isSlicer": true,
986
+ "isCustomValue": true,
987
+ "isN11Grouping": false,
988
+ "attributeOrder": 102,
989
+ "attributeValues": [
990
+ {
991
+ "id": 8773717,
992
+ "value": "Ahşap Rengi"
993
+ },
994
+ {
995
+ "id": 2523534,
996
+ "value": "Altın"
997
+ },
998
+ {
999
+ "id": 8773712,
1000
+ "value": "Altın - Beyaz"
1001
+ }
1002
+ ]
1003
+ }
1004
+ ]
1005
+ }
1006
+
1007
+
1008
+
1009
+
1010
+
1011
+
1012
+
1013
+
1014
+ Sipariş Listeleme (GetShipmentPackages)
1015
+
1016
+ GET https://api.n11.com/rest/delivery/v1/shipmentPackages
1017
+
1018
+ • Authorization no auth seçiniz.
1019
+ • Headers alanına appkey ve appsecret bilgisini eklemeniz gerekir.
1020
+ • Servise 1 dakika içerisinde maksimum 1000 adet istek atılabilir.
1021
+ • HTTP isteğinizi 'GET' methoduyla ilgili endpoint'e gönderin.
1022
+
1023
+ Dikkat Edilmesi Gerekenler;
1024
+
1025
+ • Status parametresi her istekte tek bir değer alabilmektedir, birden fazla statü listelemek için statü bazlı istek atmanız gerekmektedir.
1026
+ • 2024 Kasım öncesi sipariş datası bu servisten verilmemektedir.
1027
+ • Pagination yapısı kullanıyorsanız page 0 başlatarak responsede dönen totalPages alanını dikkate alarak content boş dönen sayfayı son sayfa olarak belirleyebilirsiniz.
1028
+ • Bu servisten dönen sonuçlar son güncelleme tarihine göre sıralanacaktır, sıralamayı orderByDirection parametresini kullanarak DESC ( Yeniden eskiye ) ya da ASC ( Eskiden yeniye ) değeriyle listeleme yapabilirsiniz.
1029
+ • Response Body içerisindeki parametre değerleri karakter sayısı ve veri tipleri sipariş sayısının doğal artışıyla beraber değişebilmektedir ( Örneğin orderNumber alanı 12 haneden 13 haneye çıkabilir, entegratör üzerinde tanımlama yapılırken bu durumlar göz önünde bulundurulması sağlıklı olacaktır ).
1030
+ • Yalnızca startDate alanı girildiyse, girilen startDate'den sonraki 15 günlük kayıtlar listelenir.
1031
+ • Yalnızca endDate alanı girildiyse, girilen endDate'den önceki 15 günlük kayıtlar listelenir.
1032
+ • StartDate ve endDate alanları girilmiş fakat iki tarih arasında çok fazla fark varsa ( Örnek olarak 6 ay ya da 2 yıl gibi ) girilen endDate'den önceki son 15 günlük kayıtlar listelenecektir.
1033
+ • Fatura edilecek toplam tutar için lines bloğundaki sellerInvoiceAmount alanını baz alabilirsiniz, bu alan ürün bazlı döneceğinden ürün sayısına göre dönen sellerInvoiceAmount alanlarını toplayarak sonuca ulaşabilirsiniz.
1034
+ • Sipariş hesaplama denklemi için line bazlı (price*quantity) - totalSellerDiscountPrice formülünü kullanabilirsiniz.
1035
+ • Response body alanında, lines bloğunda ürün bazlı detaylar dönmektedir, aşağıda yer alan cevap parametrelerine lines alanı bold olarak belirtilmiştir.
1036
+ • Siparişleri paket güncelleme tarihine göre listelemek istiyorsanız orderByField parameterisin true göndererek tarih parametrelerini kullanabilirsiniz, örneğin startDate alanında başlangıç tarihi ve orderByField true göndererek belirttiğiniz tarih itibariyle paketleri son güncelleme tarihine göre listeleyebilirsiniz.
1037
+ • Konuma Özel Teslimat siparişlerinde Paket Numarası ( id parametresi ) null dönmektedir. Kargolama süreci satıcıya ait olup, n11 satıcı paneli üzerinden yönetilebilmektedir.
1038
+ • Satıcı özelinde kampanya dahilinde komisyon indirimi yer alabilmektedir, ürün komisyon tutarı hesaplıyorsanız commissionRate - sellerCampaignCommissionRate formülünden kalan değer üzerinden ürün komisyon oranına ulaşabilirsiniz.
1039
+
1040
+
1041
+ Parametre Parametre Değer Açıklama Tip
1042
+ startDate Timestamp (milliseconds) ve GMT +3 olarak gönderilmelidir. Belirtilen tarihten sonraki siparişleri getirir. long ( timestamp )
1043
+ endDate Timestamp (milliseconds) ve GMT +3 olarak gönderilmelidir. Belirtilen tarihe kadar olan siparişleri getirir. long ( timestamp )
1044
+ page Sadece belirtilen sayfadaki bilgileri döndürür int
1045
+ size Maksimum 100 Bir sayfada listelenecek maksimum adeti belirtir. int
1046
+ orderNumber Sipariş numarası ile sorgulama yapılır. string
1047
+ packageIds Paket numarası ile sorgulama yapılır. string
1048
+ status Created, Picking, Shipped, Cancelled, Delivered, UnPacked, UnSupplied Belirtilen statülere göre siparişleri getirir. string
1049
+ orderByField true, false true değer girildiğinde, paketin lastModifiedDate alanına göre sorgulama yapabilirsiniz. string
1050
+ orderByDirection ASC Eskiden yeniye doğru sıralar. string
1051
+ DESC Yeniden eskiye doğru sıralar. string
1052
+
1053
+
1054
+
1055
+
1056
+ Parametre(Cevap) Açıklama
1057
+ billingAddress Fatura adresi
1058
+ billingAddress.invoiceType Fatura tipi, 1: Bireysel 2: Kurumsal
1059
+ shippingAddress Teslimat adresi
1060
+ orderNumber Sipariş numarası
1061
+ id Paket numarası
1062
+ customerEmail Alıcı mail adresi
1063
+ customerfullName Alıcı ad soyad ( invoiceType:2 ise Firma Ünvanı bu alandan dönecektir )
1064
+ customerId Alıcı ID bilgisi
1065
+ taxId Vergi no
1066
+ taxOffice Vergi dairesi
1067
+ tcIdentityNumber TC kimlik numarası
1068
+ cargoSenderNumber Kargo takip numarası
1069
+ cargoTrackingNumber Kargo barkod numarası / Kargo kampanya kodu
1070
+ cargoTrackingLink Kargo takip linki
1071
+ shipmentCompanyId Kargo firma id ( GetShipmentCompanies metodu ile listelenebilir )
1072
+ cargoProviderName Kargo firma ünvanı ( GetShipmentCompanies metodu ile listelenebilir )
1073
+ shipmentMethod Kargo yöntemi, 1: Kargo 2: Diğer ( dijital, hediye, online teslimat )
1074
+ installmentChargeWithVATprice KDV dahil vade farkı
1075
+ lines Sipariş ürün satırları ( Sipariş ürün bilgilerinin tamamını görüntüleyebilirsiniz )
1076
+  quantity Sipariş ürün adedi
1077
+  productId N11 ürün kodu
1078
+  productName Ürün adı
1079
+  stockCode Satıcı ürün kodu
1080
+  variantAttributes Ürün varyant özellikleri
1081
+  customTextOptionValues Müşteriye özel ürün seçeneği
1082
+  price Sipariş ürün birim fiyatı ( indirimler hariç )
1083
+  dueAmount Tahsil edilecek tutar
1084
+  installmentChargeWithVAT KDV dahil vade farkı ( ürün bazlı )
1085
+  sellerCouponDiscount Mağaza kupon indirimi
1086
+  sellerDiscount Mağaza indirimi
1087
+ sellerCampaignCommissionDiscount Kampanyalı komisyon indirim tutarı
1088
+  sellerInvoiceAmount Mağaza fatura tutarı
1089
+  totalSellerDiscountPrice Mağaza indirim toplamı
1090
+  mallDiscount Ürün ile ilgili N11 indirimi
1091
+  totalMallDiscountPrice N11 indirimleri toplamı
1092
+  orderLineId Sipariş ürün ID
1093
+  orderItemLineItemStatusName Sipariş ürün statüsü
1094
+ vatRate Sipariş ürün KDV oranı
1095
+ commissionRate Sipariş ürün komisyon oranı
1096
+ sellerCampaignCommissionRate Kampanyalı komisyon indirim oranı
1097
+ taxDeductionRate Sipariş ürün vergi kesinti oranı
1098
+ totalLaborCostExcludingVAT Sipariş ürün işçilik ücreti
1099
+ netMarketingFeeRate Pazarlama hizmet bedeli oranı
1100
+ netMarketplaceFeeRate Pazaryeri hizmet bedeli oranı
1101
+ barcode Ürün barkodu
1102
+  deliveryFeeType Kargo Ödeme Tipi, 1: Şartlı Kargo ( Mağaza Öder ) 3: Mağaza Öder 5: Şartlı Kargo ( n11 Öder )
1103
+  sellerDiscountedPrice Mağaza indirimli fiyat
1104
+  sender Gönderici tipi, SELLER: Satıcı gönderir N11: n11 gönderir
1105
+ lastModifiedDate Sipariş son hareket tarihi
1106
+ agreedDeliveryDate Sipariş onaylanma tarihi
1107
+ totalAmount Toplam tutar
1108
+ totalDiscountAmount Toplam indirim tutarı
1109
+ packageHistories Paket geçmişi ( Paketin geçmiş statülerini tarih bazlı görüntüleyebilirsiniz )
1110
+ shipmentPackageStatus Sipariş statüsü
1111
+ sellerId Satıcı ID bilgisi
1112
+
1113
+
1114
+ Sipariş listeleme
1115
+
1116
+ Örnek Request
1117
+ GET https://api.n11.com/rest/delivery/v1/shipmentPackages?startDate={startDate}&endDate={endDate}&status=Created&orderNumber={orderNumber}&packageIds={id}&page=0&size=100&orderByDirection=ASC
1118
+
1119
+ Yukarıdaki isteği orderNumber ve packageIds parametrelerini kaldırarak GET metodunda çağırdığınızda, startDate ve endDate parametrelerinde girilen tarih aralığındaki Created statülü 1. sayfadaki hareket tarihi eskiden yeniye 100 adet sipariş listelenecektir.
1120
+ orderNumber (Sipariş Numarası) ve packageIds (Paket Numarası) parametrelerini birlikte ya da ayrı ayrı kullanarak sipariş çağırabilirsiniz.
1121
+
1122
+ Dökümandaki request parametrelerine göre özelleştirmeler yapabilirsiniz.
1123
+
1124
+ Örnek Response
1125
+
1126
+ {
1127
+ "pageCount": 1,
1128
+ "totalPages": 1,
1129
+ "page": 0,
1130
+ "size": 100,
1131
+ "content": [
1132
+ {
1133
+ "billingAddress": {
1134
+ "address": "Reşitpaşa Mah İstanbul Teknik Üniversitesi Teknokent Arı 3 4/a-3 D:8-9, 34485 Sarıyer/İstanbul",
1135
+ "city": "İstanbul",
1136
+ "district": "Sarıyer",
1137
+ "neighborhood": "Reşitpaşa",
1138
+ "fullName": "N11 müşteri",
1139
+ "gsm": "5xxxxxxxxx",
1140
+ "tcId": "11111111111",
1141
+ "postalCode": "34000",
1142
+ "taxId": null,
1143
+ "taxHouse": null,
1144
+ "invoiceType": 1
1145
+ },
1146
+ "shippingAddress": {
1147
+ "address": "Reşitpaşa Mah İstanbul Teknik Üniversitesi Teknokent Arı 3 4/a-3 D:8-9, 34485 Sarıyer/İstanbul",
1148
+ "city": "İstanbul",
1149
+ "district": "Sarıyer",
1150
+ "neighborhood": "Reşitpaşa",
1151
+ "fullName": "N11 müşteri",
1152
+ "gsm": "5xxxxxxxxx ",
1153
+ "tcId": "11111111111",
1154
+ "postalCode": "34000"
1155
+ },
1156
+ "orderNumber": "203872347637",
1157
+ "id": "112999455244259",
1158
+ "customerEmail": "n11@n11.com",
1159
+ "customerfullName": "N11 müşteri",
1160
+ "customerId": 12345678,
1161
+ "taxId": "",
1162
+ "taxOffice": "",
1163
+ "tcIdentityNumber": "11111111111",
1164
+ "cargoSenderNumber": null,
1165
+ "cargoTrackingNumber": "112999455244259",
1166
+ "cargoTrackingLink": "",
1167
+ "shipmentCompanyId": 342,
1168
+ "cargoProviderName": "MNG Kargo",
1169
+ "shipmentMethod": 1,
1170
+ "installmentChargeWithVATprice": 0.00,
1171
+ "lines": [
1172
+ {
1173
+ "quantity": 2,
1174
+ "productId": 123456789,
1175
+ "productName": "Erkek Spor Ayakkabı Bordo 45",
1176
+ "stockCode": "20242024",
1177
+ "variantAttributes": [
1178
+ {
1179
+ "name": "Numara",
1180
+ "value": "45"
1181
+ },
1182
+ {
1183
+ "name": "Renk",
1184
+ "value": "Bordo"
1185
+ }
1186
+ ],
1187
+ "customTextOptionValues": [],
1188
+ "price": 292.8,
1189
+ "dueAmount": 536.20,
1190
+ "installmentChargeWithVAT": 0,
1191
+ "sellerCouponDiscount": 0,
1192
+ "sellerDiscount": 2.9,
1193
+ "mallDiscount": 43.60,
1194
+ "sellerInvoiceAmount": 579.8,
1195
+ "totalMallDiscountPrice": 43.60,
1196
+ "orderLineId": 415490391,
1197
+ "orderItemLineItemStatusName": "Picking",
1198
+ "totalSellerDiscountPrice": 5.8,
1199
+ "vatRate": 10,
1200
+ "commissionRate": 9,
1201
+ "taxDeductionRate": 1,
1202
+ "totalLaborCostExcludingVAT": 0,
1203
+ "netMarketingFeeRate": 1.2,
1204
+ "netMarketplaceFeeRate": 0.8
1205
+ },
1206
+ {
1207
+ "quantity": 3,
1208
+ "productId": 123456799,
1209
+ "productName": " Erkek Klasik Ayakkabı Kahverengi 42",
1210
+ "stockCode": "202420241",
1211
+ "variantAttributes": [
1212
+ {
1213
+ "name": "Numara",
1214
+ "value": "42"
1215
+ },
1216
+ {
1217
+ "name": "Renk",
1218
+ "value": "Kahverengi"
1219
+ }
1220
+ ],
1221
+ "customTextOptionValues": [],
1222
+ "price": 250,
1223
+ "dueAmount": 693.60,
1224
+ "installmentChargeWithVAT": 0,
1225
+ "sellerCouponDiscount": 0,
1226
+ "sellerDiscount": 0,
1227
+ "mallDiscount": 28.20,
1228
+ "sellerInvoiceAmount": 750,
1229
+ "totalMallDiscountPrice": 56.40,
1230
+ "orderLineId": 415490390,
1231
+ "orderItemLineItemStatusName": "Picking",
1232
+ "totalSellerDiscountPrice": 0,
1233
+ "vatRate": 10,
1234
+ "commissionRate": 9,
1235
+ "taxDeductionRate": 1,
1236
+ "totalLaborCostExcludingVAT": 0,
1237
+ "netMarketingFeeRate": 1.2,
1238
+ "netMarketplaceFeeRate": 0.8
1239
+ }
1240
+ ],
1241
+ "lastModifiedDate": 1724323386203,
1242
+ "agreedDeliveryDate": 1725310828346,
1243
+ "totalAmount": 1479.79,
1244
+ "totalDiscountAmount": 62.3,
1245
+ "packageHistories": [
1246
+ {
1247
+ "createdDate": 1724274054460,
1248
+ "status": "Created"
1249
+ },
1250
+ {
1251
+ "createdDate": 1724274255751,
1252
+ "status": "Picking"
1253
+ },
1254
+ {
1255
+ "createdDate": 1724274492082,
1256
+ "status": " Shipped"
1257
+ },
1258
+ {
1259
+ "createdDate": 1724396400000,
1260
+ "status": " Delivered"
1261
+ }
1262
+ ],
1263
+ "shipmentPackageStatus": "Delivered",
1264
+ "sellerId": 9876543
1265
+ }
1266
+ ]
1267
+ }
1268
+ Sipariş Kalemlerini Güncelleme (UpdateOrder)
1269
+
1270
+ Bilgilendirme: Şu an için UpdateOrder servisi ile yalnızca Picking status update yapılabilmekte, yani sipariş kalemleri onaylanabilmektedir. Diğer statü güncellemeleri ilerleyen süreçte yayınlanarak bu dökümana eklenecektir.
1271
+ PUT https://api.n11.com/rest/order/v1/update
1272
+
1273
+ • Authorization no auth seçiniz.
1274
+ • Headers alanına appkey ve appsecret bilgisini eklemeniz gerekir.
1275
+ • İsteğinizi json formatında body de raw olarak ve aşağıdaki örnek desende iletiniz.
1276
+ • HTTP isteğinizi ‘PUT’ methoduyla ilgili endpoint'e gönderin.
1277
+ • Dikkat Edilmesi Gerekenler:
1278
+ • GetShipmentPackages servisinden statüsü Created dönen itemleri bu servisten güncelleyebilirsiniz.
1279
+ • Request içerisinde yer alan lineId lerden hatalı ya da status uygun olmayanlar için hata mesajı dönerek, kalan lineId ler işleme alınmaktadır.
1280
+ • lineId parametresinde gönderilecek değer için GetShipmentPackages servisinden dönen orderLineId alanı baz alınmalıdır.
1281
+ • Request içerisinde birden fazla lineId gönderilebilmektedir, status alanı tek olmalıdır. Bu sayede Body içerisindeki lineId leri gönderilen status e göre güncelleyecektir.
1282
+ • Servisi kullanmadan otomatik onay yapılmasını isteyen satıcılar sellerintegration@n11.com mail grubuna mail atabilir.
1283
+
1284
+ Parametre Parametre Değer Açıklama Tip
1285
+ lineId Onaylanacak item Id bilgisi integer
1286
+ status Picking Onaylandı statüsü string
1287
+
1288
+ Örnek Request ( Tekil )
1289
+
1290
+ PUT https://api.n11.com/rest/order/v1/update
1291
+ {
1292
+ "lines": [
1293
+ {
1294
+ "lineId": 426659152
1295
+ }
1296
+ ],
1297
+ "status": "Picking"
1298
+ }
1299
+
1300
+
1301
+ Örnek Response ( Tekil )
1302
+
1303
+ {
1304
+ "content": [
1305
+ {
1306
+ "lineId": 426659152,
1307
+ "status": "SUCCESS",
1308
+ "reasons": "Başarıyla tamamlandı."
1309
+ }
1310
+ ]
1311
+ }
1312
+
1313
+
1314
+
1315
+ Örnek Request ( Çoklu )
1316
+
1317
+ PUT https://api.n11.com/rest/order/v1/update
1318
+ {
1319
+ "lines": [
1320
+ {
1321
+ "lineId": 426659152
1322
+ },
1323
+ {
1324
+ "lineId": 426659151
1325
+ }
1326
+ ],
1327
+ "status": "Picking"
1328
+ }
1329
+
1330
+
1331
+ Örnek Response ( Çoklu )
1332
+
1333
+ {
1334
+ "content": [
1335
+ {
1336
+ "lineId": 426659152,
1337
+ "status": "SUCCESS",
1338
+ "reasons": "Başarıyla tamamlandı."
1339
+ },
1340
+ {
1341
+ "lineId": 426659151,
1342
+ "status": "SUCCESS",
1343
+ "reasons": "Başarıyla tamamlandı."
1344
+ }
1345
+ ]
1346
+ }
1347
+
1348
+
1349
+
1350
+ Paket Bölme (SplitPackages)
1351
+
1352
+ POST https://api.n11.com/rest/delivery/v1/splitCombinePackage
1353
+ • Authorization no auth seçiniz.
1354
+ • Headers alanına appkey ve appsecret bilgisini eklemeniz gerekir.
1355
+ • HTTP isteğinizi 'POST' methoduyla ilgili endpoint'e gönderin.
1356
+ • Serviste parametre bulunmamaktadır, Request Body baz alınmaktadır.
1357
+
1358
+ Dikkat Edilmesi Gerekenler;
1359
+
1360
+ • Siparişler yalnızca Picking statüsünde bölünebilmektedir, Created statülü siparişler bölünemez.
1361
+ • Bölünen ana sipariş statüsü Unpacked olarak güncellenip, bölünmüş paketler Picking statüsünde oluşmaktadır.
1362
+ • Oluşan paketler aynı orderNumber, farklı id ( paket numarası ) ve farklı cargoTrackingNumber ( kargo kampanya kodu ) ile oluşmaktadır.
1363
+ • Body içerisindeki orderLineId bilgisine GetShipmentPackages servisinden ürün bazlı ulaşabilirsiniz.
1364
+ • Body içerisinde gönderilen orderLineId haricindeki ürünler otomatik olarak yeni bir pakette ayrıca oluşacaktır.
1365
+ • Bölünen paketler, birden fazla ürün mevcut ise tekrardan bölünebilmektedir.
1366
+ • Body içerisinde oluşturmak istediğiniz paketlere göre JSON bloğunda istekler gönderebilirsiniz. Aşağıda Request örnekleri mevcuttur.
1367
+ Örnek Request ( Tekil )
1368
+ POST https://api.n11.com/rest/delivery/v1/splitCombinePackage
1369
+ {
1370
+ "splitGroups": [
1371
+ {
1372
+ "orderLineIds": [
1373
+ xxxxxxxx1
1374
+ ]
1375
+ }
1376
+ ]
1377
+ }
1378
+ Örnek Response ( Tekil )
1379
+
1380
+ {
1381
+ "code": 200,
1382
+ "message": "success"
1383
+ }
1384
+
1385
+
1386
+ Birden Fazla Ürün ( Aynı Pakette olacaksa ) Paket Bölme
1387
+ Örnek Request ( Çoklu )
1388
+
1389
+ POST https://api.n11.com/rest/delivery/v1/splitCombinePackage
1390
+ {
1391
+ "splitGroups": [
1392
+ {
1393
+ "orderLineIds": [
1394
+ xxxxxxxx1,
1395
+ xxxxxxxx2
1396
+ ]
1397
+ }
1398
+ ]
1399
+ }
1400
+
1401
+ Örnek Response ( Çoklu )
1402
+
1403
+ {
1404
+ "code": 200,
1405
+ "message": "success"
1406
+ }
1407
+
1408
+ Birden Fazla Ürün ( Farklı Pakette olacaksa ) Paket Bölme
1409
+ Örnek Request ( Çoklu )
1410
+ POST https://api.n11.com/rest/delivery/v1/splitCombinePackage
1411
+ {
1412
+ "splitGroups": [
1413
+ {
1414
+ "orderLineIds": [
1415
+ xxxxxxxx1
1416
+ ]
1417
+ },
1418
+ {
1419
+ "orderLineIds": [
1420
+ xxxxxxxx2
1421
+ ]
1422
+ }
1423
+ ]
1424
+ }
1425
+
1426
+ Örnek Response ( Çoklu )
1427
+
1428
+ {
1429
+ "code": 200,
1430
+ "message": "success"
1431
+ } 
1432
+ Miktar Bazlı Paket Bölme & Sipariş Ürün İptali (SplitPackagesByQuantity & PartialCancel)
1433
+
1434
+ POST https://api.n11.com/rest/delivery/v1/splitPackageByQuantity
1435
+
1436
+ • Authorization no auth seçiniz.
1437
+ • Headers alanına appkey ve appsecret bilgisini eklemeniz gerekir.
1438
+ • HTTP isteğinizi 'POST' methoduyla ilgili endpoint'e gönderin.
1439
+ • Serviste parametre bulunmamaktadır, Request Body baz alınmaktadır.
1440
+
1441
+ Dikkat Edilmesi Gerekenler;
1442
+
1443
+ • Siparişler yalnızca Picking statüsünde bölünebilmektedir, Created statülü siparişler bölünemez.
1444
+ • Bölünen ana sipariş statüsü Unpacked olarak güncellenip, bölünmüş paketler Picking statüsünde oluşmaktadır.
1445
+ • Oluşan paketler aynı orderNumber, farklı id ( paket numarası ) ve farklı cargoTrackingNumber ( kampanya kodu ) ile oluşmaktadır.
1446
+ • Body içerisindeki orderLineId bilgisine GetShipmentPackages servisinden ürün bazlı ulaşabilirsiniz.
1447
+ • quantities parametresinde oluşacak paket içerisindeki ürünlerin miktarı gönderilmelidir, gönderilen miktar toplamı sipariş ürün miktarından fazla olamaz.
1448
+ • Body içerisinde gönderilen orderLineId & quantitites haricindeki ürünler otomatik olarak yeni bir pakette ayrıca oluşacaktır.
1449
+ • Bölünen paketlerde, birden fazla ürün miktarı mevcut ise tekrardan bölünebilmektedir.
1450
+ • Body içerisinde oluşturmak istediğiniz paketlere göre JSON bloğunda istekler gönderebilirsiniz, her paket packageDetails alanından beslenerek oluşmaktadır. Aşağıda Request örnekleri mevcuttur.
1451
+ • Body içerisinde aynı siparişe ait ürünler bulunmalıdır, parçalanacak her sipariş için ayrı body hazırlanıp ayrı istek gönderilmelidir.
1452
+ • Bölme işlemi sonrası mevcut orderLineId ile birlikte yeni oluşan ürün için yeni ID değerleri üretilerek GetShipmentPackages servisinden paket bazlı verilmektedir.
1453
+ • Bu servisten paket bölme ile birlikte sipariş ürünü parçalı iptal sağlanabilir fakat yalnızca iptal yapılamaz.
1454
+ • Bu servis ile iptal edilen paket UnSupplied olarak güncellenip, kalan itemler yeni bir pakette oluşurken bölme işlemi sonucunda bu paket te Unpacked olarak verilerek yeni paketler oluşacaktır.
1455
+ • İptal edilecek ürün için kullanılabilecek cancelReasonId değerleri aşağıdaki tabloda yer almaktadır;
1456
+ cancelReasonId Açıklama
1457
+ 61 Stok Tükendi
1458
+ 62 Kusurlu/Defolu/Bozuk Ürün
1459
+ 63 Hatalı Fiyat
1460
+ 64 Mücbir Sebep
1461
+ 65 Diğer
1462
+
1463
+ Örnek Request ( Tekil )
1464
+ POST https://api.n11.com/rest/delivery/v1/splitPackageByQuantity
1465
+ {
1466
+ "splitPackages": [
1467
+ {
1468
+ "packageDetails": [
1469
+ {
1470
+ "orderLineId": 448627086,
1471
+ "quantities": 1
1472
+ }
1473
+ ]
1474
+ }
1475
+ ]
1476
+ }
1477
+
1478
+ Örnek Response ( Tekil )
1479
+ {
1480
+ "code": 200,
1481
+ "message": "success"
1482
+ }
1483
+
1484
+ Paket İçerisinde Birden Fazla Ürün Olacak Şekilde Miktar Bazlı Paket Bölme
1485
+ Örnek Request
1486
+ POST https://api.n11.com/rest/delivery/v1/splitPackageByQuantity
1487
+ {
1488
+ "splitPackages": [
1489
+ {
1490
+ "packageDetails": [
1491
+ {
1492
+ "orderLineId": 448627086,
1493
+ "quantities": 3
1494
+ },
1495
+ {
1496
+ "orderLineId": 448627087,
1497
+ "quantities": 2
1498
+ }
1499
+ ]
1500
+ }
1501
+ ]
1502
+ }
1503
+ Örnek Response
1504
+ {
1505
+ "code": 200,
1506
+ "message": "success"
1507
+ }
1508
+ Birden Fazla Paket Oluşacak Şekilde Miktar Bazlı Paket Bölme
1509
+ Örnek Request
1510
+ POST https://api.n11.com/rest/delivery/v1/splitPackageByQuantity
1511
+ {
1512
+ "splitPackages": [
1513
+ {
1514
+ "packageDetails": [
1515
+ {
1516
+ "orderLineId": 448627086,
1517
+ "quantities": 2
1518
+ }
1519
+ ]
1520
+ },
1521
+ {
1522
+ "packageDetails": [
1523
+ {
1524
+ "orderLineId": 448627086,
1525
+ "quantities": 1
1526
+ }
1527
+ ]
1528
+ }
1529
+ ]
1530
+ }
1531
+ Örnek Response
1532
+ {
1533
+ "code": 200,
1534
+ "message": "success"
1535
+ }
1536
+
1537
+ Ürün İptali ve Miktar Bazlı Paket Bölme
1538
+ *Bu senaryoda 389132250 id'li sipariş ürününde 1 adet iptal sağlanıp, kalan miktara göre oluşan paket te packageDetails alanına göre bölünerek paket oluşacaktır.
1539
+ Örnek Request
1540
+ POST https://api.n11.com/rest/delivery/v1/splitPackageByQuantity
1541
+ {
1542
+ "cancelledItems": [
1543
+ {
1544
+ "cancelReasonId": 61,
1545
+ "orderLineId": 389132250,
1546
+ "quantity": 1
1547
+ }
1548
+ ],
1549
+ "splitPackages": [
1550
+ {
1551
+ "packageDetails": [
1552
+ {
1553
+ "orderLineId": 389132250,
1554
+ "quantities": 2
1555
+ }
1556
+ ]
1557
+ },
1558
+ {
1559
+ "packageDetails": [
1560
+ {
1561
+ "orderLineId": 389132250,
1562
+ "quantities": 1
1563
+ }
1564
+ ]
1565
+ },
1566
+
1567
+ ]
1568
+ }
1569
+ Örnek Response
1570
+ {
1571
+ "code": 200,
1572
+ "message": "success"
1573
+ }
1574
+
1575
+
1576
+
1577
+
1578
+
1579
+
1580
+
1581
+
1582
+
1583
+
1584
+
1585
+
1586
+
1587
+
1588
+
1589
+
1590
+ Sipariş Kalemi İşçilik Bedeli Ekleme
1591
+
1592
+ PUT https://api.n11.com/rest/order/v1/labor-costs
1593
+ • Authorization no auth seçiniz.
1594
+ • Headers alanına appkey ve appsecret bilgisini eklemeniz gerekir.
1595
+ • HTTP isteğinizi 'PUT' methoduyla ilgili endpoint'e gönderin.
1596
+ • İsteğinizi JSON formatında body de raw olarak ve aşağıdaki örnek desende iletiniz.
1597
+
1598
+ Dikkat Edilmesi Gerekenler;
1599
+
1600
+ • İsteğinizi JSON formatında body de raw olarak ve aşağıdaki örnek desende iletiniz.
1601
+ • orderLineId parametresinde gönderilecek değer için GetShipmentPackages servisinden dönen orderLineId alanı baz alınmalıdır.
1602
+ • Request içerisinde birden fazla orderLineId gönderilebilmektedir.
1603
+ • İşçilik KDV oranı varsayılan değer 20'dir. laborVatRate parametresi null ya da gönderilmediği taktirde 20 olarak baz alınacaktır.
1604
+
1605
+ Not : Girilen işçilik tutarına ve KDV oranın bağlı olarak hesaplama sonucu amountExcludingVAT alanında verilmektedir, Item bazlı KDV hariç birim fiyat - İşçilik Bedeli KDV tutarı formülü ile tutar hesaplanmaktadır.
1606
+
1607
+ Parametre Açıklama Tip
1608
+ orderLineId İşçilik bedeli eklenecek sipariş ürün Id bilgisi long
1609
+ totalLaborCostExcludingVAT KDV hariç işçilik bedeli amount
1610
+ laborVatRate İşçilik bedeli KDV oranı 0,1,10,20 değerlerini alabilir integer
1611
+
1612
+
1613
+ Örnek Request ( Tekil )
1614
+
1615
+ PUT https://api.n11.com/rest/order/v1/labor-costs
1616
+ {
1617
+ "laborCostDetails": [
1618
+ {
1619
+ "orderLineId": 434361111,
1620
+ "totalLaborCostExcludingVAT": 100,
1621
+ "laborVatRate": 20
1622
+ }
1623
+ ]
1624
+ }
1625
+ Örnek Response ( Tekil )
1626
+ {
1627
+ "content": [
1628
+ {
1629
+ "lineId": 434361111,
1630
+ "status": "SUCCESS",
1631
+ "reasons": "İşçilik Ekleme Başarıyla Tamamlandı.",
1632
+ "details": {
1633
+ "totalLaborCostExcludingVAT": 100,
1634
+ "laborVatRate": 20,
1635
+ "amountExcludingVAT": 72538.58
1636
+ }
1637
+ }
1638
+ ]
1639
+ }
1640
+ Örnek Request ( Çoklu )
1641
+ PUT https://api.n11.com/rest/order/v1/labor-costs
1642
+ {
1643
+ "laborCostDetails": [
1644
+ {
1645
+ "orderLineId": 434713839,
1646
+ "totalLaborCostExcludingVAT": 352.17,
1647
+ "laborVatRate": 10
1648
+ },
1649
+ {
1650
+ "orderLineId": 434708601,
1651
+ "totalLaborCostExcludingVAT": 200,
1652
+ "laborVatRate": 20
1653
+ }
1654
+ ]
1655
+ }
1656
+ Örnek Response ( Çoklu )
1657
+ {
1658
+ "content": [
1659
+ {
1660
+ "lineId": 434713839,
1661
+ "status": "SUCCESS",
1662
+ "reasons": "İşçilik Ekleme Başarıyla Tamamlandı.",
1663
+ "details": {
1664
+ "totalLaborCostExcludingVAT": 352.17,
1665
+ "laborVatRate": 10,
1666
+ "amountExcludingVAT": 108548.79
1667
+ }
1668
+ },
1669
+ {
1670
+ "lineId": 434708601,
1671
+ "status": "SUCCESS",
1672
+ "reasons": "İşçilik Ekleme Başarıyla Tamamlandı.",
1673
+ "details": {
1674
+ "totalLaborCostExcludingVAT": 200,
1675
+ "laborVatRate": 20,
1676
+ "amountExcludingVAT": 6441.34
1677
+ }
1678
+ }
1679
+ ]
1680
+ }