API для личного кабинета


Easyship external API


▉ Авторизция
▉ Создание заказа
Запрос
Ответ
▉ Редактирование заказа
Запрос
Ответ
▉ Просмотр данных заказа
Запрос
Ответ
▉ Получение списка всех заказов
Запрос
Ответ
▉ Создание получателя посылки
Запрос
Ответ
▉ Редактирование данных получателя
Запрос
Ответ
▉ Просмотр данных получателя
Запрос
Ответ
▉ Получение списка всех получателей
Запрос
Ответ
▉ Создание посылки
Запрос
Ответ
▉ Редактирование посылки
Запрос
Ответ
▉ Просмотр данных посылки
Запрос
Ответ
▉ Получение списка всех посылок
Запрос
Ответ
▉ Получение списка регионов
Запрос
Ответ
▉ Запрос трекинга в системе Боксбери
Запрос
Ответ
▉ Примеры запросов



Апи будет расположено по адресу https://lk.easyship.ru/api/v1

В теле ответа всегда будет JSON, кодировка только UTF-8.
Все передаваемые даты в UTC.

В случае ошибки в запросе будет сформирован ответ такого вида:
{
"success":false,
"error":"Error message"
}
▉ Авторизция
Для авторизации запроса, в список заголовков необходимо добавить еще один с UUID ключом.
Для каждого клиента ключ будет сформирован индивидуально.

Пример заголовка:
Api-Key:0000-0000-0000-0000

▉ Создание заказа
Запрос
POST /set/create
{
"title":"Куртки для детей", // название заказа
"shop":"www.levi.com", // url или название магазина
"user_tracker":"1Z144597Y2701951", // трекер
"weight":1.3, // вес
"dg":1, // Флаг опасного груза, передается 1 если в заказе духи

    // id доп. услуг или пустой массив
"services":[
1,
2,
3
],


// товары в заказе
"goods":[
{
"title":"Anorak", // название товара
"link":"https://www.amazon.com/gp/product/B0195EW09K", // ссылка на товар
"price":29.99, // цена в $
"amount":3  // кол-во
}
]
}

Ответ
В случае успеха возвращается id созданного заказа и его статус.
{
"success":true,
"data":{
"set_id":1000, // id - созданного заказа
"status":123 // статус заказа
}
}

▉ Редактирование заказа
Запрос
POST /set/update/[id - заказа] (например /set/update/14)
Все поля, как в запросе на создание заказа.
При редактировании товаров заказа, необходимо отправлять массив товаров с указанием id, как в ответе на просмотр заказа.
Все товары, которые придут без id, будут считаться новыми.
Все товары, id которых не будет в запросе на редактирование, будут удалены из базы.
Ответ
В случае успеха ответ будет иметь вид:
{
"success":true
}

▉ Просмотр данных заказа
Запрос
GET /set/view/[id - заказа] (например /set/view/14)

Ответ
В случае успеха ответ будет содержать все поля заказа из запроса на создание + его id и статус.
{
"success":true,
"data":{
    "id":14, // id заказа
    "status":20, // статус заказа
"title":"Куртки для детей", // название заказа
"shop":"www.levi.com", // url или название магазина
"user_tracker":"1Z144597Y2701951", // трекер
"weight":1.3, // вес

        // фото заказа
"photos":[
"http://site.ru/foto1.jpg",
"http://site.ru/foto2.jpg",
"http://site.ru/foto3.jpg"
],

    // id доп. услуг или пустой массив
"services":[
1,
2,
3
],
// товары в заказе
"goods":[
{
   "id":1457, // id товара
"title":"Anorak", // название товара
"link":"https://www.amazon.com/gp/product/B0195EW09K", // ссылка на товар
"price":29.99, // цена в $
"amount":3  // кол-во
}
]
}
}

▉ Получение списка всех заказов
Запрос
GET /set/list
Ответ
В ответе, в поле data будет массив всех заказов пользователя.
Все поля соответствуют запросу на создание заказа + id заказа и его статус

