Описание API 2.1
Запрос
Примеры запросов
Обязательные переменные запроса
Другие переменные запроса
Отправления: коды, ограничения по весу и ценности
ОтветОбязательные переменные запроса
Другие переменные запроса
Отправления: коды, ограничения по весу и ценности
Декомпрессия ответа
Глобальные ошибки и предупреждения
Ошибки и предупреждения при расчете отправления
Глобальные переменные ответа
Массив "Отправления" ("Shipments")
РеализацияГлобальные ошибки и предупреждения
Ошибки и предупреждения при расчете отправления
Глобальные переменные ответа
Массив "Отправления" ("Shipments")
Запрос |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Примеры запросов
Вы можете щелкнуть по ссылкам и посмотреть ответ сервера в читабельном виде.
Внимание! Обратите внимание, что ссылки должны иметь в начале протокол http://. Некоторые веб-браузеры принудительно подменяют http на https. В этом случае вы получите ошибку 403, т.к. API по https не работает. Создание шифрованного канала для API не имеет смысла, так как только существенно замедляет обмен данными и создаёт бесполезную нагрузку как на сервер, так и на клиента.
Пример 1. Минимальный запрос, указаны индексы почтовых отделенийУказаны почтовый индекс отправителя и получателя, вес - 1000 г, ценность - 0 рублей. Остальные параметры будут установлены по умолчанию.http://api.postcalc.ru/?f=101000&t=190000&w=1000&v=0&key=test Исчерпывающий список почтовых индексов, используемых Postcalc.RU в данный момент, можно:
Примечание 2. Обратите внимание, что ценная бандероль и ценная бандероль 1 класса вернут ошибку расчета, так как их оценка не может быть менее 1 рубля. Пример 2. Минимальный запрос, указаны ключи населенных пунктовМинимальный запрос, вместо почтового индекса указаны ключи населенных пунктов на русском или английском языках, вес - 1000 г, ценность - 1000 рублей.http://api.postcalc.ru/?f=Москва&t=Санкт-Петербург&w=1000&v=1000&key=test http://api.postcalc.ru/?f=Сергиев_Посад,_50&t=Новокузнецк,_42&w=1000&v=1000&key=test http://api.postcalc.ru/?f=Sergiyev_Posad,_50&t=Novokuznetsk,_42&w=1000&v=1000&key=test Ключи населенных пунктов:
Исчерпывающий список ключей населенных пунктов, используемых Postcalc.RU в данный момент, можно:
Например, если вы отправляете из московского отделения 105005 в отделение 190000 Посылку Онлайн, то запрос http://api.postcalc.ru/?f=105005&t=190000&w=1000&v=1000&p=po&key=test - вернет ошибку, так как в отделении 105005 приема Посылки Онлайн нет. В то же время запрос http://api.postcalc.ru/?f=Москва&t=190000&w=1000v=1000&p=po&key=test - вернет корректный расчет, так как API самостоятельно найдет в пределах Москвы отделение связи, откуда можно отправить Посылку Онлайн. Аналогично, запрос на доставку ЕКОМ в 190000 вернет ошибку, так как в 190000 ЕКОМ не выдается: http://api.postcalc.ru/?f=105005&t=190000&w=1000&v=1000&p=ek&key=test А запрос на доставку в Санкт-Петербург вернет правильный расчет: http://api.postcalc.ru/?f=101000&t=Санкт-Петербург&w=1000v=1000&p=ek&key=test Пример 3. Минимальный запрос на международную отправкуВ параметре t= в этом случае задается название страны или код из 2 букв.http://api.postcalc.ru/?f=Москва&t=DE&w=1000&v=0&key=test http://api.postcalc.ru/?f=Москва&t=Германия&w=1000&v=0&key=test Исчерпывающий список кодов и названий стран, используемых Postcalc.RU в данный момент, можно:
Пример 4. Расчет для физического лица без договора с Почтой Россииhttp://api.postcalc.ru/?f=101000&t=190000&w=1000&v=1000&key=test&p=bv,pv,b1v,p1,em&co=0&d=now&ib=p&sv=fr,smБудут рассчитаны: 1. Отправления - ценная бандероль, посылка, ценная бандероль 1 класса, посылка 1 класса, EMS (p=bv,pv,b1v,p1,em). 2. Тарификация - для физического лица без договора с Почтой России (co=0). Это значит, что отправления для корпоративных клиентов не рассчитываются, даже если будут запрошены, а тарифы для ценной посылки, ценной посылки 1 класса и EMS Оптимальное будут несколько выше. 3. Расчет на сегодняшний день (d=now, по умолчанию, можно опустить). 4. База страховки - только объявленная ценность товарного вложения (ib=p, по умолчанию, можно опустить). 5. Дополнительные опции - хрупкое вложение и SMS получателю (sv=fr,sm). Пример 5. Расчет для юридического лица или ИП, имеющего договор с Почтой России ("Корпоративный клиент").http://api.postcalc.ru/?f=101000&t=191167&w=1000&v=1000&key=test&p=po,co,ek,emo,empt&co=1&d=10days&bo=m&sv=ko,op&pk=50&pr=25Будут рассчитаны: 1. Отправления - Посылка Онлайн, Курьер Онлайн, ЕКОМ, EMS Оптимальное (p=po,co,ek,ekp,emo). 2. Тарификация - для юридического лица или ИП, имеющего договор с Почтой России ("Корпоративный клиент") (co=1). Доступны все тарифы, при этом тарифы для ценной посылки, посылки 1 класса и EMS Оптимальное несколько ниже, чем для физлиц. 3. Дата расчета: сегодня +10 дней (d=10days). Это полезная возможность для интернет-магазинов рассчитать тариф на предполагаемую дату отправки товара. 4. Дополнительные опции - проверка комплектности и опись вложения (sv=ko,op). 5. При расчете ЕКОМ и EMS использовать коробку размера "М" (bo=m). 6. Добавить на каждое отправление стоимость упаковки 50 рублей (pk=50). 7. Добавить 25 рублей на оформление заказа (pr=25). Обратите внимание, что прием и выдача большинства отправлений для корпоративных клиентов возможен только в специальных отделениях связи. Список этих отделений можно посмотреть по ссылке. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Обязательные переменные запроса
Эти переменные обязательно должны присутствовать в запросе. Если их нет, либо они не проходят проверку - возвращается глобальная ошибка. Переменные v= и p= по состоянию на декабрь 2020 года имеют умолчания для упрощения перехода с предыдущих версий API, однако в течение 2021 года они также станут строго обязательными.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Другие переменные запроса
У этих переменных есть умолчания, поэтому их можно опустить в запросе. Умолчания следующие:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Отправления: коды, ограничения по весу и ценности |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ответ |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Декомпрессия ответа
Ответ сервера Postcalc.RU всегда архивируется в gzip (за исключением экспериментального формата plain). Для декомпрессии добавьте строчку:
Внимание! На платформе Битрикс наблюдается следующее нестандартное поведение: функция gzinflate не блокируется,
однако после распаковки поток усекается на несколько байт. Это связано с установкой PHP mbstring.func_overload. Поэтому проводите распаковку так:
Если это не поможет, замените полностью вызов file_get_contents() с последующей декомпрессией функцией gzinflate() на аналогичный вызов
fopen() с применением обработчиков компрессии:
Внимание! Для разархивации на платформе 1C можно применить вызов из командной строки внешней программы:
А это полное решение другого программиста: 1c_postcalc_request.txt
Очень признателен авторам, которые поделились своими решениями для платформы 1С! |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Глобальные ошибки и предупреждения |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ошибки и предупреждения при расчете отправления |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Глобальные переменные ответа |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Массив "Отправления" ("Shipments") |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Реализация |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Полный рабочий пример кода
Пример использует библиотеку php-curl, которую настоятельно рекомендуется использовать в разработке,
так как функция PHP file_get_contents() имеет ряд архитектурных недостатков.
Полный текст примера можно скачать здесь . В целом настоятельно рекомендуется использовать бесплатную библиотеку PostcalcLight, которая дополнительно проверяет аргументы на правильность и предлагает веб-интерфейс.
<?php
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Библиотека Postcalc Light
Postcalc Light - это библиотека, простой веб-клиент на PHP с использованием jQuery и базы данных. Вы можете скачать их и опробовать в работе онлайн по ссылке.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Плагины
Список плагинов находится по ссылке. Также рекомендуется воспользоваться поисковиками.
|
×
×