Описание доступа к калькулятору доставки eDost.ru

Калькулятор доставки eDost позволяет расчитывать доставку по России и из России за рубеж.
В расчетах задействованы 1034 городов и 82 регион России, 230 стран мира.


Индивидуально для каждого магазина в личном кабинете настраиваются параметры работы калькулятора:

1. Выбор служб доставки учавствующих в расчете.
2. Вид расчетов: без страховки, со страховкой, без страховки и со страховкой.
3. Округление результатов расчета.
4. Надбавки, скидки, скидки от стоимости заказа.
5. Учет габаритов.
6. Ограничения по местоположениям.
7. Ограничения по весу и стоимости заказа.
8. Отображение срока доставки.
9. Параметры наложенного платежа.



Компании доставки используемые в расчетах:

Почта России:


обычная посылка
отправление 1 класса (до 2.5 кг)
бандероль (до 2 кг)
мелкий пакет (до 2 кг)
мелкий пакет заказной (до 2 кг)
бизнес курьер

Службы экспресс-доставки:


EMS Почта России
Гарантпост
СПСР-Экспресс
СДЭК
DPD
Pony Express
DHL Express
UPS

Постаматы и пункты выдачи:


PickPoint
boxberry
СДЭК
DPD

Транспортные компании:


ЖелДорЭкспедиция
ПЭК
Деловые линии
Энергия
GTD



Разделы:


1. Доступ к расчету
2. Ответ сервера
3. Компоненты для быстрого подключения
4. Примеры работы калькулятора доставки



Доступ к расчету


Расчет доставки производится на сервере eDost.

Чтобы получить ответ от сервера с результатами расчетов, необходимо отправить POST запрос на http://api.edost.ru/api2.php

В качестве резервного сервера (только в случае недоступности основного) можно использовать http://edost.net/api2.php

Параметры POST запроса (указывать обязательно):


id

- идентификатор магазина


p

- пароль для доступа к серверу расчетов


to_city

- город, регион или страна, куда необходимо отправить посылку


weight

- вес в кг (минимально допустимый для расчета вес: 0,001)


strah

- сумма для страховки в рублях - при расчете доставки "со страховкой" должна быть больше нуля!


Дополнительные параметры POST запроса (можно не указывать):


ln

- длина посылки


wd

- ширина посылки


hg

- высота посылки


zip

- почтовый индекс (только для расчета наземной посылки - код тарифа 2)


headerutf=1

- возвращать заголовок ответа: "Content-type: text/xml;charset=UTF-8"



Параметры

id, p

выдаются индивидуально для каждого магазина (смотрите в личном кабинете).



В качестве параметра

to_city

может выступать название (на русском языке в кодировке windows-1251) или код (cписок названий городов, регионов и стран с кодами).

Расчет по названию региона (без указания определенного города) возможен для:
- Почта России (отправление 1 класса)
- Почта России (наземная посылка) - только при расчете с почтовым индексом!
- EMS
- Гарантпост


Параметры

weight, strah, ln, wd, hg

могут быть дробными (разделительный знак: точка или запятая).



Параметры

ln, wd, hg

служат для более точного расчета доставки.

Чтобы габариты учитывались в расчетах, необходимо в личном кабинете в настройках магазина в поле Габариты (длина, ширина, высота) посылки: выбрать единицу измерения габаритов (

метры

,

дециметры

,

сантиметры

,

миллиметры

) и поставить галочку в

учитывать в расчетах габариты посылки

.



Ответ сервера


На POST запрос сервер eDost выдает ответ одним пакетом в формате XML (кодировка UTF-8).



Тэги XML:


rsp

- ответ


stat

- код результата запроса:


1 - успех
2 - доступ к расчету заблокирован
3 - неверные данные магазина (пароль или идентификатор)
4 - неверные входные параметры
5 - неверный город или страна
6 - внутренняя ошибка сервера расчетов
7 - не заданы компании доставки в настройках магазина
8 - сервер расчета не отвечает
9 - превышен лимит расчетов за день
11 - не указан вес
12 - не заданы данные магазина (пароль или идентификатор)

warning

- код предупреждения:


1 - почтового отделения с указанным индексом НЕ существует
2 - в вашем регионе НЕТ почтового отделения с указанным индексом

tarif

- тариф доставки


id

- код тарифа (список кодов)


price

- цена доставки


pricecash

- цена доставки при наложенном платеже


transfer

- стоимость денежного перевода при наложенном платеже


day

- количество дней доставки


strah

- код страхования:


1 - рассчитано со страховкой
0 - рассчитано БЕЗ страховки

company

- название компании доставки


name

- название тарифа доставки


pickpointmap

- название города для виджета PickPoint


office

