Интеграция через API
Документация по взаимодействию с сервисом через API
Содержание
Описание метода добавления треков
Метод: добавление трекинг номера (ов) – ver. 04.12.2014
URL: http://apilr2.r-lab.biz/addtrack.ashx
Формат передачи данных: JSON
Метод: POST
Внимание! Если сервис не доступен, попробуйте повторить попытку запроса через 5 минут. Если проблема сохраняется, попробуйте резервный адрес http://api-r-lab-b.1gb.ru
В случае если сервис не доступен более 20 минут, обратитесь в нашу техническую поддержку.
Пример контейнера с данными запроса:
{ "trackingUserId":1, "trackingRequestKey":"8e093b01b18e3272a7d615704cc1502a", "testMode":false, "trackingData":[{ "trackingUserClientPhone":"79160000000", "trackingUserClientTrack":"19527937484546", "trackingUserClientEmail":"support@r-lab.biz", "trackingUserClientName":"Дмитрий", "trackingUserClientItemCost":123.45, "sendToUserEmailFullTracking":false, "sendToAdminEmailFullTracking":false, "trackingUserClientOrderNumber":"4321", "trackingUserClientDescription":"" }, {"trackingUserClientPhone":"79150000000", "trackingUserClientTrack":"63010828068631", "trackingUserClientEmail":"support@r-lab.biz", "trackingUserClientName":"Василий", "trackingUserClientItemCost":623.12, "sendToUserEmailFullTracking":false, "sendToAdminEmailFullTracking":false, "trackingUserClientOrderNumber":"4331", "trackingUserClientDescription":"" "trackingUserClientDeliveryServiceId":0 }] }
Свойство | Тип | Описание | Значение может быть пустым |
trackingUserId | integer | id пользователя | нет |
trackingRequestKey | string | md5 hash запроса ( id пользователя :все номера треков без разделитей:ключ пользователя). Пример: 1:1952793748454663010828068631:3c6e0b8a9c15224a8228b9a98ca1531d | нет |
testMode | boolean | В тестовом режиме (true) трекинг номера не добавляются в базу, происходит только проверка запроса | нет |
trackingData | JSON array | Содержит массив с трекинг номерами и данными клиента | нет |
trackingUserClientPhone | string | Номер мобильного телефона клиента в федеральном формате. Пример: 79160000000. Если SMS отправлять не нужно, указывайте номер 79000000000 | нет |
trackingUserClientTrack | string | Трекинг номер почтового отправления | нет |
trackingUserClientEmail | string | E-Mail клиента (если значение пустое, оповещения на e-mail отправляться не будут) | да |
trackingUserClientName | string | Имя или ФИО клиента | да |
trackingUserClientItemCost | decimal | Стоимость товаров | да (может быть нулем) |
sendToAdminEmailFullTracking | boolean | Если значение свойства true, то при каждом изменении статуса почтового отправления на e-mail администратора магазина (указанный при регистрации в http://www.отследить-посылку.рф) будет отправлять письмо с информацией о статусе. | нет |
sendToUserEmailFullTracking | boolean | Если значение свойства true, то при каждом изменении статуса почтового отправления на e-mail клиента магазина будет отправляться так же письмо с информацией о статусе. | нет |
trackingUserClientOrderNumber | string | Номер заказа (максимальная длина 40 символов) | нет |
trackingUserClientDescription | string | Любые другие данные, например название товара или название магазина (если через один аккаунт отправляются оповещения от разных магазинов). Максимальная длина 200 символов. | нет |
trackingUserClientDeliveryServiceId | Integer | ID службы доставки. Данный параметр определяет, к какой службе доставки отнести трек. | нет |
Почта России | 0 |
TopDelivery | 1 |
СПСР | 2 |
Boxberry | 3 |
PickPoint | 4 |
Shop-Logistics | 5 |
Деловые линии | 6 |
СДЭК | 7 |
DPD | 8 |
Экспресс.Ру | 9 |
ПЭК | 10 |
КСЭ | 11 |
Dimex | 12 |
УкрПочта | 13 |
Почта Казахстана | 15 |
Нова Пошта | 16 |
Примеры ответов от сервера:
{"resultState":0,"resultInfo":"Данные успешно добавлены в базу","resultData":null}
{"resultState":1," resultInfo ":"Часть данных добавлены в базу, ошибок 2","resultData":null}
{"resultState":2," resultInfo ":"Некорректный ключ запроса в trackingRequestKey","resultData":null}
Свойство | Тип | Описание |
resultState | interger | Код результата операции.
0 - данные успешно добавлены. 1 - данные частично добавлены (причина описана в resultInfo). 2 - ошибка, данные не добавлены (причина описана в resultInfo). |
resultInfo | string | В этом свойстве возвращается описание ошибки или общая информация |
resultData | JSON array | Может содержать массив с данными (например, информацию по запрошенным трекам) |
Описание метода удаления треков
Метод: удаление треков из системы, максимум 100 треков в одном запроса. Используется в случае, если по треку приходят некорректные смс. Удаленные треки считаются оплаченными.
URL: http://apilr2.r-lab.biz/deltrack.ashx
Формат передачи данных: JSON
Метод: POST
Пример контейнера с данными запроса:
{
"trackingUserId":1,
"trackingRequestKey":"8e093b01b18e3272a7d615704cc1502a",
"testMode":false,
"trackingData":[{
"trackingUserClientPhone":"",
"trackingUserClientTrack":"19527937484546",
"trackingUserClientEmail":"",
"trackingUserClientName":"",
"trackingUserClientItemCost":0,
"sendToUserEmailFullTracking":false,
"sendToAdminEmailFullTracking":false
},
{"trackingUserClientPhone":"",
"trackingUserClientTrack":"63010828068631",
"trackingUserClientEmail":"",
"trackingUserClientName":"",
"trackingUserClientItemCost":0,
"sendToUserEmailFullTracking":false,
"sendToAdminEmailFullTracking":false
""trackingUserClientDeliveryServiceId":0
}]
}
В данном методе, в контейнере должно быть заполнено только одно свойство trackingUserClientTrack, остальные поля можно оставить пустыми.
Свойство | Тип | Описание | Значение может быть пустым |
trackingUserId | integer | id пользователя | нет |
trackingRequestKey | string | md5 hash запроса ( id пользователя :все номера треков без разделитей:ключ пользователя). Пример: 1:1952793748454663010828068631:3c6e0b8a9c15224a8228b9a98ca1531d | нет |
testMode | boolean | В тестовом режиме (true) трекинг номера не добавляются в базу, происходит только проверка запроса | нет |
trackingData | JSON array | Содержит массив с трекинг номерами и данными клиента | нет |
trackingUserClientPhone | string | Номер мобильного телефона клиента в федеральном формате. Пример: 79160000000. Если SMS отправлять не нужно, указывайте номер 79000000000 | В данном методе да |
trackingUserClientTrack | string | Трекинг номер почтового отправления | нет |
trackingUserClientEmail | string | E-Mail клиента (если значение пустое, оповещения на e-mail отправляться не будут) | да |
trackingUserClientName | string | Имя или ФИО клиента | да |
trackingUserClientItemCost | decimal | Стоимость товаров | да (может быть нулем) |
sendToAdminEmailFullTracking | boolean | Если значение свойства true, то при каждом изменении статуса почтового отправления на e-mail администратора магазина (указанный при регистрации в http://www.отследить-посылку.рф) будет отправлять письмо с информацией о статусе. | нет |
sendToUserEmailFullTracking | boolean | Если значение свойства true, то при каждом изменении статуса почтового отправления на e-mail клиента магазина будет отправляться так же письмо с информацией о статусе. | нет |
trackingUserClientDeliveryServiceId | Integer | ID службы доставки. Данный параметр определяет, к какой службе доставки отнести трек. | нет |
Примеры ответов от сервера:
{"resultState":0,"resultInfo":"Треки успешно удалены из базы","resultData":null}
{"resultState":1," resultInfo ":"Часть треков удалены, ошибок 1","resultData":null}
{"resultState":2," resultInfo ":"Некорректный ключ запроса в trackingRequestKey","resultData":null}
Свойство | Тип | Описание |
resultState | interger | Код результата операции.
0 –треки удалены из системы 1 – запрос выполнен частично, см. resultInfo. 2 – ошибка в запросе (причина описана в resultInfo). |
resultInfo | string | В этом свойстве возвращается описание ошибки или общая информация |
resultData | JSON array | Массив с данными (информациz по запрошенным трекам) |
Описание метода Запроса информации по трекам
Метод: получение информации по трекинг-кодам (которые загружены в системе), максимум 100 треков в одном запроса. ver. 04.12.2014
URL: http://apilr2.r-lab.biz/gettrackinfo.ashx
Формат передачи данных: JSON
Метод: POST
Пример контейнера с данными запроса:
{ "trackingUserId":1, "trackingRequestKey":"8e093b01b18e3272a7d615704cc1502a", "testMode":false, "trackingData":[{ "trackingUserClientPhone":"", "trackingUserClientTrack":"19527937484546", "trackingUserClientEmail":"", "trackingUserClientName":"", "trackingUserClientItemCost":0, "sendToUserEmailFullTracking":false, "sendToAdminEmailFullTracking":false }, {"trackingUserClientPhone":"", "trackingUserClientTrack":"63010828068631", "trackingUserClientEmail":"", "trackingUserClientName":"", "trackingUserClientItemCost":0, "sendToUserEmailFullTracking":false, "sendToAdminEmailFullTracking":false }] }
В данном методе, в контейнере должно быть заполнено только одно свойство trackingUserClientTrack, остальные поля можно оставить пустыми.
Свойство | Тип | Описание | Значение может быть пустым |
trackingUserId | integer | id пользователя | нет |
trackingRequestKey | string | md5 hash запроса ( id пользователя :все номера треков без разделитей:ключ пользователя). Пример: 1:1952793748454663010828068631:3c6e0b8a9c15224a8228b9a98ca1531d | нет |
testMode | boolean | В тестовом режиме (true) трекинг номера не добавляются в базу, происходит только проверка запроса | нет |
trackingData | JSON array | Содержит массив с трекинг номерами и данными клиента | нет |
trackingUserClientPhone | string | Номер мобильного телефона клиента в федеральном формате. Пример: 79160000000. Если SMS отправлять не нужно, указывайте номер 79000000000 | В данном методе да |
trackingUserClientTrack | string | Трекинг номер почтового отправления | нет |
trackingUserClientEmail | string | E-Mail клиента (если значение пустое, оповещения на e-mail отправляться не будут) | да |
trackingUserClientName | string | Имя или ФИО клиента | да |
trackingUserClientItemCost | decimal | Стоимость товаров | да (может быть нулем) |
sendToAdminEmailFullTracking | boolean | Если значение свойства true, то при каждом изменении статуса почтового отправления на e-mail администратора магазина (указанный при регистрации в http://www.отследить-посылку.рф) будет отправлять письмо с информацией о статусе. | нет |
sendToUserEmailFullTracking | boolean | Если значение свойства true, то при каждом изменении статуса почтового отправления на e-mail клиента магазина будет отправляться так же письмо с информацией о статусе. | нет |
trackingUserClientDeliveryServiceId | Integer | ID службы доставки. Данный параметр определяет, к какой службе доставки отнести трек. | нет |
Примеры ответов от сервера:
{ "resultState":0, "resultInfo":"Запрос выполнен", "resultData": [{ "trackNumber":"19527937484546", "trackInfo":"Операция:Обработка\r\nДата:24.06.2013 0:00:00\r\nМесто проведения операции:Мытищи СЦ\r\nАтрибут операции:Покинуло сортировочный центр\r\nИндекс:141027\r\n", "trackMainStatus":0, "trackCreateDate":"28.11.2014 12:50:04", "trackUpdateDate":"27.11.2014 19:54:00" },{ "trackNumber":"63010828068631", "trackInfo":"Операция:Обработка\r\nДата:12.06.2013 0:35:00\r\nМесто проведения операции:Москва PCI-1\r\nАтрибут операции:\r\nСортировкаИндекс:104001\r\n", "trackMainStatus":0, "trackCreateDate":"28.11.2014 12:50:04", "trackUpdateDate":"27.11.2014 19:54:00" } ]}
{"resultState":2," resultInfo ":"Некорректный ключ запроса в trackingRequestKey","resultData":null}
Свойство | Тип | Описание |
resultState | interger | Код результата операции.
0 – запрос выполнен, см. resultData. 2 – ошибка в запросе (причина описана в resultInfo). |
resultInfo | string | В этом свойстве возвращается описание ошибки или общая информация |
resultData | JSON array | Массив с данными (информация по запрошенным трекам) |
trackCreateDate | string | Дата и время добавления трека в систему, формат dd.MM.yyyy HH:mm:ss |
trackUpdateDate | string | Дата и время обновления статуса или информации по треку, формат dd.MM.yyyy HH:mm:ss. В случае если трек еще не обновлялся вернется значение null |
Варианты значения в свойстве trackMainStatus (основной статус):
0 – отсутствует основной статус
1 - вручено
2 – ожидает в месте вручения
3 - возврат
4 – прием почтовым отделением (посылка в пути)
5 – экспорт в Россию
6 – импорт в Россию
7 – прием почтового отправления за пределами России
8 – посылка возможно в месте вручения (с момента последней сортировки прошло более 2х недель, или количество дней установленное в настройках)
9 – просрочено (отсутствуют статусы «Вручение» или «Истек срок хранения» более 35 дней, либо более 60 дней не обновляются статусы «Прием», «Сортировка»,больше 60 дней статусы отсутствуют).
Описание метода получения финансовой информации пользователя
ver. 20.02.2015
URL: http://apilr2.r-lab.biz/getuserinfo.ashx
Формат передачи данных: JSON
Метод: POST
Пример контейнера с данными запроса:
{ "trackingUserId":1, "trackingRequestKey":"8e093b01b18e3272a7d615704cc1502a", "testMode":false, "trackingData":null }
Свойство | Тип | Описание | Значение может быть пустым |
trackingUserId | integrer | id пользователя | нет |
trackingRequestKey | string | md5 hash запроса ( id пользователя :ключ пользователя). Пример: 1:3c6e0b8a9c15224a8228b9a98ca1531d | нет |
Примеры ответов от сервера:
{ "resultState":0, "resultInfo":"Запрос выполнен", "resultData": { "userExpireDate":"Бессрочный", "userBalance":60, "userExpired":false, "userBalanceUnlimited":false, "userDateUnlimited":true } }
или
{ "resultState":0, "resultInfo":"Запрос выполнен", "resultData":{ "userExpireDate":"13.04.2015", "userBalance":384, "userExpired":false, "userBalanceUnlimited":false, "userDateUnlimited":false } }
Свойство | Тип | Описание |
resultState | interger | Код результата операции.
0 – запрос выполнен, см. resultData. 2 – ошибка в запросе (причина описана в resultInfo). |
resultInfo | string | В этом свойстве возвращается описание ошибки или общая информация. |
resultData | JSON object | Финансовая информация пользователя |
userExpireDate | string | Дата окончания тарифа. Если тариф бессрочный, вместо даты будет возвращаться "Бессрочный". |
userBalance | integer | Текущий баланс треков. Если баланс неограниченный, то будет возвращаться 1. |
userExpired | boolean | false – тариф не просрочен
true – тариф просрочен |
userBalanceUnlimited | boolean | false – баланс не неограниченный
true – баланс неограниченный |
userDateUnlimited | boolean | false – тариф не бессрочный
true – тариф бессрочный |
Описание метода обновления данных заказа
Метод: обновление данных трекинг номера (ов) – ver. 04.12.2014
URL: http://apilr2.r-lab.biz/updatetrack.ashx
Формат передачи данных: JSON
Метод: POST
Пример контейнера с данными запроса:
{ "trackingUserId":1, "trackingRequestKey":"8e093b01b18e3272a7d615704cc1502a", "testMode":false, "trackingData":[{ "trackingUserClientPhone":"79160000000", "trackingUserClientTrack":"19527937484546", "trackingUserClientEmail":"support@r-lab.biz", "trackingUserClientName":"Дмитрий", "trackingUserClientItemCost":123.45, "sendToUserEmailFullTracking":false, "sendToAdminEmailFullTracking":false, "trackingUserClientOrderNumber":"4321", "trackingUserClientDescription":"" }, {"trackingUserClientPhone":"79150000000", "trackingUserClientTrack":"63010828068631", "trackingUserClientEmail":"support@r-lab.biz", "trackingUserClientName":"Василий", "trackingUserClientItemCost":623.12, "sendToUserEmailFullTracking":false, "sendToAdminEmailFullTracking":false, "trackingUserClientOrderNumber":"4331", "trackingUserClientDescription":"" }] }
Свойство | Тип | Описание | Значение может быть пустым |
trackingUserId | integer | id пользователя | нет |
trackingRequestKey | string | md5 hash запроса ( id пользователя :все номера треков без разделитей:ключ пользователя). Пример: 1:1952793748454663010828068631:3c6e0b8a9c15224a8228b9a98ca1531d | нет |
testMode | boolean | В тестовом режиме (true) трекинг номера не добавляются в базу, происходит только проверка запроса | нет |
trackingData | JSON array | Содержит массив с трекинг номерами и данными клиента | нет |
trackingUserClientPhone | string | Номер мобильного телефона клиента в федеральном формате. Пример: 79160000000. Если SMS отправлять не нужно, указывайте номер 79000000000 | Да (если значение пустое, данные в базе не изменяться) |
trackingUserClientTrack | string | Трекинг номер почтового отправления | нет |
trackingUserClientEmail | string | E-Mail клиента (если значение пустое, оповещения на E-Mail отправляться не будут) | Да (если значение пустое, данные в базе не изменяться) |
trackingUserClientName | string | Имя или ФИО клиента | Да (если значение пустое, данные в базе не изменяться) |
trackingUserClientItemCost | decimal | Стоимость товаров | Да (если значение = 0, то данные в базе не изменяться) |
sendToAdminEmailFullTracking | boolean | Если значение свойства true, то при каждом изменении статуса почтового отправления на E-Mail администратора магазина (указанный при регистрации в http://www.отследить-посылку.рф) будет отправлять письмо с информацией о статусе. | нет |
sendToUserEmailFullTracking | boolean | Если значение свойства true, то при каждом изменении статуса почтового отправления на E-Mail клиента магазина будет отправляться так же письмо с информацией о статусе. | нет |
trackingUserClientOrderNumber | string | Номер заказа (максимальная дли 40 символов) | Да (если значение пустое, данные в базе не изменяться) |
trackingUserClientDescription | string | Любые другие данные, например название товара или название магазина (если через один аккаунт отправляются оповещения от разных магазинов). Максимальная длина 200 символов. | Да (если значение пустое, данные в базе не изменяться) |
Внимание! Если нужно изменить только одно (или несколько) значений в базе, то не нужные свойства контейнера можно оставить пустыми. Например, если у трека нужно только изменить имя клиента, запрос будет выглядеть так:
{ "trackingUserId":1, "trackingRequestKey":"8e093b01b18e3272a7d615704cc1502a", "testMode":false, "trackingData":[{ "trackingUserClientPhone":"", "trackingUserClientTrack":"19527937484546" "trackingUserClientEmail":"" "trackingUserClientName":"Николай", "trackingUserClientItemCost":0, "sendToUserEmailFullTracking":false, "sendToAdminEmailFullTracking":false, "trackingUserClientOrderNumber":"" }] }
Примеры ответов от сервера:
{"resultState":0,"resultInfo":" Данные успешно добавлены в очередь на обновление","resultData":null}
{"resultState":1," resultInfo ":" Часть данных обновлена в базе, ошибок 2","resultData":null}
{"resultState":2," resultInfo ":"Некорректный ключ запроса в trackingRequestKey","resultData":null}
Свойство | Тип | Описание |
resultState | interger | Код результата операции.
0 - данные добавлены в очередь на обновление. 1 - данные частично обновлены (причина описана в resultInfo). 2 - ошибка, данные не обновлены (причина описана в resultInfo). |
resultInfo | string | В этом свойстве возвращается описание ошибки или общая информация |
resultData | JSON array | Может содержать массив с данными (например, информацию по запрошенным трекам) |