Службы доставки

Официальные интеграции Почты России, ПЭК, Деловых Линий и Major Express: требования к расчёту.

GET /v1/carriers

Возвращает список перевозчиков с кодом, названием и состоянием. Метод бесплатный, требует Bearer-ключ и учитывается в ограничении частоты.

{
  "carriers": [
    {"code": "pek", "name": "ПЭК", "status": "available"}
  ]
}

Пример структуры. Состав списка и состояние зависят от конфигурации и последних проверок.

cURLПример запроса
curl --fail-with-body https://api.dostavometr.ru/v1/carriers \
  -H "Authorization: Bearer $DOSTAVOMETR_API_KEY"
PythonПример запроса
import json
import os
import urllib.request

request = urllib.request.Request(
    "https://api.dostavometr.ru/v1/carriers",
    headers={
        "Authorization": "Bearer " + os.environ["DOSTAVOMETR_API_KEY"],
    },
)
with urllib.request.urlopen(request, timeout=30) as response:
    print(json.load(response))
PHPПример запроса
<?php
$key = getenv('DOSTAVOMETR_API_KEY');
if (!$key) { throw new RuntimeException('Set DOSTAVOMETR_API_KEY'); }
$ch = curl_init('https://api.dostavometr.ru/v1/carriers');
$options = [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $key, 'Content-Type: application/json'],
];
curl_setopt_array($ch, $options);
$body = curl_exec($ch);
if ($body === false) { throw new RuntimeException(curl_error($ch)); }
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($status >= 400) { throw new RuntimeException($body); }
print_r(json_decode($body, true, 512, JSON_THROW_ON_ERROR));
JavaScriptПример запроса
// Node.js 20+; запускайте на сервере, чтобы не раскрыть API-ключ.
const apiKey = process.env.DOSTAVOMETR_API_KEY;
if (!apiKey) throw new Error('Set DOSTAVOMETR_API_KEY');
const response = await fetch('https://api.dostavometr.ru/v1/carriers', {
  headers: {
    Authorization: `Bearer ${apiKey}`,
    'Content-Type': 'application/json',
  },
  signal: AbortSignal.timeout(30000),
});
const result = await response.json();
if (!response.ok) throw new Error(JSON.stringify(result));
console.log(result);

Коды и особенности

КодСлужбаДанные
russian_postПочта РоссииИндексы, вес в граммах, габариты
pekПЭКГорода, вес и габариты
dellinДеловые ЛинииГорода, вес и габариты; настроенный ключ сервиса
majorMajor ExpressГорода из справочника, вес, габариты и положительная declared_value_kopecks

Если carriers не указан, расчёт идёт всеми активными службами. Для выбора передайте, например, "carriers": ["russian_post", "pek"]. Поле требует непустой список уникальных зарегистрированных кодов.

Доступность и публичный тариф

Доставометр использует официальные API. Персональные условия вашего договора с перевозчиком в публичный тариф не входят. Статус перевозчика помогает оценить доступность, но ответ конкретного расчёта может отличаться.

Оформление отправления, упаковку и дополнительные услуги уточняйте у перевозчика.