Получение истории по списку отправлений

advertisement
Протокол API
Структура API реализована по архитектуре REST. Коммуникация осуществляется посредством
сообщений JSON, по адресам:
Тестирования
http://e-solution.pickpoint.ru/apitest/
Логин:
Пароль:
ИКН:
Продуктив
apitest
apitest
9990003041
http://e-solution.pickpoint.ru/api/
Для корректной работы необходимо:

в запросе указывать Content type равным “application/json”,

таймаут ожидания выполнения запроса 60 секунд.
Команды сервиса:

Начало сессии (Login)

Завершение сессии (Logout)

Регистрация отправлений (одноместных)_ОБЯЗАТЕЛЬНЫЙ ШАГ!

Регистрация отправлений (многоместных)

Создание отправления клиентского возврата

Получение списка возвратных отправлений

Мониторинг отправления

Получение информации по отправлению

Получение стоимости доставки

Вызов курьера_ОБЯЗАТЕЛЬНЫЙ ШАГ!

Отмена вызова курьера

Формирование реестра (по списку отправлений) в pdf_ОБЯЗАТЕЛЬНЫЙ ШАГ!

Формирование реестра (по списку отправлений)

Получение созданного реестра в pdf
1

Получение номера реестра по номеру отправления

Формирование этикеток в pdf_ОБЯЗАТЕЛЬНЫЙ ШАГ!

Формирование этикеток pdf для принтера Zebra

Получение списка городов

Получение списка терминалов

Получение информации по зонам

Получение информации по возвратной накладной

Получение акта возврата денег

Получение акта возврата товара

Получение информации по вложимому

Получение истории по списку отправлений

Получение справочника статусов отправления

