Добавление заказов в ИС TopDelivery
В разделе описаны различные методы добавления заказов в ИС TopDelivery
Общие положения по добавлению заказов через upload форму и api:
- webshopNumber (номер заказа ИМ)
- Номер заказа должен соответствовать следующим условиям:
- Номер заказа должен быть уникален в пространстве номеров одного конкретного ИМ
- Номер заказа должен удовлетворять условиям следующего регулярного выражения '^[0-9a-zA-Z\-_]+$
- Количество символов в номере заказа не должно превышать 37
- serviceType (тип заказа)
- На текущий момент для создания доступны 3 типа заказов (DELIVERY, INTAKE, CHANGE). Без дополнительного согласования с ТД возможно добавлять заказы только типа DELIVERY - классическая доставка из ИМ покупателю
- deliveryType (тип доставки)
-
Возможно использование двух типов доставки:
- COURIER - курьерская доставка, в данном случае обязательно к заполнению поле deliveryAddress, а поле pickupAddressId не заполняется
- PICKUP - самовывоз, в данном случае обязательно к заполнению поле pickupAddressId, а поле deliveryAddress не заполняется
- orderUrl (URL ИМ)
- Url интернет-магазина, в котором был сделан заказ, используется при прозвоне покупателей и рассылке SMS-сообщений
- Исполнитель (executorId)
- Если от ТД не было дополнительных инструкций, то всегда передаем равным 0 (нулю)
- desiredDateDelivery (желаемая дата доставки)
-
Устанавливается только для заказов, являющихся локальной доставкой
- date (дата доставки) - дата доставки заказа, не может быть выходным или праздничным днем, должна быть строго больше текущей даты, не может быть больше 14 дней относительно текущей даты
- bTime (верхняя граница интервала доставки) - время, после которого курьер должен привезти заказа покупателю. На текущий момент доступные интервалы доставки высылаются отдельным письмом и являются разными для различных регионов и городов. В последствии получение доступных интервалов доставки будет доступно через api
- eTime (нижняя граница интервала доставки) - время, до которого курьер должен привезти заказ покупателю. На текущий момент доступные интервалы доставки высылаются отдельным письмом и являются разными для различных регионов и городов. В последствии получение доступных интервалов доставки будет доступно через api
- deliveryAddress (адрес курьерской доставки)
-
Параметры адреса доставки
- type (тип определения адреса) - указатель по какому параметру ИС ТД следует определять регион и город доставки заказа. Доступные значения:
- "id" - означает, что регион и город будут определяться в ИС ТД по id региона и города переданного в заказе
- "string" - означает, что регион и город, в который будет доставляться заказ, будет определяться по строке. Написание строки региона и города должно в точности соответствовать написанию региона и города в ИС ТД.
- "zip" - означает, что регион и город должны быть определены по индексу переданному в заказе
- region (регион доставки заказа) - регион, в который необходимо доставить заказ. В зависимости от типа определения адреса (type) передается либо id региона, либо строка
- city (город доставки заказа) - город, в котороый необходимо доставить заказ. В зависимости от типа определения адреса (type) передается либо id города, либо строка
- zipcode (индекс доставки) - не обязателен к заполнению. За исключением ситуации, когда тип определения адреса (type="zip") говорит о том, что регион и город доставки должны быть определены по индексу заказа
- inCityAddress
- zipcode
- address
- floor
- elevator
- hasElevator (лифт) - заполняется только в случае, если выбрана услуга ПРР и на адресе присутствует лифт
- 0 - Нет
- 1 - Да
- hasFreightElevator (грузовой лифт) - заполняется только в случае, если выбрана услуга ПРР и на адресе присутствует грузовой лифт
- 0 - Нет
- 1 - Да
- hasElevator (лифт) - заполняется только в случае, если выбрана услуга ПРР и на адресе присутствует лифт
- type (тип определения адреса) - указатель по какому параметру ИС ТД следует определять регион и город доставки заказа. Доступные значения:
- pickupAddress
- ID пункта самовывоза, в который необходимо доставить заказ. Обязателен к заполнению в случае, если тип доставки заказа "самовывоз"
- clientInfo (Информация о покупателе)
-
- fio (ФИО покупателя)
- phone (телефон покупателя) - телефон используется для согласования даты доставки колл-центром и рассылки SMS-уведомлений покупателям. Рекомендуется передавать мобильный номер телефона в формате: +7ХХХХХХХХХХ
- email (e-mail покупателя) - используется для рассылки уведомлений о статусе доставки, и как дополнительный метод связи с покупателем
- comment (комментарий покупателя) - комментарий покупателя. Как правило, содержит дополнительную информацию о доставке заказа
- clientCosts (параметры стоимости заказа для покупателя)
-
- clientDeliveryCost (стоимость доставки для покупателя) - сумма, которую покупатель должен будет заплатить в пользу ИМ в случае полной или частичной реализации заказа
- recalcDelivery (пересчитать стоимость доставки) - атрибут указывающий на то, что при добавлении заказа следует пересчитать стоимость доставки заказа для клиента и приравнять ее стоимость к стоимости доставки заказа для ИМ относительно тарифа в договоре между ИМ и ТД. При этом следует обратить внимание на то, что данная сумма в любом случае будет переведена в ИМ, а затем ИМу будет выставлен счет за услуги ТД, как и в случае если бы ИМ передал стоиомость доставки для клиента в clientDeliveryCost
- discount (скидки по заказу)
- type (тип скидки по заказу). Допустимые значения:
SUM (сумма в рублях) - данный тип скидки применяется к заказу только в случае полной реализации заказа. В случае частичной реализации данная скидка сгорает и все товары в заказе реализуются по цене для клиента каждого товара
- value (сумма скидки) - значение суммы скидки в рублях
- type (тип скидки по заказу). Допустимые значения:
- services (доп. сервисы по заказу)
-
Блок дополнительных сервисов и инструкций по заказу, которые ИМ может запросить у ТД
- notOpen (не вскрывать) - дает инструкцию о возможности/не_возможности вскрыть заказ покупателем до его оплаты курьеру. Допустимые значения:
- 0 - говорит о том, что заказ можно вскрыть до его оплаты
- 1 - говорит о том, что заказ нельзя вскрывать до оплаты
- marking (маркировка) - указывает на то, что по заказу требуется/не_требуется маркировка на складе ТД (услуга платная). Допустимые значения:
- 0 - говорит о том, что ИМ самостоятельно промаркировал заказ и по нему не требуется дополнительной маркировки
- 1 - говорит о том, что ИМ самостоятельно НЕ промаркировал заказ и по нему требуется дополнительная маркировка
- smsNotify (SMS-нотификация покупателей) - указывает на то, что по заказу требуется/не_требуется SMS-нотификация покупателей. Допустимые значения:
- 0 - говорит о том, что ТД не должно рассылать покупателю SMS о состоянии заказа
- 1 - говорит о том, что ТД следует рассылать SMS-нотификации покупателям о состоянии заказа
- forChoise (доставка на выбор) - указывает возможна ли частичная реализация данного заказа. Допустимые значения:
- 0 - говорит о том, что заказ не может быть частично реализован
- 1 - говорит о том, что заказ может быть частично реализован
- places (количество грузомест в заказе) - по умолчанию = 1, если в заказе более одного грузоместа, то необходимо передать данные о каждом грузоместе в методе "Создание грузоместа"
- pack (парметры дополнительной упаковки заказа (услуга платная))
- need (требуеся/не_требуется) - указывате на то что требуется/не_требуется дополнительная упаковка заказа. Допустимые значения:
- 0 - дополнительная упаковка заказа не требуется
- 1 - дополнительная упаковка заказа требуется
- type (тип дополнительной упаковки заказ) - в случае если по заказу требуется дополнительная упаковка (need = 1), необходимо передать тип данной упаковки. Допустимые значения:
- 1 - жесткая упаковка
- 2 - мягкая упаковка
- 3 - хрупкий груз
- need (требуеся/не_требуется) - указывате на то что требуется/не_требуется дополнительная упаковка заказа. Допустимые значения:
- giftPack (параметры подарочной упаковки (услуга не предоставляется))
- need (требуеся/не_требуется) - указывает на то, что требуется/не_требуется подарочная упаковка заказа. Допустимые значения:
- 0 - подарочная упаковка заказа не требуется (!Важно: всегда следует передавать это значение)
- 1 - подарочная упаковка заказа требуется
- type (тип подарочной упаковки заказ) - в случае, если по заказу требуется подарочная упаковка (need = 1), необходимо передать тип данной упаковки. Допустимые значения:
- 1 - женская
- 2 - мужская
- 3 - детская
- need (требуеся/не_требуется) - указывает на то, что требуется/не_требуется подарочная упаковка заказа. Допустимые значения:
- needPrr (погрузо-разгрузочные работы) - это комплекс мер, направленных на поднятие разнообразных грузов с целью их погрузки или выгрузки из транспорта и дальнейший пронос по территории не далее 50 метров от транспортного средства как вручную, так и при помощи специализированной техники. Допустимые значения:
- 0 - не нужны работы
- 1 - нужны работы
- needLiftingCargo (ручной подъем груза) - доставка груза непосредственно до двери получателя на этаж, начиная со второго и выше, на лифте либо по лестнице в случае отсутствия лифта. Допустимые значения:
- 0 - не нужен подъем
- 1 - нужен подъем
- needDocReturn (возврат документов) - услуга обеспечивающая возврат документов на груз с подписью и печатью получателя, подтверждающих, что груз им получен. Допустимые значения:
- 0 - не нужен возврат документов
- 1 - нужен возврат документов
- notOpen (не вскрывать) - дает инструкцию о возможности/не_возможности вскрыть заказ покупателем до его оплаты курьеру. Допустимые значения:
- deliveryWeight (Весовые параметры доставляемого покупателю заказа) - данное поле обязательно заполняется в случае создания заказов на доставку(DELIVERY) и обмен(CHANGE)
-
- weight (физический вес заказа) - физический вес заказа в граммах
- volume (размеры заказа) - если ИМ известны размеры заказа, то они передаются в данном поле
- intakeWeight (Весовые параметры получаемого от покупателя заказа) - данное поле обязательно заполняется в случае создания заказов на доставку в магазин(INTAKE) и обмен(CHANGE)
-
- weight (физический вес заказа) - физический вес заказа в граммах
- volume (размеры заказа) - если ИМ известны размеры заказа, то они передаются в данном поле
- items (товары в заказе)
-
- name (наименование товара) - максимальная длина поля - 42 символа
- article (артикул товара) - максимальная длинна поля - 42 символа, должен удовлетворять регулярному выражению - '^[0-9a-zA-Z\-_]+$
- count (количество) - количество единиц данного товара в заказе
- declaredPrice (объявленная цена) - объявленная стоимость одной единицы товара. Относительно данной стоимости рассчитывается страховка товара
- clientPrice (цена для клиента) - цена для клиента одной единицы товара. Один из параметров, по которому вычисляется общая сумма получаемая от покупателя. По данной цене товар реализуется в случае частичной реализации заказа
- weight (вес) - вес одной единицы товара в граммах
- push (тип товара) - указывает на то, является ли товар доставляемым покупателю или получаемым от покупателя. Допустимые значения:
- 1 - говорит о том, что данный товар необходимо вручить покупателю. Хотя бы один товар такого типа должен быть в заказе типа доставка (DELIVERY) или обмен (CHANGE)
- 0 - говорит о том, что данный товар необходимо получить от покупателя. Хотя бы один товар такого типа должен быть в заказе типа доставка в магазин (INTAKE) или обмен(CHANGE)
- status (статус товара) - при добавлении заказа данное поле не передается
- vat (НДС для товара) - при добавлении заказа необходимо указывать НДС для каждой позиции
- trueMark (код товарной номенклатуры) - используется для передачи кода "Честный знак"
- itemCode (код товара ИМ) - используется для идентификации товара в многоместном заказе
- itemBarcode (ШК товарной позиции) - используется для передачи штрих-кода товарной позиции