В версии 2.1 код переписан на 100%. Полный переход на нее - с 06 марта 2021 года. Подробное описание -
по ссылке.
Версия 2.1 максимально совместима с версией 2.0. Отличия:
- В одном запросе возвращается расчет не более, чем по 5 отправлениям при бесплатном доступе, и 8 отправлениям при платном. В версии 2.0 на платном доступе возвращались расчеты по всем доступным отправлениям.
- Если переменной p= в запросе нет, то при запросе на внутренние отправления возвращаются расчеты по ценной бандероли, бандероли 1-го класса, посылке ценной, посылке 1 класса, EMS, при запросе на международные отправления - мелкий пакет заказной наземный/авиа, посылка наземная/авиа, EMS с товарами. В версии 2.0 при отсутствии переменной p= на платном доступе возвращались все возможные отправления.
- Для международных расчетов код страны теперь задается в переменной t= (To). Переменная c= (Country) поддерживается в течение 2021 года.
- Данная версия не ведет локальные расчеты - она опрашивает в асинхронном режиме официальный тарификатор Почты России и Postcalc.RU версии 2.0. В массив с расчетами для каждого отправления введен ключ Source, который принимает значение api.postcalc.ru или tariff.pochta.ru. Среднее время расчета - порядка 100-150 мс.
- Переменная ib (IBase) переводится в разряд экспериментальных, поскольку режим расчета страховки ib=f на Почте России не применяется.
- Если при расчете произошли фатальные ошибки, устанавливается массив Response->Errors. Если возможны потенциальные проблемы со отправкой/получением, устанавливается массив Response->Warnings. См. Глобальные ошибки и предупреждения.
- Если при расчете конкретного отправления произошли ошибки, устанавливается массив Response->Отправления->КлючОтправления->Errors. Если возникли предупреждения - массив Response->Отправления->КлючОтправления->Warnings. См. Ошибки и предупреждения при расчете отправления. Переменная НетРасчета удалена из ответа, поскольку в ней нет необходимости.
- Полностью заменена таблица городов - старая нотация (город, регион, район) заменена на ключи населенных пунктов.
- Для центров регионов ключи состоят из названия населенного пункта: Москва, Самара, Благовещенск.
- Для прочих населенных пунктов состоят из его названия и номера региона через запятую: Сергиев Посад, 50; Благовещенск, 2 (город в Башкортостане), Самара, 38 (село в Иркутской области); Самара, 79 (село в Еврейской АО).
- Если в пределах одного региона находятся несколько населенных пунктов с одним названием, то через запятую добавляется район: Михайловка, 2, Абзелиловский; Михайловка, 2, Архангельский; Михайловка, 2, Бакалинский.
В ключе населенного пункта вместо номера региона можно указать его название (совместимый формат запроса), например: Сургут, Ханты-Мансийский-Югра автономный округ; Сергиев Посад, Московская область. Однако так делать не рекомендуется, так как это ухудшает читаемость и удлиняет строку запроса, кроме того, у регионов имеются альтернативные названия и они могут меняться.
- Введена переменная la (Language). Если la=en, то ответ, насколько возможно, выдается на английском языке.
- Введена переменная cu (Currency). Если cu!=rub, то рубли в ответе переводятся в соответствующую валюту по курсу Центробанка РФ.
Вам
необходимо обновить запросы с версии 2.0, если:
1. Запрашивается более 8 отправлений на платном доступе. Необходимо оставить не более 8 кодов отправлений для внутренних и не более 8 кодов для международных отправлений. Количество отправлений для бесплатного доступа не изменилось (не более 5).
2. Вы используете в запросах названия населенных пунктов. Полный список ключей населенных пунктов находится в таблице
postcalc_mini_cities. Если вы используете библиотеку Postcalc Light, обновите таблицу
postcalc_light_cities. Однако в Postcalc Light населенные пункты находятся в совместимом формате запроса.
В качестве сервера API можно:
1. Указать api.postcalc.ru. Это сервер API 2.0 с дополнительными патчами, которые корректно обрабатывают ключи населенных пунктов и двухбуквенный код страны в переменной t=. 06 марта 2021 года он будет заменен на сервер API 2.1.
2. Указать api2.postcalc.ru. Это функционирующий сервер API 2.1.
Ключи доступа (key=) и лимиты - общие, то есть можно сделать в сутки суммарно 50 запросов с ключом test и 500 бесплатных запросов с зарегистрированным ключом к обоим серверам.