- офис, склад или пункт выдачи службы доставки


id

- код офиса в системе eDost (ссылка на карту: http://www.edost.ru/office.php?c=

id

)


to_tarif

- коды тарифов доставки, которым принадлежит офис (через запятую)


name

- название офиса


address

- адрес (без города)


tel

- контактные телефоны


schedule

- часы работы


gps

- GPS координаты (соответствуют формату Яндекс.Карты)



Предупреждение:


Компании доставки могут менять свои названия и названия тарифов, поэтому при разработке рекомендуется привязываться к кодам тарифов (

id

).


Цены

price, pricecash, transfer

идут в рублях, могут быть дробными (разделительный знак: точка).



Стоимость денежного перевода при наложенном платеже (

transfer

) - это сумма, которую дополнительно оплачивает получатель службе доставки в момент вручения за услугу по переводу денежных средств отправителю (помимо стоимости товара и доставки).


Пример:
1. Цена заказа 1100 руб. (цена товара 1000 руб. + цена доставки 100 руб.) - эта цена указывается при отправке, как сумма наложенного платежа.
2. При вручении получатель оплачивает 1100 руб. за заказ и дополнительно 88 руб. (8% от суммы) за перевод денежных средств. (88 руб. - это и есть параметр

transfer

).

В итоге покупателю обойдется заказ в 1188 руб., а продавец получит 1100 руб.



Пример ответа в формате XML:


<?xml version="1.0" encoding="UTF-8"?>


<

rsp

>

<

stat

>1<

/stat

>
<

tarif

>

<

id

>1<

/id

>
<

price

>510.5<

/price

>
<

day

>1-2 дня<

/day

>
<

strah

>1<

/strah

>
<

company

>Почта России<

/company

>
<

name

>отправление 1-го класса со страховкой<

/name

>

<

/tarif

>
<

tarif

>

<

id

>14<

/id

>
<

price

>300<

/price

>
<

strah

>0<

/strah

>
<

company

>ЖелДорЭкспедиция<

/company

>

<

/tarif

>

<

office

>

<

id

>1<

/id

>
<

to_tarif

>14<

/to_tarif

>
<

name

>Восточный склад<

/name

>
<

address

>ул. Ленина, д. 5, оф. 10<

/address

>
<

tel

>(123) 123-45-67, 123-45-68<

/tel

>
<

schedule

>пн.-пт. с 10:00 до 18:00<

/schedule

>
<

gps

>37.621939,55.753052<

/gps

>

<

/office

>

<

/rsp

>



Коды тарифов:


Код

Название тарифа

1

Почта России (отправление 1-го класса)

2

Почта России (наземная посылка)

3

EMS Почта России

5

СПСР Экспресс (экспресс)

6

СДЭК (экспресс курьером до двери)

9

СДЭК (экспресс до пункта выдачи)

10

СДЭК (супер-экспресс)

11

DHL Express (экспресс 18:00)

12

UPS (Express Saver)

14

ЖелДорЭкспедиция (до терминала)

16

ПЭК (до терминала)

17

СДЭК (международный экспресс)

18

EMS Почта России (международное отправление)

19

СПСР Экспресс (международное отправление)

20

DHL Express (экспресс за границу)

21

UPS (международный Express Saver)

22

Деловые линии (до терминала)

25

Гарантпост

26

Гарантпост (международное отправление)

27

Pony Express

28

Pony Express (международное отправление)

29

PickPoint

31

Курьер (тариф 1)

32

Курьер (тариф 2)

33

Курьер (тариф 3)

34

Курьер (тариф 4)

35

Самовывоз (тариф 1)

36

boxberry (до пункта выдачи)

37

СДЭК (посылка до пункта выдачи)

38

СДЭК (посылка курьером до двери)

39

Энергия (авто - до терминала)

40

Энергия (жд - до терминала)

41

Энергия (авиа - до терминала)

42

Энергия (морем - до терминала)

43

boxberry (курьером до двери)

44

DPD (classic - курьером до двери)

45

DPD (online express - курьером до двери)

46

DPD (online classic - до пункта выдачи)

47

DPD (online classic - курьером до двери)

48

ЖелДорЭкспедиция (до подъезда)

49

ПЭК (до подъезда)

51

Деловые линии (до подъезда)

52

Энергия (авто - до подъезда)

53

Энергия (жд - до подъезда)

54

Энергия (авиа - до подъезда)

55

Энергия (морем - до подъезда)

56

Самовывоз (тариф 2)

57

Самовывоз (тариф 3)

58

Самовывоз (тариф 4)

61

Почта России (посылка онлайн)

62

Почта России (курьер онлайн)

63

GTD (до терминала)

64

GTD (до подъезда)

65

