You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Поля аппаратных ключей:

  • 'dongleid' идентификатор аппаратного ключа  (выгравирован на корпусе);
  • 'model' модель аппаратного ключа (возможные значения: UNKNOWN - 0, DL - 1, SIGN - 2, TIME - 3, CODE - 4, CODE_TIME - 5);
  • 'publiccode' числовое значение публичного кода доступа вендора;
  • 'typeflags' поле Type аппаратного ключа, которые определяет его свойства (поддержку алгоритмов, сетевого функционала и т.п.);
  • 'netresource' сетевой ресурс аппаратного ключа.

Получение списка аппаратных ключей

Авторизация требуется. Входных параметров нет. 

GET /v1.0/dongles

Для запроса доступна сортировка по id ключа и пагинация. Значения параметров сортировки и пагинации по умолчанию: sortby=default&direction=asc&offset=0&limit=100.

Возвращает массив dongles:

"dongles": [
        {
            "dongleid": 991846791,
            "model": 2,
            "netresource": 0,
            "publiccode": 1368487351,
            "typeflags": 0
        }
    ]

Обновление полей аппаратного ключа

Авторизация требуется. Входные параметры RAW JSON:

{
  "driverType": 2
}

Возможные значение поля driverType:

  • 0 драйвер Guardant;
  • 2 HID режим;
  • 16 winusb-драйвер (установлен по умолчанию).

PUT /v1.0/dongles/{dongleid}

Возвращает элемент dongle:

"dongle": {
 "dongleid": 991846791,
 "drivertype": 2,
 "model": 2,
 "netresource": 0,
 "publiccode": 1368487351,
 "typeflags": 0
}

Добавление аппаратного ключа к заказу

Авторизация требуется.  Заказ должен быть в статусе Подтвержден (Submit). Входные параметры RAW JSON:

{
"dongleId": 991846791,
"dongleModel": 2,
"publicCode": 1368487351,
"typeFlags": 0,
"netResource": 0
}

Добавление аппаратного ключа с dongleId, который совпадает с ранее добавленным в заказ запрещено.

POST /v1.0/orders/{id}/dongles

Возвращает элемент dongle:

"dongle": {
 "dongleid": 991846791,
 "model": 2,
 "netresource": 0,
 "publiccode": 1368487351,
 "typeflags": 0
}

При добавление аппаратного ключа к заказу могут получены следующие дополнительные ошибки:

  • ключ не поддерживает ограниченные по времени компонент (код ошибки 10172);
  • ключ не поддерживает сетевой компонент (код ошибки 10173);
  • общее количество сетевых компонентов превышает сетевой ресурс ключа (код ошибки 10174).

При получении ошибок 10172 и 10173 в ответе на запрос помимо описания ошибки также будут следующе поля: ID аппаратного ключа, номер компонента, номер продукта, номер заказа. Например:

{
   "conflictedDongleId":999392418,
   "conflictedFeatureNumber":16,
   "conflictedOrderNumber":94,
   "conflictedProductNumber":12350,
   "status":{"code":10172,"description":"Dongle does not support time limited features","message":"Bad Request","status":400}
}

При получении ошибки 10174 в ответе на запрос помимо описания ошибки будет только значение ID аппаратного ключа. 

Добавление нескольких аппаратных ключей к заказу

Авторизация требуется.  Заказ должен быть в статусе Подтвержден (Submit). Входные параметры RAW JSON:

{
	"dongles":
	[
		{
		    "dongleId": 995644599,
		    "dongleModel": 2,
		    "netResource": 0,
		    "publicCode": 1368487351,
		    "typeFlags": 442
		},
		{
		    "dongleId": 995644499,
		    "dongleModel": 2,
		    "netResource": 0,
		    "publicCode": 1368487351,
		    "typeFlags": 442
		},
		{
		    "dongleId": 995644399,
		    "dongleModel": 2,
		    "netResource": 0,
		    "publicCode": 1368487351,
		    "typeFlags": 442
		}
	]
}

Добавление аппаратного ключа с dongleId, который совпадает с ранее добавленным в заказ запрещено.

POST /v1.0/orders/{id}/multipledongles

Возвращает массив dongles:

{
    "dongles": [
        {
            "dongleid": 995644599,
            "model": 2,
            "netresource": 0,
            "publiccode": 1368487351,
            "typeflags": 442,
            "retcode":"10168"
        },
        {
            "dongleid": 995644499,
            "model": 2,
            "netresource": 0,
            "publiccode": 1368487351,
            "typeflags": 442,
            "retcode":"0"
        },
        {
            "dongleid": 995644399,
            "model": 2,
            "netresource": 0,
            "publiccode": 1368487351,
            "typeflags": 442,
            "retcode":"0"
        }
    ]
}

