API 4biz.ru

advertisement
Описание API 4biz.ru
Оглавление
Оглавление .................................................................................................................................................................................................................................................... 1
API 4biz.ru ..................................................................................................................................................................................................................................................... 1
Аутентификация ...................................................................................................................................................................................................................................... 1
Получить статусы, тарифы и пр. для списка заказов ........................................................................................................................................................................... 2
Трекинг заказа .......................................................................................................................................................................................................................................... 4
Добавить новый заказ.............................................................................................................................................................................................................................. 5
Отгрузка партии заказов ......................................................................................................................................................................................................................... 8
Получить тарифы для заказа .................................................................................................................................................................................................................. 9
Получить список регионов ................................................................................................................................................................................................................... 12
Получить список станций метро .......................................................................................................................................................................................................... 13
Получить список удаленных точек ...................................................................................................................................................................................................... 14
Сообщения об ошибках......................................................................................................................................................................................................................... 16
«Живая документация».............................................................................................................................................................................................................................. 16
API 4biz.ru
URL тестового интерфейса: https://4biz.ru:3000
Начальная часть URL для запросов: https://4biz.ru/cgi-bin/api/
Аутентификация
Аутентификация осуществляется по трём значениям:
 email (e-mail адрес, зарегистрированный в личном кабинете);
 salt (произвольная строка);
 sig (персональный ключ API).
В целях аутентификации эти значения присоединяются к запросам API в следующем виде (пример запроса тарифов):
4biz.ru/cgi-bin/api/order/tarif?email=test%40example.org&salt=qwerty&sig=295971c4e9964ae86d69bf370c1ff90f
Получить статусы, тарифы и пр. для списка заказов
URL: order/status
Тип запроса: GET
Параметр
orders_foid
Пример значения
18889009,1881058
Тип
строка
Формат ответа:
<?xml version="1.0" encoding="utf-8"?>
<response>
<orders>
<order>
<actweight>0.084</actweight>
<rates>
<rate>
<value>220</value>
<name>Доставка</name>
<id>cl_delivery</id>
</rate>
<rate>
<value>10</value>
<name>Ручная обработка упаковок заказа</name>
<id>cl_handling</id>
</rate>
<rate>
<value>13.26</value>
<name>Кассовое обслуживание</name>
<id>cl_cash</id>
</rate>
</rates>
<status>100</status>
<txt_status>доставлен получателю</txt_status>
<oid>358819</oid>
<ndreason>0</ndreason>
<batchid>18639</batchid>
<rbatchid>20</rbatchid>
<orderno>10107</orderno>
</order>
</orders>
</response>
Расположение Описание
GET-запрос
Идентификаторы заказов у клиента (можно указывать
несколько идентификаторов через запятую)
Поле
Описание
actweight Фактический вес
value
Стоимость
name
Название тарифа
строка
id
Идентификатор тарифа
строка1
Статус заказа
0 — новый/редактируется; 10 — отгружен отправителем; 20 — принят на склад 4biz.ru; 30 — ожидает повторной
доставки; 40 — выдан курьеру / отправлен в ПВЗ/КС; 70 — находится в ПВЗ/КС; 100 — доставлен получателю;
180 — ожидает возврата из ПВЗ/КС на склад 4biz.ru; 190 — возвращается из ПВЗ/КС на склад 4biz.ru; 200 —
ожидает возврата отправителю; 205 — возвращается/возвращён отправителю
текст
status
txt_status Текстовое описание
статуса заказа
oid
Идентификатор заказа в
4biz.ru
ndreason Причина недоставки
(только для курьерской
доставки)
batched
Идентификатор партии
заказов
rbatchid
Идентификатор партии
возвращаемых заказов
orderno
Идентификатор заказа у
клиента
1
число
набор тарифов, применяемых для заказа
если возвращается пустое поле, то это означает, что расчет тарифов ещё не завершён
число
rates
Тарифы
Формат, возможные значения
число
10 — по вине получателя; 20 — по вине курьера; 30 — по вине 4biz.ru
число
число
число
Перечень применяемых тарифов:
 Для заказов с курьерской доставкой по Москве и Московской области:
o cl_delivery — доставка;
o cl_call — call-центр: согласование доставки;
o cl_return — возврат заказа клиенту;
o cl_handling — ручная обработка упаковок заказа;
o cl_cash — кассовое обслуживание;
o cltt_sum — итоговая сумма.
 Для заказов, доставляемых через пункты выдачи заказов и региональные курьерские службы:
