Первый расчёт доставки: от API-ключа до тарифа

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

Начните с минимального запроса

Для расчёта нужны адреса отправления и получения, вес и размеры посылки. Используйте города в полном написании и шестизначные индексы: это снижает неоднозначность и позволяет запросить Почту России.

Сначала создайте аккаунт, подтвердите email и сохраните API-ключ на сервере. Полный секрет показывается только при создании; в исходном коде браузера его быть не должно.

Проверьте единицы измерения

Вес передаётся в граммах, а размеры — в сантиметрах. Посылка весом один килограмм имеет weight_grams: 1000. Заявленная стоимость и цены тарифов выражаются в копейках.

Почему деньги — целые числа

Если price_kopecks равен 48700, цена составляет 487 рублей. Делите на 100 только для отображения. При сортировке, сравнении и хранении оставляйте исходное целое число: это исключает ошибки представления дробей.

Читайте весь ответ

Массив rates содержит варианты услуг, а не просто один ответ на перевозчика. Одна служба может вернуть несколько тарифов. В unavailable указаны службы, которые не дали тариф по текущему запросу.

Срок не всегда известен

days_min и days_max могут отсутствовать как числовые значения и быть null. Не превращайте их в «0 дней». Вместо этого покажите, что срок нужно уточнить у перевозчика.

Подготовьтесь к первому сбою

Проверяйте HTTP-статус до чтения rates. Сохраняйте X-Request-ID и используйте один Idempotency-Key при повторе одной операции после потери соединения. Так повтор не создаст лишнее списание в пределах срока хранения ключа.

Рабочие примеры cURL, Python, PHP и JavaScript находятся в документации. После успешного первого расчёта из бесплатного баланса останется 99 запросов.

Читайте также

Проверьте API в своём проекте

Получите 100 запросов к API бесплатно после подтверждения email.

Начать бесплатно