При создании При создании посылки для входящих параметров выполняются условия и условия и проверки, указанные в таблице. При невыполнении условия проверки - сообщения об ошибке во всех способах создания одинаковые (ParselCreate, вручную, импорт из XLS и XML).
- Таблица 1 - условия для входящих параметров.
- Таблица 2 - условия для доставки "Почтой России" (содержит отличия от таблицы 1).
Таблица 1
Параметр | Условие проверки | Текст ошибки при невыполнении условия |
order_id | Набор допустимых символов: a-z(A-Z), 0-9, а-я(А-Я), ёЁ, тире(-), прямой слеш(/), |
. | Номер заказа содержит запрещённые символы | |
Длина - 35 символов. | Значение «Номер заказа в ИМ» должно содержать максимум 35 символа. | |
Наличие "Номера заказа в ИМ". | Необходимо заполнить «Номер заказа в ИМ». | |
Уникальность в рамках одного ЛК ИМ. | Значение «…….» для «Номер заказа в ИМ» уже занято. | |
updateByTrack | Работает с посылками, созданными по API. | По указанным данным ничего не найдено |
Выбирается посылка по "updateByTrack" и "order_id". | У Вас нет прав на обновление данной посылки. | |
По посылке не сформирован акт. | ||
Функционал "updateByTrack" не работает, если посылка была изменена в веб-интерфейсе (ошибка: "err": "У Вас нет прав на обновление данной посылки.") | ||
vid | Наличие "Типа доставки". | ParselCreate: Необходимо заполнить «Вид доставки». XML: Неправильный вид доставки. XLS: не распознается "вид доставки" - ноль, пусто или текст. Т.к. по данному столбцу определяется является ли строка информацией о заказе или о товаре. Т.е. если в столбец "J" одно из значений 1,2,3, то считаем, что это заказ, если любое другое число, то возвращается ошибка "Неправильный вид доставки." если столбец пустой, ноль или текст, то считается, что в строке информация о товаре. |
Для РФ возможные значения:
1 - доставка до ПВЗ,
Для РФ возможные значения: Для Казахстана и Беларуси возможные значения: | Неправильный вид доставки. |
name | Введен код существующего ПВЗ, осуществляющего выдачу посылок |
. Возможна передача кода ПВЗ, который закрыт, при условии его наличия в базе ЛК ИМ. | Неверный код пункта выдачи. |
Наличие "Пункт выдачи". | Необходимо заполнить «Пункт выдачи». |
name1 | Введен код существующего ПВЗ, осуществляющего приём посылок (признак у отделения Reception=1), отделение должно быть действующим. |
. |
|
. | Неверный код пункта приема. Необходимо заполнить «Пункт приема». |
e-mail | В случае установленных по умолчанию опций: "Извещение E-Mail" и/или "Дополнительное E-Mail-Извещение" почта должна быть заполнена |
. |
Необходимо заполнить «Электронная почта получателя». | |
fio |
Набор допустимых символов: a-z(A-Z), 0-9, а-я(А-Я), ёЁ, тире(-), прямой слеш(/),
точка(.), запятая(,), нижнее подчеркивание(_), №, пробел, скобки ()
1. Наличие ФИО. 2. Минимум 2 слова через пробел или дефис. 3. Максимум 3 слова через пробел или дефис. 4. ФИО доступно на кириллице и латинице. Пример, | Необходимо заполнить «Фамилия». |
Количество символов <= 100 | Значение «ФИО» должно содержать максимум 100 символов. |
phone | Если телефон содержит более 10 цифр, берутся 10 цифр с конца и записываются |
. | «Контактный телефон получателя» должен содержать 10 цифр. |
Если страна = |
Казахстан или Беларусь, то максимальная длина номера телефона - 12 символов. В случае отсутствия телефона заказ не создаётся. | «Контактный телефон получателя» для заказов, доставляемых за пределы РФ, должен быть заполнен и содержать не более 12 цифр. |
phone2 | Дополнительный номер телефона. |
. | «Контактный телефон получателя» должен содержать 10 цифр. |
Если страна = |
Казахстан или Беларусь, то максимальная длина номера телефона - 12 символов. В случае отсутствия телефона заказ не создаётся. | «Контактный телефон получателя» для заказов, доставляемых за пределы РФ, должен быть заполнен и содержать не более 12 цифр. |
price | Объявленная стоимость должна быть указана в |
заданном для страны |
диапазоне: • Для РФ диапазон от 0 до 300 000. • Для Казахстана и Беларуси (код 112) диапазон от 0 до 100 000. |
Объявленная стоимость должна быть не более |
Объявленная стоимость |
Объявленная стоимость должна быть не более 300 000.00 р.
- положительное числовое значение. | Объявленная стоимость должна быть числом. |
Объявленная стоимость не может быть отрицательной. | |
delivery_sum |
Стоимость доставки
|
доставки |
payment_sum
Сумма к оплате
Сумма к оплате - положительное числовое значение.
Сумма к оплате должна быть не менее <минимальная сумма> р.
Сумма к оплате должна быть не более <максимальная сумма> р.
Адрес получателя
Для передачи адреса КД предназначены 3 параметра:
- city (населенный пункт)
- index (индекс)
- addressp (адрес получателя)
передаваемые в API ParselCreate, XML и XLS файлов.
Алгоритм проверки адреса:
=========
1.1 получили индекс - проверяем его на возможность КД.
1.2 индекс не получили от dadata, то проверяем передан ли "index" (на случай некорректного города и/или адреса):
1.2.1 "index" указан - по этому индексу определяем город, отправляем в dadata "вычисленный город"+ "addressp "- получили индекс - проверяем на возможность КД. Не получили индекс от dadata, возвращаем ошибку "Невозможно определить индекс, проверьте пожалуйста указанный адрес."
1.2.2 "index" отсутствует - возвращаем ошибку "Невозможно определить индекс, проверьте пожалуйста указанный адрес."
2.1 "index" указан - по индексу определяем город, отправляем в dadata "вычисленный город"+ "addressp "- получили индекс - проверяем на возможность КД. Не получили индекс от dadata, возвращаем ошибку "Невозможно определить индекс, проверьте пожалуйста указанный адрес."
2.2 "index" отсутствует - ошибка "Невозможно определить индекс, проверьте пожалуйста указанный адрес."
Стоимость доставки - положительное числовое значение. | Сумма доставки должна быть числом. | |
Сумма доставки не может быть отрицательной. | ||
payment_sum | Сумма к оплате - положительное числовое значение. | Сумма к оплате должна быть числом. |
Сумма к оплате не может быть отрицательной. | ||
Сумма к оплате в диапазоне, указанном в настройках ЛК ИМ (административная часть) - "Минимальная сумма к оплате" и "Максимальная сумма к оплате". | Сумма к оплате должна быть не менее <минимальная сумма> р. Сумма к оплате должна быть не более <максимальная сумма> р. | |
Если заказ с vid = 1 (доставка до ПВЗ) и отделение с признаком PrepaidOrdersOnly = true, то сумма к оплате должна быть >0 | Для отделения получения доступна только выдача предоплаченных заказов. | |
addressp · city (населенный пункт) · index (индекс) · addressp (адрес получателя) передаваемые в API ParselCreate, XML и XLS файлов. | Адрес с областью и районом писать в формате: область, район, населенный пункт. |
|
Поле "адрес" должно быть заполнено. | Необходимо заполнить «Адрес получателя». | |
Поля "город" и "адрес" должны быть кириллицей. | Атрибут «Город получателя» должен быть написан кириллицей. | |
timesfrom1 | Для направлений: |
Например:
<city>Свердловская обл, г Кушва, поселок Баранчинский</city>
<addressp>ул Республики, д 4</addressp>
или без сокращений:
<city>Свердловская, Кушва, Баранчинский</city>
<addressp>Республики, 4</addressp>Невозможно определить индекс, проверьте пожалуйста указанный адрес
Курьерская доставка по индексу <index> не доступна.
Значение «Адрес получателя» должно содержать минимум 5 символов.
Разрешенные символы: ^-0-9а-яёА-ЯЁ.,:;()№/
Атрибут «Адрес получателя» должен быть написан кириллицей.
timesto1
Время доставки, от
Время доставки, до
Интервалы КД
(направление определяется только по данным посылки, по значениям "пункт приема" и "пункт выдачи")Для направлений:
Москва - Москва
Москва - Санкт-Петербург
Санкт-Петербург - Санкт-Петербург
Санкт-Петербург - Москва
================================
Интервал, должен быть в пределах с 10:00 до 22:00 и не менее 3 часов.
1. Если ИМ передает интервал, который не соответствует условиям, то подбирается интервал – а не выводится ошибка.
Например, передан интервал 09:00-11:00, то интервал подберем след.образом - сдвинем на час начало 10:00 и прибавим 3 часа, в итоге записываем интервал 10:00-13:00.
Например, передан интервал 20:00-22:00, то интервал подберем след.образом - берем крайнее время доставки 22:00 и от него рассчитываем начало интервала для КД 3 часа, в итоге записываем интервал 19:00-22:00.
Например, передан интервал 11:00-12:00, то подберем интервал след.образом от "даты с" рассчитываем "дату по" прибавляя 3 часа, в итоге записываем интервал 11:00-14:00.
3. Если интервал не передан, то устанавливаем интервал по умолчанию 10:00-18:00Для прочих направлений: интервал игнорируем, не записываем и в УЛ не передаем, т.к. эти данные не используются в процессе доставки
delivery_date | Для направлений: |
5 дней от текущей даты. |
или не соответствует условиям, то ставим дату по умолчанию – текущая дата +1 день. | ||
comentk | Комментарий курьеру доступен для направлений: | |
Проверки товарного состава в зависимости от типа выдачи |
Проверяется корректность заполнения обязательных и необязательных полей. Обязательные поля для заполнения: 1 |
. Для РФ: Тип выдачи "частичная выдача": · Наименование товара (name), · Количество (quantity), · Цена за товар (price).
Проверка стоимостей товаров: · Сумма к оплате = Стоимость всех товаров + стоимость доставки, либо · Сумма к оплате = 0 (предоплаченный заказ)
Типы выдачи "без вскрытия" и "со вскрытием" (либо |
не передавать ни |
одного из |
обязательных параметров): · Количество (quantity), · Цена за товар (price).
2. |
Для Казахстана и Беларуси |
: Любой тип выдачи:
· Наименование товара (name), · Количество (quantity), · Цена за товар (price).
Проверка стоимостей товаров отсутствует. | ||
Наличие товарного состава. |
Для РФ: |
|
наименование="товары интернет-магазина",
количество=1,
стоимость = сумма к оплате - стоимость доставки (если вычисленная стоимость товара отрицательная, то приравниваем к 0).
" и "со вскрытием" - создается заказ без товаров. | |
Для РФ: | Для вашего набора услуг заполнение вложений обязательно. Отсутствуют товары. |
Обязательная опись вложения = Да
Для Казахстана и Беларуси: При любом типе |
выдачи пользователь получает ошибку и заказ не создается. | Для выбранной страны получения требуется заполнить вложения |
Наименование товара
Обязательная опись вложения = Нет
. | |
price Цена за товар | Стоимость - числовое значение и больше или равно 0. Все типы выдачи |
- пользователь получает ошибку и заказ не создается |
Обязательная опись вложения = Да
Стоимость не может быть отрицательной у вложения №1...n Некорректно указана стоимость |
у вложения №1...n |
nds
Процент НДС
Не указана стоимость у вложения №1....n | |
quantity Количество | Кол-во товаров - числовое значение и больше 0. |
Все типы выдачи - пользователь получает ошибку и заказ не создается |
Количество должно быть больше |
0 у вложения №1...n |
Количество товаров должно быть указано целым числом №1...n |
Сумма к оплате = Стоимость всех товаров + стоимость доставки, либо
Сумма к оплате = 0 (предоплаченный заказ)
Не указано количество у вложения №1. | ||
name Наименование товара | Наличие наименования товарного вложения. | |
Для РФ: |
. | |
Для РФ: |
" - пользователь получает ошибку и заказ не создается. | Не указано наименование у вложения №1...n |
Для Казахстана и Беларуси: При любом типе выдачи |
пользователь получает ошибку и заказ не создается. |
Не указано наименование у вложения №1...n | |
id Артикул | Артикул 40 символов, не обязателен для передачи, но в случае наличия длина проверяется |
Цена за товар
. Все типы выдачи - |
пользователь получает ошибку и заказ не создается |
Некорректно указана стоимость у вложения №1...n
Не указана стоимость у вложения №1....n
Значение «Артикул товара» должно содержать максимум 40 символов. | |
nds Процент НДС | НДС - число от 0 до 20. Если передан пустой приравнивается к |
Количество
Кол-во товаров - числовое значение и больше
0. Все типы выдачи - |
пользователь получает ошибку и заказ не создается |
НДС не может быть меньше 0 у вложения №1...n |
НДС не может быть больше 20 у вложения №1...n Некорректно указан НДС у вложения №1...n |
Не указано количество у вложения №1.
id
Артикул
Артикул 40 символов, не обязателен для передачи, но в случае наличия длина проверяется.
Проверка стоимостей товаров: Сумма к оплате = Стоимость всех товаров + стоимость доставки, либо Сумма к оплате = 0 (предоплаченный заказ) | ||
Типы выдачи "без вскрытия" и "со вскрытием" - заказ создается, товары сохраняются. | ||
Тип выдачи "частичная выдача" - пользователь |
Маркировка товара
получает ошибку и заказ не создается |
. | Стоимость всех товаров (<сумма>) + стоимость доставки (<сумма>) должна быть равна сумме к оплате (<сумма>). |
|
Код маркировки состоит из 28 знаков и включает данные: |
GTIN+"+"+ISN товара. Способы создания посылки: API, XLS, XML. |
marking_crpt Маркировка товара | Поле marking_crpt заполнено у товара с quantity = 1 marking_crpt |
> 28 символов. | «Маркировка ЦРПТ» должно содержать максимум 28 символов у вложения №1 |
...n |
Поле marking_crpt заполнено у товара с quantity > 1 marking_crpt <= 28 символов |
. | Количество не должно превышать 1 у вложения №1 |
...n. | |
При работе посредством REST API необходимо экранировать все специальные символы. | Некорретный формат json-данных в sdata. |
При работе посредством XML и API в формате SOAP, данные маркировки в значении которого используются специальные символы, необходимо передавать в |
теге <![CDATA[ ... |
]]>, иначе маркировка товара не сохранится. |
Пример заполнения,<marking_crpt><![CDATA[02900000217553+lVfTHoca%>km&]]></marking_crpt> |
notice | Способы создания посылки: API, XLS, XML. | |
Количество символов <= 100 | Значение «Примечание» должно содержать максимум 100 символов. | |
weight | Должен быть заполнен вес 1-го места. | Необходимо заполнить «Вес коробки (кг)» у места №1...n. |
Вес - числовое значение. | Вес коробки должен быть указан числом у места №1...n | |
Вес тарного места не должен превышать лимит веса отделения, на которое оформляется заказ. | Значение «Вес коробки (кг)» не должно превышать 15 (31) кг. для выбранного ПВЗ у места №1...n. | |
Вес тарного места не должен быть меньше минимального веса = 5 гр. | Вес коробки не может быть меньше 5 гр. у места №1...n | |
Вес для КД не должен превышать 25 кг. | Вес коробки не должен превышать 25 кг. у места №1...n | |
Ограничения - 100 мест (API, XML-файл). | Количество мест в одной посылке не может превышать 100 | |
barcode | Способы создания посылки: API, XLS, XML. | |
Штрих-код ИМ не должен |
состоять из 13 символов с лидирующим 0. | Баркод не может состоять из 13 символов с лидирующим 0. |
Если передан баркод, не генерируется ШК и не доступна печать этикетки. |
barcode | Способы создания посылки: API, XLS, XML. | |
Если указан баркод хотя бы для одного тарного места, то все остальные обязательны к заполнению. | Баркод у <1...n> места должен быть заполнен. | |
Если указаны баркоды мест, то баркод посылки игнорируется. |
issue | Числовое значение. | Значение «Issue» должно быть целым числом. |
Возможные значения: |
2 - Выдача части вложения |
. | |
Если переданное значение не [0,1,2] устанавливается тип выдачи, указанный в разделе ЛК "Мой профиль" - "Услуги", https://account.boxberry.ru/client/profile/index?tab=services | |
· РФ (создание заказа через веб-интерфейс) · Для стран Казахстан и Беларусь (все способы создания заказа): если отделение получатель не оказывает частичную выдачу ( |
признак EnablePartialDelivery = false в методе PointsDescription), то Тип выдачи может быть только в значении 0 - Без вскрытия. Если тип выдачи не передан, то по умолчанию подставляется = 0. | Доставка за пределы РФ доступна только для заказов с типом выдачи = 0. |