Пакетный доступ

Режим Пакетного доступа позволяет отслеживать сразу несколько отправлений в одном запросе. Запрос может содержать до 3000 почтовых идентификаторов отправлений. Протокол Пакетного доступа реализован на основе SOAP (Simple Object Access Protocol).


Работа с API Сервиса отслеживания в режиме Пакетного доступа осуществляется в два этапа:

  • запрос билета на подготовку информации, содержащий список идентификаторов отправлений (вызов метода getTicket);

  • получение готового ответа по билету (вызов метода getResponseByTicket).


По каждому отправлению возвращается информация обо всех операциях, совершенных над ним. Информация об одной операции включает время и место проведения операции, код и атрибут операции, название операции.

1. Основная информация по использованию API

Адрес сервисаhttps://tracking.russianpost.ru/fc
WSDLhttps://tracking.russianpost.ru/fc?wsdl
МетодыgetTicket, getResponseByTicket
Базовый протоколSOAP 1.1
Параметры доступамогут быть получены в разделе Настройки доступа зарегистрированного пользователя, у которого подключен доступ к API
Примеры кодаПримеры кода для работы с API

2. Ограничения и рекомендации по использованию сервиса

  • Количество идентификаторов отправлений в одном запросе не должно превышать 3000.

  • Рекомендуется выполнять первое обращение за ответом по билету не ранее, чем через 15 минут от момента выдачи билета. В случае неготовности результата повторные обращения по тому же билету следует выполнять не чаще, чем 1 раз в 15 минут.

  • Время хранения ответа по билету в Сервисе отслеживания составляет 32 часа. По истечении этого периода ответ удаляется.

3. Метод getTicket

Метод getTicket используется для получения билета на подготовку информации по списку идентификаторов отправлений. В запросе передается список идентификаторов отправлений. При успешном вызове метод возвращает идентификатор билета.

3.1. Запрос

В запросе метода указываются до 3000 идентификаторов отправлений и параметры доступа к API Сервиса отслеживания (логин и пароль).

ЭлементАтрибутОписаниеОбязательность
RequestСодержит один и более элементов Item.Да
FileNameНе используются, в протоколе присутствуют для совместимости.Нет
FileTypeIDНе используются, в протоколе присутствуют для совместимости.Нет
FileNumberНе используются, в протоколе присутствуют для совместимости.Нет
SenderIDНе используются, в протоколе присутствуют для совместимости.Нет
RecipientIDНе используются, в протоколе присутствуют для совместимости.Нет
DatePreparationНе используются, в протоколе присутствуют для совместимости.Нет
ItemСодержит один идентификатор РПО. Число элементов Item в запросе может быть от 1 до 3000.Да
BarcodeИдентификатор РПО в одном из форматов: - внутрироссийский, состоящий из 14 символов (цифровой); - международный, состоящий из 13 символов (буквенно-цифровой) в формате S10.
loginЛогин для доступа к API Сервиса отслеживания. Может быть получен в разделе Настройки доступа.Да
passwordПароль для доступа к API Сервиса отслеживания. Может быть получен в разделе Настройки доступа.Да
languageЯзык, используемый в ответных сообщениях. Возможные значения:RUS – русский (используется по умолчанию)ENG – английский.Нет

3.2. Ответ

Ответ метода getTicket содержит информацию о выданном билете.

ЭлементАтрибутОписание
ticketResponseСодержит идентификатор созданного билета при успешном вызове, либо сообщение об ошибке при неуспешном.
valueИдентификатор созданного билета, в нем отражены дата и время создания билета, а также принадлежность к клиенту. Формат:
YYYYMMDDHHmmsslllNAME, где
YYYY - год,
MM - месяц
DD - день,
НН - час
mm - минуты
ss - секунды
lll - миллисекунды
NAME - логин пользователя в верхнем регистре
errorСодержит описание ошибки в случае, если вызов был неуспешным.
ErrorTypeIDКод ошибки. Список возможных кодов см. в п.3.2.
ErrorNameТекст ошибки. Список возможных кодов см. в п.3.2.

3.3. Возможные ошибки

ErrorTypeIDErrorName
2Формат данных запроса не соответствует установленному настоящим протоколом
3Неуспешная авторизация клиента при вызове метода
16Внутренняя ошибка работы Сервиса отслеживания
18Превышено максимально допустимое количество отправлений в запросе
20Недопустимый идентификатор языка
21Длина одного или нескольких из запрошенных идентификаторов отправлений превышает максимальный размер
22Длина имени файла превышает максимальный размер

3.4. Примеры запроса и ответа

Пример запроса:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pos="http://fclient.russianpost.org/postserver" xmlns:fcl="http://fclient.russianpost.org"> <soapenv:Header/> <soapenv:Body> <pos:ticketRequest>

    <request>
       <fcl:Item Barcode="RA123456788RU"/>
       <fcl:Item Barcode="RA123456789RU"/>
       <fcl:Item Barcode="RA123456780RU"/>
       ...
    </request>
    <login>my_login</login>
    <password>my_password</password>
    <language>RUS</language>
 </pos:ticketRequest>

</soapenv:Body> </soapenv:Envelope>



Пример ответа:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:ticketResponse xmlns:ns2="http://fclient.russianpost.org/postserver" xmlns:ns3="http://fclient.russianpost.org">

    <value>20150917162048476CLIENTID</value>
 </ns2:ticketResponse>

</S:Body> </S:Envelope>



4. Метод getResponseByTicket

Метод используется для получения информации об отправлениях по ранее полученному билету.