При добавление аппаратного ключа к заказу могут получены следующие дополнительные ошибки:

  • ключ не поддерживает ограниченные по времени компонент (код ошибки 10172);
  • ключ не поддерживает сетевой компонент (код ошибки 10173);
  • общее количество сетевых компонентов превышает сетевой ресурс ключа (код ошибки 10174).

При получении ошибок 10172 и 10173 в ответе на запрос помимо описания ошибки также будут следующе поля: ID аппаратного ключа, номер компонента, номер продукта, номер заказа. Например:

{
   "conflictedDongleId":999392418,
   "conflictedFeatureNumber":16,
   "conflictedOrderNumber":94,
   "conflictedProductNumber":12350,
   "status":{"code":10172,"description":"Dongle does not support time limited features","message":"Bad Request","status":400}
}

При получении ошибки 10174 в ответе на запрос помимо описания ошибки будет только значение ID аппаратного ключа. 

Удаление аппаратного ключа из заказа

Авторизация требуется.  Входных параметров нет.

DELETE /v1.0/orders/{id}/dongles/{did}

Получение информации о последней записи ключа (с учетом заказа)

Авторизация требуется. Входных параметров нет. 

Данный необходим для получения статус-кода результат прошивки ключа из базы. Алгоритм действий при прошивке ключа такой: если "Guardant Control Center" возвращает для dongleId статус-код, отличный от 0 (Success), то необходимо выполнить данный запрос. В поле actionResult вернется один из следующих кодов ошибок:

    enum ActionResultCode : int
    {
        Success                                             = 0,   // successful operation
        VendorHasNoActivationTransactionsAvailable          = 2,   // vendor's service transaction limit is over
        VendorHasNoServiceSubscription                      = 5,   // vendor's service subscription is over
        PrepareLicenseError                                 = 13,  // internal error that can be raised during license container generation
        NotEhoughMemoryInLicense                            = 14,  // internal error that can be raised during license container generation if not enough memory for saving all features

                NoFeatureFound                                                                             = 15,      //   no balance associated feature found in master

        DongleBurnFailed                                    = 201, // internal error that can be raised during dongle burn
        DongleNotFound                                      = 202, // dongle has disappeared after its burn starting
        UnknownError                                        = 666
    };

GET /v1.0/orders/{orderid}/dongles/{dongleid}/getlastburninfo

Возвращает значение lastburninfo:

{
    "lastburninfo": {
        "_id": 56,
        "action": 1,
        "actiondate": 1569974400,
        "actionresult": 0,
        "activationsconsumed": 1,
        "activationscountcurrent": 300,
        "netlicensesconsumed": 3,
        "netlicensesremains": 997
    }
}

Получение истории прошивок/обновлений аппаратного ключа

Авторизация требуется. 

GET /v1.0/getdonglehistory/{dongle_id}

Для запроса доступна сортировка по actionDate и пагинация. Значения параметров сортировки и пагинации по умолчанию: direction=asc&offset=0&limit=100.

В данном запросе возможно указать:

  • параметр actiondatebegin=значение_времени (например, 1550149997). Будут отобраны все события с совпадающим или более поздним временем. 
  • параметр actiondateend=значение_времени (например, 1550149999). Будут отобраны все события с совпадающим или более ранним временем.
  • оба параметра actiondatebegin и actiondateend одновременно. Будут отобраны событие из отрезка времени [actiondatebegin, actiondateend].
  • параметр actionresult=value1[,value2,value3,...]. Например, actionresult=0,2,13. Будут отобраны только события, у которых actionResult совпадает с одним из перечисленных значений.

Возвращает массив history:

{
    "history": [
        {
            "_id": 57,
            "actiondate": 1570191207,
            "actionresult": 0,
            "activationsconsumed": 1,
            "activationscountcurrent": 20,
            "netlicensesconsumed": 3,
            "netlicensesremains": 997,
            "customer": {
                "_id": 10,
                "archivationdate": 0,
                "archived": false,
                "companyname": "baskin&robings",
                "crmid": "",
                "description": "",
                "email": "dfgsfg@dfg-df.ru",
                "lastname": "cream",
                "name": "ice",
                "phone": "+349534534534",
                "refid": "",
                "status": 0
            },
            "dongle": {
                "dongleid": 991846791,
                "model": 2,
                "netresource": 0,
                "publiccode": 1368487351,
                "typeflags": 442
            },
            "order": {
                "_id": 244,
                "activationbirthdate": 1568193700,
                "activationdeathdate": 0,
                "activationlimit": 0,
                "archivationdate": 0,
                "archived": false,
                "canoverwritecontainer": false,
                "crmid": "",
                "customer": {
                    "_id": 10,
                    "archivationdate": 0,
                    "archived": false,
                    "companyname": "baskin&robings",
                    "crmid": "",
                    "description": "",
                    "email": "dfgsfg@dfg-df.ru",
                    "lastname": "cream",
                    "name": "ice",
                    "phone": "+349534534534",
                    "refid": "",
                    "status": 0
                },
                "customerrequired": false,
                "date": 1568193433,
                "description": "",
                "isdemo": true,
                "ishardwarelicense": true,
                "number": 30,
                "quantity": 1,
                "refid": "",
                "status": 1,
                "submitdate": 1568196767,
                "type": 0
            }
        }
    ]
}

