Skip to content

Product to License Manager

sadhasivam edited this page Sep 10, 2024 · 1 revision

Connection Test

URL: /api/ConnectionTest

Method: POST

Description: This API is used to test the connection between the Product and the Agora License Manager.

Parameters:

Parameter Type Required/Optional Description
product_id Integer Required The key of the product Id
connection_hash String Required The hash of the connection

Response:

"<connection_test>OK</connection_test>"

License Install

URL: /api/licenseInstall

Method: POST

Description: This is used by the script on the user's machine to check if the license is active and add installation details to the Agora License Manager database during installation of the protected script.

Parameters:

Parameter Type Required/Optional Description
product_id Integer Required The key of the product Id
client_email String Optional The email of the client
license_code String Required The code of the license
root_url String Required The domain URL of the product
installation_hash String Required The random hash of the installation
license_signature String Required The random hash of the license

Response:

{
  "headers": {
    "date": "Mon, 09 Sep 2024 08:56:35 GMT",
    "server": "Apache/2.4.62 (Ubuntu)",
    "cache-control": "no-cache, private",
    "notification_case": "notification_license_ok",
    "notification_text": "License OK",
    "notification_server_signature": "28ff3d4da88acc01105d72a1d4c16d8d9498b4b3ae84065ce76c764ffc",
    "notification_data": "\"\"",
    "x-ratelimit-limit": "60",
    "x-ratelimit-remaining": "58",
    "access-control-allow-origin": "*",
    "x-clockwork-id": "172582195-7011-388837362",
    "x-clockwork-version": "5.1.12",
    "x-clockwork-path": "/manager/public/__clockwork/",
    "server-timing": "app; dur=18.883943557739; desc=\"Application\", db; dur=2.38; desc=\"Database\", timeline-event-0; dur=11.54613494873; desc=\"Controller\"",
    "transfer-encoding": "chunked",
    "content-type": "application/json"
  },
  "error": "",
  "body": "[]"
}

License Scheme

URL: /api/licenseScheme

Method: POST

Description: This API is used by the script on the user's machine to check if the license is active and get the MySQL schema for local license storage from the Agora License Manager database during the installation of the protected script.

Parameters:

Parameter Type Required/Optional Description
product_id Integer Required The key of the product Id
client_email String Optional The email of the client
license_code String Required The code of the license
root_url String Required The domain URL of the product
installation_hash String Required The random hash of the installation
license_signature String Required The random hash of the license

Response:

{
  "headers": {
    "date": "Mon, 09 Sep 2024 09:18:26 GMT",
    "server": "Apache/2.4.62 (Ubuntu)",
    "cache-control": "no-cache, private",
    "notification_case": "notification_license_ok",
    "notification_text": "License OK",
    "notification_server_signature": "28ff3d4da88acc01105d72a1d4c16d8d9498b56c9584b3ae84065ce76c764ffc",
    "notification_data": "{\"scheme_id\":1,\"scheme_query\":\"CREATE TABLE `%APL_DATABASE_TABLE%` (\\r\\n    `SETTING_ID` TINYINT(1) NOT NULL AUTO_INCREMENT,\\r\\n    `ROOT_URL` VARCHAR(250) NOT NULL,\\r\\n    `CLIENT_EMAIL` VARCHAR(250) NOT NULL,\\r\\n    `LICENSE_CODE` VARCHAR(250) NOT NULL,\\r\\n    `LCD` VARCHAR(250) NOT NULL,\\r\\n    `LRD` VARCHAR(250) NOT NULL,\\r\\n    `INSTALLATION_KEY` VARCHAR(250) NOT NULL,\\r\\n    `INSTALLATION_HASH` VARCHAR(250) NOT NULL,\\r\\n    PRIMARY KEY (`SETTING_ID`)\\r\\n) DEFAULT CHARSET=utf8;\\r\\n\\r\\nINSERT INTO `%APL_DATABASE_TABLE%` (`SETTING_ID`, `ROOT_URL`, `CLIENT_EMAIL`, `LICENSE_CODE`, `LCD`, `LRD`, `INSTALLATION_KEY`, `INSTALLATION_HASH`) VALUES ('1', '%ROOT_URL%', '%CLIENT_EMAIL%', '%LICENSE_CODE%', '%LCD%', '%LRD%', '%INSTALLATION_KEY%', '%INSTALLATION_HASH%');\",\"scheme_status\":1,\"created_at\":null,\"updated_at\":null}",
    "x-ratelimit-limit": "60",
    "x-ratelimit-remaining": "59",
    "access-control-allow-origin": "*",
    "x-clockwork-id": "1725873506-9609-813577971",
    "x-clockwork-version": "5.1.12",
    "x-clockwork-path": "/manager/public/__clockwork/",
    "server-timing": "app; dur=21.367073059082; desc=\"Application\", db; dur=2.37; desc=\"Database\", timeline-event-0; dur=13.402938842773; desc=\"Controller\"",
    "transfer-encoding": "chunked",
    "content-type": "application/json"
  },
  "error": "",
  "body": "[]"
}