{
"success":true,
"data":[
{
"id":1300,
"status":25,
"title":"Название заказа",
"shop":"www.levi.com",
"user_tracker":"1Z144597Y2701951",
"weight":1.3,
"photos":[],
"services":[],
"goods":[
{
"id":1457, // id товара
"title":"Anorak",
"link":"https://www.amazon.com/gp/product/B0195EW09K",
"price":29.99,
"amount":3
}
]
},
{
"id":1301,
"status":25,
"title":"Название второго заказа",
"shop":"www.levi.com",
"user_tracker":"1Z144597Y2701952",
"weight":1.3,
"photos":[
"http://site.ru/foto1.jpg",
"http://site.ru/foto2.jpg",
"http://site.ru/foto3.jpg"
],
"services":[
1,
2,
3
],
"goods":[
{
"id":1458, // id товара
"title":"Anorak",
"link":"https://www.amazon.com/gp/product/B0195EW09K/ref=od_aui_detailpages00",
"price":29.99,
"amount":3
}
]
}
    ...
]
}

▉ Создание получателя посылки
Запрос
POST /receiver/create
{
"surname":"Константинопольский", // фамилия
"name":"Александр", // имя
"patronymic":"Сергеевич", // отчество
"ps_type":5, // тип документа (5 => 'Паспорт РФ', 10 => 'Паспорт иностранного гражданина')
"ps_serial":"1234", // серия паспорта
"ps_num":"332223", // номер паспорта
"ps_code":"555-000", // код подразделения
"ps_who":"ОУФМС России по Свердловской обл. в Октябрьском...", // кем выдан
"ps_when":"01.03.2013", // когда выдан (день.месяц.год)
"postcode":"620102", // почтовый индекс
"country":"Россия", // страна
"area":"Свердловская область", // область
"city":"Екатеринбург", // город
"street":"Луначарского", // улица
"house":"10", // дом
"room":"346", // квартира
"house_korp":"А", // корпус дома при его наличии
"inn":"123456789012" // ИНН при его наличии
}
Ответ
В случае успеха возвращается id нового получателя.
{
"success":true,
"data":{
"id":1000, // id - нового получателя
}
}

▉ Редактирование данных получателя
Запрос
POST /receiver/update/[id - получателя]
Все поля, как в запросе на создание.

Ответ
В случае успеха ответ будет иметь вид:
{
"success":true
}

▉ Просмотр данных получателя
Запрос
GET /receiver/view/[id - получателя]

Ответ
В случае успеха ответ будет содержать все поля получателя из запроса на создание + его id.
{
"success":true,
"data":
{
    "id":1000,
"surname":"Константинопольский", // фамилия
"name":"Александр", // имя
"patronymic":"Сергеевич", // отчество
"ps_type":5, // тип документа (5 => 'Паспорт РФ', 10 => 'Паспорт иностранного гражданина')
"ps_serial":"1234", // серия паспорта
"ps_num":"332223", // номер паспорта
"ps_code":"555-000", // код подразделения
"ps_who":"ОУФМС России по Свердловской обл. в Октябрьском...", // кем выдан
"ps_when":"01.03.2013", // когда выдан
"postcode":"620102", // почтовый индекс
"country":"Россия", // страна
"area":"Свердловская область", // область
"city":"Екатеринбург", // город
"street":"Луначарского", // улица
"house":"10", // дом
"room":"346" // квартира
}
}

▉ Получение списка всех получателей
Запрос
GET /receiver/list
Ответ
В ответе, в поле data будет массив всех получателей.
Все поля соответствуют запросу на создание + id каждого получателя.
{
"success":true,
"data":[
{
    "id":1000,
"surname":"Константинопольский", // фамилия
"name":"Александр", // имя
"patronymic":"Сергеевич", // отчество
"ps_type":5, // тип документа (5 => 'Паспорт РФ', 10 => 'Паспорт иностранного гражданина')
"ps_serial":"1234", // серия паспорта
"ps_num":"332223", // номер паспорта
"ps_code":"555-000", // код подразделения по паспорту
"ps_who":"ОУФМС России по Свердловской обл. в Октябрьском...", // кем выдан по паспорту
"ps_when":"01.03.2013", // когда выдан по паспорту
"postcode":"620102", // почтовый индекс по паспорту
"country":"Россия", // страна по паспорту
"area":"Свердловская область", // область по паспорту
"city":"Екатеринбург", // город по паспорту
"street":"Луначарского", // улица по паспорту
"house":"10", // дом по паспорту
"room":"346" // квартира по паспорту
},
...
]
}