4.1. Запрос

ЭлементОписание Обязательность
answerByTicketRequestСодержит параметры запроса информации по билету.
ticketНомер билета.Да
loginЛогин для доступа к API Сервиса отслеживания. Может быть получен в разделе Настройки доступа.Да
passwordПароль для доступа к API Сервиса отслеживания. Может быть получен в разделе Настройки доступа.Да


4.2. Ответ

ЭлементАтрибутОписание
valueСодержит информацию о билете.
FileNameНе используются, в протоколе присутствуют для совместимости.
FileTypeIDНе используются, в протоколе присутствуют для совместимости.
FileNumbe rНе используются, в протоколе присутствуют для совместимости.
SenderIDНе используются, в протоколе присутствуют для совместимости.
RecipientIDНе используются, в протоколе присутствуют для совместимости.
DatePreparationДата и время (московское) завершения обработки билета. Пример значения: "17.09.2015 17:20:48"
ItemСодержит информацию по одному идентификатору РПО. Число элементов Item в ответе соответствует числу идентификаторов РПО, запрошенных в запросе getTicket ранее.
BarcodeИдентификатор РПО.
OperationСодержит информацию по одной операции в истории РПО. Количество элементов Operation соответствует количеству зарегистрированных операций в истории РПО.
OperTypeIDКод операции.
OperCtgIDКод атрибута.
OperNameНазвание операции.
DateOperДата и время операции (локальное). Пример значения: "17.09.2015 17:20:48"
IndexOperПочтовый индекс места проведения операции
ErrorСодержит информацию об ошибке в случае, если не удалось получить информацию об РПО из Сервиса отслеживания
ErrorTypeIDИдентификатор ошибки. Список возможных ошибок см. в п. 4.3.
ErrorNameТекст ошибки. Список возможных ошибок см. в п. 4.3.

4.3. Возможные ошибки

ErrorTypeID ErrorName
2Формат данных запроса не соответствует установленному настоящим протоколом
3Неуспешная авторизация клиента при вызове метода
6Ответ по билету ещё не готов
12Информация о заданном идентификаторе отправления отсутствует
16Внутренняя ошибка работы Сервиса отслеживания
17Время хранения ответа по билету истекло, ответ был удален с сервера

4.4. Примеры запроса и ответа

Пример запроса:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pos="http://fclient.russianpost.org/postserver"> <soapenv:Header/> <soapenv:Body> <pos:answerByTicketRequest>

    <ticket>20150917162048476CLIENTID</ticket>
    <login>my_login</login>
    <password>my_password</password>
 </pos:answerByTicketRequest>

</soapenv:Body> </soapenv:Envelope>



Пример ответа:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:answerByTicketResponse xmlns:ns2="http://fclient.russianpost.org/postserver" xmlns:ns3="http://fclient.russianpost.org">

    <value FileName="" FileTypeID="2" FileNumber="1" RecipientID="1" DatePreparation="17.09.2015 17:20:48">
       <ns3:Item Barcode="45008378901234">
          <ns3:Operation OperTypeID="1" OperCtgID="1" OperName="Прием" DateOper="08.09.2015 17:07:00" IndexOper="450083"/>
          <ns3:Operation OperTypeID="8" OperCtgID="4" OperName="Обработка" DateOper="10.09.2015 04:42:00" IndexOper="450962"/>
          <ns3:Operation OperTypeID="8" OperCtgID="0" OperName="Обработка" DateOper="12.09.2015 18:07:00" IndexOper="140983"/>
          <ns3:Operation OperTypeID="8" OperCtgID="4" OperName="Обработка" DateOper="13.09.2015 04:14:00" IndexOper="140980"/>
          <ns3:Operation OperTypeID="8" OperCtgID="4" OperName="Обработка" DateOper="13.09.2015 23:11:00" IndexOper="111949"/>
          <ns3:Operation OperTypeID="8" OperCtgID="2" OperName="Обработка" DateOper="14.09.2015 03:25:00" IndexOper="125362"/>
          <ns3:Operation OperTypeID="4" OperCtgID="3" OperName="Досылка почты" DateOper="15.09.2015 09:20:00" IndexOper="125362"/>
          <ns3:Operation OperTypeID="8" OperCtgID="2" OperName="Обработка" DateOper="16.09.2015 03:43:00" IndexOper="125364"/>
       </ns3:Item>
       <ns3:Item Barcode="10725878901235">
             <ns3:Operation OperTypeID="1" OperCtgID="1" OperName="Прием" DateOper="12.09.2015 09:26:00" IndexOper="107258"/>
          <ns3:Operation OperTypeID="8" OperCtgID="1" OperName="Обработка" DateOper="12.09.2015 09:26:00" IndexOper="107258"/>
          <ns3:Operation OperTypeID="8" OperCtgID="4" OperName="Обработка" DateOper="12.09.2015 23:14:00" IndexOper="111974"/>
          <ns3:Operation OperTypeID="8" OperCtgID="15" OperName="Обработка" DateOper="16.09.2015 09:09:00" IndexOper="130203"/>
          <ns3:Operation OperTypeID="2" OperCtgID="8" OperName="Вручение" DateOper="16.09.2015 13:45:00" IndexOper="130203"/>
       <ns3:Item Barcode="RA123456789RU">
          <ns3:Error ErrorTypeID="12" ErrorName="Сообщение не найдено"/>
       </ns3:Item>
       ....
    </value>
 </ns2:answerByTicketResponse>

</S:Body> </S:Envelope>