License Verify

URL: /api/licenseVerify

Method: POST

Description: This API is used by the script on the user's machine to check if the license is active and add callback details to the Agora License Manager database during the license check of the protected script.

Parameters:

Parameter Type Required/Optional Description
product_id Integer Required The key of the product Id
client_email String Optional The email of the client
license_code String Required The code of the license
root_url String Required The domain URL of the product
installation_hash String Required The random hash of the installation
license_signature String Required The random hash of the license

Response:

{
  "headers": {
    "date": "Mon, 09 Sep 2024 08:56:35 GMT",
    "server": "Apache/2.4.62 (Ubuntu)",
    "cache-control": "no-cache, private",
    "notification_case": "notification_license_ok",
    "notification_text": "License OK",
    "notification_server_signature": "28ff3d4da88acc01105d72a1d4c16d8d9498b4b3ae84065ce76c764ffc",
    "notification_data": "\"\"",
    "x-ratelimit-limit": "60",
    "x-ratelimit-remaining": "58",
    "access-control-allow-origin": "*",
    "x-clockwork-id": "172582195-7011-388837362",
    "x-clockwork-version": "5.1.12",
    "x-clockwork-path": "/manager/public/__clockwork/",
    "server-timing": "app; dur=18.883943557739; desc=\"Application\", db; dur=2.38; desc=\"Database\", timeline-event-0; dur=11.54613494873; desc=\"Controller\"",
    "transfer-encoding": "chunked",
    "content-type": "application/json"
  },
  "error": "",
  "body": "[]"
}

Get Version Information

URL: /api/getVersions

Method: POST

Description: This API retrieves version information for a specified product, validates the data, and generates a report or notification based on the outcome.

Parameters:

Parameter Type Required/Optional Description
product_id Integer Required The unique identifier of the product
product_key String Required The key associated with the product for validation
version_number String Optional The specific version number to retrieve
user_local_path String Required The local path of the user accessing the version information
script_signature String Required A signature to verify the script making the request

Response:

{
  "headers": {
    "date": "Mon, 09 Sep 2024 09:27:10 GMT",
    "server": "Apache/2.4.62 (Ubuntu)",
    "notification_case": "notification_operation_ok",
    "notification_text": "Operation successful",
    "notification_server_signature": "d2c285d1cf3fe6904a44dd485fe824cc5fb887fe9d6a809c8441fc3579bf7322",
    "notification_data": "{\"product_id\":1,\"product_title\":\"Test Product\",\"product_sku\":\"PRODUCT_TEST\",\"product_short_description\":\"\",\"product_full_description\":\"\",\"product_url_homepage\":\"\",\"product_url_order\":\"\",\"product_price\":0,\"product_key\":\"IMacaMnoSwtoBuxd\",\"product_max_active_versions\":0,\"product_date\":\"0000-00-00\",\"product_status\":1,\"created_at\":null,\"updated_at\":null,\"deleted_at\":null,\"version_id\":1,\"version_number\":\"v8.1.3\",\"version_install_file\":\"\",\"version_install_query\":\"\",\"version_raw_install_query\":\"\",\"version_upgrade_file\":\"test_c8b3414a02680c4f1fa106a4c2e1.zip\",\"version_upgrade_query\":\"\",\"version_raw_upgrade_query\":\"\",\"version_install_limit\":0,\"version_install_count\":0,\"version_upgrade_limit\":0,\"version_upgrade_count\":6,\"version_changelog\":\"\",\"version_date\":\"2024-05-29\",\"version_expire_date\":\"0000-00-00\",\"version_comments\":\"\",\"version_status\":1,\"expired\":1}",
    "cache-control": "no-cache, private",
    "x-ratelimit-limit": "60",
    "x-ratelimit-remaining": "59",
    "access-control-allow-origin": "*",
    "x-clockwork-id": "1725874030-4625-728200730",
    "x-clockwork-version": "5.1.12",
    "x-clockwork-path": "/manager/public/__clockwork/",
    "server-timing": "app; dur=25.395154953003; desc=\"Application\", db; dur=4.07; desc=\"Database\", timeline-event-0; dur=15.835046768188; desc=\"Controller\"",
    "set-cookie": "x-clockwork=%7B%22requestId%22%3A%221725874030-4625-728200730%22%2C%22version%22%3A%225.1.12%22%2C%22path%22%3A%22%5C%2Fmanager%5C%2Fpublic%5C%2F__clockwork%5C%2F%22%2C%22webPath%22%3A%22%5C%2Fmanager%5C%2Fpublic%5C%2Fclockwork%5C%2Fapp%22%2C%22token%22%3A%22bc2485ec%22%2C%22metrics%22%3Atrue%2C%22toolbar%22%3Atrue%7D; expires=Mon, 09 Sep 2024 09:28:10 GMT; Max-Age=60; path=/; samesite=lax",
    "vary": "Accept-Encoding",
    "transfer-encoding": "chunked",
    "content-type": "text/html; charset=UTF-8"
  },
  "error": "",
  "body": [] ,
}

Get All Versions

URL: /api/getAllVersions

Method: POST

Description: This API retrieves all available versions for a specified product, validates the data, and generates a report or notification based on the outcome.

Parameters:

Parameter Type Required/Optional Description
product_id Integer Required The unique identifier of the product
product_key String Required The key associated with the product for validation
version_number String Optional The specific version number to retrieve
user_local_path String Required The local path of the user accessing the version information
script_signature String Required A signature to verify the script making the request

Response:

{
  "headers": {
    "date": "Mon, 09 Sep 2024 09:40:40 GMT",
    "server": "Apache/2.4.62 (Ubuntu)",
    "notification_case": "notification_operation_ok",
    "notification_text": "Operation successful",
    "notification_server_signature": "d2c285d1cf3fe6904a44dd485fe824cc5fb887fe9d6a809c8441fc3579bf7322",
    "notification_data": {
      "product_id": 1,
      "product_title": "Sample Product Title",
      "product_sku": "SAMPLE-SKU",
      "product_short_description": "Sample short description",
      "product_full_description": "Sample full description",
      "product_url_homepage": "http://example.com/homepage",
      "product_url_order": "http://example.com/order",
      "product_price": 0,
      "product_key": "samplekey12345",
      "product_max_active_versions": 0,
      "product_date": "0000-00-00",
      "product_status": 1,
      "created_at": null,
      "updated_at": null,
      "deleted_at": null,
      "version_id": 10001,
      "version_number": "v1.0.0",
      "version_install_file": "install_file.zip",
      "version_install_query": "install query",
      "version_raw_install_query": "raw install query",
      "version_upgrade_file": "upgrade_file.zip",
      "version_upgrade_query": "upgrade query",
      "version_raw_upgrade_query": "raw upgrade query",
      "version_install_limit": 0,
      "version_install_count": 0,
      "version_upgrade_limit": 0,
      "version_upgrade_count": 0,
      "version_changelog": "Changelog details",
      "version_date": "2024-01-01",
      "version_expire_date": "2024-12-31",
      "version_comments": "Version comments",
      "version_status": 1,
      "expired": 0,
      "product_versions": [
        {
          "version_id": 10001,
          "product_id": 1,
          "version_number": "v1.0.0",
          "version_install_file": "install_file.zip",
          "version_install_query": "install query",
          "version_raw_install_query": "raw install query",
          "version_upgrade_file": "upgrade_file.zip",
          "version_upgrade_query": "upgrade query",
          "version_raw_upgrade_query": "raw upgrade query",
          "version_install_limit": 0,
          "version_install_count": 0,
          "version_upgrade_limit": 0,
          "version_upgrade_count": 0,
          "version_changelog": "Changelog details",
          "version_date": "2024-01-01",
          "version_expire_date": "2024-12-31",
          "version_comments": "Version comments",
          "version_status": 1,
          "expired": 0,
          "created_at": null,
          "updated_at": null
        },
        {
          "version_id": 10002,
          "product_id": 1,
          "version_number": "v1.0.1",
          "version_install_file": "install_file.zip",
          "version_install_query": "install query",
          "version_raw_install_query": "raw install query",
          "version_upgrade_file": "upgrade_file.zip",
          "version_upgrade_query": "upgrade query",
          "version_raw_upgrade_query": "raw upgrade query",
          "version_install_limit": 0,
          "version_install_count": 0,
          "version_upgrade_limit": 0,
          "version_upgrade_count": 0,
          "version_changelog": "Changelog details",
          "version_date": "2024-02-01",
          "version_expire_date": "2024-12-31",
          "version_comments": "Version comments",
          "version_status": 1,
          "expired": 0,
          "created_at": null,
          "updated_at": null
        }
      ]
    },
    "cache-control": "no-cache, private",
    "x-ratelimit-limit": "60",
    "x-ratelimit-remaining": "56",
    "access-control-allow-origin": "*",
    "x-clockwork-id": "1725874840-1307-1541210939",
    "x-clockwork-version": "5.1.12",
    "x-clockwork-path": "/manager/public/__clockwork/",
    "server-timing": "app; dur=20.083904266357; desc=\"Application\", db; dur=4.21; desc=\"Database\", timeline-event-0; dur=14.388084411621; desc=\"Controller\"",
    "set-cookie": "x-clockwork=%7B%22requestId%22%3A%221725874840-1307-1541210939%22%2C%22version%22%3A%225.1.12%22%2C%22path%22%3A%22%5C%2Fmanager%5C%2Fpublic%5C%2F__clockwork%5C%2F%22%2C%22webPath%22%3A%22%5C%2Fmanager%5C%2Fpublic%5C%2Fclockwork%5C%2Fapp%22%2C%22token%22%3A%22aa8e284c%22%2C%22metrics%22%3Atrue%2C%22toolbar%22%3Atrue%7D; expires=Mon, 09 Sep 2024 09:41:40 GMT; Max-Age=60; path=/; samesite=lax",
    "vary": "Accept-Encoding",
    "transfer-encoding": "chunked",
    "content-type": "text/html; charset=UTF-8"
  },
  "error": "",
  "body": ""
}

Fetch Query

URL: /api/fetchQuery

Method: POST

Description: This API handles the installation or upgrade of a specified product version by validating the request data and returning the appropriate response or error details.

Parameters

Parameter Type Required/Optional Description
product_id Integer Required The unique identifier of the product
product_key String Required The key associated with the product for validation
version_number String Optional The specific version number to fetch or upgrade
user_local_path String Required The local path of the user where the version will be installed or upgraded
script_signature String Required A signature to verify the authenticity of the request
query_type String Required The type of query to execute, either "install" or "upgrade"

Response