▉ Создание посылки
Запрос
POST /order/create
{
"phone":"7-999-999-9999", // контактный телефон получателя
"email":"someemail@site.net", // контактный email получателя
"comment":"user comment", // комментарий пользователя
"inner_tracker":EZ12345, // Желаемый трекинг номер, уникальное значение, если не заполнен мы присвоим сами. Для тарифа Priority недоступна возможность присвоить трекинг номер.
"receiver_id":14, // id - получателя
"region_id":12356, // id - региона

    // id - заказов в посылке
"sets":[
3001,
3002
],
"delivery_type":1, // тип доставки. 1-7
"boxberry_pvp_id":50091, // id пункта выдачи Boxberry
"boxberry_pvp_address":"141060, Королев г, Горького ул, д.3А, оф. 1" , // адрес соотв. пункта выдачи
"o_postcode":"620075", // Заполняется для всех доставок кроме 3 (в пункт выдачи)- Индекс
"o_country":"Россия", // Заполняется для всех доставок кроме 3 (в пункт выдачи)- Страна
"o_area":"Свердловская область", // Заполняется для всех доставок кроме 3 (в пункт выдачи)- Область
"o_city":"Екатеринбург", // Заполняется для всех доставок кроме 3 (в пункт выдачи)- Город
"o_street":"Бажова", // Заполняется для всех доставок кроме 3 (в пункт выдачи)- улица
"o_house":"76", // Заполняется для всех доставок кроме 3 (в пункт выдачи)- номер дома
"o_house_korp":"а", // Заполняется для всех доставок кроме 3 (в пункт выдачи) - корпус
"o_room":"14", // Заполняется для всех доставок кроме 3 (в пункт выдачи) - квартира
"DG":"1" // В посылке опасный груз (духи). Заполнять только если в посылке парфюм.

}
Ответ
В случае успеха возвращается id созданной посылки и ее статус.
{
"success":true,
"data":{
"order_id":1000, // id - созданной посылки
"status":123 // статус посылки
}
}

▉ Редактирование посылки
Запрос
POST /order/update/[id - посылки]
Все поля, как в запросе на создание заказа.
Редактирование посылки возможно только, пока она в статусе “Новая”.

Ответ
В случае успеха ответ будет иметь вид:
{
"success":true
}

▉ Просмотр данных посылки
Запрос
GET /order/view/[id - посылки]

Ответ
В случае успеха ответ будет содержать те же поля, что при создании.
Плюс различную дополнительную информацию о посылке.
{
"success":true,
"data":{
"id":1000,
"status":123,
"phone":"7-999-999-9999",
"email":"someemail@site.net",
"receiver_id":14,
"sets":[
3001,
3002
],
"delivery_type":"Easyship Express",
"boxberry_pvp_id":50091,
"boxberry_pvp_address":"141060, Королев г, Горького ул, д.3А, оф. 1",

"date_packing":"2017-09-25 17:41:10", // дата упаковки
"inner_tracker":"MEPRAX001203M4", // внутренний трекер easyship
"created":"2016-01-12 10:25:01", // дата создания посылки
"dimensions":"17x17x38", // габариты посылки (ШxВxГ)
"lotnum":"DPD 1234", // номер партии
"weight":30.02, // фактический вес посылки
"comment":"", // комментарий
"date_sent":"2017-09-21 15:55:42", // дата отправки
"o_postcode":"620075", // Заполняется для всех доставок кроме 3 (в пункт выдачи)- Индекс
"o_country":"Россия", // Заполняется для всех доставок кроме 3 (в пункт выдачи)- Страна
"o_area":"Свердловская область", // Заполняется для всех доставок кроме 3 (в пункт выдачи)- Область
"o_city":"Екатеринбург", // Заполняется для всех доставок кроме 3 (в пункт выдачи)- Город
"o_street":"Бажова", // Заполняется для всех доставок кроме 3 (в пункт выдачи)- улица
"o_house":"76", // Заполняется для всех доставок кроме 3 (в пункт выдачи)- номер дома
"o_house_korp":"а", // Заполняется для всех доставок кроме 3 (в пункт выдачи) - корпус
"o_room":"14" // Заполняется для всех доставок кроме 3 (в пункт выдачи) - квартира


}
}