o
o
o
o
o
o
o
o
cl_freight — доставка до ПВЗ/КС;
cl_call — call-центр: оповещение о поступлении заказа в ПВЗ;
cl_return — комиссия за возврат из ПВЗ/КС;
cl_sms — SMS-оповещение;
cl_handling — ручная обработка упаковок заказа;
cl_fd — выдача заказа;
cl_cash — кассовое обслуживание;
cltt_sum — итоговая сумма.
Трекинг заказа
URL: order/track
Тип запроса: GET
Запрос используется в случае курьерской доставки для получения списка попыток доставки.
Если для заказа выбран другой вид доставки, то возвращается пустой ответ.
Параметр
orders_foid
Пример значения
18889009
Тип
строка (до 32 символов)
Расположение
GET-запрос
Описание
Идентификатор заказа в
4biz.ru
Формат ответа:
<?xml version="1.0" encoding="utf-8"?>
<response>
<deliveries>
<delivery>
<product_type>100</product_type>
<issue_date>0</issue_date>
<date>2015-01-17 11:57:10</date>
<txt_status>доставлен</txt_status>
<alt_title>0</alt_title>
</delivery>
</deliveries>
</response>
Поле
Описание
product_type Статус события доставки
Формат, возможные значения
0 — не определён; 10 — заказ выдан курьеру; 20 — курьер выехал; 100 — заказ доставлен; 110 —
заказ не доставлен
issue_date
Решение
40 — перенос доставки; 200 — возврат клиенту; 250 — решение не принято
date
Дата и время
строка в виде «2015-01-17 11:57:10»
txt_status
Текстовое описание статуса строка
alt_title
Причина недоставки
10 — по вине получателя; 20 — по вине курьера; 25 — отмена доставки; 30 — по нашей вине
Добавить новый заказ
URL: order/add
Тип запроса: POST
Заголовок запроса
Content-Type
Пример значения
application/xml
Пример тела запроса:
<?xml version="1.0" encoding="UTF-8"?>
<request version="1">
<orders>
<order
overwrite="0"
orderno="2"
ean13="1234567890123"
itemcount="5"
width="23"
height="111"
length="20"
volume="24"
estcost="600"
codcost="600"
paytype="1"
rcptype="2"
rgnid="3"
datefrom="2016-01-23"
dateto="2016-01-25"
timefrom="13:00:00"
timeto="18:00:00"
callinit="cst"
Тип
строка
Описание
MIME-тип запроса
weight="4"
name="Тест"
metro="2"
street="Тверская"
house="3 кор 1"
building="C"
suite="-"
phone="8(499)123445"
smsphone="4951234567"
addrcomment=""
courcomment=""
anotify="0"
clientcall="9-21"
/>
</orders>
</request>
В следующей таблице приводится перечень полей, доступных для заполнения при загрузке заказов через API:
№ п/п
1
Поле
orderno
Номер заказа
Описание
2
3
4
5
6
7
8
ean13
itemcount
width
height
length
volume
estcost
Штрих-код EAN-13
Количество мест
Ширина, мм
Высота, мм
Длина, мм
Объём, мм3
Оценочная стоимость, руб.*
9
codcost
Наложенный платёж, руб.*
10
paytype
Способ оплаты
11
rcptype
Тип получателя
Формат, возможные значения
строка5, до 10 символов
класса 0-9A-Za-zА-Яа-я/\_=+строка вида «1234567890123»
целое число
целое число
целое число
целое число
целое число
число вида «1.12» (до двух знаков
после точки, разделитель – точка
или запятая)
число вида «1.12» (до двух знаков
после точки, разделитель – точка
или запятая)
1 – наложенный платёж, 2 –
предоплата
1 – физическое лицо, 2 –
юридическое лицо, 3 –
индивидуальный предприниматель
I
++
II
++
III
++
+
++
+
+
+
+
++
+
++
+
+
+
+
++
+
++
+
+
+
+
++
+**
+**
+**
++
++
++
++
++
++
12
13
rgnid
datefrom
14
dateto
15
16
timefrom
timeto
Идентификатор региона
Дата, начиная с которой можно
доставлять
Дата, до которой (включительно)
нужно доставить
Начало интервала доставки
Конец интервала доставки
17
weight
Вес, кг
18
19
20
21
22
23
24
name
metro
street
house
building
suite
phone
Ф.И.О. или наименование получателя
Идентификатор станции метро
Улица
Дом/владение
Корпус/строение
Квартира/офис
Телефон
25
26
27
28
29
smsphone
addrcomment
courcomment
rpid
anotify
Телефон для SMS-оповещения***
Комментарий к адресу
Комментарий для курьера
Идентификатор удалённой точки
Оповещение о поступлении в ПВЗ
оператором call-центра
30
overwrite
31
callinit
Флаг, разрешающий обновление
данных для ранее добавленного
заказа
Согласование доставки
32
clientcall
Временной интервал, когда оператор
может позвонить по указанным
телефонам, часы (местное время)
целое число
дата (макс. допустимое значение:
текущая дата + месяц)
дата (мин. допустимое значение:
текущая дата + день)
HH:MM (не менее «09:00»)
HH:MM (не более «21:00»;
минимальный интервал времени
доставки – 4 часа)
число вида «1.123» (до трёх знаков
после точки, разделитель – точка
или запятая)
строка
целое число
строка
строка
строка
строка
текст (пример: «8 (000) 0000000,
доб. 000»)
10 цифр; только РФ
текст
текст
целое число
0 — не требуется (по умолчанию);
1 — требуется, если не доставлено
SMS; 2 — требуется независимо от
доставки SMS
0 – обновление данных запрещено;
1 – обновление данных разрешено
++
++
–
–
–
–
++
–
–
++
++
–
–
–
–
++
++
++
++
++
++
++
+
+
++
++
–
–
–
–
–
+4
++
–
++
++
+
+
++
+
+
+
–
–
+
–
–
++
+
+
+
+
++
–
+
+
+
строка «cst» — требуется
согласование доставки
строка вида «9-21» (интервал не
может быть больше интервала
«9-21»)
+
–
–6
+
+
+
Примечания:
Номера по порядку приведены для столбцов загружаемого файла, в которых должны быть записаны соответствующие значения (например, номер заказа
должен быть записан в первом столбце).
I — заказы с курьерской доставкой по Москве и Московской области.
II — заказы, выдаваемые в пунктах выдачи заказов.
III — заказы с курьерской доставкой в другие регионы.
Использование полей:
++
— является обязательным;
+
— используется;
–
— не используется.
* для заказов с предоплатой наложенный платёж должен быть равен нулю; для заказов с наложенным платежом оценочная стоимость должна быть равна
наложенному платежу.
** поле становится обязательным, если в качестве способа оплаты выбран наложенный платёж.
*** заполнение поля «Телефон для SMS-оповещения» означает заказ такой услуги (для соответствующего заказа).
4
поле «Телефон» становится обязательным в случае подключения услуги «Оповещение о поступлении в ПВЗ оператором call-центра».
5
если требуется использование номеров, не соответствующих указанным ограничениям, просим связаться с сотрудниками технической поддержки.
6
для заказов с курьерской доставкой в другие регионы доставка согласовывается всегда (после поступления заказа в УТ) и не является отдельной платной
услугой.
Формат ответа:
<?xml version="1.0" encoding="utf-8"?>
<response>
<added>1</added>
<updated>0</updated>
</response>
Поле
added
Описание
Формат, возможные значения
Количество добавленных заказов число
updated Количество обновлённых заказов число
Отгрузка партии заказов
URL: order/batch
Тип запроса: POST
Заголовок запроса
Content-Type
Пример значения
application/xml
Тип
строка
Описание
MIME-тип запроса
Пример тела запроса:
<?xml version="1.0" encoding="UTF-8"?>
<request version="1">
<orders>
<order orderno="222"/>
<order orderno="333"/>
</orders>
</request>
Поле
Описание
Формат, возможные значения
orderno Идентификатор заказа у клиента строка (до 32 символов)
Формат ответа:
<?xml version="1.0" encoding="utf-8"?>
<response>
<batch_id>16202</batch_id>
</response>
Поле
Описание
Формат, возможные значения
batch_id Идентификатор партии заказов число
Получить тарифы для заказа
URL: order/tarif
Тип запроса: POST
Запрос используется для расчёта тарифов для произвольного заказа (тарифный калькулятор).
Заголовок запроса
Content-Type
Пример значения
application/xml
Тип
строка
Описание
MIME-тип запроса
Пример тела запроса:
<?xml version="1.0" encoding="UTF-8"?>
<request version="1">
<orders>
<order
type="2"
ean13="1"
itemcount="5"
codcost="500.5"
paytype="1"
weight="4"
callinit="cst"
rpid="1701"
pvz_call="1"
pvz_sms="1"
plan="500"
/>
</orders>
</request>
Поле
Описание
type
Тип заказа
ean13
itemcount
На упаковках есть штрих-код, и соответствующий
ему код EAN-13 передаётся в параметрах заказа
Количество мест
codcost
Наложенный платёж, руб.
paytype
Формат, возможные значения
1 — Курьерская доставка по Москве и МО, 2 — Пункт выдачи
заказов, 3 – Курьерская доставка в другие регионы
0 — нет штрих-кода; 1 — есть штрих-код
Обязательное
поле
да
да
целое число
да1
да2
Способ оплаты
число вида «1.12» (до двух знаков после точки, разделитель –
точка или запятая)
1 — наличный расчёт, 2 — предоплата
rgnid
Идентификатор региона
целое число
да3
weight
Вес, кг
да
callinit
Согласование доставки
rpid
Идентификатор удалённой точки
число вида «1.123» (до трёх знаков после точки, разделитель –
точка или запятая)
«cst» — используется услуга «Call-центр: согласование
доставки»
целое число
да
нет
нет
pvz_sms
Оповещение по SMS о поступлении заказа в ПВЗ
0 — не используется; 1 — используется
да
pvz_call
Оповещение через call-центр о поступлении заказа
в ПВЗ
Тарифный план:
 до 200 заказов в месяц;
 до 500 заказов в месяц;
 до 1000 заказов в месяц;
 до 5000 заказов в месяц;
 5000 и более заказов в месяц.