Проверка, что аппаратный ключ может быть добавлен к заказу

Авторизация требуется.  Заказ должен быть в статусе Подтвержден (Submit). Входные параметры RAW JSON:

{
"dongleId": 991846791,
"dongleModel": 2,
"publicCode": 1368487351,
"typeFlags": 0,
"netResource": 0
}

Если аппаратный ключ уже был ранее добавлен к заказу, то в ответе вернется OK.

Данный запрос для заказа на обновление вернет ошибку.

POST /v1.0/canadddongle/orders/{id}

Возвращает OK (200), если ключ может быть добавлен к заказу и соответствующую ошибку, если нет.

Могут получены следующие дополнительные ошибки:

  • ключ не поддерживает ограниченные по времени компонент (код ошибки 10172);
  • ключ не поддерживает сетевой компонент (код ошибки 10173);
  • общее количество сетевых компонентов превышает сетевой ресурс ключа (код ошибки 10174).

При получении ошибок 10172 и 10173 в ответе на запрос помимо описания ошибки также будут следующе поля: ID аппаратного ключа, номер компонента, номер продукта, номер заказа. Например:

{
   "conflictedDongleId":999392418,
   "conflictedFeatureNumber":16,
   "conflictedOrderNumber":94,
   "conflictedProductNumber":12350,
   "status":{"code":10172,"description":"Dongle does not support time limited features","message":"Bad Request","status":400}
}

При получении ошибки 10174 в ответе на запрос помимо описания ошибки будет только значение ID аппаратного ключа. 

Получение списка заказов аппаратного ключа

Авторизация требуется. 

GET /v1.0/dongles/{id}/orders

Для запроса доступна сортировка по номеру заказа ("number"), дате подтверждения заказа ("submitdate"), дате начала срока действия заказа ("startdate") и пагинация.  Значения параметров сортировки и пагинации по умолчанию: direction=asc&offset=0&limit=100.

Возвращает массив orders:

{
    "orders": [
        {
            "_id": 471,
            "activationbirthdate": 1571130180,
            "activationdeathdate": 0,
            "activationlimit": 0,
            "archivationdate": 0,
            "archived": false,
            "canoverwritecontainer": false,
            "crmid": "",
            "customer": {
                "_id": 10,
                "archivationdate": 0,
                "archived": false,
                "companyname": "baskin&robings",
                "crmid": "",
                "description": "",
                "email": "dfgsfg@dfg-df.ru",
                "lastname": "cream",
                "name": "ice",
                "phone": "+349534534534",
                "refid": "",
                "status": 0
            },
            "customerrequired": false,
            "date": 1571130686,
            "description": "",
            "isdemo": true,
            "ishardwarelicense": true,
            "number": 70,
            "quantity": 1,
            "refid": "",
            "status": 1,
            "submitdate": 1571130723,
            "type": 1
        },
        {
            "_id": 469,
            "activationbirthdate": 1571130000,
            "activationdeathdate": 0,
            "activationlimit": 0,
            "archivationdate": 0,
            "archived": false,
            "canoverwritecontainer": false,
            "crmid": "",
            "customer": {
                "_id": 10,
                "archivationdate": 0,
                "archived": false,
                "companyname": "baskin&robings",
                "crmid": "",
                "description": "",
                "email": "dfgsfg@dfg-df.ru",
                "lastname": "cream",
                "name": "ice",
                "phone": "+349534534534",
                "refid": "",
                "status": 0
            },
            "customerrequired": false,
            "date": 1571130069,
            "description": "",
            "isdemo": true,
            "ishardwarelicense": true,
            "number": 68,
            "quantity": 1,
            "refid": "",
            "status": 1,
            "submitdate": 1571130251,
            "type": 1
        },
        {
            "_id": 244,
            "activationbirthdate": 1568193700,
            "activationdeathdate": 0,
            "activationlimit": 0,
            "archivationdate": 0,
            "archived": false,
            "canoverwritecontainer": false,
            "crmid": "",
            "customer": {
                "_id": 10,
                "archivationdate": 0,
                "archived": false,
                "companyname": "baskin&robings",
                "crmid": "",
                "description": "",
                "email": "dfgsfg@dfg-df.ru",
                "lastname": "cream",
                "name": "ice",
                "phone": "+349534534534",
                "refid": "",
                "status": 0
            },
            "customerrequired": false,
            "date": 1568193433,
            "description": "",
            "isdemo": true,
            "ishardwarelicense": true,
            "number": 30,
            "quantity": 1,
            "refid": "",
            "status": 1,
            "submitdate": 1568196767,
            "type": 0
        }
    ]
}
  • No labels