🌐 Базовый URL: http://95.79.41.15/sdd/hs/v2
🔐 Аутентификация
Все методы требуют базовой HTTP-аутентификации (логин/пароль). Некоторые методы дополнительно требуют передачу токена в теле запроса (параметр
Все методы требуют базовой HTTP-аутентификации (логин/пароль). Некоторые методы дополнительно требуют передачу токена в теле запроса (параметр
token или client).
📦 Основные методы
GET
/pickup-points
Получить информацию о пунктах выдачи заказов.
📥 Ответ 200 (успех)
| Поле | Тип | Описание |
|---|---|---|
| city | string | Название города |
| fias_code | string | Код ФИАС города |
| pick_up_point | string | Название ПВЗ в системе |
| latitude / longitude | float | Координаты |
| how_to_get | string | Описание как добраться |
| work_schedule | string | Расписание работы |
| code | string | Идентификатор ПВЗ |
| cash_pay / card_pay | boolean | Оплата нал/картой в ПВЗ |
| prepaid | boolean | Выдача предоплаченных |
| max_weight_one_place | integer | Макс. вес одного места (кг) |
| max_length | integer | Макс. длина упаковки (см) |
Пример фрагмента:
[ { "city": "Москва", "fias_code": "555e7d61-...", "code": "000000005", "cash_pay": true, ... } ]
[ { "city": "Москва", "fias_code": "555e7d61-...", "code": "000000005", "cash_pay": true, ... } ]
GET
/cities
Получить список городов, с признаками отправитель/получатель.
📥 Ответ 200
| Поле | Тип | Описание |
|---|---|---|
| city_id | string | Идентификатор города в системе |
| city_name | string | Название |
| city_from | boolean | Можно отправлять из города |
| city_to | boolean | Можно доставлять в город |
| region / area | string | Область / регион |
| fias_code | string | Код ФИАС |
GET
/track-number/{track_number}
История изменения статуса заказа по трек-номеру.
🔹 Параметры пути
| Параметр | Тип | Описание |
|---|---|---|
| track_number | string | Идентификатор заказа в системе (обязательный) |
📥 Ответ 200
| Поле | Тип | Описание |
|---|---|---|
| status | enum | Новый, Принят, Доставляется, Выполнен, Выполнен с полным/частичным возвратом |
| date | string (ISO) | Дата изменения статуса |
| city_from / city_to | string | Город отправитель/получатель |
| client | string | Наименование отправителя |
POST
/delivery-cost-courier
Рассчитать стоимость курьерской доставки.
🔹 Тело запроса (JSON)
| Поле | Тип | Описание |
|---|---|---|
| token | string | Токен доступа (обязательно) |
| id_city | string | ID города или "Название, Область" |
| weight | integer | Вес, кг (по умолч. 1) |
| cod_amount | integer | Наложенный платеж, руб (по умолч. 0) |
📥 Ответ 200
| Поле | Тип | Описание |
|---|---|---|
| shipping_price | float | Стоимость доставки |
| weight_from / weight_to | float | Диапазон веса для тарифа |
| delivery_period | integer | Срок доставки (дни) |
POST
/delivery-cost-pickup-point
Рассчитать стоимость доставки в пункты выдачи (с детальной информацией по ПВЗ).
🔹 Тело запроса
| Поле | Тип | Описание |
|---|---|---|
| token | string | Токен |
| id_city | string | ID или название города |
| weight | integer | вес |
| cod_amount | integer | нал. платеж |
📥 Ответ: массив объектов ПВЗ + цена
| Поле | Тип | Описание |
|---|---|---|
| city, id_city | string | Город и его ID |
| pick_up_point | string | Название ПВЗ |
| shipping_price | float | Цена доставки в этот ПВЗ |
| weight_from/to | float | Диапазон веса |
| delivery_period | integer | Срок |
| latitude, longitude | float | Координаты |
| how_to_get | string | Как добраться |
| work_schedule | string | Расписание |
| code | string | Код ПВЗ |
| cash_pay, card_pay, prepaid | boolean | Флаги оплаты |
| max_weight_one_place, max_length | int | Ограничения |
POST
/order
Добавить или обновить доставку (метод JSON-RPC 2.0).
🔹 Запрос (JSON-RPC)
| Поле | Тип | Описание |
|---|---|---|
| jsonrpc | string | "2.0" |
| id | string | Идентификатор запроса |
| method | string | всегда "addUpdateOrders" |
| params.client | string | Токен для API |
| params.orders[] | array | Массив заказов (объекты) |
🔹 Поля объекта order (params.orders[0])
| Поле | Тип | Описание / пример |
|---|---|---|
| order_id | string | Уникальный номер заказа (обяз.) |
| city_from, city_to | string | Код или название города |
| region_to | string | Регион получателя |
| delivery_date | string | "2021-05-05" |
| delivery_address | string | Адрес доставки |
| delivery_time_from/to | integer | Интервал времени (часы) |
| pickup_place | string | Код или название ПВЗ |
| cod_amount | integer | Наложенный платеж |
| insurance_amount | integer | Страховая сумма |
| recipient_name, recipient_phone, recipient_email | string | ФИО, телефон (обяз.), email |
| comment | string | Комментарий |
| partial_allowed | 0/1 | Частичный выкуп (по ум. 0) |
| without_receipt | 0/1 | Чек не нужен (0/1) |
| cfd_amount | integer | Сумма доставки для получателя |
| reset_cfd_threshold | integer | Порог бесплатной доставки |
| cfd_required | 0/1 | Оплата доставки при отказе |
| discount_amount | integer | Скидка |
| enable_discount_threshold | string | Мин. сумма для скидки |
| order_barcode | string | Штрихкод (или генерируется) |
| quantity_place | integer | Кол-во мест (по ум. 1) |
| zabor | 0/1 | Забор (а не доставка) |
| is_tarificated_sms | 0/1 | SMS-уведомление |
| phone_sms | string | Телефон для SMS |
| approval_date | 0/1 | Согласование даты |
| admission_to_the_pvz | 0/1 | Оповещение о поступлении в ПВЗ |
| site | string | Сайт (max 100) |
| payment_cards_allowed | 0/1 | Оплата картами разрешена |
🔹 Товарная позиция (items[])
| Поле | Тип | Описание |
|---|---|---|
| vendor_code | string | Артикул (обяз.) |
| name | string | Наименование (обяз. при создании) |
| count | integer | Количество (обяз.) |
| price | float | Цена за ед. |
| nds | 0,10,18,20 | Ставка НДС |
| item_barcode | string | Штрихкод товара |
📥 Ответ 200
| Поле | Тип | Описание |
|---|---|---|
| jsonrpc | string | "2.0" |
| result[].order | string | Ваш номер заказа (order_id) |
| result[].barcode | string | Штрихкод/ID в системе Доброгост |
| id | string | Эхо id запроса |
Пример ответа: {"jsonrpc":"2.0","result":[{"order":"MyUniqueID123","barcode":"SDD00000002458"}],"id":"1"}
⚠️ Ошибки
Все методы могут возвращать объект error в том же формате:
| message | string | описание ошибки |
| code | integer | код ошибки (например 405) |
{"error": {"message": "Method Not Allowed", "code": 405}}