СДЭК (магистральный/экономичный - до пункта выдачи)

66

СДЭК (магистральный/экономичный - курьером до двери)

68

Почта России (бандероль)

69

Почта России (мелкий пакет - наземная)

70

Почта России (мелкий пакет - авиа)

71

Почта России (мелкий пакет заказной - наземная)

72

Почта России (мелкий пакет заказной - авиа)

73

Почта России (посылка - наземная)

74

Почта России (посылка - авиа)

75

СДЭК (экономичная посылка - до пункта выдачи)

76

СДЭК (экономичная посылка - курьером до двери)

77

Почта России (бизнес курьер)



Компоненты для быстрого подключения


edost_class.php

- класс edost_class, содержит все необходимое для расчета доставки.



Файл edost_class.php упакован в архив edost_example.zip, который можно скачать в личном кабинете в настройках магазина.


Функциональные возможности edost_class:

1. Передача POST запроса на сервер eDost с данными для расчета доставки.
2. Получение ответа с результатами расчета в формате XML.
3. Разбор XML и внесение результатов в массив.


Для работы с сервером eDost в файле edost_class.php необходимо прописать константы:

EDOST_PSWD - пароль для доступа к серверу расчетов
EDOST_ID - идентификатор магазина


Пароль и идентификатор можно посмотреть в личном кабинете в настройках магазина.


function

edost_calc

(

$to_city

,

$weight

,

$strah

,

$lenght

,

$width

,

$height

) - функция расчета стоимости доставки

$to_city

- город или страна, куда неоходимо отправить посылку (название на русском языке в кодировке windows-1251)

$weight

- вес в кг

$strah

- сумма для страховки в рублях

$lenght

- длина посылки

$width

- ширина посылки

$height

- высота посылки


Результат функции выводится в массив:

result['

stat

'] - код результата запроса
result['

qty_company

'] - количество тарифов

Записи по каждому тарифу (N):

result['

id

'.N] - код тарифа
result['

price

'.N] - цена доставки в рублях
result['

day

'.N] - количество дней доставки
result['

strah

'.N] - код страхования (1 - рассчитано со страховкой, 0 - рассчитано БЕЗ страховки)
result['

company

'.N] - название компании
result['

name

'.N] - название тарифа



Примеры работы калькулятора доставки


edost_ru_example.html

Расчет по России с выбором города из выпадающего списка <select>

edost_ru_ajax_example.html

Расчет по России с автозаполнением города (с помощью библиотеки jQuery)

edost_example.html

Расчет по России и за рубеж с выбором города или страны из выпадающего списка <select>

edost_ajax_example.html

Расчет по России и за рубеж с автозаполнением города или страны (с помощью библиотеки jQuery)


Все примеры ссылаются на edost.php, который обработывает POST запрос и выводит результаты расчетов на экран.


edost.php использует edost_class.php для расчета доставки.


Все файлы, необходимые для запуска примеров, упакованы в архив edost_example.zip, который можно скачать в личном кабинете в настройках магазина.




Примеры расчетов с выбором города и страны из выпадающего списка <select>


Функция

FillToReg

и массивы

k

и

r

- служат для определения региона у города.
Они не обязательны для расчета, но, учитывая, что есть города с одинаковым названием, но из разных регионов, такая подсказка предостережет от неверного выбора города.
При выборе другой страны, регион будет обозначен: За рубеж.

Порядок запуска:

1. Скопируйте на свой сервер файлы:

edost_class.php
edost.php
edost_ru_example.html (или edost_example.html)

2. С помощью браузера зайдите на страницу edost_ru_example.html (или edost_example.html)

Выберете город или страну, заполните вес посылки и сумму страховки.

3. Нажмите кнопку Расчет.



Примеры расчетов с автозаполнением города и страны (с помощью библиотеки jQuery)


Массив

cit

- список городов России для автоподстановки.
Массив

cnt

- список городов России и стран для автоподстановки.
Функция

fillReg

и массивы

k

и

r

- служат для определения региона у города.

Порядок запуска:

1. Скопируйте на свой сервер файлы:

edost_class.php
edost.php
edost_ru_ajax_example.html (или edost_ajax_example.html)

2. Создайте на своем сервере поддиректорию js и скопируйте в нее файлы:

jquery-1.2.6.pack.js
jquery.ajaxQueue.js
jquery.autocomplete.pack.js
jquery.autocomplete.css
indicator.gif

3. С помощью браузера зайдите на страницу edost_ru_ajax_example.html (или edost_ajax_example.html)

Введите город (при вводе первых букв названия будет показан список доступных городов), заполните вес посылки и сумму страховки.

4. Нажмите кнопку Расчет.

info@edost.ru

© ООО "Айсден", 2006-2019. Все права защищены.