retailCRM Документация

Данные о доставке в API

Общая структура данных доставки

В методах /api/v3/orders и /api/v3/orders/history за данные по доставке отвечает поле orders[][delivery], в остальных методах /api/v3/orders* - поле order[delivery].

Структура сообщения для методов /api/v3/orders/get, /api/v3/orders, /api/v3/orders/history:

{
    "order": {
         //...
        "delivery": {
            "code": "delivery-type-code",     // Символьный код типа доставки
            "integrationCode": "sdek",        // Код интеграционной доставки, связанной с типом доставки
            "data": {                         // Дополнительные данные для интеграционной доставки
                                              //     Данные отличаются в зависимости 
                                              //     от указанной интеграционной доставки
            },
            "service": {                      // Служба доставки
                "name": "Delivery Service 1",
                "code": "delivery-service-1"
            },
            "cost": 500,                      // Стоимость доставки
            "date": "2014-10-26",             // Дата доставки
            "address": {                      // Адрес доставки
                // ...
            }
        }
    }
}

Структура сообщений для методов /api/v3/orders/create, /api/v3/orders/edit, /api/v3/orders/upload различается, в зависимости от типа доставки — является она интеграционной или нет. Для интеграционной доставки дополнительно указывается поле data, в котором содержатся дополнительные данные для интеграционной доставки. Подробнее с описанием этого поля для каждого типа интеграционной доставки вы можете ознакомится в разделе Данные интеграционных доставок.

Пример запроса на создание/редактирование заказа с не интеграционной доставкой:

{
    "order": {
         //...
        "delivery": {
            "code": "delivery-type-code",     
            "service": {                      
                "name": "Delivery Service 1",
                "code": "delivery-service-1"
            },
            "cost": 500,                      
            "date": "2014-10-26",             
            "address": {                      
                // ...
            }
        }
    }
}

Пример запроса на создание/редактирование заказа с интеграционной доставкой Почта России:

{
    "order": {
         //...
        "delivery": {
            "code": "russianpost-delivery",     
            "data": {                         
                "trackNumber": "EA349651005RU"
            },
            "cost": 500,                      
            "date": "2014-10-26",             
            "address": {                      
                // ...
            }
        }
    }
}

Структура данных адреса доставки

Адрес доставки order[delivery][address] можно указывать либо в строковом виде в поле order[delivery][address][text], либо в подробном виде, заполняя все поля кроме order[delivery][address][text]. Пример запроса с подробным заполнением всех полей адреса доставки:

{
    "order": {
         //...
        "delivery": {
            //...
            "address": {
                "index":"398916",             // Почтовый индекс
                "region":"Москва",            // Область
                "regionId":55,                // Идентификатор области в geohelper
                "city":"Москва",              // Город
                "cityId":4995,                // Идентификатор города в geohelper
                "street":"Мытная",            // Улица
                "streetId":1777167,           // Идентификатор улицы в geohelper
                "building":"25",              // Номер дома
                "flat":"13",                  // Номер квартиры или офиса
                "intercomCode":"2554",        // Код домофона
                "floor":5,                    // Этаж
                "block":3,                    // Подъезд
                "house":"1",                  // Строение/корпус
                "metro":"Шаболовская",        // Метро
                "notes":"2 ая проходная"     // Дополнительные заметки
                "deliveryTime":"с 10:00 до 12:00" // Время доставки
            }
        }
    }
}

Пример запроса с передачей адреса доставки в строковом виде:

{
    "order": {
         //...
        "delivery": {
            //...
            "address": {
                "index":"614030",
                "city":"Пермь",
                "text":"Янаульская, д. 26, кв. 18"
            }
        }
    }
}

Данные интеграционных доставок

Дата (тип DateTime) передается в формате Y-m-d

Ограничения при редактировании заказов с интеграционными доставками

При редактировании через API заказа с оформленной интеграционной доставкой действуют ограничения. В зависимости от типа доставки нельзя изменять данные в следующих полях:

СДЭК

СПСР

DPD

Новая Почта

Checkout


Редакция от 14.12.2016 15:43