API системы лицензирования
Введение
Для запроса к API в заголовке необходимо передать ContentType “application/xml” если хотим работать с XML, или “application/json” если работаем с json.
Авторизация и безопасность
userName – ID пользователя.
hPassword – вычисляется как MD5(userName+password)
token – строка выданная rkeeper для доступа к API на сервер передается MD5 от этой строки.
Для получения токена — отправьте заявку в свободной форме на integrations@rkeeper.ru. В теме должно быть указано: “Доступ к API l.ucs.ru”
все хеши передаются в нижнем регистре
Для авторизации в Api к заголовку запроса нужно добавить
usr : Base64(userName + “;” + hPassword + “;” + md5(token)). Такой заголовок нужно передавать во все запросы.
Пример:
GET http://some.addr/api/dealer/getall HTTP/1.1
Content-Type: application/xml
usr: MTtiNTljNjdiZjE5NmE0NzU4MTkxZTQyZjc2NjcwY2ViYTsxQTVGNjYzQTczQzlBNzdDQUIyNkI1MUU2NDIyMjI4RA==
Host: localhost
Описание запросов (управление объектами)
Все запросы возвращают объекты вида
<Objects> <Id>102620000</Id> <Name>Central office</Name> <CorparationId>10262</CorparationId> <CorparationCode>10262</CorparationCode> <CorparationName>ООО "Сабвей-КВ" м.Белые ворота</CorparationName> <CityId>5555</CityId> <CityName>Не определен</CityName> <Country>Не определен</Country> <CountryId>0</CountryId> <IsMain xsi:nil="true"/> <OwnerId xsi:nil="true"/> <IsActive xsi:nil="true"/> <Deleted>0</Deleted> <DateOpen xsi:nil="true"/> <IdGroupObject>1</IdGroupObject> <GroupName>Все</GroupName> <Code>102620000</Code> <DealerId>1</DealerId> <DealerName>rkeeper-Москва</DealerName> <AutoCreateKey xsi:nil="true"/> <LimitationGeneration xsi:nil="true"/> <Color>#fff</Color> <Flag>1</Flag> <EeiKey>066d5ae4-ce4f-4757-a35f-cb515de56152</EeiKey> </Objects>
Полный список объектов доступный пользователю
api/Object/Get
Объекты корпорации
api/Object/GetObjectsByCorporation?corpId=10262
Объект по Id
api/Object/GetObjectsById/102620000
Объекты по Названию
api/Object/GetObjectsByName?name=Шоурум
Описание запросов (работа с лицензиями)
Информация о мастер лицензиях объекта
Для получения списка мастер лицензий посылаем GET запрос
/api/License/GetMasterLicense?objectId=199999999
в ответ получаем
<ArrayOfMasterLicense xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <MasterLicense> <SoftId>1</SoftId> <SoftName>RKeeper 7 Stations</SoftName> <Qty>108</Qty> <ExpirationDate>2014-12-31T00:00:00</ExpirationDate> <Certificate>5345345,3456</Certificate> </MasterLicense> <MasterLicense> <SoftId>8</SoftId> <SoftName>RKeeper 7 Web Reports</SoftName> <Qty>2</Qty> <ExpirationDate>2014-05-21T00:00:00</ExpirationDate> </MasterLicense> </ArrayOfMasterLicense>
Информация о лицензиях объекта
Для получения списка мастер лицензий посылаем GET запрос
/api/License/GetLicenseByObject?objectId=199999999
в ответ получаем
<ArrayOfLicense xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <License> <SoftId>6</SoftId> <SoftName>RKeeper 7 Report Server</SoftName> <Qty>2</Qty> <ExpirationDate>2014-01-09T00:00:00</ExpirationDate> <Key>2E987C25</Key> <LicenseCode>12277-2861-29784-54975-5483-18707</LicenseCode> <User>2356</User> <Tag>0</Tag> <DateGeneration>2013-10-09T13:02:15.479</DateGeneration> <Status>Active</Status> <LicenseType>License</LicenseType> </License> <License> <SoftId>1</SoftId> <SoftName>RKeeper 7 Stations</SoftName> <Qty>2</Qty> <ExpirationDate>2013-10-10T00:00:00</ExpirationDate> <Key>2A9B690B</Key> <LicenseCode>24403-31800-37576-58968-52854-10312</LicenseCode> <User>2240</User> <Tag>0</Tag> <DateGeneration>2013-09-10T13:36:07.772</DateGeneration> <Status>OldLicense</Status> <LicenseType>SOSCode</LicenseType> </License> </ArrayOfLicense>
Генерация лицензии
Для генерации лицензии отправляется POST запрос на адрес
api/license/GenerateLicense
c xml
<?xml version="1.0" encoding="utf-8"?> <GeneratedInfo> <LicType>License</LicType> или SOSCode <CustomerId>199999999</CustomerId> <SoftId>1</SoftId> <ExpirationDate>2014-12-31T00:00:00</ExpirationDate> <LimitQty>1</LimitQty> <RequestCode>34820-45281-26343-936-46392-33585-45586</RequestCode> <Comment>Обязательно для генерации соскода</Comment> </GeneratedInfo>
ответ:
<?xml version="1.0" encoding="utf-8"?> <License> <SoftId>1</SoftId> <SoftName>RKeeper 7 Stations</SoftName> <Qty>2</Qty> <ExpirationDate>2013-10-10T00:00:00</ExpirationDate> <Key>2A9B690B</Key> <LicenseCode>24403-31800-37576-58968-52854-10312</LicenseCode> <User>2240</User> <Tag>0</Tag> <DateGeneration>2013-09-10T13:36:07.772</DateGeneration> <Status>OldLicense</Status> <LicenseType>SOSCode</LicenseType> </License>