Настройки аккаунта
- /api/lite/pub/settings/checkout
- /api/lite/settings/organization
- /api/lite/settings/catalog
- /api/lite/settings/checkout
- /api/lite/settings/counteragents
- /api/lite/settings/delivery-info-list
- /api/lite/settings/domainAlias
- /api/lite/settings/email/order
- /api/lite/settings/email/personal
- /api/lite/settings/offer-id-type
- /api/lite/settings/payment/payu
- /api/lite/settings/payment/robokassa
- /api/lite/settings/payment/yandex
- /api/lite/settings/payment-methods
- /api/lite/settings/pickup
- /api/lite/settings/promocode
- /api/lite/settings/user_notification
- /api/lite/settings/warehouses
- /api/lite/settings/price-types
- /api/lite/brief_report
- /api/lite/settings/countries
- /api/lite/settings/payment/portmone
- /api/lite/settings/email/templates
- /api/lite/settings/email/templates/init
- /api/lite/settings/users/roles
- /api/lite/settings/users
- /api/lite/settings/checkout/payment
- /api/lite/settings/checkout/delivery-region-settings
- /api/lite/settings/regions
- /api/lite/settings/adAttachments
/api/lite/pub/settings/checkout
Получение настроек работы виджета чекаута (публичный)
/api/lite/pub/settings/checkout
Метод возвращает настройки виджета чекаута
В ответ возвращается
Успех:
{
"success": true,
"freeDeliveryAmount": 400.00,
"freeDeliveryRegion": "RU", // RU_SNG, ALL
"findByExtID": false,
"paymentMethods": [
{
"code": "no-cod",
"name": "Предоплата",
"method": "NO_COD",
"isDiscountActive": true,
"discountType": "PERCENT",
"discountValue": 10,
"minApplyValue": 1000
},
{
"code": "cod-card",
"method": "COD_CARD",
"name": "Оплата картой курьеру",
"isDiscountActive": false
},
{
"code": "cod-cash",
"method": "COD_CASH",
"name": "Оплата наличными курьеру",
"isDiscountActive": false,
"discountType": "FIX",
"discountValue": 50
}
],
"promocodesAllowed": true,
"defaultVAT": "VAT_20",
"uiRequiredFields": [
"PHONE",
"EMAIL"
],
"onlySufficientOffers": true,
"paymentProvider": "PAYU", // "YANDEX", "ROBOKASSA"
"policyCheckEnabled": true,
"personalInfoPolicyLink": "http://example.link",
"confidentialPolicyLink": "http://example.link",
"country": "RU",
"currency": "RUB",
"successRedirectUrl": "http://example.link",
"customersRegistrationEnabled": false,
"showConsentToNewsletter": true
}
Ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "Текст ошибки"
}
]
}
/api/lite/settings/organization
Получение настроек организации аккаунта
/api/lite/settings/organization
Пример ответа:
{
"success": true,
"organization": {
"success": true,
"inn": "123",
"ogrn": "123",
"kpp": "1213",
"bik": "123",
"bankName": "ПАО Сбербанк",
"bankAccountNum": "123",
"bankCorrNum": "123",
"name": "ООО «Продакшн»",
"fullName": "Общество с ограниченной ответственностью «Продакшн»",
"phones": "234343",
"email": "",
"address": {
"country": "Россия",
"countryCode": "RU",
"region": "Москва",
"area": null,
"city": "Москва",
"settlement": null,
"street": "ул один",
"house": "4Б",
"block": "",
"building": "",
"flat": null,
"fullAddress": "Москва, ул один, д 4Б",
"fullCity": null,
"rawData": null,
"zip": "117405",
"regionFias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"areaFias": null,
"cityFias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"settlementFias": null
},
"postalAddress": {
"country": "Россия",
"countryCode": "RU",
"region": "Москва",
"area": null,
"city": "Москва",
"settlement": null,
"street": "ул один",
"house": "4Б",
"block": "",
"building": "",
"flat": null,
"fullAddress": "Москва, ул оодин, д 4Б",
"fullCity": null,
"rawData": null,
"zip": "117405",
"regionFias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"areaFias": null,
"cityFias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"settlementFias": null
},
"persons": [
{
"name": null,
"surname": null,
"patronymic": null,
"fullName": "Ирина Борисовна Мельник",
"phone": "",
"rawPhone": null,
"alternativePhone": "",
"email": null,
"post": "Генеральный директор",
"personType": "CHIEF"
},
{
"name": null,
"surname": null,
"patronymic": null,
"fullName": "",
"phone": "",
"rawPhone": null,
"alternativePhone": "",
"email": null,
"post": "",
"personType": "DELIVERY_RESPONSIBLE"
}
],
"shopUrl": "http://theroadwear.com/",
"vat": -1,
"needFulfillment": true,
"archiveUrl": "",
"orgLegalType": "ZAO",
"orgRegisterDate": "2005-01-01",
"equalAddresses": true
}
}
Редактирование настроек организации аккаунта
/api/lite/settings/organization
Пример запроса:
{
"organization": {
"inn": "12345",
"ogrn": "6789",
"kpp": "66666",
"bik": "777777",
"bankName": "ПАО СБЕРБАНК г. Москва",
"bankAccountNum": "12345",
"bankCorrNum": "6789",
"name": "My Shop",
"fullName": "Индивидуальный предприниматель Иванов Иван Иванович",
"phones": "7(495)111 11 11",
"email": "info@myshop.ru",
"address": {
"country": "Russia",
"countryCode": "RU",
"region": "Москва",
"area": null,
"city": "Москва",
"settlement": null,
"street": "Полянка",
"house": "1",
"block": "1",
"building": null,
"flat": "1",
"fullAddress": "Москва, Полянка, д 1, к 1, кв 1.",
"fullCity": null,
"rawData": null,
"zip": null,
"regionFias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"areaFias": null,
"cityFias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"settlementFias": null
},
"postalAddress": {
"country": "Russia",
"countryCode": "RU",
"region": "Москва",
"area": null,
"city": "Москва",
"settlement": null,
"street": "Полянка",
"house": "1",
"block": "1",
"building": null,
"flat": "1",
"fullAddress": "Москва, Полянка, д 1, к 1, кв 1.",
"fullCity": null,
"rawData": null,
"zip": null,
"regionFias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"areaFias": null,
"cityFias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"settlementFias": null
},
"persons": [
{
"fullName": "Петров Петр Петрович",
"post": "ГЕНЕРАЛЬНЫЙ ДИРЕКТОР/ ГЛАВНЫЙ БУХГАЛТЕР",
"personType": "CHIEF"
},
{
"fullName": "Сидоров Иван Иванович",
"post": "",
"phone": "+79261111111",
"personType": "DELIVERY_RESPONSIBLE"
}
],
"shopUrl": "myshop.ru",
"vat": -1,
"needFulfillment": false,
"orgLegalType": "ZAO",
"orgRegisterDate": "2005-01-01",
"archiveUrl": "https://yadi.sk/d/testlink"
}
}
В ответ возвращается:
{
"success": true
}
Ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "Текст ошибки"
}
]
}
/api/lite/settings/catalog
Получение текущего основного каталога
/api/lite/settings/catalog/default
Пример успешного ответа:
{
"success": true,
"name": "Каталог 1",
"code": "1000",
"items": [
{
"title": "Смартфоны iPhone",
"code": null,
"collectionId": "1026",
"defaultImage": "https://items.s1.citilink.ru/811882_v03_s.jpg",
"items": null
}
]
}
Получение всех каталогов пользователя
/api/lite/settings/catalog
Пример успешного ответа:
{
"success": true,
"catalogs": [
{
"success": true,
"name": "Каталог 1",
"code": "1000",
"items": [
{
"title": "Смартфоны iPhone",
"code": null,
"collectionId": "1026",
"defaultImage": "https://items.s1.citilink.ru/811882_v03_s.jpg",
"items": null
}
]
}
]
}
Создание, Обновление каталога
/api/lite/settings/catalog
Создает/обновляет каталог по его коду.
- если указан code - загружает по этому коду каталог из базы. Иначе - создаёт новый
- анализ items из переданного dto: все упоминаемые коллекции должны существовать. иначе возвращает ошибку
- ограничение уровней вложенности на 5 уровней
Пример запроса:
{
"name": "Каталог 1",
"code": "1000",
"items": [
{
"title": "Смартфоны iPhone",
"code": "1002",
"collectionId": "1026",
"defaultImage": "https://items.s1.citilink.ru/811882_v03_s.jpg",
"items": null
}
]
}
/api/lite/settings/checkout
Получение настроек работы виджета чекаута
/api/lite/settings/checkout
Метод возвращает настройки виджета чекаута
orderSumMoreThan - наценка/скидка применится только от суммы заказа свыше суммы параметра.
В ответ возвращается
успех:
{
"success": true,
"deliveryPremiumType": "PERCENT",
"importOrderType": "APPROVED",
"insurancePercent": 100,
"freeDeliveryAmount": null,
"freeDeliveryRegion": "RU", // RU_SNG, ALL
"ownCourierTariff": null,
"selfPickupTariff": null,
"merchantId": null,
"accountSecret": null,
"ipnUrl": null,
"additionalIpnFailUrl": null, // только для Робокассы
"additionalIpnSuccessUrl": null, // только для Робокассы
"findByExtID": false, - режим поиска по ExtId
"defaultCity": null,
"paymentMethods": [
{
"code": "no-cod",
"name": "Предоплата",
"method": "NO_COD",
"isDiscountActive": true,
"discountType": "PERCENT",
"discountValue": 10,
"minApplyValue": 1000
},
{
"code": "cod-card",
"method": "COD_CARD",
"name": "Оплата картой курьеру",
"isDiscountActive": false
}
],
"promocodesAllowed": null,
"defaultVAT": "VAT_20",
"uiRequiredFields": [
"PHONE",
"EMAIL"
],
"onlySufficientOffers": true,
"disableCodSumInTariff": false, //Не учитывать тариф за наложку в сумме доставки
"disableInsuranceSumInTariff": false, //Не учитывать тариф за страховку в сумме доставки
"paymentProvider": "PAYU" // "YANDEX", "ROBOKASSA",
"paymentWithoutCommission": false,
"defaultDeliveryServiceOptions": { // Услуги доставки, включенные у заказа по умолчанию. Если они не заданы, поле не отображается
"GLOBAL_DELIVERY": "TRYING;PARTIAL_DELIVERY",
"PICKPOINT": "PARTIAL_DELIVERY; TRYING; CHECK_CONTENT; PERSONALLY_IN_HANDS; DANGEROUS_CARGO; VERIFY; REVERSE"
},
"commercialAccount": true,
"commercialAccountRequested": false,
"isJurClient": null,
"isPostfactumPaymentMode": null,
"isContractOk": null,
"accountantEmail": null,
"allowSNG": null,
"isSelfPpz": null,
"disableCodSumInTariff": false,
"disablePRRInTariff": false,
"cdekSelfPpz": null,
"orderSubType": null,
"catalogCode": "1000",
"defaultVAT": null,
"policyCheckEnabled": true,
"personalInfoPolicyLink": "http://example.link",
"confidentialPolicyLink": "http://example.link",
"country": "RU",
"currency": "RUB",
"successRedirectUrl": "http://example.link",
"customersRegistrationEnabled": false,
"unlockOrderDuringOnlinePayment": false,
"showConsentToNewsletter": true,
"reserveAfterPayment": true,
"showDeliveryOptions": true,
"deliveryRegionSettings": {
"commonSettings": [
{
"country": "RU",
"region": "MOSCOW",
"extraFeeFixValue": 100,
"extraFeePercentValue": 0,
"orderSumMoreThan": 22000.00,
"enabled": false,
"tariffEnabled": true
},
{
"country": "ALL",
"region": "ALL_REGIONS",
"extraFeeFixValue": 100,
"extraFeePercentValue": -50,
"orderSumMoreThan": 22000.00,
"enabled": true,
"tariffEnabled": true
},
{
"country": "SNG",
"region": "ALL_REGIONS",
"extraFeeFixValue": 100,
"extraFeePercentValue": 0,
"orderSumMoreThan": 22000.00,
"enabled": true,
"tariffEnabled": true
}
]
}
}
ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "Текст ошибки"
}
]
}
Сохранение настроек работы виджета чекаута
/api/lite/settings/checkout
Запись/обновление настроек чекаута
Запрос:
{
"deliveryPremiumAmount": 15.3, - размер наценки в процентах, дробное число в диапазоне [-100; +бесконечность]
"deliveryPremiumFixAmount": 20 - - размер наценки в процентах, дробное число, можно применять как отдельно от deliveryPremiumAmount, так и совместно
"importOrderType": "NEED_CONFIRM", - загружать ли заказ подтверждённым? "APPROVED" | "NEED_CONFIRM"
"insurancePercent": 100, - процент от суммы товаров для расчета страховой стоимости, дробное число, в диапазоне [0; 100]
"freeDeliveryAmount": 1500, - сумма заказа для бесплатной доставки, если задана - то не менее 0
"freeDeliveryRegion": "RU", - регион действия бесплатной доставки. "RU" | "RU_SNG" | "ALL"
"ownCourierTariff": 150 - тариф на доставку своими курьерами, null -если доставки своими курьерами нет
"selfPickupTariff": 200, - тариф на самовывоз, null - если самовывоза нет
"paymentMethods": [
{
"code": "no-cod",
"name": "Предоплата",
"isDiscountActive": true,
"discountType": "PERCENT",
"discountValue": 10,
"minApplyValue": 1000
}
],
"findByExtID": true, - режим поиска по ExtId, (дублирование /api/lite/settings/offer-id-type)
"defaultCity" : "Москва",
"uiRequiredFields": ["PHONE", "EMAIL"], - перечень полей для которых чекаут должен включить обязательную валидацию непустого значения
"onlySufficientOffers": true, - флаг для запрета покупки товаров без остатков
"disableCodSumInTariff": false, //Не учитывать тариф за наложку в сумме доставки
"disableInsuranceSumInTariff": false, //Не учитывать тариф за страховку в сумме доставки
"paymentProvider": "PAYU", // "YANDEX", "ROBOKASSA" - подключенный провайдер эквайринга
"paymentWithoutCommission": false,
//необязательный параметр. Услуги доставки, включенные у заказа по умолчанию. Ключ - внешний код службы доставки, например "PICKPOINT".
//Значение - (DeliveryServiceOption) строковое перечисление с разделителем ";". Может быть переопределён, если передать значение deliveryServiceOptions в методе /api/lite/pub/order
"defaultDeliveryServiceOptions": {
"GLOBAL_DELIVERY": "TRYING;PARTIAL_DELIVERY",
"PICKPOINT": "PARTIAL_DELIVERY; TRYING; CHECK_CONTENT; PERSONALLY_IN_HANDS; DANGEROUS_CARGO; VERIFY; REVERSE"
},
"catalogCode": "1005", - номер каталога, который станет основным
"policyCheckEnabled": true,
"personalInfoPolicyLink": "http://example.link",
"confidentialPolicyLink": "http://example.link",
"country": "RU",
"currency": "RUB",
"successRedirectUrl": "http://example.link",
"customersRegistrationEnabled" : true - включение авторегистрации покупателей ,
"unlockOrderDuringOnlinePayment" : false,
"showConsentToNewsletter": true,
"reserveAfterPayment": true,
"showDeliveryOptions": true
}
В ответ возвращается
успех:
{
"success": true
}
ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "Текст ошибки"
}
]
}
/api/lite/settings/counteragents
Получение перечня контрагентов
/api/lite/settings/counteragents
Возвращает перечень контрагентов по роли или по id
Параметры запроса: id - для загрузки одного контрагента. иначе загружаются все контрагенты аккаунта
extId - для загрузки одного контрагента с заданным внешним ID.
query - строка для поиска по наименованию, ИНН, ОГРН по включению
Паджинация стандартная: page, size (10 элементов по умолчанию)
примеры:
/api/lite/settings/counteragents?id=1647656c-080a-d01b-e2c4-362961f07e18
Виды контрагентов для поля role: CUSTOMER, FULFILLMENT_SERVICE, DELIVERY_SERVICE, CALLCENTER_SERVICE, PRODUCT_SUPPLIER
Пример успешного ответа:
{
"success": true,
"recordsTotal": 3,
"counteragents": [
{
"id": "c82e2616-91e7-702e-d666-320534119a13",
"extId": "externalSystemID-123",
"type": "COMPANY",
"role": "PRODUCT_SUPPLIER",
"name": " ИП Петров А.В.",
"organization": {
"id": "f23b14bf-1151-dcb5-1b25-57a2b931e3ac",
"name": "ИП Петров А.В.",
"fullName": "ИП Петров А.В.",
"phones": null,
"inn": "5018081484",
"kpp": null,
"ogrn": null,
"okpo": null,
"persons": null,
"orgLegalType": "SELF_EMPLOYED",
"address": {
"country": "Россия",
"countryCode": "RU",
"region": "Москва",
"area": null,
"city": "Москва",
"settlement": null,
"street": "Новоалексеевская",
"house": "18",
"block": "3",
"building": "",
"flat": null,
"fullAddress": "г Москва, Алексеевский р-н, ул Новоалексеевская, д 18 к 3",
"fullCity": null,
"rawData": null,
"zip": "129626",
"regionFias": null,
"areaFias": null,
"cityFias": null,
"settlementFias": null
},
"email": null
},
"person": null
},
{
"id": "e627aba4-bfe7-0ecf-14d8-b120233d9446",
"type": "PERSON",
"role": null,
"name": "Вано",
"organization": null,
"person": {
"name": "Вано",
"surname": "",
"patronymic": "",
"fullName": "Вано о",
"phone": "323232323232323434",
"rawPhone": null,
"alternativePhone": "",
"email": null,
"post": null,
"personType": null,
"address": {
"country": "Россия",
"countryCode": "RU",
"region": "Алтайский",
"area": null,
"city": "Барнаул",
"settlement": null,
"street": "Барнаульская",
"house": "1",
"block": "",
"building": "",
"flat": "",
"fullAddress": "Алтайский, Барнаул, Барнаульская, д 1",
"fullCity": null,
"rawData": "Алтайский, Барнаул, Барнаульская, д 1",
"zip": "",
"regionFias": null,
"areaFias": null,
"cityFias": null,
"settlementFias": null
}
}
}
]
}
/api/lite/settings/counteragents?extId=123-1234abc
Виды контрагентов для поля role: CUSTOMER, FULFILLMENT_SERVICE, DELIVERY_SERVICE, CALLCENTER_SERVICE, PRODUCT_SUPPLIER
Пример успешного ответа:
{
"success": true,
"recordsTotal": 3,
"counteragents": [
{
"id": "c82e2616-91e7-702e-d666-320534119a13",
"extId": "123-1234abc",
"type": "COMPANY",
"role": "PRODUCT_SUPPLIER",
"name": " ИП Петров А.В.",
"organization": {
"id": "f23b14bf-1151-dcb5-1b25-57a2b931e3ac",
"name": "ИП Петров А.В.",
"fullName": "ИП Петров А.В.",
"phones": null,
"inn": "5018081484",
"kpp": null,
"ogrn": null,
"okpo": null,
"persons": null,
"orgLegalType": "SELF_EMPLOYED",
"address": {
"country": "Россия",
"countryCode": "RU",
"region": "Москва",
"area": null,
"city": "Москва",
"settlement": null,
"street": "Новоалексеевская",
"house": "18",
"block": "3",
"building": "",
"flat": null,
"fullAddress": "г Москва, Алексеевский р-н, ул Новоалексеевская, д 18 к 3",
"fullCity": null,
"rawData": null,
"zip": "129626",
"regionFias": null,
"areaFias": null,
"cityFias": null,
"settlementFias": null
},
"email": null
},
"person": null
},
{
"id": "e627aba4-bfe7-0ecf-14d8-b120233d9446",
"type": "PERSON",
"role": null,
"name": "Вано",
"organization": null,
"person": {
"name": "Вано",
"surname": "",
"patronymic": "",
"fullName": "Вано о",
"phone": "323232323232323434",
"rawPhone": null,
"alternativePhone": "",
"email": null,
"post": null,
"personType": null,
"address": {
"country": "Россия",
"countryCode": "RU",
"region": "Алтайский",
"area": null,
"city": "Барнаул",
"settlement": null,
"street": "Барнаульская",
"house": "1",
"block": "",
"building": "",
"flat": "",
"fullAddress": "Алтайский, Барнаул, Барнаульская, д 1",
"fullCity": null,
"rawData": "Алтайский, Барнаул, Барнаульская, д 1",
"zip": "",
"regionFias": null,
"areaFias": null,
"cityFias": null,
"settlementFias": null
}
}
}
]
}
Создание/обновление контрагента
/api/lite/settings/counteragents
Создает или обновляет данные контрагента.
Поле id в контрагенте и в организации служит для поиска существующего контрагента/организации.
Поле type может иметь следующие значения:
- COMPANY
- PERSON
Поле orgLegalType может иметь следующие значения:
- SELF_EMPLOYED
- COMPANY
- OOO
- AO
- ZAO
- PAO
Пример запроса:
{
"id": "c82e2616-91e7-702e-d666-320534119a13",
"extId": "externalSystemID-123",
"type": "COMPANY",
"name": " ИП Петров А.В.",
"organization": {
"id": "f23b14bf-1151-dcb5-1b25-57a2b931e3ac",
"name": "ИП Петров А.В.",
"fullName": "ИП Петров А.В.",
"phones": null,
"inn": "5018081484",
"kpp": null,
"ogrn": null,
"okpo": null,
"persons": null,
"orgLegalType": "SELF_EMPLOYED",
"address": {
"country": "Россия",
"countryCode": "RU",
"region": "Москва",
"area": null,
"city": "Москва",
"settlement": null,
"street": "Новоалексеевская",
"house": "18",
"block": "3",
"building": "",
"flat": null,
"fullAddress": "г Москва, Алексеевский р-н, ул Новоалексеевская, д 18 к 3",
"fullCity": null,
"rawData": null,
"zip": "129626",
"regionFias": null,
"areaFias": null,
"cityFias": null,
"settlementFias": null
},
"postalAddress": {
"country": "Россия",
"countryCode": "RU",
"region": "Москва",
"area": null,
"city": "Москва",
"settlement": null,
"street": "Новоалексеевская",
"house": "18",
"block": "3",
"building": "",
"flat": null,
"fullAddress": "г Москва, Алексеевский р-н, ул Новоалексеевская, д 18 к 3",
"fullCity": null,
"rawData": null,
"zip": "129626",
"regionFias": null,
"areaFias": null,
"cityFias": null,
"settlementFias": null
}
"email": "abc@abc.ru"
},
"person": null
}
Пример для физлица:
{
"id": "e627aba4-bfe7-0ecf-14d8-b120233d9446",
"extId": "externalSystemID-123",
"type": "PERSON",
"role": null,
"name": "Вано",
"organization": null,
"person": {
"name": "Вано",
"surname": "",
"patronymic": "",
"fullName": "Вано о",
"phone": "323232323232323434",
"rawPhone": null,
"alternativePhone": "",
"email": null,
"post": null,
"personType": null,
"address": {
"country": "Россия",
"countryCode": "RU",
"region": "Алтайский",
"area": null,
"city": "Барнаул",
"settlement": null,
"street": "Барнаульская",
"house": "1",
"block": "",
"building": "",
"flat": "",
"fullAddress": "Алтайский, Барнаул, Барнаульская, д 1",
"fullCity": null,
"rawData": "Алтайский, Барнаул, Барнаульская, д 1",
"zip": "",
"regionFias": null,
"areaFias": null,
"cityFias": null,
"settlementFias": null
}
}
}
Пример успешного ответа:
{
"success": true,
"id": "c82e2616-91e7-702e-d666-320534119a13"
}
Удаление контрагента
/api/lite/settings/counteragents?id=2fe48a36-b1fd-b6f3-417b-689ff672c50d
Удаляет контрагента по его id. Если контрагент уже где-то используется, то при удалении возникнет ошибка.
Результат запроса:
{
"success": true
}
Ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "текст ошибки"
}
]
}
/api/lite/settings/delivery-info-list
Получение перечня способов доставки для аккаунта
/api/lite/settings/delivery-info-list
Возвращает перечень способов доставки с доступными доп. сервисами по каждому.
Пример успешного ответа:
{
"success": true,
"deliveryInfoList": [
{
"code": "08141770-8c5d-2ee0-1ddc-6733c7b29f7c",
"deliveryCode": "SELF_PICKUP",
"title": "Самовывоз со склада",
"product": null,
"imgUrl": null,
"courierTitle": null,
"freeDeliveryLimit": {
"deliverySumBelowLimitAmount": 23432432.00,
"deliverySumLimitAmount": 324234.00,
"isDeliverySumLimitActive": true
},
"type": "SELF_PICKUP",
"fbmType": "WILDBERRIES", //OZON
"fboDeliveryByCaсtus": false
"availableServices": null,
"active": true,
"publicAvailable": false
},
{
"code": "5e08e4d9-128d-ba3d-496a-d7b9c783f7d9",
"deliveryCode": "GLOBAL_DELIVERY",
"title": "GLOBAL_DELIVERY",
"product": "Терминал-дверь(Стандарт)",
"imgUrl": "https://storage.yandexcloud.net/lk-kak2c/delivery_global_delivery_left.svg",
"courierTitle": "Global Delivery",
"type": "COURIER",
"fbmType": null,
"availableServices": [
"CHECK_CONTENT",
"TRYING",
"PARTIAL_DELIVERY",
"REVERSE"
],
"active": true,
"publicAvailable": true
},
{
"code": "80429450-85a3-7ba9-2b92-56b459d29ed4",
"deliveryCode": "PICKPOINT",
"title": "PICKPOINT",
"product": "PICKPOINT_STANDARD",
"imgUrl": "https://storage.yandexcloud.net/lk-kak2c/delivery_pickpoint_left.svg",
"courierTitle": "PickPoint",
"type": "PVZ",
"availableServices": null,
"active": true,
"publicAvailable": true
},
{
"code": "8ca527c5-d1ed-0a96-bacf-b0d6d109311b",
"deliveryCode": "CDEK_CDEK_PARCEL_W_D",
"title": "CDEK_CDEK_PARCEL_W_D",
"product": "Посылка склад-дверь",
"imgUrl": "https://storage.yandexcloud.net/lk-kak2c/delivery_cdek_left.svg",
"courierTitle": "СДЭК",
"type": "COURIER",
"fbmType": null,
"availableServices": [
"PARTIAL_DELIVERY",
"CHECK_CONTENT",
"TRYING",
"DANGEROUS_CARGO",
"REVERSE"
],
"active": true,
"publicAvailable": true
},
{
"code": "3c43624e-9d8e-365d-979d-7f2bacf681dc",
"deliveryCode": "CDEK_CDEK_PARCEL_W_W",
"title": "CDEK_CDEK_PARCEL_W_W",
"product": "Посылка склад-склад",
"imgUrl": "https://storage.yandexcloud.net/lk-kak2c/delivery_cdek_left.svg",
"courierTitle": "СДЭК",
"type": "PVZ",
"availableServices": [
"PARTIAL_DELIVERY",
"CHECK_CONTENT",
"TRYING",
"DANGEROUS_CARGO",
"REVERSE"
],
"active": true,
"publicAvailable": true
},
{
"code": "2da5bac0-bfd0-2f77-7f52-498d64802c81",
"deliveryCode": "RUSSIAN_POST_TEMPOLINE_ONLINE_PARCEL",
"title": "RUSSIAN_POST_TEMPOLINE_ONLINE_PARCEL",
"product": "Посылка-онлайн",
"imgUrl": "https://storage.yandexcloud.net/lk-kak2c/delivery_russian_post_left.svg",
"courierTitle": "Почта РФ (Темполайн)",
"type": "RUSSIAN_POST",
"fbmType": null,
"availableServices": null,
"active": true,
"publicAvailable": true
}
]
}
Обновление способа доставки
/api/lite/settings/delivery-info-list
Можно для имеющегося канала доставки изменить название и флаги доступности и публичной доступности, а также опции лимита бесплатной доставки.
Пример запроса:
{
"code": "08141770-8c5d-2ee0-1ddc-6733c7b29f7c",
"title": "Самовывоз со склада",
"active": true,
"publicAvailable": false,
"freeDeliveryLimit": {
"deliverySumBelowLimitAmount": 23432432.00,
"deliverySumLimitAmount": 324234.00,
"isDeliverySumLimitActive": true
}
}
Результат запроса:
{
"success":true
}
Ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "текст ошибки"
}
]
}
/api/lite/settings/domainAlias
Проверка доступности домена 3 уровня
/api/lite/settings/domainAlias
Метод возвращает флаг доступности запрошенного названия для домена 3 уровня (не используется никаким другим аккаунтом)
Запрос: Передать параметр domain, например: ?domain=foodshop
В ответ возвращается
успех:
{
"success": true,
"available": true
}
ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "Текст ошибки"
}
]
}
Обновление домена 3 уровня
/api/lite/settings/domainAlias
Метод обновляет домен 3 уровня на запрашиваемый
Запрос:
{
"domain":"foodshop"
}
В ответ возвращается
успех:
{
"success": true только не смогу сделать заказ, денег на карте не хватит
}
ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "Текст ошибки"
}
]
}
/api/lite/settings/email/order
Получение текста заголовка и подвала для email оформления заказа
/api/lite/settings/email/order
Метод возвращает тексты email с заголовком и подвалом для шаблона письма покупателю после оформления заказа.
В ответ возвращается
успех:
{
"success": true,
"header": "Спасибо за оформление заказа",
"footer": "Контакты для связи: 123456"
}
ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "Текст ошибки"
}
]
}
Обновление текста заголовка и подвала для email оформления заказа
/api/lite/settings/email/order
Метод обновляет тексты email с заголовком и подвалом для шаблона письма покупателю после оформления заказа
Запрос:
успех:
{
"success": true
}
ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "Текст ошибки"
}
]
}
/api/lite/settings/email/personal
Обновление данных по текущим настройкам почты
/api/lite/settings/email/personal
Обновляет данные по настройкам почты для текущего тенанта. С данных настроек идёт отправка сообщений пользователям магазина.
Отправляет тестовое письмо на тенантный адрес магазина. Если отправка удалась - сохраняет переданные настройки.
Запрос:
{
"email":"no-reply@kak2c.ru",
"password":"ra$[dsa[/01gh",
"host":"smtp.yandex.ru",
"port":"587"
}
Получение данных по текущим настройкам почты
/api/lite/settings/email/personal
Возвращает данные по настройкам почты для текущего тенанта. С данных настроек идёт отправка сообщений пользователям магазина.
Поля ответа:
Имя | Описание |
username | Адрес почты |
isActivePersonalEmail | Активна ли почта на данный момент |
errorMessage |
Описание ошибки, если почта перестала работать |
Ответ:
{
"username": "no-reply@kak2c.ru",
"password": "ra$[dsa[/01gh",
"port": "587",
"host": "smtp.yandex.ru",
"isActivePersonalEmail": true,
"errorMessage": ""
}
/api/lite/settings/offer-id-type
Задать тип поля - ключа для работы с предложениями
/api/lite/settings/offer-id-type
Задание поля HumanId или Внешний код - как ключевое для поиска товарных предложений для витрины/чекаута/создания заказа.
По умолчанию или при отсутствии значения используется поиск по HumanId
Пример запроса:
{
"type": "EXT_ID" // HUMAN_ID
}
Результат запроса:
{
"success": true
}
Ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "текст ошибки"
}
]
}
/api/lite/settings/payment/payu
Записать данные собственного аккаунта payU
/api/lite/settings/payment/payu
Записать данные аккаунта payU для прямого зачисления оплат заказов покупателей.
Пример запроса:
{
"merchantId": "abcd",
"accountSecret": "abcd"
}
Результат запроса:
{
"success":true,
"accountId": "abcd",
"url": "abcd"
}
Ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "текст ошибки"
}
]
}
/api/lite/settings/payment/robokassa
Записать данные собственного аккаунта Робокасса
/api/lite/settings/payment/robokassa
Записать данные аккаунта Робокасса для прямого зачисления оплат заказов покупателей.
Пример запроса:
{
"merchantId": "abcd",
"accountSecret": "abcd",
"accountSecret2": "abcd"
}
Результат запроса:
{
"success":true,
"accountId": "abcd",
"resultUrl": "abcd", - основной адрес приема ipn уведомлений (только оплаченные)
"failUrl": "abcd", - адрес приема ipn уведомлений (только неоплаченные/отказ покупателя)
"successesUrl": "abcd" - адрес редиректа в магазин после оплаты
}
Ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "текст ошибки"
}
]
}
/api/lite/settings/payment/yandex
Записать данные собственного аккаунта Yandex Касса
/api/lite/settings/payment/yandex
Записать данные аккаунта Yandex для прямого зачисления оплат заказов покупателей
Пример запроса:
{
"merchantId": "abcd",
"accountSecret": "abcd"
}
Результат запроса:
{
"success":true,
"accountId": "abcd",
"url": "abcd"
}
Ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "текст ошибки"
}
]
}
/api/lite/settings/payment-methods
Получение перечня способов оплаты для аккаунта
/api/lite/settings/payment-methods
Возвращает перечень способов оплаты
Пример успешного ответа:
{
"success": true,
"paymentMethods": [
{
"paymentMethod": "COD_CARD",
"name": "Оплата картой при получении",
"code": "cod-card"
},
{
"paymentMethod": "COD_CASH",
"name": "Оплата наличными при получении",
"code": "cod-cash"
},
{
"paymentMethod": "ONLINE",
"name": "Предоплата картой на сайте",
"code": "online"
}
]
}
Создать/изменить способ оплаты
/api/lite/settings/payment-methods
Создать / изменить способ оплаты.
Ключ для изменения - поле code - уникальное.
Все поля обязательны
Пример запроса:
{
"paymentMethod": "COD_CARD",
"name": "Оплата картой при получении",
"code": "cod-card"
}
Результат запроса:
{
"success": true,
"name": "Оплата картой при получении",
"code": "cod-card"
}
Ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "текст ошибки"
}
]
}
Удалить способ оплаты
/api/lite/settings/payment-methods
Удаление одного способа оплаты. Использовать параметр в url вида ?code=test
Если способ оплаты не использован в документах и заказах - удаление пройдет успешно.
Результат запроса:
{ "success" : true
} |
Ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "текст ошибки"
}
]
}
/api/lite/settings/pickup
Сохранение настроек точки сбора
/api/lite/settings/pickup
Сохранение ФИО, телефона сотрудника на точке сбора, названия магазина и адреса точки
Пример запроса:
{
"person_full_name":"Петров Петр",
"person_phone":"8(910)101-10-01",
"shopName": "Зонты и сумки",
"address": {
"countryCode": "RU",
"region": "Москва",
"area": null,
"city": "Москва",
"settlement": null,
"street": "Озёрная",
"house": "4/9",
"block": "",
"building": "",
"flat": null,
"fullAddress": "г Москва, ул Озёрная, д 4/9",
"zip": "119361",
"regionFias":"0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"areaFias":null,
"cityFias":"0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"settlementFias":null
}
}
В ответ возвращается
успех:
{
"success": true
}
ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "Текст ошибки"
}
]
}
/api/lite/settings/promocode
Получить список промокодов аккаунта (/api/lite/settings/promocode)
/api/lite/settings/promocode
Загрузка списка неудаленных промокодов аккаунта
Результат запроса:
{
"success": true,
"recordsTotal": 2,
"promocodes": [
{
"code": "leto",
"isActive": true,
"discountType": "PERCENT",
"discountValue": 20,
"conditions": null,
'useCount":20
},
{
"code": "test",
"isActive": true,
"discountType": "FIX",
"discountValue": 12,
"conditions": [ //Условия действия (опционально). null для промокода без условий.
{
"type": "TIME_LIMIT",
"name": "Срок действия промокода",
"num": 0,
"mandatory": true,
"unsuccessMessage": "Срок действия акции истёк",
"applyDiscount": false,
"applyDeliveryDiscount": false,
"fromDate": "2018-10-08 16:21:57",
"toDate": "2019-10-08 16:21:57",
"maxNumberOfUse": 0
},
{
"type": "USE_LIMIT",
"name": "Максимальное кол-во использований промокода",
"num": 1,
"mandatory": true,
"unsuccessMessage": "Промокод более недействителен",
"applyDiscount": false,
"applyDeliveryDiscount": false,
"maxNumberOfUse": 100
},
{
"type": "ORDER_SUM",
"name": "Бесплатная доставка курьером при заказе от 5000 р",
"num": 2,
"mandatory": true,
"unsuccessMessage": "Сумма заказа меньше 5000 рублей",
"applyDiscount": false,
"applyDeliveryDiscount": true,
"deliveryDiscountType": "PERCENT",
"deliveryDiscountValue": 100,
"deliveryCodes": [
"GLOBAL_DELIVERY"
],
"maxNumberOfUse": 0,
"fromSum": 5000,
"toSum": -1
},
{
"type": "ORDER_SUM",
"name": "Скидка 200р при заказе от 2000 р",
"num": 3,
"mandatory": true,
"unsuccessMessage": "Сумма заказа меньше 2000 рублей",
"applyDiscount": true,
"discountType": "FIX",
"discountValue": 200,
"applyDeliveryDiscount": false,
"maxNumberOfUse": 0,
"fromSum": 2000,
"toSum": -1
},
{
"type": "DELIVERY_LOCATION",
"name": "Скидка 10% на доставку по Москве при оплате онлайн",
"num": 4,
"mandatory": false,
"unsuccessMessage": "Данный промокод недействителен",
"applyDiscount": false,
"applyDeliveryDiscount": true,
"deliveryDiscountType": "PERCENT",
"deliveryDiscountValue": 10,
"paymentMethodCodes": [
"online"
],
"maxNumberOfUse": 0,
"fullAddress": "Москва" //В этом поле хранится текстовый адрес для отображения в ЛК
"cityFias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"regionFias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5"
},
{
"type": "SKU_COMBINATION",
"name": "2 + 1 Купи 2 товара, 3й в подарок",
"num": 5,
"mandatory": true,
"unsuccessMessage": "Промокод не применён. В корзине отсутствуют товары, соответствующие условию акции.",
"applyDiscount": true,
"discountType": "FIX",
"discountValue": 250,
"applyDeliveryDiscount": false,
"bonusSkus": [
{
"variantId": "1042",
"quantity": 1
}
],
"maxNumberOfUse": 0,
"requiredSkus": [
{
"variantId": "1042",
"quantity": 1
}
]
},
{
"type": "MULTI",
"anyOfSkus": [ //true, если пристутствует хотя бы 1 товар из списка (sku1 || sku2 || sku3)
{
"variantId": "1042",
"quantity": 1
},
{
"variantId": "1043",
"quantity": 1
}
],
"applyDeliveryDiscount": false, //Применять ли скидку на доставку
"applyDiscount": true, //Применять ли скидку на товары
"fullAddress": "Москва" //В этом поле хранится текстовый адрес для отображения в ЛК
"areaFias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"bonusSkus": [
{
"variantId": "1042",
"quantity": 1
}
],
"cityFias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"deliveryCodes": [ //Коды служб доставки
"GLOBAL_DELIVERY"
],
"deliveryDiscountType": "PERCENT", //FIX
"deliveryDiscountValue": 100,
"discountType": "PERCENT",
"discountValue": 13,
"fromDate": "2018-10-08 16:21:57", //Дата, с которой действует промокод
"fromSum": 5000, //Сумма, с которой действует промокод
"mandatory": false, //Обязательность условия. В случае MULTI не проверяется
"maxNumberOfUse": 100, //Максимальное кол-во применений промокода
"minSkuCount": 2, //Минимальное общее кол-во товаров в корзине
"maxSkuCount": 4 //Максимальное общее кол-во товаров в корзине
"name": "",
"num": 6,
"paymentMethodCodes": [ //Коды способов оплаты
"online"
],
"regionFias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"requiredSkus": [ //true, если пристутствуют все товары из списка (sku1 && sku2 && sku3)
{
"variantId": "1042",
"quantity": 1
}
],
"toDate": "2019-10-08 16:21:57", //Дата, до которой действует промокод
"toSum": -1, //Сумма, с которой действует промокод. Отрицательное значение - без ограничений
"unwantedSkus": [ //true, если отсутствуют все товары из списка (!sku1 && !sku2 && !sku3)
{
"variantId": "1042",
"quantity": 1
}
],
"skusToApplyDiscount": [ //Товары, к которым примеяется скидка
{
"variantId": "1066",
"quantity": 1
}
],
}
],
'useCount":100 //Счётчик использований
}
]
}
Пейджинация
Для пейджинации используются параметры page и size: size - промокодов на странице, page - номер страницы.
Пример: /api/lite/settings/promocode?page=0&size=200
Если параметры не переданы, то дефолтные значения page=0&size=15
Также, для отображение пейджинации следует анализировать параметр recordsTotal, возвращающий общее количество записей (с учетом примененной фильтрации, если она есть).
Поиск по коду(неполное соответствие, регистронезависимый)
параметр: codeSearch (часть наименования промокода , если передано, возвращается отфильтрованный список промокодов, аналогичный списку выше. Подробная информация по списку товаров также не возвращается).
например /api/lite/settings/promocode?codeSearch=ET
Поиск производится sql запросом вида: code LIKE '%et%'
Если параметр не задан(или пустой), возвращается полный список промокодов.
Пейджинация также есть.
Поиск по коду(точное значение, регистронезависимый)
параметр: code (наименование промокода , если передано, возвращается найденный промокод)
например /api/lite/settings/promocode?code=LETO
Возвращается всегда либо 1 промокод с подробными списками товаров (anyOfskus, bonusSkus, requiredSkus, unwantedSkus), либо ошибка "Не найден промокод со значением: %сcode%"
Является приоритетным по отношению к параметру codeSearch. Если параметр code задан, поиск происходит только по его точному значению.
Положительный результат запроса:
{
"success":true,
"code":"leto20",
"isActive":true,
"useCount":241,
"discountType":"FIX",
"discountValue":0,
"conditions":[
{
"type":"SKU_COMBINATION",
"name":"Танк в подарок",
"num":1,
"mandatory":true,
"unsuccessMessage":"В корзине отсутствует волшебный дрон.",
"applyDiscount":true,
"discountType":"FIX",
"discountValue":399,
"applyDeliveryDiscount":false,
"bonusSkus":[
{
"variantId":"1041",
"quantity":1,
"product":{
"id":"1030",
"extId":"955-2",
"extId2":null,
"shortName":"волшебный дрон (синий)",
"description":"волшебный дрон (синий)",
"available":true,
"deleted":false,
"brandName":null,
"countryOfOrigin":null,
"tnvedCode":null,
"internationalDescription":null,
"additionalDescriptions":null,
"isBestseller":null,
"isNovelty":null,
"type":"SKU",
"vat":"NO_VAT",
"reviewScore":null,
"options":null,
"images":[
{
"success":true,
"url":"https://storage.yandexcloud.net/images-k2c/1ed9d2ee-1c3e-49cc-a798-2dfc93f30f79.jpg",
"id":"1ed9d2ee-1c3e-49cc-a798-2dfc93f30f79.jpg",
"pos":"0.000000000000000"
}
],
"variants":[
{
"id":"1041",
"extId":"955-2",
"extId2":null,
"article":"",
"price":1390.00,
"oldPrice":null,
"stock":[
{
"warehouseCode":"8b57ff7a-e63f-ecf4-2adf-8cdb093cb2c3",
"stockTotal":553,
"stockAvailable":552,
"stockReserved":1
}
],
"ordering":null,
"defaultImage":null,
"weight":300,
"dimensions":{
"height":15,
"width":16,
"depth":7
},
"barcodes":[
{
"value":"6900000138113",
"isDefault":false
},
{
"value":"6900000138129",
"isDefault":false
}
],
"vat":"NO_VAT",
"type":"SKU",
"optionsUsed":null
}
],
"collections":[
"1001"
],
"attributes":null,
"collectionPos":null,
"anyPublicCollections":null
}
}
],
"requiredSkus":[
],
"anyOfSkus":[
{
"variantId":"1041",
"quantity":1,
"product":{
"id":"1030",
"extId":"955-2",
"extId2":null,
"shortName":"волшебный дрон (синий)",
"description":"волшебный дрон (синий)",
"available":true,
"deleted":false,
"brandName":null,
"countryOfOrigin":null,
"tnvedCode":null,
"internationalDescription":null,
"additionalDescriptions":null,
"isBestseller":null,
"isNovelty":null,
"type":"SKU",
"vat":"NO_VAT",
"reviewScore":null,
"options":null,
"images":[
{
"success":true,
"url":"https://storage.yandexcloud.net/images-k2c/1ed9d2ee-1c3e-49cc-a798-2dfc93f30f79.jpg",
"id":"1ed9d2ee-1c3e-49cc-a798-2dfc93f30f79.jpg",
"pos":"0.000000000000000"
}
],
"variants":[
{
"id":"1041",
"extId":"955-2",
"extId2":null,
"article":"",
"price":1390.00,
"oldPrice":null,
"stock":[
{
"warehouseCode":"8b57ff7a-e63f-ecf4-2adf-8cdb093cb2c3",
"stockTotal":553,
"stockAvailable":552,
"stockReserved":1
}
],
"ordering":null,
"defaultImage":null,
"weight":300,
"dimensions":{
"height":15,
"width":16,
"depth":7
},
"barcodes":[
{
"value":"6900000138113",
"isDefault":false
},
{
"value":"6900000138129",
"isDefault":false
}
],
"vat":"NO_VAT",
"type":"SKU",
"optionsUsed":null
}
],
"collections":[
"1001"
],
"attributes":null,
"collectionPos":null,
"anyPublicCollections":null
}
},
{
"variantId":"1040",
"quantity":1,
"product":{
"id":"1029",
"extId":"955-1",
"extId2":null,
"shortName":"волшебный дрон (красный)",
"description":"волшебный дрон (красный)",
"available":true,
"deleted":false,
"brandName":null,
"countryOfOrigin":null,
"tnvedCode":null,
"internationalDescription":null,
"additionalDescriptions":null,
"isBestseller":null,
"isNovelty":null,
"type":"SKU",
"vat":"NO_VAT",
"reviewScore":null,
"options":null,
"images":[
{
"success":true,
"url":"https://storage.yandexcloud.net/images-k2c/99eec60a-a8a8-4393-9a72-0ea990e86114.jpg",
"id":"99eec60a-a8a8-4393-9a72-0ea990e86114.jpg",
"pos":"0.000000000000000"
}
],
"variants":[
{
"id":"1040",
"extId":"955-1",
"extId2":null,
"article":"",
"price":1390.00,
"oldPrice":null,
"stock":[
{
"warehouseCode":"8b57ff7a-e63f-ecf4-2adf-8cdb093cb2c3",
"stockTotal":283,
"stockAvailable":283,
"stockReserved":0
}
],
"ordering":null,
"defaultImage":null,
"weight":300,
"dimensions":{
"height":16,
"width":15,
"depth":7
},
"barcodes":[
{
"value":"6900000138120",
"isDefault":false
}
],
"vat":"NO_VAT",
"type":"SKU",
"optionsUsed":null
}
],
"collections":[
"1001"
],
"attributes":null,
"collectionPos":null,
"anyPublicCollections":null
}
}
],
"unwantedSkus":[
],
"minSkuCount":1
},
{
"type":"PAYMENT_METHOD",
"name":"Способ оплаты",
"num":2,
"mandatory":true,
"unsuccessMessage":"Промокод не применён. Способ оплаты не соответствует правилам акции",
"applyDiscount":false,
"applyDeliveryDiscount":false,
"bonusSkus":[
],
"requiredSkus":[
],
"anyOfSkus":[
],
"unwantedSkus":[
],
"skusToApplyDiscount": [
],
"paymentMethodCodes":[
"online",
"cod-card"
]
}
]
}
Ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "текст ошибки"
}
]
}
Создать/изменить промокод (/api/lite/settings/promocode)
/api/lite/settings/promocode
Создать / изменить промокод.
Ключ для изменения - поле code - уникальное.
Регистр поля не имеет значения
все поля обязательны
Пример запроса:
{
"code": "leto",
"isActive": true,
"discountType": "PERCENT",
"discountValue": 20,
"conditions": [ //Условия действия (опционально). null для промокода без условий.
{
"type": "MULTI",
"anyOfSkus": [ //true, если пристутствует хотя бы 1 товар из списка (sku1 || sku2 || sku3)
{
"variantId": "1042",
"quantity": 1
},
{
"variantId": "1043",
"quantity": 1
}
],
"applyDeliveryDiscount": false, //Применять ли скидку на доставку
"applyDiscount": true, //Применять ли скидку на товары
"fullAddress": "Москва" //В этом поле хранится текстовый адрес для отображения в ЛК
"areaFias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"bonusSkus": [
{
"variantId": "1042",
"quantity": 1
}
],
"cityFias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"deliveryCodes": [ //Коды служб доставки
"GLOBAL_DELIVERY"
],
"deliveryDiscountType": "PERCENT", //FIX
"deliveryDiscountValue": 100,
"discountType": "PERCENT",
"discountValue": 13,
"fromDate": "2018-10-08 16:21:57", //Дата, с которой действует промокод
"fromSum": 5000, //Сумма, с которой действует промокод
"mandatory": false, //Обязательность условия. В случае MULTI не проверяется
"maxNumberOfUse": 100, //Максимальное кол-во применений промокода
"minSkuCount": 2, //Минимальное общее кол-во товаров в корзине
"maxSkuCount": 4 //Максимальное общее кол-во товаров в корзине
"name": "",
"num": 6,
"paymentMethodCodes": [ //Коды способов оплаты
"online"
],
"regionFias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"requiredSkus": { //Товары, каждый из которых должен присутствовать в заказе в заданном кол-ве (т1 и т2 и т3)
"djburbanbackpack": 1
}
"anyOfSkus": { //Товары, хотя бы одни из которых должен присутствовать в заказе в заданном кол-ве (т1 || т2 || т3)
"1002": 2,
"1003": 1,
"1000": 1
},
"unwantedSkus": { //Товары, присутствие хотя бы одного из которых в заданном кол-ве не подходит под условие (!т1 || !т2 || !т3)
"1005": 1
},
"bonusSkus": { //Бонусные товары, добавляемые к заказу
"1000": 1
},
"toDate": "2019-10-08 16:21:57", //Дата, до которой действует промокод
"toSum": -1, //Сумма, с которой действует промокод. Отрицательное значение - без ограничений
"skusToApplyDiscount": ["1066", "1067"], //Товары, к которым применяется скидка(например, скидка 20% только на товар 1066)
},
{
"type": "SKU_COMBINATION",
"name": "Рюкзак URBAN BACKPACK",
"num": 0,
"mandatory": true,
"unsuccessMessage": "Промокод не применён. В корзине отстутствует товар: Рюкзак URBAN BACKPACK",
"applyDiscount": true,
"discountType": "FIX",
"discountValue": 1500,
"applyDeliveryDiscount": false,
"maxNumberOfUse": 0,
"requiredSkus": { //Товары, каждый из которых должен присутствовать в заказе в заданном кол-ве (т1 и т2 и т3)
"djburbanbackpack": 1
}
"anyOfSkus": { //Товары, хотя бы одни из которых должен присутствовать в заказе в заданном кол-ве (т1 || т2 || т3)
"1002": 2,
"1003": 1,
"1000": 1
},
"unwantedSkus": { //Товары, присутствие хотя бы одного из которых в заданном кол-ве не подходит под условие (!т1 || !т2 || !т3)
"1005": 1
},
"bonusSkus": { //Бонусные товары, добавляемые к заказу
"1000": 1
},
"skusToApplyDiscount": ["1066", "1067"], //Товары, к которым применяется скидка(например, скидка 20% только на товар 1066)
"minSkuCount" : 2 //Минимальное общее кол-во товаров, удовлетворяющих условию акции (сумма [товар • кол-во] всех позиций заказа)
},
{
"type": "PAYMENT_METHOD",
"name": "Обязательный способ оплаты",
"num": 5,
"mandatory": true,
"unsuccessMessage": "Промокод действителен только по предоплате картой на сайте",
"applyDiscount": false,
"applyDeliveryDiscount": false,
"maxNumberOfUse": 0,
"paymentMethodCodes": [
"online"
]
}
]
}
Результат запроса:
{
"success": true
}
Ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "текст ошибки"
}
]
}
Удалить промокод (/api/lite/settings/promocode)
/api/lite/settings/promocode
Удаление одного промокода. Использовать параметр в url вида ?code=test
Результат запроса:
{
"success": true
}
Проверить действие промокода (публичный) (/api/lite/pub/promocode)
/api/lite/pub/promocode
Проверка переданного промокода на активность
параметр: code
например /api/lie/pub/promocode?code=test
Положительный результат запроса:
{
"success": true,
"code": "test",
"isActive": true,
"discountType": "FIX", // FIX/PERCENT
"discountValue": 13
}
Ошибка, если у промокода заданы условия:
{
"success":false,
"errors":[
{
"code":1,
"message":"У промокода заданы условия применения. Для валидации, воспользуйтесь методом /api/lite/pub/check-promocode-conditions/"
}
]
}
Отрицательный результат запроса:
{
"success": false,
"errors": []
}
Проверить действие промокода С УСЛОВИЯМИ (публичный)
/api/lite/pub/check-promocode-conditions
Для валидации условий промокода, необходимо передать весь заказ целиком, с заполненным промокодом (аналогично /api/lite/pub/order)
Пример запроса:
{
"comment":"",
"confirmStatus":"APPROVED",
"paymentStatus":"NOT_PAID",
"paymentMethodCode":"no-cod",
"totalOrderSum":1590,
"delivery":{
"receiver":{
"name":"",
"phone":"",
"alternativePhone":"",
"email":"",
"surname":"",
"patronymic":""
},
"deliveryCode":"RUSSIAN_POST_TEMPOLINE",
"timeFrom":"09:00",
"timeTo":"20:00",
"desiredDeliveryDate":null,
"deliveryComment":"",
"address":{
"region":"Московская",
"area":"Пушкинский",
"city":"Пушкино",
"settlement":null,
"street":"",
"house":"",
"block":"",
"building":"",
"flat":"",
"fullAddress":"",
"zip":"",
"regionFias":"29251dcf-00a1-4e34-98d4-5c47484a36d4",
"areaFias":"2f88bc57-5096-4aee-bcfc-fe26d4dd3a26",
"cityFias":"7f22cfa4-34fa-4fa0-bcb0-620cd8402cfa",
"settlementFias":null,
"country":"RU"
},
"pickupPointId":""
},
"items":[
{
"num":1,
"id":"1000",
"quantity":1,
"variants":[
]
},
{
"num":2,
"id":"delivery"
}
],
"promocode":"CODE"
}
Результат запроса:
{
"success":true,
"code":"code",
"isActive":true,
"discountType":"FIX",
"discountValue":836,
"hasConditions":true,
"deliveryDiscountValue":50, //Скидка на доставку в %
"bonusSkus":{
"1000":1 //Бонусные товары по промокоду в формате id : количество
}
}
/api/lite/settings/user_notification
Сохранение настроек уведомлений
/api/lite/settings/user_notification
Описание....
/api/lite/settings/warehouses
Получение перечня складов для аккаунта
/api/lite/settings/warehouses
Возвращает перечень складов аккаунта
operatorType: MANUAL/FULFILLMENT
fulfillmentType: TEMPOLINE
Пример успешного ответа:
{
"success": true,
"warehouses": [
{
"code": "c738ff57-424c-2a8c-aa47-5378a88dc7c9",
"title": "Свой склад",
"isDefault": true,
"operatorType": "MANUAL",
"fulfillmentType": null,
"operationType": "STORAGE",
"address": {
"country": "Russia",
"countryCode": "RU",
"region": "Москва",
"area": null,
"city": "Москва",
"settlement": null,
"street": "Очаковская Б.",
"house": "47А",
"block": "1",
"building": null,
"flat": null,
"fullAddress": "Москва, Очаковская Б., д 47А, к 1",
"fullCity": null,
"rawData": null,
"zip": null,
"regionFias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"areaFias": null,
"cityFias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"settlementFias": null
},
"manager": {
"name": "Не задано",
"surname": "",
"patronymic": "",
"fullName": "Егор",
"phone": "+79111111111",
"rawPhone": "+7 (911) 111 11 11",
"alternativePhone": "",
"email": "easychshnurki@yandex.ru",
"post": null,
"personType": null
}
}
]
}
Редактирование склада
/api/lite/settings/warehouses
На данном этапе реализовано только изменение имени склада ("title":"Свой склад"). (задача 1669)
склад ищется по GUID ("code":"418a1cb1-eb57-ecc8-8c8f-08efb978bd49").
Пример вызова:
{
"code":"418a1cb1-eb57-ecc8-8c8f-08efb978bd49",
"title":"Свой склад",
"isDefault":true,
"operatorType":"MANUAL",
"fulfillmentType":null,
"fulfillmentSubType":null,
"operationType":"STORAGE",
"goodsCondition":"NORMAL",
"parentCode":null,
"address":{
"country":"Россия",
"countryCode":"RU",
"region":"Москва",
"area":null,
"city":"Москва",
"settlement":null,
"street":"Проектируемый проезд № 1980",
"house":"д. 4",
"block":null,
"building":null,
"flat":null,
"fullAddress":"Москва, Проектируемый проезд № 1980, д. 4",
"fullCity":null,
"rawData":null,
"zip":null,
"regionFias":"0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"areaFias":null,
"cityFias":"0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"settlementFias":null
},
"manager":{
"name":"Склада",
"surname":"Менеджер",
"patronymic":"",
"fullName":"Менеджер склада",
"phone":"+79011111111",
"rawPhone":"+79011111111",
"alternativePhone":"",
"email":"778@q.qq",
"post":null,
"personType":null,
"address":{
"country":null,
"countryCode":null,
"region":null,
"area":null,
"city":null,
"settlement":null,
"street":null,
"house":null,
"block":null,
"building":null,
"flat":null,
"fullAddress":null,
"fullCity":null,
"rawData":null,
"zip":null,
"regionFias":null,
"areaFias":null,
"cityFias":null,
"settlementFias":null
}
}
}
Пример успешного ответа
{
"success": true
}
/api/lite/settings/price-types
Получение перечня типов цен аккаунта
/api/lite/settings/price-types
Возвращает перечень типов цен
Пример успешного ответа
{
"success": true,
"priceTypes": [
{
"currency": "RUB",
"name": "Розничная цена",
"code": "Розничная цена",
"isDefault": false
},
{
"currency": "RUB",
"name": "Цена со скидкой",
"code": "Цена со скидкой",
"isDefault": false
},
{
"currency": "RUB",
"name": "BERU",
"code": "BERU",
"isDefault": false
},
{
"currency": "RUB",
"name": "Цена до скидки BERU",
"code": "Цена до скидки BERU",
"isDefault": false
},
{
"currency": "RUB",
"name": "OZON",
"code": "OZON",
"isDefault": false
}
]
}
Создание/редактирование типа цены(/api/lite/settings/price-types)
Создает / редактирует тип цены.
Ключевое поле - name
Для стандартные типов цен (Розничная цена, Цена до скидки) редактировать название и код нельзя.
/api/lite/settings/price-types
Пример запроса:
{
"currency": "RUB",
"name": "Новая цена",
"code": "Новая цена",
"isDefault": false
}
ответ
Пример запроса:
{
"success": true,
"name": "Новая цена",
"code": "Новая цена"
}
/api/lite/brief_report
Сводка по аккаунту (/api/lite/brief_report)
/api/lite/brief_report
Сводка включает блоки статистики (весь функционал со стороны Кактуса взять готовый).
/api/lite/settings/countries
Получение списка стран
/api/lite/settings/countries
Метод возвращает список всех стран, поддерживаемых бэкендом
В ответ возвращается
успех:
{
"success": true,
"countries": [
{
"code": "RU",
"rusName": "Россия"
},
{
"code": "BY",
"rusName": "Беларусь"
},
....
]
}
ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "Текст ошибки"
}
]
}
/api/lite/settings/payment/portmone
Записать данные собственного аккаунта Portmone
/api/lite/settings/payment/portmone
Записать данные аккаунта Portmone для прямого зачисления оплат заказов покупателей.
Пример запроса:
{
"merchantId": "abcd",
"payeeId": "abcd",
"accountLogin": "login",
"accountPassword": "password",
"credentials":"credentials"
}
Результат запроса:
{
"success":true,
"accountId": "abcd",
"ipnUrl": "/portmone/result", - основной адрес приема ipn уведомлений
}
Ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "текст ошибки"
}
]
}
/api/lite/settings/email/templates
Получение шаблона для email, которые можно настроить
/api/lite/settings/email/templates
Метод возвращает текст email в параметре body в кодировке Base64, а так же его тип и текущий язык письма.
Параметры:
-
type - обязательный, тип письма, указывать в верхнем регистре! На данный момент может принимать значения :
REGISTRATION_CUSTOMER
PWDCHANGE_CUSTOMER
Пример запроса /api/lite/settings/email/templates/?type=REGISTRATION_CUSTOMER
В ответ возвращается:
успех:
{
"country": "RU",
"body": "OiAxMDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgd2lkdGg9IjE1OTUiPiA8L2E+PC9kaXY+CgkJCQkJCQkJCQkJCQkJCQkJCQk8L3RkPgoJCQkJCQkJ+Jm5ic3A7PC9wPg==",
"type": "REGISTRATION_CUSTOMER"
}
ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "Текст ошибки"
}
]
}
Обновление текста письма
/api/lite/settings/email/templates
Метод обновляет тексты email
Тело запроса:
{
"country": "RU",
"body": "MDBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgd2lkdGg9IjE1OTUiPiA8L2E+PC9kaXY+CgkJCQkJCQkJCQkJCQkJCQkJCQk8L3RkPgoJCQkJCQkJCQkJwPg==",
"type": "REGISTRATION_CUSTOMER"
}
- body - текст письма в Base64 закодированном виде
- type - тип письма для обновления данных, обязательный параметр. Указывается в верхнем регистре!
- country - параметр языка, игнорируется, он будет подставлен из настроек, изменять его нужно там же
успех:
{
"success": true
}
ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "Текст ошибки"
}
]
}
/api/lite/settings/email/templates/init
Инициализация шаблонов по умолчанию
/api/lite/settings/email/order/init
Метод добавит шаблоны email на текущем языке для регистрации покупателя и восстановления пароля для покупателя из главных настроек. Если при вызове метода шаблоны уже существуют, они обновятся на дефолтные.
Нужен для существующих магазинов, чтобы проинициализировать шаблоны.
успех:
{
"success": true
}
ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "Текст ошибки"
}
]
}
/api/lite/settings/users/roles
/api/lite/settings/users/roles
Метод возвращает все доступные роли
Пример ответа:
{
"success": true,
"roles": [
{
"id": "b37a0b62-0ec9-3984-8509-6ce33be54bf2",
"name": "Администратор",
"privileges": [
"ADMIN"
],
"users": [
"test@test.ru",
"test@test.ru-expert"
]
},
{
"id": "597aa7c2-4da9-ed44-669a-9710e07d6d6c",
"name": "Складская обработка",
"privileges": [
"ORDERS_READ",
"ORDERS_WRITE",
"PURCHASE_ORDERS_WRITE",
"PURCHASE_ORDERS_READ"
],
"users": []
},
{
"id": "a84dcbb4-7fec-c55c-9761-be7a68057edb",
"name": "Подтверждение заказа",
"privileges": [
"ORDERS_READ",
"ORDERS_WRITE"
],
"users": [
"test@test.ru_callcenter"
]
}
]
}
/api/lite/settings/users/roles
Обновляет или создает роль. Если указан id, то обновляет существующую роль, иначе создает новую
Пример запроса:
{
"id": "37a9dfae-c1b7-42a9-9db3-8e5015c6ae1e",
"name": "Название роли",
"privileges": ["DASHBOARD_DATA_READ"],
"users": ["test-202-1@qqq.qq"]
}
Пример ответа:
{
"success": true
}
/api/lite/settings/users/roles?id=9ad800a1-3eec-a1ea-988d-4e2c3e88e44f
Удаляет роль.
Список возможных привилегий
DASHBOARD_DATA_READ
PRODUCTS_READ
PRODUCTS_WRITE
ORDERS_READ
ORDERS_WRITE
PURCHASE_ORDERS_READ
PURCHASE_ORDERS_WRITE
SETTINGS_READ
SETTINGS_WRITE
SHOP_TEMPLATE_READ
SHOP_TEMPLATE_WRITE
ADMIN
/api/lite/settings/users
/api/lite/settings/users
Метод возвращает пользователей, созданных для магазина.
Параметры:
query - поисковый запрос (по имени/фамилии/отчеству/логину/телефону);
size - количество результатов (по умолчанию 10).
Пример ответа:
{
"success": true,
"users": [
{
"login": "test@test.ru",
"isSystemUser": true,
"isRoot": true,
"firstName": null,
"lastName": null,
"middleName": null,
"phone": null,
"roles": [
{
"id": "b37a0b62-0ec9-3984-8509-6ce33be54bf2",
"name": "Администратор"
}
]
},
{
"login": "test@test.ru_callcenter",
"isSystemUser": true,
"isRoot": false,
"firstName": null,
"lastName": null,
"middleName": null,
"phone": null,
"roles": [
{
"id": "a84dcbb4-7fec-c55c-9761-be7a68057edb",
"name": "Подтверждение заказа"
}
]
},
{
"login": "test@test.ru-expert",
"isSystemUser": true,
"isRoot": false,
"firstName": null,
"lastName": null,
"middleName": null,
"phone": null,
"roles": [
{
"id": "b37a0b62-0ec9-3984-8509-6ce33be54bf2",
"name": "Администратор"
}
]
}
]
}
/api/lite/settings/users
Обновляет или создает пользователя. Если пользователь с указанным login существует, то обновляет его, иначе создает нового.
Пример запроса:
{
"login": "test@test.ru",
"firstName": "Имя",
"lastName": "Фамилия",
"middleName": "Отчество",
"phone": "+7 999 999 99 99",
"password": "qqq222",
"roles": ["a84dcbb4-7fec-c55c-9761-be7a68057edb"]
}
Пример ответа:
{
"success": true
}
/api/lite/settings/users?login=test@test.ru
Удаляет пользователя
/api/lite/settings/checkout/payment
Получение настроек онлайн оплаты
/api/lite/settings/checkout/payment
Метод возвращает настройки онлайн оплаты
Пример ответа:
{
"merchantId": "111222",
"accountSecret": "live_1234567890",
"ipnUrl": "http://app.kak2c.ru/yandex/confirmPaid",
"additionalIpnFailUrl": null, // только для Робокассы
"additionalIpnSuccessUrl": null, // только для Робокассы
}
/api/lite/settings/checkout/delivery-region-settings
Редактирование настроек регионов доставки
/api/lite/settings/checkout/delivery-region-settings
Обновление настроек регионов доставки
orderSumMoreThan - наценка/скидка применится только от суммы заказа свыше суммы параметра.
Запрос:
{
"commonSettings": [
{
"country": "ALL", // RU, SNG, OTHER
"region": "ALL_REGIONS",
"extraFeeFixValue": 100,
"extraFeePercentValue": -50,
"orderSumMoreThan": 22000.00,
"enabled": true,
"tariffEnabled": true
},
{
"country": "SNG",
"region": "ALL_REGIONS",
"extraFeeFixValue": 100,
"extraFeePercentValue": 0,
"orderSumMoreThan": 22000.00,
"enabled": true,
"tariffEnabled": false
},
{
"country": "RU",
"region": "MOSCOW",
"extraFeeFixValue": 100,
"extraFeePercentValue": 0,
"orderSumMoreThan": 22000.00,
"enabled": false,
"tariffEnabled": true
}
]
}
Успех:
{
"success": true
}
Ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "Текст ошибки"
}
]
}
/api/lite/settings/regions
Получение списка регионов
/api/lite/settings/regions
Ответ:
{
"regions": [
{
"title": "Все регионы",
"name": "ALL_REGIONS",
"fias": "ALL_REGIONS"
},
{
"title": "Республика Адыгея",
"name": "ADYGEA_REPUBLIC",
"fias": "d8327a56-80de-4df2-815c-4f6ab1224c50"
},
{
"title": "Республика Алтай",
"name": "ALTAI_REPUBLIC",
"fias": "5c48611f-5de6-4771-9695-7e36a4e7529d"
},
...
]
}
/api/lite/settings/adAttachments
Получение настроек допвложений
/api/lite/settings/adAttachments
Пример успешного ответа:
{
"adAttachments": [
{
"comment": "При упаковке сложить вдвое",
"deliveryInfoList": [
"ca038ac9-b0b3-2a56-ed81-79332334f551"
],
"id": "5cbce395-939e-1103-11b2-dead1fe6298f",
"img": "https://storage.yandexcloud.net/images-k2c/882e0f85-d7a6-49bd-90af-d71ea3355168.jpg",
"productId": "975616ae-106c-8fd9-ede1-35b0efb9e458",
"quantity": 1,
"shortName": "Допвложение. Буклет",
"variantId": "2473"
}
],
"success": true
}
Создание, Обновление настроек допвложений
/api/lite/settings/adAttachments
Создает/обновляет настройки допвложений.
Пример запроса:
{
"id": "5cbce395-939e-1103-11b2-dead1fe6298f", //Если не указан, создаётся новая настройка
"variantId":"2473",
"quantity": 2,
"comment":"При упаковке сложить вдвое",
"deliveryInfoList":["ca038ac9-b0b3-2a56-ed81-79332334f551"]
}
Удаление настроек допвложений
/api/lite/settings/adAttachments
Удаление одной настройки допвложений. Использовать параметр в url вида ?id=5cbce395-939e-1103-11b2-dead1fe6298f