Це POST метод, який змінює config файл. Запит до нього потрібен мати body:
В body є 2 поля:
"body":{
"mails":{} //список способів доставки
"special_products": {}, //модифікатори ціни для спец.товарів
"pricefreedel": 500,
"opt_price": 30,
"opt_pricefreedel": 1000
}
pricefreedel – це параметр, що є числом(float|int), якщо вартість замовлення перевищує або дорівнює pricefreedel,
то доставка для кожної пошти дорівнює 0 (нуль).
opt_price - число(float|int), ціна доставки для всіх пошт, якщо наявний опт.
opt_pricefreedel - це параметр, що є числом(float|int), якщо вартість замовлення перевищує або дорівнює opt_pricefreedel
і це оптове замовлення, то доставка для кожної пошти дорівнює 0 (нуль).
opt_pricefreedel - це параметр, що є числом(float|int), якщо вартість замовлення перевищує або дорівнює opt_pricefreedel
і це оптове замовлення, то доставка для кожної пошти дорівнює 0 (нуль).
Пошти в mails додаються як асоціативні масиви. Приклад однієї пошти зі списку mails:
"postmat": { // назва потрібна тільки для вас str
"id" : 1, //id доставки int
"message" : "", //повідомлення str
"genweight":null, //параметри доставки
"genvolume":null,
"maxweight":25,
"maxvolume": 100,
"maxdimweight": null,
"maxside":64,
"maxsidesum": 145,
"price": 80 //вартість доствки float|int
}
Приклад списку модифікаторів ціни для спеціальних товарів знаходяться в special_products:
"special_products": {
"pool" : {
"1" : {
"id": 1,
"maxweight": 30,
"price": 17
},
"2" : {
"id": 2,
"maxweight": 50,
"price": 40
},
"3" : {
"id": 3,
"maxweight": 70,
"price": 60
},
"4" : {
"id": 4,
"maxweight": null,
"price": 80
}
}
}
Таким чином ми змінюємо ціну доставок замовлень де є спец.продукти pool для всіх пошт залежно від критерія maxweight.
Примітка: умови перевіряються з першої до останньої, якщо умова спрацьовує то умови після неї не перевіряються.
Приклад готового body:
"body":{
"mails": {
"postXXL": {
"id": 1,
"message": "message",
"genweight": null,
"genvolume": null,
"gendimweight": null,
"maxweight": null,
"maxvolume": null,
"maxdimweight": 100,
"maxside": null,
"maxsidesum": null,
"price": 100
},
"pikas": {
"id": 2,
"message": null,
"genweight": 100,
"genvolume": null,
"gendimweight": null,
"maxweight": null,
"maxvolume": null,
"maxdimweight": null,
"maxside": 180,
"maxsidesum": 0,
"price": 200
},
"inpost": {
"id": 3,
"message": null,
"genweight": null,
"genvolume": null,
"gendimweight": null,
"maxweight": 90,
"maxvolume": 0.9,
"maxdimweight": null,
"maxside": 120,
"maxsidesum": 220,
"price": 140
},
"postmat": {
"id": 4,
"message": null,
"genweight": null,
"genvolume": null,
"gendimweight": null,
"maxweight": 23,
"maxvolume": 100,
"maxdimweight": null,
"maxside": 64,
"maxsidesum": 145,
"price": 80
},
"pickup": {
"id": 6,
"message": null,
"genweight": null,
"genvolume": null,
"gendimweight": null,
"maxweight": null,
"maxvolume": null,
"maxdimweight": null,
"maxside": null,
"maxsidesum": null,
"price": 0
}
},
"special_products": {
"pool" : {
"1" : {
"id": 1,
"maxweight": 30,
"price": 17
},
"2" : {
"id": 2,
"maxweight": 50,
"price": 40
},
"3" : {
"id": 3,
"maxweight": 70,
"price": 60
},
"4" : {
"id": 4,
"maxweight": null,
"price": 80
}
}
},
"pricefreedel": 5000,
"opt_price": 33,
"opt_pricefreedel": 1000
}
Параметри доставки в config Є такі параметри, як
weight - вага
volume - об’єм
dimweight - об’ємна вага (тільки max)
side - довжина найбільшої сторони (тільки max)
sidesum - сума сторін (тільки max)
Назви параметрів використовуються тільки з префіксами gen та max.
Префікс gen позначає спільний параметр для всього замовлення,
max позначає найбільшу величину параметру серед товарів в замовленні.
Самі параметри є float|int|null. Пошта є валідною для замовлення,
коли параметри замовлення не перевищують зазначених параметрів пошти.
Якщо параметр пошти дорівнює null, то у замовлення він може бути будь-яким,
він не враховується при обчисленні.
|