Difference between revisions of "Engine Service API"
(9 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
− | == | + | ==Common description== |
− | + | Engine service API is intended first of all to provide third-party applications with ability to find out, if any Premium options for the engine, with which application works, are activated. Also API provides ability to activate desired option on behalf of the application. | |
− | + | Engine service API works at port 6878, if any other port is not specified with option <tt>--http-port</tt>. | |
− | API | + | API works via HTTP protocol. Requests are sent to the address <tt><nowiki>http://localhost:6878/webui/api/service</nowiki></tt> |
− | + | Responds are in JSON format, as JSON-RPC, but without id. | |
− | == | + | ==API methods== |
− | + | Each request to API must have required parameter <tt>method</tt> that contains a name of the called method. | |
− | + | Below you can see a list of all available methods. | |
===check_user_key=== | ===check_user_key=== | ||
− | + | Check, if specified user key is downloaded to the engine. | |
− | + | parameters: | |
− | * ''' | + | * '''user_key''' (''string'') - user key |
− | + | response options: | |
− | * '''{" | + | * '''{"result": "ok", "error": null}''' - specified key is downloaded to the engine |
− | * '''{" | + | * '''{"result": "not_found", "error": null}''' - specified key is not downloaded to the engine |
− | * '''{ | + | * '''{"result": null, "error": "error description"}''' - during query processing error was occurred |
− | + | request example: | |
− | <nowiki>http://localhost:6878/webui/api/service?method=check_user_key&user_key= | + | <nowiki>http://localhost:6878/webui/api/service?method=check_user_key&user_key=1179fcb364f83cc30150b3daffd55ae0a6b70fea</nowiki> |
− | + | response: | |
− | <nowiki>{" | + | <nowiki>{"result": "not_found", "error": null}</nowiki> |
===check_product_user_keys=== | ===check_product_user_keys=== | ||
− | + | Check availability of user keys for a specific product. | |
− | + | parameters: | |
− | * '''product_key''' (''string'') - | + | * '''product_key''' (''string'') - public part of the product key |
− | + | response options: | |
− | * '''{" | + | * '''{"result": "ok", "error": null}''' - at least one key for a specified application was downloaded to the engine |
− | * '''{" | + | * '''{"result": "not_found", "error": null}''' - there are no keys for a specified application |
− | * '''{ | + | * '''{"result": null, "error": "error description"}''' - during query processing error was occurred |
− | + | request example: | |
<nowiki>http://localhost:6878/webui/api/service?method=check_product_user_keys&product_key=1111</nowiki> | <nowiki>http://localhost:6878/webui/api/service?method=check_product_user_keys&product_key=1111</nowiki> | ||
− | + | response: | |
− | <nowiki>{" | + | <nowiki>{"result": "ok", "error": null}</nowiki> |
===load_extension=== | ===load_extension=== | ||
− | + | Loading extension [[extension string]] into the app engine | |
− | + | To load extension string to the engine you have to send POST request to the address <nowiki>http://localhost:6878/webui/api/service?method=load_extension</nowiki> | |
− | + | In body of the request you have to transfer contents of the extension string. | |
− | + | response options: | |
− | * '''{" | + | * '''{"result": true, "error": null}''' - extension was successfully loaded to the engine |
− | * '''{ | + | * '''{"result": null, "error": "error description"}''' - during query processing error was occurred |
− | + | request example: | |
<nowiki>http://localhost:6878/webui/api/service?method=load_extension</nowiki> | <nowiki>http://localhost:6878/webui/api/service?method=load_extension</nowiki> | ||
− | + | response: | |
− | <nowiki>{" | + | <nowiki>{"result": true}</nowiki> |
===get_services=== | ===get_services=== | ||
− | + | Get a list of premium options activated on the engine. | |
− | + | If parameter <tt>product_key</tt> is transferred, list of options available for all applications, as well as options available only for a specified application comes back. | |
− | + | If parameter <tt>product_key</tt> is not transferred, only list of options available for all applications comes back. | |
− | + | parameters: | |
− | * '''product_key''' (''string'') - | + | * '''product_key''' (''string'') - optional parameter that transfers public part of the product key. |
− | + | request example: | |
<nowiki>http://localhost:6878/webui/api/service?method=get_services&product_key=1111</nowiki> | <nowiki>http://localhost:6878/webui/api/service?method=get_services&product_key=1111</nowiki> | ||
− | + | Response format - an array of objects, each of which describes a single premium option. | |
− | + | example: | |
<nowiki>{ | <nowiki>{ | ||
− | + | "result": | |
− | |||
[ | [ | ||
{ | { | ||
Line 94: | Line 93: | ||
u044e\u0447\u0435\u043d\u0438\u0435 \u0440\u0435\u043a\u043b\u0430\u043c\u044b Ace Stream" | u044e\u0447\u0435\u043d\u0438\u0435 \u0440\u0435\u043a\u043b\u0430\u043c\u044b Ace Stream" | ||
} | } | ||
− | ] | + | ], |
+ | "error": null | ||
}</nowiki> | }</nowiki> | ||
− | + | or | |
− | <nowiki>{ | + | <nowiki>{"result": null, "error": "error description"}</nowiki> |
− | + | Fields: | |
− | * '''id''' (''string'') - | + | * '''id''' (''string'') - option ID |
− | * '''name''' (''string'') - | + | * '''name''' (''string'') - option name |
− | * '''valid_from''' (''integer'') - | + | * '''valid_from''' (''integer'') - date of option activation (unix timestamp) |
− | * '''valid_to''' (''integer'') - | + | * '''valid_to''' (''integer'') - date untill which option is active (unix timestamp) |
− | * '''trial''' (''boolean'') - true, | + | * '''trial''' (''boolean'') - true, if option was activated for free for a trial period |
− | * '''description''' (''string'') - | + | * '''description''' (''string'') - option description |
+ | |||
+ | ===check_user_service=== | ||
+ | Check whether the specified option is enabled on the engine. | ||
+ | |||
+ | parameters: | ||
+ | * '''id''' (''string'') - option ID | ||
+ | |||
+ | request example: | ||
+ | <nowiki>http://localhost:6878/webui/api/service?method=check_user_service&id=noAds</nowiki> | ||
+ | |||
+ | Response format - boolean value. | ||
+ | Example (option is not activated): | ||
+ | |||
+ | <nowiki>{ | ||
+ | "result": false, | ||
+ | "error": null | ||
+ | }</nowiki> | ||
+ | |||
+ | or | ||
+ | |||
+ | <nowiki>{"result": null, "error": "error description"}</nowiki> |
Latest revision as of 15:33, 6 September 2017
Contents
Common description
Engine service API is intended first of all to provide third-party applications with ability to find out, if any Premium options for the engine, with which application works, are activated. Also API provides ability to activate desired option on behalf of the application.
Engine service API works at port 6878, if any other port is not specified with option --http-port.
API works via HTTP protocol. Requests are sent to the address http://localhost:6878/webui/api/service
Responds are in JSON format, as JSON-RPC, but without id.
API methods
Each request to API must have required parameter method that contains a name of the called method.
Below you can see a list of all available methods.
check_user_key
Check, if specified user key is downloaded to the engine.
parameters:
- user_key (string) - user key
response options:
- {"result": "ok", "error": null} - specified key is downloaded to the engine
- {"result": "not_found", "error": null} - specified key is not downloaded to the engine
- {"result": null, "error": "error description"} - during query processing error was occurred
request example:
http://localhost:6878/webui/api/service?method=check_user_key&user_key=1179fcb364f83cc30150b3daffd55ae0a6b70fea
response:
{"result": "not_found", "error": null}
check_product_user_keys
Check availability of user keys for a specific product.
parameters:
- product_key (string) - public part of the product key
response options:
- {"result": "ok", "error": null} - at least one key for a specified application was downloaded to the engine
- {"result": "not_found", "error": null} - there are no keys for a specified application
- {"result": null, "error": "error description"} - during query processing error was occurred
request example:
http://localhost:6878/webui/api/service?method=check_product_user_keys&product_key=1111
response:
{"result": "ok", "error": null}
load_extension
Loading extension extension string into the app engine
To load extension string to the engine you have to send POST request to the address http://localhost:6878/webui/api/service?method=load_extension
In body of the request you have to transfer contents of the extension string.
response options:
- {"result": true, "error": null} - extension was successfully loaded to the engine
- {"result": null, "error": "error description"} - during query processing error was occurred
request example:
http://localhost:6878/webui/api/service?method=load_extension
response:
{"result": true}
get_services
Get a list of premium options activated on the engine.
If parameter product_key is transferred, list of options available for all applications, as well as options available only for a specified application comes back.
If parameter product_key is not transferred, only list of options available for all applications comes back.
parameters:
- product_key (string) - optional parameter that transfers public part of the product key.
request example:
http://localhost:6878/webui/api/service?method=get_services&product_key=1111
Response format - an array of objects, each of which describes a single premium option. example:
{ "result": [ { "id": "noAds", "name": "No ADs", "valid_from": 1376939146, "valid_to": 1411671946, "trial": false, "description": "\u041e\u0442\u043a\u043b\ u044e\u0447\u0435\u043d\u0438\u0435 \u0440\u0435\u043a\u043b\u0430\u043c\u044b Ace Stream" } ], "error": null }
or
{"result": null, "error": "error description"}
Fields:
- id (string) - option ID
- name (string) - option name
- valid_from (integer) - date of option activation (unix timestamp)
- valid_to (integer) - date untill which option is active (unix timestamp)
- trial (boolean) - true, if option was activated for free for a trial period
- description (string) - option description
check_user_service
Check whether the specified option is enabled on the engine.
parameters:
- id (string) - option ID
request example:
http://localhost:6878/webui/api/service?method=check_user_service&id=noAds
Response format - boolean value. Example (option is not activated):
{ "result": false, "error": null }
or
{"result": null, "error": "error description"}