▉ Если посылка после упаковки ожидает команды на отправку (по договоренности с контрагентом)
Запрос
GET /order/send/[id - посылки]


▉ Получение списка всех посылок
Запрос
GET /order/list
Ответ
В ответе, в поле data будет массив всех посылок пользователя.
Все поля соответствуют ответу при просмотре данных одной посылки.

▉ Получение списка регионов
Запрос
GET /data/regions
Ответ
В ответе, в поле data будет массив всех доступных для доставки регионов, отсортированный по алфавиту.

{
"success":true,
"data":[
{
"id":"332",
"country":"Казахстан",
"region":null,
"city":"Абай",
"title":"Абай Казахстан"
},
{
"id":"1",
"country":"Россия",
"region":"Хакасия Респ",
"city":"Абакан",
"title":"Абакан"
},
...
]
}


▉ Запрос трекинга в системе Боксбери
Запрос
GET /boxberry/track/[трекинг]

Ответ
В ответе, в поле data будет массив ответа от Боксбери
{
"success":true,
"data":[
{
"Date":"2017-07-04T08:29:14",
"Name":"На пути в Россию.",
"Comment":""
},
{
"Date":"2017-07-04T08:38:25",
"Name":"Прибыл в Аэропорт РФ.",
"Comment":""
}
...
]
}


▉ Примеры запросов

Ключ в примерах принадлежит тестовому пользователю. Соответственно меняете его на нужный и получаете свой список.

● Получение списка всех заказов:
curl -H "Api-Key:0000-0000-0000-0000" https://lk.easyship.ru/api/v1/set/list

● Создание получателя (php):
$recipient_create = [

$recipient_create = [

    'surname'    => 'Константинопольский',

    'name'       => 'Александр',

    'patronymic' => 'Сергеевич',

    'ps_type'    => '5',

    'ps_serial'  => '1234',

    'ps_num'     => '332223',

    'ps_code'    => '555-000',

    'ps_who'     => 'ОУФМС России по Свердловской обл. в Октябрьском...',

    'ps_when'    => '01.03.2013',

    'postcode'   => '620102',

    'country'    => 'Россия',

    'area'       => 'Свердловская область',

    'city'       => 'Екатеринбург',

    'street'     => 'Луначарского',

    'house'      => '10',

    'house_korp' => 'А', // не обязательное поле

    'room'       => '346',

    'inn'=>'0987654321',

    'citizenship' => '643' // ISO код страны,если все РФ то 643

];


$ch = curl_init();

curl_setopt_array($ch, array(
    CURLOPT_POST           => true,
    CURLOPT_CONNECTTIMEOUT => 60,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_URL            => 'https://lk.easyship.ru/api/v1/receiver/create'
));

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($recipient_create));
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Api-Key:0000-0000-0000-0000'
));

// результат запроса
$res  = curl_exec($ch);
curl_close($ch);

Заказать звонок

Представьтесь и укажите ваш контактный телефон.
Мы обязательно вам позвоним.

Представьтесь:
Контактный телефон*:
Комментарий:
Отменить
Отправить сообщение

Представьтесь и укажите электронную почту для связи с вами.
Мы обязательно вам ответим.

Представьтесь:
Электронная почта*:
Комментарий*:
Отменить

Новый тариф Boxberry LITE - экспресс доставка от $8.99.