Интеграция со службой доставки Ddelivery
API запрос создание сущности ddelivery
Описание запроса и параметров
Запрос:
POST http://localhost/api/merch/orderset/<orderset_id>/delivery/
Запроса где orderset_id==65
POST http://localhost/api/merch/orderset/65/delivery/
Входящие параметры:
type - Тип доставки. Смотри DELIVERY_TYPES. Обязательное поле
Типы доставки (
"PVZ" – самовывоз (доставка до ПВЗ),
"COURIER" – КД(Курьерская доставка) (экспресс-доставка до получателя)
"POCHTA" – Почта
"PICKUP" –Самовывоз
)
orderset_id - Номер заказа в вашем магазине
delivery_point_id - ПВЗ (пункт самовывоза) ID из справочника «Точки ПВЗ»
Обязательное поле для типа доставки: «1 - Самовывоз»
delivery_company_id - Компания доставки. ID из справочника «Компании доставки»
Обязательное поле для типов доставки: «2 - Курьерская» «3 - Почта России»
pickup_company_id - Компания забора ID из справочника «Компании забора»
Обязательное поле для типов доставки: «2 - Курьерская» «3 - Почта России»
to_city_id - Город назначения. ID из справочника «Населённые пункты»
Обязательное поле для расчета цены доставки и для типов доставки: «2 - Курьерская» «3 - Почта России»**
city - Название города
to_street - Улица назначения
Обязательное поле для типов доставки: «2 - Курьерская» «3 - Почта России»
to_house - Дом назначения.
Обязательное поле для типов доставки: «2 - Курьерская» «3 - Почта России»
to_flat - Квартира назначения.
Обязательное поле для типов доставки: «2 - Курьерская» «3 - Почта России»
to_postal_code - Почтовый индекс назначения. Если не указать, он определится автоматически
price_declared - Оценочная стоимость / руб.
side1 - Габариты (Высота / см)
side2 - Габариты (Ширина / см)
side3 - Габариты (Длина / см)
weight - Вес / кг
item_count - Кол-во мест в заказе (По умолчанию 1)
fio_name - Имя получателя. Обязательное поле.
fio_surname - Фамилия получателя. Обязательное поле.
fio_fathername - Отчество получателя. Обязательное поле.
to_phone - Телефон получателя. Обязательное поле.
to_add_phone - Дополнительный телефон получателя.
to_email - E-mail получателя.
products - Товары в заказе. JSON массив в описании расшифровка значений.
Описание Products:
Products [
Inline Model 1
]
Inline Model 1 {
name (string, optional): Наименование товара ,
vendor_code (string, optional): Артикул ,
barcode (string, optional): Штрих код ,
nds (integer, optional): НДС (принимает значения: 0, 10, 18) ,
price_declared (integer, optional): Стоимость одного товара ,
count (integer, optional): Кол-во товаров в заказе
}
Пример Products:
[
{
"name": "Товар",
"vendor_code": "артикул",
"barcode": "Штрих код",
"nds": 10,
"price_declared": 150,
"count": 2
}
]
services[] - Дополнительные услуги. Array[integer]. Массив ID услуг из справочника «Дополнительне услуги»
comment - Комментарии к заказу.
company_info - Полная информаци о компании полученная от службы Ddelivery. Обязательное поле
Пример:
{
"_id": 36881,
"name": "москва люблинская_9987_с",
"to_city_id": 151184,
"to_street": "Плещеева",
"to_house": "22",
"to_flat": "211",
"city": "Москва",
"region": "г. Москва",
"region_id": 77,
"city_type": "г",
"postal_code": "101000",
"area": "",
"kladr": "77000000000",
"company": "Boxberry",
"company_id": 4,
"company_code": "99871",
"metro": "",
"description_in": "",
"description_out": "",
"indoor_place": "Проезд: Метро Текстильщики. Первый вагон из центра налево в сторону кинотеатра \"Молодежный\". Поднимаетесь на улицу, перед Вами ул. Люблинская. Пройти 5 мин пешком до здания ул. Люблинская д. 7/2 , свернуть во двор, найти вывеску \"ФОТО\", пункт выдачи интернет заказов. Рядом с Аптекой.",
"address": "109125, Москва г, Люблинская ул, д.7/2, корпус 1",
"schedule": "пн-пт:10.00-20.00, сб-вс:11.00-18.00",
"longitude": 37.731164,
"latitude": 55.713106,
"type": "2",
"status": "2",
"has_fitting_room": false,
"is_cash": true,
"is_card": false,
"dimension_side1": null,
"dimension_side2": null,
"dimension_side3": null,
"weight": null,
"delivery_company": "4",
"delivery_company_name": "Boxberry",
"delivery_company_driver_version": 0,
"pickup_company_driver_version": 0,
"pickup_price": 250,
"delivery_price": 138.6,
"sorting_price": null,
"declared_price_fee": 0,
"delivery_time_min": 1,
"delivery_time_max": 1,
"delivery_time_avg": 1,
"total_price": 388.6,
"payment_price_fee": 0,
"delivery_date": null,
"confirm_date": null,
"pickup_date": null,
"payment_time": 0,
"packing_price": null,
"packing_required": false,
"packing_paid": false,
"items_count": 99,
"services": [],
"declared_price_fee_amount": 0,
"payment_price_fee_amount": 0,
"payment_availability": 0,
"client_price": 144.56,
"company_type": 1
}
price - Общая (объявленная) стоимость. Получено с клиента / руб. Обязательное поле.
delivery_sum - Стоимость доставки. /руб. Обязательное поле.
npp_option - Boolean. По умолчанию true. Считать ли наложенные платёж ?
is_confirm - Boolean. По умолчанию false. Оформить заказ или сохранить как черновик ?
Запрос цены с клиента
Выбор доставки DDelivery
Запрос
method: POST
url: http://localhost/api/merch/orderset/{orderset_id}/delivery/check_delivery_price/
POST
{
to_city_id:151184 // city_to:
type:"COURIER"
delivery_company_id: 33
}
Ответ:
HTTP_CODE == 200
{
"price": 407.95,
}
HTTP_CODE == 500
{
"check_delivery_price": ["server_error"]
}
Выпиант ответа:
{
"status": "ok",
"message": "",
"data": {
"2": {
"type": 2,
"delivery": [
{
"is_cash": true,
"price_commission_declared": 16.9,
"pickup_company_id": 105,
"total_price": 407.95,
"price_delivery": 391.05,
"delivery_company_name": "Boxberry",
"delivery_date": "09.02.2018",
"delivery_hold_date": "-",
"delivery_company_abbr": "Boxberry",
"delivery_days": 3,
"percent_commission_declared": 0.5,
"delivery_company_id": 4,
"service": []
}
],
"type_name": "Курьерская"
}
}
}
Изменение тиража
Запрос
method: POST
url: /api/merch/order/<order_id>/
data: {count: 2}
Ответ
{
cost:580
count:2
delivery_box_size:{width: 20, weight: 1.4, depth: 40, height: 20}
id:143
orderset_id:124
total_cost:580
*delivery: {price, address(info), type}
}
*delivery - потом
Нажатие по кнопке оплатить
Запрос
method: POST
url: /api/merch/orderset/<order_id>/delivery/
data: {
comment:"Не торопитесь, я подожду дома"
fio_fathername:"Ильич"
fio_name:"Владимир"
fio_surname:"Ленин"
to_phone:"7232323232"
*delivery_company: {"27", delivery_company_name: "DPD Economy",…}
*delivery_company_id:"27"
*delivery_point_id:null
*delivery_sum:1471
*pickup_company_id:"27"
*price:0
*to_flat:"1"
*to_house:"1"
*to_street:"Красная Площадь"
}
*delivery_company - шлется с избыточными данными, потом слаться не будет
Ответ
{
link || error
}