0 — не используется; 1 — используется
да
соответствующие возможные значения:
 0;
 500;
 1000;
 5000;
 10000
нет4
plan
Примечания:
1
если на упаковках есть штрих-код, то достаточно указать itemcount="1"
2
используется только для способа оплаты «наличный расчёт».
3
используется только для типа заказа «Курьерская доставка по Москве и МО».
4
по умолчанию используется текущий тарифный план зарегистрированного пользователя.
Используемые при расчёте тарифов параметры по типам заказов:
Курьерская доставка по Москве и МО
Пункт выдачи заказов
type
type
rgnid
rpid
paytype
paytype
codcost
codcost
ean13
ean13
itemcount
itemcount
weight
weight
callinit
pvz_sms
plan
pvz_call
plan
Формат ответа:
<?xml version="1.0" encoding="utf-8"?>
<response>
<rates>
<rate>
<value>260</value>
<name>Доставка до ПВЗ/КС</name>
Курьерская доставка в другие регионы
type
rpid
paytype
codcost
ean13
itemcount
weight
plan
<id>cl_freight</id>
</rate>
<rate>
<value>7.51</value>
<name>Кассовое обслуживание</name>
<id>cl_cash</id>
</rate>
<rate>
<value>50</value>
<name>Ручная обработка упаковок заказа</name>
<id>cl_handling</id>
</rate>
<rate>
<value>120</value>
<name>Выдача заказа</name>
<id>cl_fd</id>
</rate>
</rates>
</response>
Поле
Описание
Формат, возможные значения
Тарифы
набор тарифов, применяемых для заказа
value
Стоимость
число
name
Название тарифа
строка
id
Идентификатор тарифа
строка1
rates
Получить список регионов
URL: dir/regions
Тип запроса: GET
Запрос используется для получения значения идентификатора региона.
Получаемые идентификаторы могут использоваться при добавлении заказов с курьерской доставкой (Добавить новый заказ) и для дополнительной
фильтрации списка удаленных точек (Получить список удаленных точек).
Формат ответа:
<?xml version="1.0" encoding="utf-8"?>
<response>
<regions>
<region>
<name>Агинский Бурятский округ</name>
<id>201</id>
</region>
<region>
<name>Адыгея респ.</name>
<id>202</id>
</region>
......
</regions>
</response>
Поле
Описание
Формат, возможные значения
name
Наименование региона
id
Идентификатор региона число
строка
Получить список станций метро
Используется только для курьерской доставки по Москве и ближнему Подмосковью.
URL: dir/metro
Тип запроса: GET
Формат ответа:
<?xml version="1.0" encoding="utf-8"?>
<response>
<metro>
<station>
<name>Авиамоторная</name>
<id>82</id>
</station>
<station>
<name>Автозаводская</name>
<id>29</id>
</station>
.......
</metro>
</response>
Поле
Описание
Формат, возможные значения
name
Наименование станции
id
Идентификатор станции число
строка
Получить список удаленных точек
Используется только для заказов, выдаваемых в ПВЗ / доставляемых дополнительными курьерскими службами.
URL: dir/rpoints
Тип запроса: GET
Параметры:
Поле
Описание
Формат, возможные значения
region_id Идентификатор региона, для которого нужно
получить перечень удаленных точек
число; для получения полного перечня
используется пустое значение
Обязательное поле
нет
Формат ответа:
<?xml version="1.0" encoding="utf-8"?>
<response>
<rpoints>
<rpoint>
<rate_9>0</rate_9>
<max_pay>-1</max_pay>
<point_name>Казань, ул. Карима Тинчурина</point_name>
<point_suspended>1</point_suspended>
<delivery_ndays_txt>3-7 рабочих дней</delivery_ndays_txt>
<rate_13>120</rate_13>
<region_id>269</region_id>
<rate_16>0</rate_16>
<rate_12>30.00</rate_12>
<legal>ООО "Компания Постмастер"</legal>
<id>1030</id>
<address>г. Казань, ул. Карима Тинчурина, д. 9. Пункт выдачи заказов находится в офисе компании "Постмастер", который
расположен в центральной части города в 15 минутах пешком от самого центра - супермаркета "Кольцо", от метро "площадь Тукая" и от
железнодорожного вокзала, в торговом центре "Флагман".
До офиса можно доехать на общественном транспорте до остановки "Карима Тинчурина":
- трамвай: № 7,
- троллейбусы: № 20, 21,
- автобусы: № 1, 6, 8, 31, 53, 71, 85, 99, 99А.
Телефон: 8 (843) 262-44-99.</address>
<rate_15>0</rate_15>
<delivery_weekdays>Вт,Чт</delivery_weekdays>
<rate_14>60</rate_14>
<rate_10>0</rate_10>
<point_type>0</point_type>
<working>понедельник - пятница: 9:00-20:00,
суббота: 9:00-19:00
воскресенье: выходной день.</working>
<storage_days>15</storage_days>
<extra_info/>
<reserve_rpoint_id>0</reserve_rpoint_id>
<delivery_ndays>7</delivery_ndays>
</rpoint>
..........
</rpoints>
</response>
Поле
Описание
Формат, возможные значения
max_pay
Максимальная сумма, при которой разрешается использование наличного расчета
point_name
Название удалённой точки
-1 - без ограничений; 0 - всегда требуется
предоплата
текст
point_type
Тип точки
0 - пункт выдачи заказов; 1 - курьерская служба
point_suspended
Состояние удалённой точки
0 - работает; 1 - не работает
delivery_ndays_txt Ориентировочный срок доставки до точки
строка вида «1 рабочий день», «2-3 рабочих
дня»
текст
working
График работы
storage_days
число
region_id
Срок хранения, календарных дней; для курьерской службы - максимальный срок
согласования доставки
Идентификатор региона
reserve_rpoint_id
Идентификатор точки, которая должна использоваться после закрытия этой
число
extra_info
Дополнительная информация
текст
delivery_ndays
Ориентировочный срок доставки до пункта выдачи / курьерской службы
число
число
legal
Наименование юр. лица / ИП
текст
id
Идентификатор удалённой точки
целое число
address
Адрес
текст
delivery_weekdays Дни отгрузки заказов
набор значений: 'Пн','Вт','Ср','Чт','Пт','Сб','Вс'
rate_9
Количество килограммов, сверх которых применяется доп. тариф за выдачу/возврат
целое число
rate_10
Шаг для дополнительного тарифа за выдачу/возврат, кг
целое число
rate_12
Стоимость доставки/возврата за каждый полный и неполный кг, руб.
десятичное число
rate_13
Базовая стоимость выдачи, руб.
целое число
rate_14
Базовая стоимость возврата, руб.
целое число
rate_15
целое число
lat
Дополнительный тариф за выдачу, руб. (за каждые полные и неполные [rate_10] кг
сверх [rate_9] кг)
Дополнительный тариф за возврат, руб. (за каждые полные и неполные [rate_10] кг
сверх [rate_9] кг)
Широта удалённой точки
long
Долгота удалённой точки
десятичное число
rate_16
целое число
десятичное число
Сообщения об ошибках
Формат сообщения об ошибке:
<?xml version="1.0" encoding="utf-8"?>
<response><errordata/><error>1007</error><errortext>Заказа с таким идентификатором не существует</errortext></response>
Поле
Описание
Формат, возможные значения
errordata Код ошибки, возвращаемый данным API в параметре «error». число
errortext
Текстовое описание ошибки.
«Живая документация»
http://4biz.ru:3000/4biz
строка
В интерфейсе "живой документации" API можно не только увидеть список всех методов и параметров, которые доступны, но также и выполнить сами
запросы непосредственно к API.
Предварительно в верхней панели "API Credentials" следует указать данные авторизации:
 Login: e-mail адрес, зарегистрированный в личном кабинете (отображается в правой части личного кабинета под надписью "ВЫ ВОШЛИ КАК");
 API Salt: произвольная строка;
Secret key: можно получить в личном кабинете в разделе "Ключ API".
Download