Получение списка отправлений, прошедших этап (статус)
2
Начало сессии (Login)
URL: /login
Метод: POST
Описание
Команда предназначена для начала сеанса работы. В запросе отправляемся логин и пароль, в случае
правильности, возвращается уникальный номер сессии, который действителен в течении
установленного времени. Вся дальнейшая работа ведется на основании номера сессии.
Структура запроса
{
“Login”:”<логин>”,
“Password”:”<пароль>”
}
Структура ответа
{
“SessionId”:”<уникальный идентификатор сессии>”,
“ErrorMessage”:”<текстовое сообщение об ошибке>”
}
Завершение сессии (Logout)
URL: /logout
Метод: POST
Описание
Команда предназначена для завершения сеанса работы. В запросе отправляется идентификатор сессии.
В ответ возвращается признак успешности выполнения.
Структура запроса
{
“SessionId”:
”<уникальный идентификатор сессии>”
}
Структура ответа
{
“Success”:
<true/false>
}
3
Регистрация отправлений (одноместных)_ОБЯЗАТЕЛЬНЫЙ ШАГ!
URL: /createsending
Метод: POST
Описание
Команда предназначена для регистрации отправлений. На вход принимается структура, содержащая
номер сессии и список описаний отправлений, которые требуется зарегистрировать.
Структура запроса
{
“SessionId”:”<уникальный идентификатор сессии>”,
“Sendings”:
[
{
“EDTN“:
“IKN“:
“Invoice”:
{
“<Идентификатор отправления, используемый для ответа>”,
“<ИКН – номер договора>”,
“SenderCode“:
“<Номер КО клиента>”,
“BarCode“:
“<Штрих код>”,
“GCBarCode“:
“<Клиентский штрих-код>”,
“Description“:
“<Описание отправления, обязательное поле>”,
“RecipientName“: “<Имя получателя>”,
“PostamatNumber“: “<Номер постамата>”,
“MobilePhone“:
“<Номер телефона получателя>”,
“Email“:
“<Адрес электронной почты получателя>”,
“PostageType“:
<Тип услуги>,
“GettingType“:
<Тип сдачи отправления>,
“PayType“:
<Тип оплаты>,
“Sum“:
<Сумма к оплате>,
“InsuareValue“:
<Страховка>,
“Width“:
<Ширина>,
“Height“:
<Высота>,
“Depth“:
<Глубина>”,
“ClientReturnAddress”:
”<Адрес клиентского возврата>”
{
“CityName”:
”<Название города>”,
“RegionName”:
”<Название региона>”,
“Address”:
”<Текстовое описание адреса>”,
“FIO”:
”<ФИО контактного лица>”,
“PostCode”:
”<Почтовый индекс>”,
“Organisation”:
”<Наименование организации>”,
“PhoneNumber”: ”<Контактный телефон, обязательное поле>”,
“Comment”:
”<Комментарий>”
},
“UnclaimedReturnAddress”: ”<Адрес возврата невостребованного>”
{
“CityName”:
”<Название города>”,
“RegionName”:
”<Название региона>”,
“Address”:
”<Текстовое описание адреса>”,
“FIO”:
”<ФИО контактного лица>”,
“PostCode”:
”<Почтовый индекс>”,
“Organisation”:
”<Наименование организации>”,
“PhoneNumber”: ”<Контактный телефон, обязательное поле>”,
“Comment”:
”<Комментарий>”
4
},
"SubEncloses":
[
{
<Субвложимые>
"Line":
"ProductCode":
"GoodsCode":
"Name":
"Price":
"<Номер>",
"<Код продукта>",
"<Код товара>",
"<Наименование>",
<Стоимость>
}
]
}
}
]
}
Внимание! В случае если вид отправления (наложенное/предоплаченное) не соответствует значению в
поле Sum, приоритет отдается значению в Sum. То есть, если указана не нулевая положительная сумма,
отправление будет зарегистрировано как наложенных платеж и наоборот.
Описание полей:
SenderCode
BarCode
Description
RecipientName
PostamatNumber
MobilePhone
Email
PostageType
GettingType
PayType
Sum
InsuareValue
Width
Height
строка 50 символов
ШК опционально, в зависимости от клиента
Описание вложимого, строка 200 символов, обязательное поле
Имя получателя, строка 60 символов, обязательное поле
Номер постамата, вида xxxx-xxx, обязательное поле
Мобильный телефон для СМС, обязательное поле
Email, строка 256 символов
Вид отправления, обязательное поле
10001 Стандарт
10002 Приоритет
10003 Стандарт НП
10004 Приоритет НП
Тип сдачи отправления, обязательное поле
101
вызов курьера
102
в окне приема СЦ
103
в окне приема ПТ валом
в окне приема ПТ (самостоятельный развоз в нужный ПТ + при
104
создании отправления у ПТ - С2С)
Всегда 1
Сумма к оплате, обязательное поле
Сумма страховки
Ширина, в см, обязательное поле при типе сдаче в окне приема ПТ (валом
или по ячейкам)
Высота, в см, обязательное поле при типе сдаче в окне приема ПТ (валом
или по ячейкам)
5
Глубина в см, обязательное поле при типе сдаче в окне приема ПТ (валом
или по ячейкам)
Depth
Структура ответа
{
“CreatedSendings”:
[
{
“EDTN”:
“InvoiceNumber”:
“Barcode”:
”<Идентификатор отправления, используемый для ответа >”,
”<Номер отправления PickPoint>”,
”<Штрихкод отправления>”
}
]
“RejectedSendings”:
[
{
“EDTN”:
“ErrorCode”:
“ErrorMessage”:
}
]
”<Идентификатор отправления, используемый для ответа >”,
<Код ошибки>,
”<Описание ошибки>”
}
Регистрация отправлений (многоместных)
URL: /CreateShipment
Метод: POST
Описание
Команда предназначена для регистрации отправлений. На вход принимается структура, содержащая
номер сессии и список описаний отправлений, которые требуется зарегистрировать.
Структура запроса
{
“SessionId”:”<уникальный идентификатор сессии>”,
“Sendings”:
[
{
“EDTN“:
“IKN“:
“Invoice”:
{
“<Идентификатор отправления, используемый для ответа>”,
“<ИКН – номер договора>”,
“SenderCode“:
“<Номер КО клиента>”,
‘Description“:
“<Описание отправления, обязательное поле>”,
“RecipientName“: “<Имя получателя>”,
“PostamatNumber“: “<Номер постамата>”,
“MobilePhone“:
“<Номер телефона получателя>”,
“Email“:
“<Адрес электронной почты получателя>”,
“PostageType“:
<Тип услуги>,
“GettingType“:
<Тип сдачи отправления>,
“PayType“:
<Тип оплаты>,
6
“Sum“:
<Сумма>,
“InsuareValue“:
<Страховка>,
“ClientReturnAddress”:
”<Адрес клиентского возврата>”
{
“CityName”:
”<Название города>”,
“RegionName”:
”<Название региона>”,
“Address”:
”<Текстовое описание адреса>”,
“FIO”:
”<ФИО контактного лица>”,
“PostCode”:
”<Почтовый индекс>”,
“Organisation”:
”<Наименование организации>”,
“PhoneNumber”: ”<Контактный телефон, обязательное поле>”,
“Comment”:
”<Комментарий>”
},
“UnclaimedReturnAddress”: ”<Адрес возврата невостребованного>”
{
“CityName”:
”<Название города>”,
“RegionName”:
”<Название региона>”,
“Address”:
”<Текстовое описание адреса>”,
“FIO”:
”<ФИО контактного лица>”,
“PostCode”:
”<Почтовый индекс>”,
“Organisation”:
”<Наименование организации>”,
“PhoneNumber”: ”<Контактный телефон, обязательное поле>”,
“Comment”:
”<Комментарий>”
},
“Places”:
[
{
“BarCode“:
“<Штрих код>”,
“gcBarCode”:
“<Клиентский номер ШК >”,
“Width“:
<Ширина>,
“Height“:
<Высота>,
“Depth“:
<Глубина>>,
"SubEncloses":
<Субвложимые>
[
{
"Line":
"<Номер>",
"ProductCode":
"<Код продукта>",
"GoodsCode":
"<Код товара>",
"Name":
"<Наименование>",
"Price":
<Стоимость>
}
]
}
]
}
}
]
}
Внимание! В случае если вид отправления (наложенное/предоплаченное) не соответствует значению в
поле Sum, приоритет отдается значению в Sum. То есть, если указана не нулевая положительная сумма,
отправление будет зарегистрировано как наложенных платеж и наоборот.
7
Описание полей:
SenderCode
BarCode
gcBarCode
Description
RecipientName
PostamatNumber
MobilePhone
Email
PostageType
GettingType
PayType
Sum
InsuareValue
Width
Height
Depth
строка 50 символов
ШК опционально, в зависимости от клиента
Клиентский номер ШК
Описание вложимого, строка 200 символов, обязательное поле
Имя получателя, строка 60 символов, обязательное поле
Номер постамата, вида xxxx-xxx, обязательное поле
Мобильный телефон для СМС, обязательное поле
Email, строка 256 символов
Вид отправления, обязательное поле
10001 Стандарт
10002 Приоритет
10003 Стандарт НП
10004 Приоритет НП
Тип сдачи отправления, обязательное поле
101
вызов курьера
102
в окне приема СЦ
103
в окне приема ПТ валом
в окне приема ПТ (самостоятельный развоз в нужный ПТ + при
104
создании отправления у ПТ - С2С)
Всегда 1
Сумма к оплате, обязательное поле
Сумма страховки
Ширина, в см, обязательное поле при типе сдаче в окне приема ПТ (валом
или по ячейкам)
Высота, в см, обязательное поле при типе сдаче в окне приема ПТ (валом
или по ячейкам)
Глубина, в см, обязательное поле при типе сдаче в окне приема ПТ (валом
или по ячейкам)
Структура ответа
{
“CreatedSendings”:
[
{
“EDTN”:
”<Идентификатор отправления, используемый для ответа >”,
“InvoiceNumber”: ”<Номер отправления PickPoint>”,
“Places”:
[
{
“gcBarCode”:
“<Клиентский номер ШК>”,
“Barcode”:
”<Штрихкод отправления>”
}
]
}
]
“RejectedSendings”:
[
8
{
“EDTN”:
“ErrorCode”:
“ErrorMessage”:
”<Идентификатор отправления, используемый для ответа >”,
<Код ошибки>,
”<Описание ошибки>”
}
]
}
Создание отправления клиентского возврата
URL: / makereturn
Метод: POST
Описание
Команда предназначена для создания отправления клиентского возврата на основе обычного
отправления.
Структура запроса
{
“SessionId”:
“InvoiceNumber”:
“ GCInvoiceNumber”:
”<уникальный идентификатор сессии>”,
”<Номер КО>”,
”<Номер отправления клиента>”
}
Поля InvoiceNumber и GCInvoiceNumber являются взаимоисключающими
Структура ответа
[
{
“Error”:
“ ReturnCode”:
“<Описание ошибки>”,
”<Код для закладки возвратного отправления в постамат>”
}
]
Получение списка возвратных отправлений
URL: /getreturninvoiceslist
Метод: POST
Описание
Команда предназначена для получения списка возвратных отправлений, которые ранее не проходили
через PickPoint. В запросе отправляется идентификатор сессии и интервал дат, за которые необходимо
получить список. В ответ возвращается список отправлений с параметрами, либо ошибка.
Структура запроса
{
9
“SessionId”:
“DateFrom”:
“DatetTo”:
”<уникальный идентификатор сессии>”,
”<дата, с которой необходимо получить список >”,
”<дата, до которой необходимо получить список>”
}
Поля InvoiceNumber и SenderInvoiceNumber являются взаимоисключающими
Структура ответа
{
SendingsInfo
[
{
“
“
“
“
“
“
“
InvoiceNumber”:
SenderInvoiceNumber”:
Barcode”:
ConsultantNumber”:
DateOfCreate”:
PhoneNumber”:
ReturnReason”:
”<номер отправления PickPoint>”,
”<номер отправления, введенный получателем>”,
“<штрих-код PickPoint>”,
”<номер консультанта>”,
”<дата создания отправления>”,
”<номер телефона, введенный получателем>”,
”<указанная причина возврата>”
}
]
“Error”:
“<описание ошибки>”
}
Мониторинг отправления
URL: /tracksending
Метод: POST
Описание
Команда предназначена для получения истории изменения статуса отправления. В запросе
отправляется идентификатор сессии и номер отправления. В ответ возвращается история статусов
отправления.
Структура запроса
{
“SessionId”:
“InvoiceNumber”:
“SenderInvoiceNumber”:
”<уникальный идентификатор сессии>”,
”<Номер КО>”,
”<Номер отправления клиента>”
}
Поля InvoiceNumber и SenderInvoiceNumber являются взаимоисключающими
Структура ответа
[
{
“State”:
“ChangeDT”:
“StateMessage”:
“<код статуса>”,
”<дата изменения статуса>”,
”<описание статуса>”
}
]
10
Получение информации по отправлению
URL: /sendinginfo
Метод: POST
Описание
Команда предназначена для получения информации по отправлению отправления. В запросе
отправляется идентификатор сессии и номер отправления. В ответ возвращается признак успешности
выполнения.
Структура запроса
{
“SessionId”:
“InvoiceNumber”:
“SenderInvoiceNumber”:
”<уникальный идентификатор сессии>”,
”<Номер КО>”,
”<Номер отправления клиента>”
}
Поля InvoiceNumber и SenderInvoiceNumber являются взаимоисключающими.
Структура ответа
[
{
“InvoiceNumber”:
“SenderInvoiceNumber”:
“Sum”:
“CreateDate”:
“FIO”:
“StorageDate”:
“Prolonged”:
“Barcodes”:
[
”<Номер КО>”,
”<Номер отправления клиента>”,
“<сумма за отправление>”
”<дата создания отправления>”,
”<ФИО получателя>”,
”<Срок хранения, если отправление еще не заложено, то пустое поле>”,
”<true/false – было или нет продление>”,
“<штрих-код отправления>”
…
“<штрих-код отправления>”
],
“ClientReturnAddress”:
{
“CityName”:
“RegionName”:
“Address”:
“FIO”:
“PostCode”:
“Organisation”:
“PhoneNumber”:
“Comment”:
},
“UnclaimedReturnAddress”:
{
“CityName”:
“RegionName”:
“Address”:
“FIO”:
“PostCode”:
”<Адрес клиентского возврата>”
”<Название города>”,
”<Название региона>”,
”<Текстовое описание адреса>”,
”<ФИО контактного лица>”,
”<Почтовый индекс>”,
”<Наименование организации>”,
”<Контактный телефон>”,
”<Комментарий>”
”<Адрес возврата невостребованного>”
”<Название города>”,
”<Название региона>”,
”<Текстовое описание адреса>”,
”<ФИО контактного лица>”,
”<Почтовый индекс>”,
11
“Organisation”:
“PhoneNumber”:
“Comment”:
”<Наименование организации>”,
”<Контактный телефон>”,
”<Комментарий>”
}
}
]
Замечание: в случае, если под одним SenderInvoiceNumber было зарегистрировано несколько
отправлений, ответ будет содержать информацию по всем этим отправлениям.
Получение стоимости доставки
URL: / getdeliverycost
Метод: POST
Описание
Команда предназначена для получения стоимости доставки отправления. В запросе отправляется
идентификатор сессии и список номеров отправлений. В ответ возвращается список номеров
отправлений со стоимостями доставок. Стоимость доставки становится доступна на следующий день
после регистрации отправления.
Структура запроса
{
“SessionId”:
“Sendings”:
[
{
”<уникальный идентификатор сессии>”,
”<список отправлений>”,
“InvoiceNumber”:
“SenderInvoiceNumber”:
”<Номер КО>”,
”<Номер отправления клиента>”
}
]
}
Поля InvoiceNumber и SenderInvoiceNumber являются взаимоисключающими.
Структура ответа
[
{
“InvoiceNumber”:
“SenderInvoiceNumber”:
“NDS”:
“Tariff”:
”<Номер КО>”,
”<Номер отправления клиента>”,
”<НДС>”,
”<Стоимость по тарифу>”
}
]
12
Замечание: в случае, если под одним SenderInvoiceNumber было зарегистрировано несколько
отправлений, ответ будет содержать информацию по всем этим отправлениям.
Вызов курьера_ОБЯЗАТЕЛЬНЫЙ ШАГ!
URL: /courier
Метод: POST
Описание
Команда предназначена для создания вызова курьера. На вход принимается структура, содержащая
номер сессии и описания адреса забора, времени забора, количества мест и общий вес.
Структура запроса
{
“SessionId”:
“IKN“:
“SenderCode“:
“City“:
“City_id“:
“City_owner_id“:
“Address“:
“FIO“:
“Phone“:
“Date“:
“TimeStart“:
“TimeEnd“:
“Number“:
“Weight”:
“Comment“:
”<уникальный идентификатор сессии>”,
“<ИКН клиента>”,
“<Код вызова курьера отправителя, НЕ обязательное поле>”,
“<Название города>”,
<id города>,
<owner_id город>,
“<Адрес>”,
“<Контактное лицо>”, обязательное поле,
“<Контактный телфон>”, обязательное поле,
“<Дата сбора>”, обязательное поле,//формат гггг.мм.дд
<Ожидаемое время сбора с>,//количество минут от 00:00
< Ожидаемое время сбора по>,//количество минут от 00:00
<Количество мест>,
<Общий вес, кг.>,
“<Комментарий>”
}
Поля City и City_id/City_owner_id являются взаимоисключающими, при наличии обоих приоритет
отдается City_id/City_owner_id
Структура ответа
{
“CourierRequestRegistred”:
<Признак успешности регистрации вызова курьера >,//<true/false>
“OrderNumber”:
“ErrorMessage”:
<Номер заказа >,
”<Описание ошибки>”
}
Отмена вызова курьера
URL: /couriercancel
13
Метод: POST
Описание
Команда предназначена для отмены вызова курьера. На вход принимается структура, содержащая
номер сессии и номер вызова курьера.
Структура запроса
{
“SessionId”:
“OrderNumber“:
”<уникальный идентификатор сессии>”,
“<Номер заказа>”
}
Структура ответа
{
“OrderNumber“:
“Canceled”:
“<Номер закза>”,
”<Результат запроса>”//<true/false>
}
Формирование реестра (по списку отправлений) в
pdf_ОБЯЗАТЕЛЬНЫЙ ШАГ!
URL: /makereestr
Метод: POST
Описание
Команда предназначена для получения реестра в формате pdf. На вход принимается структура,
содержащая идентификатор сессии и список номеров отправлений.
Структура запроса
{
“SessionId”:
”<уникальный идентификатор сессии>”,
“CityName”:
”<Название города>”,
“RegionName”:
”<Название региона>”,
“Invoices”:
[
”<номер отправления1>”,
…
“<номер отправленияN>”
]
}
Структура ответа
14
В случае ошибки ответ содержит поток с текстом ошибки (начинается с ключевого слова «Error»), в случае успеха ответ содержит
поток с pdf файлом в виде массива байт(начинается с «%PDF»).
Формирование реестра (по списку отправлений)
URL: /makereestrnumber
Метод: POST
Описание
Команда предназначена для создания реестра и получения номера реестра. На вход принимается
структура, содержащая идентификатор сессии и список номеров отправлений. На выход выдается
список номеров созданных реестров или сообщение об ошибке
Структура запроса
{
“SessionId”:
”<уникальный идентификатор сессии>”,
“CityName”:
”<Название города>”,
“RegionName”:
”<Название региона>”,
“Invoices”:
[
”<номер отправления1>”,
…
“<номер отправленияN>”
]
}
Структура ответа
{
“Numbers”:
[
”<номер реестр1>”,
…
“<номер реестрN>”
]
“ErrorMessage”:
”<Сообщение ошибки>”
}
Получение созданного реестра в pdf
URL: /getreestr
Метод: POST
Описание
15
Команда предназначена для получения реестра в формате pdf. На вход принимается структура,
содержащая идентификатор сессии и номер отправления или номер реестра. Если указанное
отправление не содержится ни в одном реестре или нет реестра с указанным номером, вернется
соответствующее сообщение.
Структура запроса
{
“SessionId”:
“InvoiceNumber”:
“ReestrNumber”:
”<уникальный идентификатор сессии>”,
”<номер отправления>”,
”<номер реестра>”
}
Структура ответа
В случае ошибки ответ содержит поток с текстом ошибки (начинается с ключевого слова «Error»), в случае успеха ответ содержит
поток с pdf файлом в виде массива байт(начинается с «%PDF»).
Получение номера реестра по номеру отправления
URL: /getreestrnumber
Метод: POST
Описание
Команда предназначена для получения номера реестра. На вход принимается структура, содержащая
идентификатор сессии и номер отправления. Если указанное отправление не содержится ни в одном
реестре или нет реестра с указанным номером, вернется соответствующее сообщение.
Структура запроса
{
“SessionId”:
“InvoiceNumber”:
”<уникальный идентификатор сессии>”,
”<номер отправления>”
}
Структура ответа
{
“Number”:
“ErrorMessage”:
”<номер реестр>”,
”<Сообщение ошибки>”
}
16
Формирование этикеток в pdf_ОБЯЗАТЕЛЬНЫЙ ШАГ!
URL: /makelabel
Метод: POST
Описание
Команда предназначена для получения этикеток отправлений в формате pdf. На вход принимается
структура, содержащая идентификатор сессии и список номеров отправлений.
Структура запроса
{
“SessionId”:
”<уникальный идентификатор сессии>”,
“Invoices”:
[
”<номер отправления1>”,
…
“<номер отправленияN>”
]
}
Структура ответа
В случае ошибки ответ содержит поток с текстом ошибки (начинается с ключевого слова «Error»), в случае успеха ответ содержит
поток с pdf файлом в виде массива байт (начинается с «%PDF»).
Формирование этикеток pdf для принтера Zebra
URL: /makeZLabel
Метод: POST
Описание
Команда предназначена для получения этикеток отправлений в формате pdf для печати на принтере
Zebra. На вход принимается структура, содержащая идентификатор сессии и список номеров
отправлений.
Структура запроса
{
“SessionId”:
”<уникальный идентификатор сессии>”,
“Invoices”:
[
”<номер отправления1>”,
…
“<номер отправленияN>”
]
}
Структура ответа
17
В случае ошибки ответ содержит поток с текстом ошибки (начинается с ключевого слова «Error»), в случае успеха ответ содержит
поток с pdf файлом в виде массива байт (начинается с «%PDF»).
Получение списка городов
URL: /citylist
Метод: GET
Описание
Команда предназначена для получения списка городов.
Структура ответа
[
{
“Id“:
“Owner_Id”:
“Name”:
“RegionName”:
“<Id города>”,
”<Owner_id города>”,
”<название города>”,
”<название региона города>”
}
]
Получение списка терминалов
URL: /postamatlist
Метод: GET
Описание
Команда предназначена для получения списка постаматов.
Структура ответа
[
{
“Id“:
“OwnerId”:
“CitiId”:
“CitiOwnerId”:
“CitiName”:
“Region”:
“CountryName”:
“Number”:
“Metro”:
“IndoorPlace”:
“Address”:
“House”:
“PostCode”:
“Name”:
“WorkTime”:
“Latitude”:
“Longitude”:
“<Id постамата>”,
”<Owner_id постамата>”,
“<Id города>”,
“<Owner_id города>”,
“<Название города>”,
“<Название региона>”,
“<Название страны>”,
”<номер постамат, текст>”,
”<название ближайшей станция метро>”,
”<описание входа к постамату>”,
”<адрес расположения постамата>”,
”<номер дома>”,
”<почтовый индекс>”,
”<название>”,
”<интервалы рабочего времени постамата >”,//чч.мм-чч.мм,чч.мм-чч.мм,NODAY, …
//по всем дням недели
“<Широта>”,
“<Долгота>”,
18
“Status”:
“<Статус постамата: 1 – новый, 2 – рабочий, 3 - закрытый>”,
“TypeTitle”:
“Cash”:
“Card”:
“InDescription”:
“OutDescription”:
“MaxSize”:
“<Тип терминала: АПТ/ПВЗ>”,
“<Возможность оплаты наличными: 0 – нет, 1 – да>”,
“<Возможность оплаты пластиковой картой: 0 – нет, 1 –да>”,
“<Полное описание местонахождения терминала внутри>”,
“<Полное описание местонахождения терминала снаружи>”,
“<текстовое описание максимального размера одного из видов:
- 36х36х60,
- max сумма 3х измерений - 80 см>”,
“<текстовое описание максимального веса отправления вида: 5 кг>”
“MaxWeight”:
}
]
Получение информации по зонам
URL: /getzone
Метод: POST
Описание
Команда предназначена для получения списка зон.
Структура запроса
{
“SessionId”:
“FromCity”:
“ToPT”:
”<уникальный идентификатор сессии>”,
“<город отправитель груза, обязательное поле>”,
“<Номер пункта выдачи>”
}
Если поле ToPT не указано, возвращается список зон по всем пунктам выдачи.
Структура ответа
{
“Zones”:
[
{
“FromCity”:
“ToCity”:
“ToPT”:
“Zone”:
“DeliveryMin”:
“DeliveryMax”:
“Koeff”:
“<Город отправления>”,
“<Город доставки>”,
“<Номер пункта выдачи>”,
“<Номер зоны>”,
“<Минимальное время доставки, дни>”,
“<Максимальное время доставки, дни>”,
“<Коэффицент>”
}
],
“Error”:
“<Описание ошибки>”
}
Возможные ошибки:

Город отправитель должен быть указан.

По указанным параметрам информации не найдено.
19
Ошибка сервера. Попробуйте повторить запрос. В случае повторения ошибки обратитесь к
разработчикам.
Получение информации по возвратной накладной
URL: /getreturn
Метод: POST
Описание
Команда предназначена для получения номера возвратной накладной и, если есть, номера акта
возврата.
Структура запроса
{
“SessionId”:
”<уникальный идентификатор сессии>”,
“Invoices”:
[
”<номер отправления Pickpoint или номер отправления клиента 1>”,
…
“<номер отправления Pickpoint или номер отправления клиента N>”
]
}
Структура ответа
{
“SessionId”:
“ReturnInvoices”:
[
{
”<уникальный идентификатор сессии>”,
“InvoiceNumber”:
“ReturnInvoiceNumber”
“ReturnDocumentNumber”:
}
],
“ErrorCode”:
“ErrorMessage”:
”<номер отправления Pickpoint>”,
:”<номер отправления клиента (присвойка)>”,
”<номер акта возврата товара>”
<Код ошибки: 0 – нет ошибки, -1 - ошибка>,
”<Описание ошибки>”
}
Получение акта возврата денег
URL: /getmoneyreturnorder
Метод: POST
Описание
Команда предназначена для получения акта возврата денег.
20
Структура запроса
{
“SessionId”:
“IKN”:
“DocumentNumber”:
“DateFrom”:
“DateEnd”:
”<уникальный идентификатор сессии>”,
“< ИКН клиента, обязательное поле>”,
“<Номер акта>”
“<дата с, текстовая строка>”,
“<дата по, текстовая строка >”,
}
Структура ответа
[
“DocumentNumber”:
”<Номер акта>”,
“Date”:
“<Дата акта>”,
“PayOrderNumber”:
“<Номер платежного поручения>” ,
“Invoices”:
[
{
“InvoiceNumber”:
“<Номер отправления>”,
“GCInvoiceNumber”:
“<Номер отправления клиента>”,
“NPSum”:
<Сумма наложенного платежа>,
“RetSum”:
<Сумма возврата>,
Encloses
[
{
“Barcode”:
“<Номер вложимого (штрих-код)>”,
“GCBarcode”:
“<Номер вложимого клиента>”
}
]
}
],
“TotalNPSum”:
<Общая сумма наложенного платежа>,
“TotalRetSum”:
<Общая сумма возврата>
“Error”:
“<Описание ошибки>”
]
Возможные ошибки:

Не указан ИКН.

Неверный формат даты.
Получение акта возврата товара
URL: /getproductreturnorder
Метод: POST
Описание
Команда предназначена для получения акта возврата товара.
Структура запроса
21
{
“SessionId”:
“IKN”:
“DocumentNumber”:
“DateFrom”:
“DateEnd”:
”<уникальный идентификатор сессии>”,
“< ИКН клиента, обязательное поле>”,
“<Номер акта>”
“<дата с, текстовая строка>”,
“<дата по, текстовая строка >”,
}
Структура ответа
[
“DocumentNumber”:
”<Номер акта>”,
“Date”:
“<Дата акта>”,
“Invoices”:
[
{
“InvoiceNumber”:
“<Номер отправления>”,
“GCInvoiceNumber”:
“<Номер отправления клиента>”,
“NPSum”:
<Сумма наложенного платежа>,
Encloses
[
{
“Barcode”:
“<Номер вложимого (штрих-код)>”,
“GCBarcode”:
“<Номер вложимого клиента>”
}
]
}
],
“TotalNPSum”:
<Общая сумма наложенного платежа>,
“Error”:
“<Описание ошибки>”
]
Возможные ошибки:

Не указан ИКН.
Неверный формат даты.
Получение информации по вложимому
URL: /encloseinfo
Метод: POST
Описание
Команда предназначена для получения информации по вложимому.
Структура запроса
{
“SessionId”:
”<уникальный идентификатор сессии>”,
22
“Barcode”:
“<Штрих-код вложимого>”
}
Структура ответа
{
“Enclose”:
{
“Width”:
“<Ширина отправления>”,
“Height”:
“<Высота отправления>”,
“Depth”:
“<Глубина отправления>”,
“Weight”:
“<Вес отправления>”
},
“Error”: “<Описание ошибки>”
}
Возможные ошибки:

Нет информации для авторизованного клиента по указанным параметрам.

Нет действительной сессии с таким номером.
Ошибка сервера. Попробуйте повторить запрос. В случае повторения ошибки обратитесь к
разработчикам.
Получение истории по списку отправлений
URL: /tracksendings
Метод: POST
Описание
Команда предназначена для получения истории изменения статусов по списку отправлений. В запросе
отправляется идентификатор сессии и список номеров отправлений. В ответ возвращается массив
номеров отправлений с историями изменений статусов.
Структура запроса
{
“SessionId”:
”<уникальный идентификатор сессии>”,
“Invoices”:
<массив номеров отправлений>
[
“<номер отправления PickPoint>”
]
}
Структура ответа
{
“Invoices”:
[
“InvoiceNumber”:
“States”
[
“State”:
”<Номер КО>”,
“<код статуса>”,
23
“ChangeDT”:
“StateMessage”:
”<дата изменения статуса>”,
”<описание статуса>”
]
]
}
Получение справочника статусов отправления
URL: /getstates
Метод: GET
Описание
Команда предназначена для получения списка возможных статусов отправлений.
Структура ответа
[
{
“State“:
“StateText”:
“<номер статута>”,
”<текстовое описание статуса>”
}
]
Получение списка отправлений, прошедших этап (статус)
URL: /getInvoicesChangeState
Метод: POST
Описание
Команда предназначена для получения списка отправлений, прошедших тот или иной этап (статус). В
запросе отправляется идентификатор сессии, интервал дат и необходимый статус. Список возможных
статусов можно получить с помощью метода getstates. В ответ возвращается массив номеров
отправлений c дополнительной информацией.
Структура запроса
{
“SessionId”:
“DateFrom ”:
“DateTo”:
“State”:
”<уникальный идентификатор сессии>”,
<дата с>,
<дата по>,
<статус, если не указан, то возвращается по всем статусам>
}
Структура ответа
[
{
“InvoiceNumber”:
“SenderInvoiceNumber”:
“State”:
”<Номер КО>”,
”<Номер отправления клиента>”,
“<код статуса>”,
24
“ChangeDT”:
“StateMessage”:
}
”<дата изменения статуса>”,
”<описание статуса>”
]
25
Download