- URL for human-readable application info page has format
https://www.rustore.ru/catalog/app/{packageName}. - Application info as a JSON object is available at URL
https://backapi.rustore.ru/applicationData/overallInfo/{packageName}. - APK reference URL is
https://backapi.rustore.ru/applicationData/download-link. It accepts onlyPOSTrequests (see below).
Application info JSON object has following fields:
code: contains stringOK(on success).message: contains stringOK(on success).timestamp: ISO-8601 timestamp (seems to be time of object retrieval).body: application info subobject, containing:appId: numeric application ID (required for APK retrieval).packageName: package name, as in the URL.appName: human-readable application name.category,categories: main application category and an array of all application categories.companyName: human-readable company name.shortDescription: human-readable short application description (one line).fullDescription: human-readable application description (may contain"\n").fileSize: expected APK size?versionName: human-readable version string.versionCode: numeric version number (sequential?).minSdkVersion,targetSdkVersion,maxSdkVersion: numeric Android SDK version limitations.whatsNew: human-readable "What's New?" section (may contain"\n").iconUrl: full URL to application icon (PNG?).fileUrls: an array of screenshots (and other references?). Each element is an object containing:fileUrl: full URL to screenshot (PNG?).ordinal: numeric ordinal number.type: resource type ("SCREENSHOT"for screenshots).orientation: image orientation ("PORTRAIT"for portrait).
appType: ??? (I've seen"MAIN").website: full URL to application home page.signature: ??? (some sort of hash).privacyDataCategories: ??? (an array).adaptedToTablets: boolean flag (?).companyLegalForm: ??? (I've seen"ENTITY").downloads: numeric ??? (seems to be an approximate number of downloads).price: numeric (?).purchased: ??? (I've seennull).appVerUpdatedAt: ISO-8601 timestamp.inAppUpdatePriority: numeric (?).banner: ??? (I've seennull).aggregatorInfo: ??? (I've seennull).video: ??? (I've seennull).publicCompanyId: ??? (string).createdAt: ISO-8601 timestamp (no timezone).updatedAt: ISO-8601 timestamp (no timezone).activeVerCode: numeric (seems to be the same asversionCode).migrationGuideLink: ??? (I've seennull).labelIds: ??? (array).ageRestriction: an object containing:category: string (I've seen"0+").name: human-readable string corresponding tocategory.description: human-readable string containing category description.imageUrl: full URL to category icon (SVG).
markings: ??? (array).seoTags: ??? (array).
Once application info is known, the latest APK reference can be retrieved by sending a POST request to URL
https://backapi.rustore.ru/applicationData/download-link:
- The request must include header
Content-Type: application/json; charset=utf-8. - The request body is a JSON object containing:
appId: numeric application ID (see application info above).firstInstall: booleantrue.
- The response is a JSON object containing:
code: contains stringOK(on success).message: contains stringOK(on success).timestamp: ISO-8601 timestamp (seems to be time of object retrieval).body: APK reference subobject, containing:appId: numeric application ID.apkUrl: full URL to the APK.versionCode: numeric version number (see application info above).
After that the APK can be downloaded from the URL provided in body.apkUrl.