Описание API - Доброгост

Описание API

API Курьерской службы «Доброгост»
🌐 Базовый URL: http://95.79.41.15/sdd/hs/v2
🔐 Аутентификация
Все методы требуют базовой HTTP-аутентификации (логин/пароль). Некоторые методы дополнительно требуют передачу токена в теле запроса (параметр token или client).

📦 Основные методы

GET /pickup-points
Получить информацию о пунктах выдачи заказов.
📥 Ответ 200 (успех)
ПолеТипОписание
citystringНазвание города
fias_codestringКод ФИАС города
pick_up_pointstringНазвание ПВЗ в системе
latitude / longitudefloatКоординаты
how_to_getstringОписание как добраться
work_schedulestringРасписание работы
codestringИдентификатор ПВЗ
cash_pay / card_paybooleanОплата нал/картой в ПВЗ
prepaidbooleanВыдача предоплаченных
max_weight_one_placeintegerМакс. вес одного места (кг)
max_lengthintegerМакс. длина упаковки (см)
Пример фрагмента:
[ { "city": "Москва", "fias_code": "555e7d61-...", "code": "000000005", "cash_pay": true, ... } ]
GET /cities
Получить список городов, с признаками отправитель/получатель.
📥 Ответ 200
ПолеТипОписание
city_idstringИдентификатор города в системе
city_namestringНазвание
city_frombooleanМожно отправлять из города
city_tobooleanМожно доставлять в город
region / areastringОбласть / регион
fias_codestringКод ФИАС
GET /track-number/{track_number}
История изменения статуса заказа по трек-номеру.
🔹 Параметры пути
ПараметрТипОписание
track_numberstringИдентификатор заказа в системе (обязательный)
📥 Ответ 200
ПолеТипОписание
statusenumНовый, Принят, Доставляется, Выполнен, Выполнен с полным/частичным возвратом
datestring (ISO)Дата изменения статуса
city_from / city_tostringГород отправитель/получатель
clientstringНаименование отправителя
POST /delivery-cost-courier
Рассчитать стоимость курьерской доставки.
🔹 Тело запроса (JSON)
ПолеТипОписание
tokenstringТокен доступа (обязательно)
id_citystringID города или "Название, Область"
weightintegerВес, кг (по умолч. 1)
cod_amountintegerНаложенный платеж, руб (по умолч. 0)
📥 Ответ 200
ПолеТипОписание
shipping_pricefloatСтоимость доставки
weight_from / weight_tofloatДиапазон веса для тарифа
delivery_periodintegerСрок доставки (дни)
POST /delivery-cost-pickup-point
Рассчитать стоимость доставки в пункты выдачи (с детальной информацией по ПВЗ).
🔹 Тело запроса
ПолеТипОписание
tokenstringТокен
id_citystringID или название города
weightintegerвес
cod_amountintegerнал. платеж
📥 Ответ: массив объектов ПВЗ + цена
ПолеТипОписание
city, id_citystringГород и его ID
pick_up_pointstringНазвание ПВЗ
shipping_pricefloatЦена доставки в этот ПВЗ
weight_from/tofloatДиапазон веса
delivery_periodintegerСрок
latitude, longitudefloatКоординаты
how_to_getstringКак добраться
work_schedulestringРасписание
codestringКод ПВЗ
cash_pay, card_pay, prepaidbooleanФлаги оплаты
max_weight_one_place, max_lengthintОграничения
POST /order
Добавить или обновить доставку (метод JSON-RPC 2.0).
🔹 Запрос (JSON-RPC)
ПолеТипОписание
jsonrpcstring"2.0"
idstringИдентификатор запроса
methodstringвсегда "addUpdateOrders"
params.clientstringТокен для API
params.orders[]arrayМассив заказов (объекты)
🔹 Поля объекта order (params.orders[0])
ПолеТипОписание / пример
order_idstringУникальный номер заказа (обяз.)
city_from, city_tostringКод или название города
region_tostringРегион получателя
delivery_datestring"2021-05-05"
delivery_addressstringАдрес доставки
delivery_time_from/tointegerИнтервал времени (часы)
pickup_placestringКод или название ПВЗ
cod_amountintegerНаложенный платеж
insurance_amountintegerСтраховая сумма
recipient_name, recipient_phone, recipient_emailstringФИО, телефон (обяз.), email
commentstringКомментарий
partial_allowed0/1Частичный выкуп (по ум. 0)
without_receipt0/1Чек не нужен (0/1)
cfd_amountintegerСумма доставки для получателя
reset_cfd_thresholdintegerПорог бесплатной доставки
cfd_required0/1Оплата доставки при отказе
discount_amountintegerСкидка
enable_discount_thresholdstringМин. сумма для скидки
order_barcodestringШтрихкод (или генерируется)
quantity_placeintegerКол-во мест (по ум. 1)
zabor0/1Забор (а не доставка)
is_tarificated_sms0/1SMS-уведомление
phone_smsstringТелефон для SMS
approval_date0/1Согласование даты
admission_to_the_pvz0/1Оповещение о поступлении в ПВЗ
sitestringСайт (max 100)
payment_cards_allowed0/1Оплата картами разрешена
🔹 Товарная позиция (items[])
ПолеТипОписание
vendor_codestringАртикул (обяз.)
namestringНаименование (обяз. при создании)
countintegerКоличество (обяз.)
pricefloatЦена за ед.
nds0,10,18,20Ставка НДС
item_barcodestringШтрихкод товара
📥 Ответ 200
ПолеТипОписание
jsonrpcstring"2.0"
result[].orderstringВаш номер заказа (order_id)
result[].barcodestringШтрихкод/ID в системе Доброгост
idstringЭхо id запроса
Пример ответа: {"jsonrpc":"2.0","result":[{"order":"MyUniqueID123","barcode":"SDD00000002458"}],"id":"1"}

⚠️ Ошибки

Все методы могут возвращать объект error в том же формате:

messagestringописание ошибки
codeintegerкод ошибки (например 405)
{"error": {"message": "Method Not Allowed", "code": 405}}