Интеграция через API

Материал из DELIVERYCRM WIKI
Перейти к навигации Перейти к поиску

Документация по взаимодействию с сервисом через 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 службы доставки. Данный параметр определяет, к какой службе доставки отнести трек. нет
Список значений trackingUserClientDeliveryServiceId (жирным выделены службы, поддерживаемые в настоящее время)
Почта России 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}