{
  "headers": {
    "date": "Mon, 09 Sep 2024 10:32:19 GMT",
    "server": "Apache/2.4.62 (Ubuntu)",
	"notification_case": "notification_operation_ok",
    "notification_text": "Operation successful",
    "notification_server_signature": "d2c285d1cf3fe6904a44dd485fe824cc5fb887fe9d6a809c8441fc3579bf7322",
    "notification_data": "\"\"",
    "cache-control": "no-cache, private",
    "x-ratelimit-limit": "60",
    "x-ratelimit-remaining": "59",
    "access-control-allow-origin": "*",
    "x-clockwork-id": "1725877939-6512-1027300868",
    "x-clockwork-version": "5.1.12",
    "x-clockwork-path": "/manager/public/__clockwork/",
    "server-timing": "app; dur=18.425941467285; desc=\"Application\", db; dur=1.76; desc=\"Database\", timeline-event-0; dur=10.270833969116; desc=\"Controller\"",
    "set-cookie": "x-clockwork=%7B%22requestId%22%3A%221725877939-6512-1027300868%22%2C%22version%22%3A%225.1.12%22%2C%22path%22%3A%22%5C%2Fmanager%5C%2Fpublic%5C%2F__clockwork%5C%2F%22%2C%22webPath%22%3A%22%5C%2Fmanager%5C%2Fpublic%5C%2Fclockwork%5C%2Fapp%22%2C%22token%22%3A%2256f14cbc%22%2C%22metrics%22%3Atrue%2C%22toolbar%22%3Atrue%7D; expires=Mon, 09 Sep 2024 10:33:19 GMT; Max-Age=60; path=/; samesite=lax",
    "vary": "Accept-Encoding",
    "transfer-encoding": "chunked",
    "content-type": "text/html; charset=UTF-8"
  },
  "error": "",
  "body": "",
  }

Download and Extract Version Files

URL: /api/downloadFile

Method: POST

Description: This API is used to download and extract an archive with files of a specified version.

Parameters

Parameter Type Required/Optional Description
product_id Integer Required The unique identifier of the product
product_key String Required The key associated with the product for validation
version_number String Optional The specific version number to retrieve
user_local_path String Required The local path of the user accessing the version information
script_signature String Required A signature to verify the script making the request
file_type String Required The type of file to download. Valid values are version_install_file, version_install_query, version_upgrade_file, and version_upgrade_query

Response

{
  "headers": {
    "date": "Mon, 09 Sep 2024 10:47:42 GMT",
    "server": "Apache/2.4.62 (Ubuntu)",
    "notification_case": "notification_operation_ok",
    "notification_text": "Operation successful",
    "notification_server_signature": "d2c285d1cf3fe6904a44dd485fe824cc5fb887fe9d6a809c8441fc3579bf7322",
    "notification_data": "\"\"",
    "cache-control": "no-cache, private",
    "x-ratelimit-limit": "60",
    "x-ratelimit-remaining": "59",
    "access-control-allow-origin": "*",
    "x-clockwork-id": "1725878862-1864-1301884928",
    "x-clockwork-version": "5.1.12",
    "x-clockwork-path": "/manager/public/__clockwork/",
    "server-timing": "app; dur=24.708986282349; desc=\"Application\", db; dur=3.97; desc=\"Database\", timeline-event-0; dur=15.849113464355; desc=\"Controller\"",
    "set-cookie": "x-clockwork=%7B%22requestId%22%3A%221725878862-1864-1301884928%22%2C%22version%22%3A%225.1.12%22%2C%22path%22%3A%22%5C%2Fmanager%5C%2Fpublic%5C%2F__clockwork%5C%2F%22%2C%22webPath%22%3A%22%5C%2Fmanager%5C%2Fpublic%5C%2Fclockwork%5C%2Fapp%22%2C%22token%22%3A%223aa13afc%22%2C%22metrics%22%3Atrue%2C%22toolbar%22%3Atrue%7D; expires=Mon, 09 Sep 2024 10:48:42 GMT; Max-Age=60; path=/; samesite=lax",
    "vary": "Accept-Encoding",
    "transfer-encoding": "chunked",
    "content-type": "text/html; charset=UTF-8"
  },
  "error": "",
  "body": "",
  }

Clone this wiki locally