- Europe - https://eu-appaiot.3irobotix.net
- USA - https://us-appaiot.3irobotix.net
- China - https://cn-appaiot.3irobotix.net
wifiSSIDPrefix = "iPlus"
projectType = "android_iot.karcher"
tenantId = "1528983614213726208"
version = "v1"
zone = "GBR"
- RCV3 -
1528986273083777024 - RCV5 -
1540149850806333440 - RCF3 -
1599715149861306368
- Idle - 0, 35, 85, 29, 40, 14, 23
- Pause - 4, 31, 82, 27, 37, 9
- Cleaning - 1, 30, 81, 25, 36, 7
- Working - Cleaning || Pause
- GoHome - 5, 10, 11, 12, 21, 26, 32, 47, 38
AES-128-ECB Key = hex(md5(tenantId))[8:24]
Example 0310abafaa3a2268
User-Agent: Android_<tenantId>authorization: <user-auth>- If authorizedid: <user-id>- If authorizedtenantId: <tenantId>sign: <signature>ts: <unix-timestamp>nonce: <randstr-32>
randstr-32 - random string of 32 characters from set 123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
request-data - for GET URL decoded values, for POST or PUT - JSON values without keys, only data
signature = md5(user-auth+unix-timestamp+randstr-32+request-data)
Commonly in case of error API returns status code 200 with following JSON data:
code- 0 for success, or other codes for errorsmsg- Error message
0- Success608- Forbidden609- Unauthorized or authorization expired, please log in again612- Parameter validity verification failed613- Invalid token620- The username or password is incorrect889- Signature error (sign)890- Signature error (ts)891- Signature error (nonce)892- Signature error (genSign)
The default general address delivery.
GET /network-service/domains/list
Parameters:
tenantId- Tenant IDproductModeCode- Project typeversion- Version
Response:
code- Status coderesult- Resultdomain- Encrypted domain JSONtenantId- Tenant IDproductModeCode- Project typeremarks- Additional information
Domain JSON:
MQTT- MQTT server addressMQTT_gaAPP_api- API server addressAPP_cdnMAP_cdnDEV_apiDEV_otaAPP_logdev_logAPP_api_CDNDEV_api_CDNDEV_ota_CDNimagevideoupdate_packageall
Example request:
GET https://eu-appaiot.3irobotix.net/network-service/domains/list?tenantId=1528983614213726208&productModeCode=android_iot.karcher&version=v1
Content-Type: application/x-www-form-urlencoded
Domain-Name: originalUrlUser authorization.
POST /user-center/auth/login
Request JSON:
tenantId- Tenant IDlang- Language codetoken- Token (for token authorization)userId- User ID (for code authorization)authcode- Authorization code (for code authorzation)username- Encrypted username (email)password- Encrypted passwordprojectType- Project typeversionCode- Application version code ex10004versionName- Application version ex1.0.4phoneBrand- Encrypted phone brand and model with underscore separator exxiaomi_mi 9phoneSys- Constant value1noticeSetting- notification settingsandIpad- registration ID (random string 19 characters in length)android- registration ID (random string 19 characters in length)
Response JSON:
data:AUTH- Authorization tokenEMQ_TOKEN- MQTT tokenTENANT_ID- Tenant IDUSERNAME- Encrypted usernameCONNECTION_TYPE- Connection type exuserPROJECT_TYPE- Project typeROBOT_TYPE- Robot type exuserLANG- Language codeCOUNTRY_CITY- JSON encoded location datacontinent- Continentcountry- Countrycity- City
BETA_FLAG- Has beta access:0- no beta access
clientType- Client type exPHONEid- User ID
Get list of all user devices.
GET /smart-home-service/smartHome/user/getDeviceInfoByUserId/{userID}
Request parameters:
userID- user identifier
Response JSON:
- List of devices
deviceId- Device identifiersn- Device serial numbermac- Device network MAC addressnickname- Device nameversions- List of firmware versionspackageTypeversion- Numeric version numberversion_name- Version numberctrl_version- Control version number
status- Status (0 - offline, 1 - online)isDefault- Default deviceisSelected- Device selectedisShare- Device sharedonlineTime- Unix time miliseconds when was onlinephotoUrl- URL of product imageproductId- Product identifierproductModeCode- Product nameroomId- Current room identifierbindTime- Bind time unix milisecondsshareList- Share history