DataMesh Director FAQ

DataMesh Studio

1. Can multiple people edit a scenario simultaneously?

No, a scenario can only be edited by one account at a time. Users attempting to open a scenario that is being edited by someone else will not be allowed to do so and will see a prompt saying “Another user is editing the scenario.”

2. Can multiple scenarios be merged or split? Can you switch across scenarios?

No, the current version does not support scenario merging, splitting, or cross-scenario navigation.

3. Can you add a hot zone to image resources?

No, only models and their sub-objects can have hot zones added. For more information on the hot zone, please refer to the Link section in the DataMesh Studio User Manual.

4. Can the camera be deleted or reset?

No, the camera is the default element in the scene. There can only be one camera per scenario, which cannot be added or removed.

The current camera POV (Point of view) cannot be reset but can be adjusted and saved. The “Get Camera POV” function allows you to switch to the camera’s view.

For more information about the camera, refer to the Camera section in the DataMesh Studio User Manual.

5. Why do camera movements not work on MR devices?

Please check the Camera Attribute in the scenario within DataMesh Studio and make sure the “Apply Camera Movement” option is checked. The camera movement feature will only function properly if this option is selected.

6. Is lighting effective in MR mode?

Yes, it is. If you need lighting effects, you need to enable the light sources in the DataMesh Studio scenario. For more details on lighting, please refer to the Light chapter in the DataMesh Studio User Manual.

7. Can you copy and paste sub-objects of the model in Studio?

No. In DatatMesh Studio, you can only copy the entire element as a whole.

8. Can you define the center point of an individual model in Studio?

No, Studio does not allow you to customize the center point for an individual element. However, when multiple elements are “grouped” or when multiple elements are selected, you can choose a public center or designate a specific element as the center point. For more information on center point settings, refer to the Multiple Selection and Group Elements section in the DataMesh Studio User Manual.

9. What are the differences between the three export options for scenarios?

    • Export Basic Scenario: The exported scenario file contains only the basic scenario file and does not include resource files. Note: To import and use this basic scenario file, you must have access to all the resources within the scenario.
    • Export Full Scenario: The exported scenario includes the basic scenario file and all related original resources (unaccelerated). Users can directly use the scenario after importing it, but resources need to be re-accelerated.
    • Export Accelerated Scenario: The exported scenario includes the basic scenario file, related original resources, and accelerated resource attachments. Users can directly use the scenario and accelerated resources after importing.

10. 10. How to unlock a file when prompted “Another user is editing the scenario” upon opening the scenario?

This message indicates that the scenario is currently being edited by a user and has been locked. Only the scenario’s creator or the current editor can unlock the file. To unlock it, go to FactVerse -> Digital Assets -> Resources, find the corresponding scenario file, and click the padlock icon.

11. Why can’t certain elements be deleted in Studio?

In Studio, due to the default inheritance between scenes, elements can only be deleted on the scene page where they “appear.” You can add “disappear” actions to the element in subsequent scenes, which means the element will not be displayed in later scenes.

DataMesh One

1. What are the prerequisites for event collaboration?

a) The company needs to enable event collaboration services.
b) Accounts participating in the event must be under the same enterprise account.
c) Accounts participating in the event have all been granted One-end Standard Mode permissions in FactVerse -> License Management.

2. Does scanning a resource code to view a scenario or model involve permission issues?

Yes, it does. If your account does not have permission to view a specific resource in FactVerse-Digital Assets, you will not be able to open that resource by scanning the resource code.

3. How to select child objects in editing mode?

In editing mode, you need to select objects layer by layer according to the model structure: Click once to select the parent level, click a second time to select the secondary level, and so on.

4. How many position codes can a scenario support at most?

A scenario supports up to 20 position codes.

5. Position code scanning error issues

Inconsistent placement direction: The placement direction of position codes is either horizontal or vertical. If the actual placement of the QR codes does not match the scenario settings, an error will be prompted.

Scanning QR codes not set in the scenario: Scanning position codes that are not set in the scenario will also trigger an error. For example, if the scenario is set with only 2 position codes, scanning the third position cod on DataMesh One will result in an error.

DataMesh Importer

1. Why can’t I open my model?

Unsupported model format: This may be due to model format incompatibility. Currently, the Importer primarily supports FBX and glTF format files, and is also compatible with OBJ, STL, 3MF, and PLY formats.

Model data loss: Data loss may have occurred during model export, which can lead to errors when opening the model in the Importer.

2. What should I do if the model only shows one side or is missing polygons after opening?

This issue is due to incorrect model normals. You need to return to the modeling software and adjust the normal directions.

3. Can you delete or modify child objects of a model in the Importer?

No. The Importer can only adjust nodes within the model structure when uploading the model, but it cannot delete sub-objects or modify them individually.

4. Why do substructure names in the model structure appear as letters or garbled text?

This is due to Chinese character encoding issues that occur during model export or conversion.

5. What should I do if the model is lagging or loading too slowly?

Large numbers of vertices and polygons or complex substructures can make the model file very large, affecting performance and loading speed. The model needs to be optimized for better performance.

6. Why is data missing after opening the model, such as materials or textures, and how should I handle it?

    • When exporting from Blender:
      • Pack Data: Ensure you check the “Pack Data” option. When exporting to FBX, make sure to set the path to “Copy” to prevent texture loss.
      • Material/Texture Issues: If you notice that the exported model shows only one material or textures are misaligned, it’s likely because Blender defaults to naming UV maps as “UVMap,” which differs from C4D. You can resolve this by either unwrapping the UVs again or renaming the UV map.
    • When exporting FBX from 3DMax:

Ensure you check the “Embed Media” option to make sure textures and materials are correctly included in the export.

    • When exporting models from C4D:

Models should be converted via Blender to export as FBX or GLB format.

7. What is the purpose of checking model structure nodes in the Importer?

By selecting model structure nodes, you can selectively control the components of the model. When uploading the model, selected nodes will be uploaded as separate objects, while unselected nodes will be merged with other nodes.

DataMesh FactVerse

1. How many admin accounts can a company have?

Each company can have only one admin account. Depending on the service package purchased by the company, multiple FactVerse accounts can be created.

2. Can different accounts within the same enterprise view each other’s edited/uploaded content?

a) Different accounts within the same department can share resources in their respective “department” folders.
b) Resources in the “My Space” folder are only visible to the individual user.
c) Users can create new folders and set the public scope of those folders themselves.

3. What does accelerated service mean?

The FactVerse platform’s model acceleration service automatically optimizes uploaded models to enhance loading and rendering performance across various platforms. The larger the model, the more significant the benefits of the acceleration service; smaller models may not show as much difference.

4. When logging into FactVerse for the first time, the message “License is not assigned. Please contact your administrator” appears.

The company admin must assign departments, roles, and licenses to accounts within the enterprise management module of FactVerse. Once the assignments are completed, users will be able to access the corresponding permissions.

For more information on permission allocation, please refer to the User Permission Management section in the DataMesh FactVerse User Manual.

5. What is the difference between uploading a model using Importer and directly uploading a model on FactVerse?

    • Importer Upload: Allows users to select and upload specific model structure nodes as needed.
    • FactVerse Upload: The cloud server cannot recognize the internal structure of the model, so the model is uploaded as a whole resource to the resources. In Studio, this resource does not have a model structure.

DataMesh FactVerse Cloud API v1.0 Referene Guide

Using API

Get token

See section Login for login details. After a successful login, the token field in the returned result will be used in subsequent requests.

Add header

Add Authorization: Bearer {token} to the HTTP request header.

Encryption

Interfaces involving passwords must encrypt the transmitted strings. For technical support, please contact support@datamesh.com.

js encryption example

Reference JSEncrypt:

				
					export function encryption(password) {
  let encryptor = new JSEncrypt();
  encryptor.setPublicKey(RSA_PUBLIC_KEY);
  let result = encryptor.encrypt(password);
  return result;
}

				
			

API endpoints

User API

Login

Endpoint

POST /api/v6/auth/login

Description

User login API

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

password

User password

query

true

string

 

username

User name

query

true

string

 

captcha

Captcha code

query

false

string

 

captchaId

Captcha code ID

query

false

string

 

tenantId

Tenant ID

query

false

string

 

Response status

Code

Description

schema

200

OK

Result«UserLoginResponseVO»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

   

refreshToken

Refresh user token

string

 

token

User token

string

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": {
        "refreshToken": "", 
        "token": ""
    }, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Logout

Endpoint

POST  /api/v1/auth/logout

Description

User logout API

Request Data Type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

None

 

 

 

 

 

Response status

Code

Description

schema

200

OK

Result«object»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

object

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": null, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Refresh token

Endpoint

POST  /api/v6/auth/refresh

Description

Refresh user token

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameter

Parameter

Description

Request Type

Required

Data Type

schema

token

token

query

false

string

 

Response status

Code

Description

schema

200

OK

Result«Tokens»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

Tokens

Tokens

 refreshToken

refresh token

string

 

 token

access token

string

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": {
        "refreshToken": "", 
        "token": ""
    }, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Find all tenant information by username

Endpoint

GET  /api/v6/auth/user/tenants

Description

Query all tenant information that includes members with the current username.

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

username

Username

query

false

string

 

Response status

Code

Description

schema

200

OK

Result«Map«String,Object»»

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

Map«String,Object»

Map«String,Object»

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": {
        "tenants": [
            {
                "id": "", 
                "loginSign": "", 
                "name": "", 
                "logoUri": "", 
                "loginTypeList": [ ]
            }
        ]
    }, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Query current user information

Endpoint

GET  /api/v6/auth/user/userinfo

Description

Query current user information.

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

userId

User ID

query

true

string

 

Response status

Code

Description

schema

200

OK

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

UserInfoVO

UserInfoVO

 accountNonLocked

 

boolean

TenantVO

 company

User’s company information

TenantVO

 

  contactEmail

Tenant contact email

string

 

  contactMobile

Contact mobile phone

string

 

  contactName

Contact name

string

 

  createBy

 

string

 

  createTime

 

integer

 

  customConfig

Custom configuration

string

 

  delFlag

 

boolean

 

  domainName

Custom domain name (globally unique)

string

 

  id

ID

string

 

  isThirdParty

Whether it is a third-party login

boolean

 

  loginSign

Login sign

string

TenantLoginTypeVO

  loginTypeList

Login configuration list

array

 

   id

 

string

 

   loginType

Available values:

ACTIVE_DIRECTORY,

AZURE_CN,

AZURE_DE,

AZURE_GLOBAL,

BIM_AIRPORT,

USERNAME_PASSWORD

string

 

  logoUri

Logo image address

string

 

  mqConnInfoList

mq information list

array

JSONObject of user basic information (includes only username and nickname).

   address

Link address

string

 

   port

Port

integer

 

   protocol

Protocol

string

 

   type

Current address type:

1. Default address,

2. User-specified address

integer

 

  name

Tenant (enterprise/ platform/ individual) name

string

 

  owner

Tenant owner information

JSONString

 

   headPic

 

string

 

   realName

 

string

TenantSpatialAnchorsConfigVO

   userId

 

string

 

   username

 

string

 

  parentId

Enterprise tenant’s associated platform tenant ID

string

 

  platformApproval

Whether the platform has reviewed

boolean

 

  platformMode

Platform mode (single enterprise/multiple enterprises)

string

 

  source

User source

string

 

  status

Tenant status 0 1 2

string

 

  tenantSpatialAnchorsConfig

Spatial positioning configuration record

TenantSpatialAnchorsConfigVO

 

   accountDomain

 

string

 

   accountId

 

string

 

   accountKey

 

string

 

  type

Tenant type

string

 

  updateBy

 

string

 

  updateTime

 

integer

 

 createBy

 

string

 

 createTime

 

integer(int64)

RoleVO

 depts

Department

array

 

  createBy

Creator id

string

PermissionsVO

  createTime

Creation time

integer

 

  creator

Creator

UserInfoVO

 

  id

 

string

 

  name

Department name

string

 

  parentId

Parent id

string

 

  tenantId

Tenant id

string

 

  updateTime

Update time

integer

 

 email

Email

string

 

 firstLogin

Whether it is the first-time login sign

boolean

 

 headPic

User avatar

string

 

 id

userID

string

 

 mobile

Mobile phone

string

 

 nickName

User nickname

string

 

 realName

User name

string

 

 roles

User role

array

 

  createBy

Creator id

string

 

  createTime

Creation time

integer

integer(int32)

  creator

Creator

UserInfoVO

integer(int64)

  depts

Department

array

 

   createBy

Creator id

string

 

   createTime

Creation time

integer

 

   creator

Creator

UserInfoVO

 

   id

id

string

 

   name

Department name

string

 

   parentId

Parent id

string

 

   tenantId

Tenant id

string

 

   updateTime

Update time

integer

 

  description

Description

string

 

  id

Primary key

string

 

  name

 

string

 

  orderNum

Sorting

integer

 

  roleCode

Role code,

Enterprise Administrator:

ENTERPRISE_ADMIN

Platform Administrator:

PLATFORM_ADMIN

Department Administrator:

DEPT_ADMIN

Regular Position:

NORMAL,

Available values:

ENTERPRISE,

HIDDEN,

NORMAL,

PLATFORM,

PLATFORM_CUSTOMIZE

string

 

  status

0: Enable,1: Disable

integer

 

  tenantId

Tenant id

string

 

  updateTime

Update time

integer

 

 showRetentionTime

Show retention time

boolean

 

 source

User source

string

 

 tenantId

Tenant ID

string

 

 thirdparty

 

boolean

 

 updateBy

 

string

 

 updateTime

 

integer(int64)

 

 userStatus

User status, available values: DISABLE, NORMAL

string

 

 username

Username

string

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

 

timestamp

 

integer(int64)

 

Response example

				
					{
	"code": 0,
	"data": {
		"accountNonLocked": true,
		"company": {
			"contactEmail": "",
			"contactMobile": "",
			"contactName": "",
			"createBy": "",
			"createTime": 0,
			"customConfig": "",
			"delFlag": true,
			"domainName": "",
			"id": "",
			"isThirdParty": false,
			"loginSign": "",
			"loginTypeList": [
				{
					"id": "",
					"loginType": ""
				}
			],
			"logoUri": "",
			"mqConnInfoList": [
				{
					"address": "",
					"port": 0,
					"protocol": "",
					"type": 0
				}
			],
			"name": "",
			"owner": {
				"headPic": "",
				"realName": "",
				"userId": "",
				"username": ""
			},
			"parentId": "",
			"platformApproval": false,
			"platformMode": "",
			"source": "",
			"status": "",
			"tenantSpatialAnchorsConfig": {
				"accountDomain": "",
				"accountId": "",
				"accountKey": ""
			},
			"type": "",
			"updateBy": "",
			"updateTime": 0
		},
		"createBy": "",
		"createTime": 0,
		"depts": [
			{
				"createBy": "",
				"createTime": 0,
				"creator": {},
				"id": "",
				"name": "",
				"parentId": "",
				"tenantId": "",
				"updateTime": 0
			}
		],
		"email": "",
		"firstLogin": false,
		"headPic": "",
		"id": "",
		"mobile": "",
		"nickName": "",
		"realName": "",
		"roles": [
			{
				"createBy": "",
				"createTime": 0,
				"creator": {},
				"depts": [
					{
						"createBy": "",
						"createTime": 0,
						"creator": {},
						"id": "",
						"name": "",
						"parentId": "",
						"tenantId": "",
						"updateTime": 0
					}
				],
				"description": "",
				"id": "",
				"name": "",
				"orderNum": 0,
				"roleCode": "",
				"status": 0,
				"tenantId": "",
				"updateTime": 0
			}
		],
		"showRetentionTime": false,
		"source": "",
		"tenantId": "",
		"thirdparty": true,
		"updateBy": "",
		"updateTime": 0,
		"userStatus": "",
		"username": ""
	},
	"msg": "",
	"msg_i18n": {},
	"status": 0,
	"timestamp": 0
}

				
			

QR Code login-related endpoints

Login cancellation on the scan end before web end confirmation

Endpoint

POST  /api/v6/auth/scan/before/cancel

Description

Cancel login on the scan end during the QR code login process.

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

codeKey

Code unique identifier

query

false

string

 

deviceId

Device ID

query

false

string

 

Response status

Code

Description

schema

200

OK

Result«object»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

object

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "args": { }, 
    "code": 0, 
    "data": null, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Parameters transmission from scan end to server

Endpoint

POST  /api/v6/auth/scan/device/receive

Description

During the QR code login process, the scan end sends relevant parameters to the server.

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

codeKey

QR code unique identifier

query

false

string

 

deviceId

Device Id (Device unique identifier)

query

false

string

 

deviceName

Device name (Device unique identifier)

query

false

string

 

deviceType

Device type (Device unique identifier)

query

false

string

 

scanCodeType

Scan type, available values: LoginCode, ShareCode, ResourceCode

query

false

string

 

Response status

Code

Description

schema

200

OK

Result«Map«string,object»»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

object

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": {
        "pairCode": 0000  // 4-digit pairing code
    }, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Client-side login or cancellation after web end approval

Endpoint

POST  /api/v6/auth/scan/loginOrCancel

Description

In the QR code login process, after the scan end sends the parameters and the user clicks “Agree” on the web, the scan end will either log in or cancel the login.

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

codeKey

QR code unique identifier

query

false

string

 

deviceId

Device ID

query

false

string

 

isLogin

Login/Cancel login

query

false

boolean

 

Response status

Code

Description

schema

200

OK

Result«object»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

object

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": null, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Client-side polling to obtain the token

Endpoint

GET  /api/v6/auth/scan/token

Description

In the QR code login process, the scan end polls for the token.

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

codeKey

QR code unique identifier

query

false

string

 

deviceId

Device ID

query

false

string

 

Response status

Code

Description

schema

200

OK

Result«ScanCodeTokenVO»

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

ScanCodeTokenVO

ScanCodeTokenVO

state

Scan status

integer(int32)

 

token

Login token

string

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": {
        "state": 0, 
        "token": ""
    }, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Token verification endpoint

Get license information

Endpoint

GET  /api/v6/auth/license

Description

Retrieve the current user’s license information (validity period, custom feature scope, event-related restrictions).

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

Response status

Code

Description

schema

200

OK

Result«LicenseUnityResponseVO»

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

LicenseUnityResponseVO

LicenseUnityResponseVO

 

customFunction

Custom function

object

 

expiryDate

License expiration time

integer(int64)

 

grantStatus

Authorization status

boolean

 

licenseType

License type

string

 

maxEventUsers

Maximum number of event participants

integer(int64)

 

startDate

License start date

integer(int64)

 

status

License status

boolean

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": {
        "customFunction": { }, 
        "expiryDate": 0, 
        "grantStatus": true, 
        "licenseType": "", 
        "maxEventUsers": 0, 
        "startDate": 0, 
        "status": true
    }, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Label management endpoint

Paginated query of the label list

Endpoint

POST  /api/v6/auth/label/labelList

Description

Query the list of labels for the current organization, with support for pagination.

Request data type

application/json

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

queryLabelListPageUseCase

Label query example

body

true

JSONString

QueryLabelListPageUseCase

 name

Label name

 

false

string

 

 page

Whether to enable pagination

 

false

boolean

 

 pageNo

Current page number

 

false

integer(int32)

 

 pageSize

Number of items per page

 

false

integer(int32)

 

 systemLabel

Whether to contain a system tag

 

false

boolean

 

Response status

Code

Description

schema

200

OK

Result«IPage«LabelVO»»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

Pagination results «LabelVO»

Pagination results «LabelVO»

 list

Data

array

LabelVO

  createUserName

Creator

string

 

  i18nLabel

Multilingual labels

string

 

  id

Label ID

string

 

  name

Label name

string

 

  refSum

Reference number

integer

 

 pageNo

Page number, starting from 1

integer(int64)

 

 pageSize

Number of items per page

integer(int64)

 

 total

Total items

integer(int64)

 

 totalPage

Total pages

integer(int64)

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
	"code": 0,
	"data": {
		"list": [
			{
				"createUserName": "",
				"i18nLabel": "",
				"id": "",
				"name": "",
				"refSum": 0
			}
		],
		"pageNo": 0,
		"pageSize": 0,
		"total": 0,
		"totalPage": 0
	},
	"msg": "",
	"msg_i18n": {},
	"status": 0,
	"timestamp": 0
}

				
			

Version update management endpoint

Get current app version

Endpoint

GET  /api/v6/appversion/get

Description

Based on the current App identifier, obtain the latest version number of the App.

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

Response status

Code

Description

schema

200

OK

Result«VersionVO»

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

VersionVO

VersionVO

clientType

Client type

integer(int32)

 

configTime

Configuration time

integer(int64)

 

createTime

Creation time

integer(int64)

 

descriptionEn

English description

string

 

descriptionJa

Japanese description

string

 

descriptionTw

Traditional Chinese description

string

 

downloadLink

Download address

string

 

forcedUpdate

Whether to make a mandatory update

integer(int32)

 

id

Version ID

string

 

translationMsg

Multilanguage message

object

 

updateBy

Person who updated

string

 

updateDescription

Description information

string

 

version

Version

string

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": {
        "clientType": 0, 
        "configTime": 0, 
        "createTime": 0, 
        "descriptionEn": "", 
        "descriptionJa": "", 
        "descriptionTw": "", 
        "downloadLink": "", 
        "forcedUpdate": 0, 
        "id": "", 
        "translationMsg": { }, 
        "updateBy": "", 
        "updateDescription": "", 
        "version": ""
    }, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Task and resource endpoints

Task invocation API

Update the ext information of the main file

Endpoint

POST  /api/v6/resource/rpc/file/ext

Description

Update the ext information of the main file.

Request data type

application/json

Response data type

*/*

Request example

				
					{
    "ext": "", 
    "field": "", 
"metaId": "", 
"tenantId": "", 
    "version": 0
}

				
			

Request parameter

Parameter

Description

Request Type

Required

Data Type

schema

fileExtUpload

File ext information entity

body

true

JSONString

FileExtUpload

ext

The ext information of the main file

 

true

string

 

field

Keywords

 

false

string

 

metaId

Resource id

 

true

string

 

version

Version information

 

true

integer(int32)

 

tenantId

Tenant id

 

false

string

 

Response status

Code

Description

schema

200

OK

Result

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

object

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "args": { }, 
    "code": 0, 
    "data": null, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

File management system API

List files in the directory (Including directories)

Endpoint

POST  /api/v6/resource/list

Description

Get directory list

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

listINodeDTIO

Resource query DTO, sorting fields: name, create_time, category, update_time

body

true

JSONString

Resource query DTO, sorting fields: name, create_time, category, update_time

 catalogId

Directory ID; if catalogId has a value, then the rootCatalogId and path parameters must be empty; otherwise, rootCatalogId and path must have values

 

true

string

 

 categories

Category value list

 

false

array

string

 isLately

Query recently edited resources. If this field is used, then catalogId or rootCatalogId & path must be empty.

 

false

boolean

 

 labelIds

Label ID list

 

false

array

string

 lately

 

 

false

boolean

 

 metaId

File id

 

false

string

 

 name

Resource name

 

false

string

 

 pageNo

Page number, starting from 1

 

true

integer(int32)

 

 pageSize

Number of items per page, with a maximum value of 100

 

true

integer(int32)

 

 path

Folder path, format: starts with ‘/’, does not end with ‘/’, and is used in conjunction with rootCatalogId

 

false

string

 

 rootCatalogId

Root directory ID; must be provided together with path when used

 

false

string

 

 searchType

Search Type for Web: 1. Global

2. Directory Parameters are required

 

Parameters are required.

 

true

integer(int32)

 

 sorts

Sorting rules

 

false

array

Sorting element

  asc

Whether to sort in ascending order

 

false

boolean

 

  field

Sorting field

 

false

string

 

Response status

Code

Description

schema

200

OK

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

Pagination results «INodePermissionResponseVO»

Pagination results «INodePermissionResponseVO»

 list

Data

array

INodePermissionResponseVO

  additional

Cover file ID list.

array

Mime

   blockInfoList

 

array

BlockInfo

    hash

 

string

 

    id

Block download ID

string

 

    md5Hash

 

string

 

    size

 

integer

 

   category

 

integer

 

   downloadPolicy

 

integer

 

   ext

 

object

 

   fileType

 

string

 

   hash

 

string

 

   id

 

string

 

   isBlock

 

boolean

 

   isDownloadable

 

boolean

 

   md5Hash

 

string

 

   name

 

string

 

   purpose

 

string

 

   size

 

integer

 

  block

 

boolean

 

  blockInfoList

 

array

BlockInfo

   hash

 

string

 

   id

Block download ID

string

 

   md5Hash

 

string

 

   size

 

integer

 

  category

inode type

integer

 

  categoryIdList

 

array

string

  ctime

 

integer

 

  downloadPolicy

 

integer

 

  ext

 

object

 

  fileDataId

File download id, must be empty when type is 2

string

 

  fileHasChanged

 

boolean

 

  filename

File/folder name

string

 

  groupId

 

string

 

  groupPermission

 

integer

 

  groupPermissionCanEdit

 

integer

 

  hash

 

string

 

  isDownloadable

 

boolean

 

  lockInfo

 

EditorLockResponseVO

EditorLockResponseVO

   ctime

 

integer

 

   lockType

 

string

 

   mtime

 

integer

 

   userId

 

string

 

   username

 

string

 

  md5Hash

 

string

 

  metaId

inode meta id

string

 

  metaType

 

integer

 

  mtime

 

integer

 

  otherPermission

 

integer

 

  ownerId

 

string

 

  ownerPermission

 

integer

 

  pId

 

string

 

  path

 

string

 

  permission

 

ResourcePermissionBO

ResourcePermissionBO

   isDeletable

 

boolean

 

   isManageable

 

boolean

 

   isMovable

 

boolean

 

   isReadable

 

boolean

 

   isWritable

 

boolean

 

  pid

 

string

 

  preset

 

boolean

 

  shareType

Available values: EXPIRED, NOT_SHARE, SHARED

string

 

  size

File size (bytes)

integer

 

  suffix

 

string

 

  tags

 

array

LabelVO

   createUserName

Creator

string

 

   i18nLabel

Multilanguage label

string

 

   id

Lable ID

string

 

   name

Label name

string

 

   refSum

Reference number

integer

 

  thumbnailUrl

 

string

 

  username

 

string

 

  version

 

integer

 

 pageNo

Page number, starting from 1

integer(int64)

 

 pageSize

Number of items per page

integer(int64)

 

 total

Total items

integer(int64)

 

 totalPage

Total pages

integer(int64)

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
	"code": 0,
	"data": {
		"list": [
			{
				"additional": [
					{
						"blockInfoList": [
							{
							   "hash": "",
							   "id": "",
							   "md5Hash": "",
							   "size": 0
							}
						],
						"category": 0,
						"downloadPolicy": 0,
						"ext": {},
						"fileType": "",
						"hash": "",
						"id": "",
						"isBlock": true,
						"isDownloadable": true,
						"md5Hash": "",
						"name": "",
						"purpose": "",
						"size": 0
					}
				],
				"block": true,
				"blockInfoList": [
					{
						"hash": "",
						"id": "",
						"md5Hash": "",
						"size": 0
					}
				],
				"category": 0,
				"categoryIdList": [],
				"ctime": 0,
				"downloadPolicy": 0,
				"ext": {},
				"fileDataId": "",
				"fileHasChanged": true,
				"filename": "",
				"groupId": "",
				"groupPermission": 0,
				"groupPermissionCanEdit": 0,
				"hash": "",
				"isDownloadable": true,
				"lockInfo": {
					"ctime": 0,
					"lockType": "",
					"mtime": 0,
					"userId": "",
					"username": ""
				},
				"md5Hash": "",
				"metaId": "",
				"metaType": 0,
				"mtime": 0,
				"otherPermission": 0,
				"ownerId": "",
				"ownerPermission": 0,
				"pId": "",
				"path": "",
				"permission": {
					"isDeletable": true,
					"isManageable": true,
					"isMovable": true,
					"isReadable": true,
					"isWritable": true
				},
				"pid": "",
				"preset": true,
				"shareType": "",
				"size": 0,
				"suffix": "",
				"tags": [
					{
						"createUserName": "",
						"i18nLabel": "",
						"id": "",
						"name": "",
						"refSum": 0
					}
				],
				"thumbnailUrl": "",
				"username": "",
				"version": 0
			}
		],
		"pageNo": 0,
		"pageSize": 0,
		"total": 0,
		"totalPage": 0
	},
	"msg": "",
	"msg_i18n": {},
	"status": 0,
	"timestamp": 0
}

				
			

Batch file details endpoint

Endpoint

POST  /api/v6/resource/details

Description

Batch retrieves file details based on resource ID, resource version, and resource path.

Request data type

application/json

Response data type

*/*

Request example

				
					{
  "eventId": "",
  "metaList": [
    {
      "metaId": "",
      "path": "",
      "version": 0
    }
  ]
}


				
			

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

metaDetailQueryDTO

Resource detail retrieval

body

true

JSONString

Resource detail retrieval

 eventId

Event id

 

false

string

 

 metaList

  

false

array

MetaSimpleInfo

  metaId

Resource id

 

true

string

 

  path

Resource path

 

false

string

 

  version

Resource version

 

true

integer

 

Response status

Code

Description

schema

200

OK

Result«MetaResponseVO»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

MetaResponseVO

MetaResponseVO

 failedMetaList

 

array

MetaFailedResponseVO

  code

 

integer

 

  message

 

string

 

  resource

 

string

 

 successMetaList

 

array

INodeResponseVO

  additional

Cover file id list

array

Mime

   blockInfoList

 

array

BlockInfo

    hash

 

string

 

    id

Block download ID

string

 

    md5Hash

 

string

 

    size

 

integer

 

   category

 

integer

 

   downloadPolicy

 

integer

 

   ext

 

object

 

   fileType

 

string

 

   hash

 

string

 

   id

 

string

 

   isBlock

 

boolean

 

   isDownloadable

 

boolean

 

   md5Hash

 

string

 

   name

 

string

 

   purpose

 

string

 

   size

 

integer

 

  block

 

boolean

 

  blockInfoList

 

array

BlockInfo

   hash

 

string

 

   id

Block download ID

string

 

   md5Hash

 

string

 

   size

 

integer

 

  category

inode type

integer

 

  categoryIdList

 

array

string

  ctime

 

integer

 

  downloadPolicy

 

integer

 

  ext

 

object

 

  fileDataId

File download id, must be empty when type is 2

string

 

  filename

File/folder name

string

 

  groupId

 

string

 

  groupPermission

 

integer

 

  groupPermissionCanEdit

 

integer

 

  hash

 

string

 

  isDownloadable

 

boolean

 

  lockInfo

 

EditorLockResponseVO

EditorLockResponseVO

   ctime

 

integer

 

   lockType

 

string

 

   mtime

 

integer

 

   userId

 

string

 

   username

 

string

 

  md5Hash

 

string

 

  metaId

inode meta id

string

 

  metaType

 

integer

 

  mtime

 

integer

 

  otherPermission

 

integer

 

  ownerId

 

string

 

  ownerPermission

 

integer

 

  pId

 

string

 

  path

 

string

 

  pid

 

string

 

  preset

 

boolean

 

  shareType

Available values: EXPIRED, NOT_SHARE, SHARED

string

 

  size

File size (bytes)

integer

 

  suffix

 

string

 

  tags

 

array

LabelVO

   createUserName

Creator

string

 

   i18nLabel

Multilanguage label

string

 

   id

Label ID

string

 

   name

Label name

string

 

   refSum

Reference number

integer

 

  version

 

integer

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
	"code": 0,
	"data": {
		"failedMetaList": [
			{
				"code": 0,
				"message": "",
				"resource": ""
			}
		],
		"successMetaList": [
			{
				"additional": [
					{
						"blockInfoList": [
							{
							   "hash": "",
							   "id": "",
							   "md5Hash": "",
							   "size": 0
							}
						],
						"category": 0,
						"downloadPolicy": 0,
						"ext": {},
						"fileType": "",
						"hash": "",
						"id": "",
						"isBlock": true,
						"isDownloadable": true,
						"md5Hash": "",
						"name": "",
						"purpose": "",
						"size": 0
					}
				],
				"block": true,
				"blockInfoList": [
					{
						"hash": "",
						"id": "",
						"md5Hash": "",
						"size": 0
					}
				],
				"category": 0,
				"categoryIdList": [],
				"ctime": 0,
				"downloadPolicy": 0,
				"ext": {},
				"fileDataId": "",
				"filename": "",
				"groupId": "",
				"groupPermission": 0,
				"groupPermissionCanEdit": 0,
				"hash": "",
				"isDownloadable": true,
				"lockInfo": {
					"ctime": 0,
					"lockType": "",
					"mtime": 0,
					"userId": "",
					"username": ""
				},
				"md5Hash": "",
				"metaId": "",
				"metaType": 0,
				"mtime": 0,
				"otherPermission": 0,
				"ownerId": "",
				"ownerPermission": 0,
				"pId": "",
				"path": "",
				"pid": "",
				"preset": true,
				"shareType": "",
				"size": 0,
				"suffix": "",
				"tags": [
					{
						"createUserName": "",
						"i18nLabel": "",
						"id": "",
						"name": "",
						"refSum": 0
					}
				],
				"version": 0
			}
		]
	},
	"msg": "",
	"msg_i18n": {},
	"status": 0,
	"timestamp": 0
}


				
			

Get download URL for the small file of the main file

Endpoint

GET  /api/v6/resource/small/master/download

Description

Obtain the main file download URL for files with a size of up to 128MB.

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

fileDataId

fileDataId

query

false

string

 

metaId

metaId

query

false

string

 

Response status

Code

Description

schema

200

OK

Result«DownloadLinkResponseVO»

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

DownloadLinkResponseVO

DownloadLinkResponseVO

url

Download address

string

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": {
        "url": ""
    }, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Get download URL for small files of the main file in batches

Endpoint

GET  /api/v6/resource/small/master/batch/download

Description

Get main file download URLs for files with a size of up to 128MB in batches.

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

fileDataIds

fileDataIds

query

false

array

string

Response status

Code

Description

schema

200

OK

Result«List«DownloadLinkResponseVO»»

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

array

DownloadLinkResponseVO

url

Download url

string

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": [
        {
            "url": ""
        }
    ], 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Main file creation endpoint

Endpoint

POST  /api/v6/resource/file/create

Description

Create the main file during the file upload process.

Request data type

application/json

Response data type

*/*

Request example

				
					{
  "blockInfoList": [
    {
      "hash": "",
      "md5Hash": "",
      "num": 0,
      "size": 0
    }
  ],
  "catalogId": "",
  "categories": "",
  "ext": {},
  "extGenerateStrategy": "",
  "groupPermission": 6,
  "groupPermissionCanEdit": 0,
  "hash": "",
  "inodeCategory": "",
  "machineKey": "",
  "md5Hash": "",
  "metaType": 0,
  "name": "",
  "nameStrategy": "",
  "otherPermission": 0,
  "ownerPermission": 7,
  "pId": "",
  "pid": "",
  "purpose": "",
  "size": 123,
  "tags": ""
}


				
			

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

blockCreateDTO

Main file creation entity

body

true

JSONString

BlockCreateDTO

 blockInfoList

  

false

array

RequestBlockInfo

  hash

  

false

string

 

  md5Hash

  

false

string

 

  num

  

false

integer

 

  size

  

false

integer

 

 catalogId

Directory id

 

false

string

 

 categories

  

false

string

 

 ext

  

false

object

 

 extGenerateStrategy

The current policy is to only generate ab files and not images. Available values: MODEL_ALL,

MODEL_NULL,

MODEL_WITHOUT_IMG,

NO_TASK

 

false

string

 

 groupPermission

Current group user permissions (default read: 7 4 0) 0: No permissions 4: Read permissions (default) 2:Write permissions 1: Advanced write permissions

 

false

integer(int32)

 

 groupPermissionCanEdit

Whether the current group user permissions are editable 0 No 1 Yes

 

false

integer(int32)

 

 hash

File hash value (MD5)

 

true

string

 

 inodeCategory

Manually specify type,

available values:

AB,ASSET,AUDIO,

DIR,DIRPKG,DIRPROJ,

DMCM,DOC,EXCEL,

FOLDER,FZZXDIRPKG,

GADGET,IMAGE,IOTSIM,

JSON,LOG,MODEL3D,

MODEL3Dv2,OTHER,PDF,

PIXYZ,PPT,RVT,SCENE,VIDEO

 

false

string

 

 machineKey

  

false

string

 

 md5Hash

  

false

string

 

 metaType

Manually specify whether the mate includes the main file (0: includes, 1: does not include)

 

false

integer(int32)

 

 name

File name

 

true

string

 

 nameStrategy

File overwrite renaming policy, default is RENAME, available values: COVER,RENAME,

THROW_EXCEPTION

 

false

string

 

 otherPermission

Other group user permissions (default: none 0 0 0) 0: No permissions 4: Read permissions (default) 2:Write permissions 1: Advanced write permissions

 

false

integer(int32)

 

 ownerPermission

Owner permissions (default: all 7 0 0) 0: No permissions 4: Read permissions (default) 2:Write permissions 1: Advanced write permissions

 

false

integer(int32)

 

 pId

Parent ID; for creating a group, pId is 0

 

true

string

 

 pid

  

false

string

 

 purpose

  

false

string

 

 size

Total file size, in bytes.

 

true

integer(int64)

 

 tags

Tag

 

false

string

 

Response status

Code

Description

schema

200

OK

Result«FileCreateResponseVO»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

FileCreateResponseVO

FileCreateResponseVO

 blockList

 

array

BlockCreateResponseVO

  blockId

 

string

 

  formFields

 

array

Pair

   key

 

string

 

   value

 

object

 

  httpHeaders

 

array

Pair

   key

 

string

 

   value

 

object

 

  httpMethod

 

string

 

  httpProtocol

 

string

 

  num

 

integer

 

  type

 

string

 

  uploadFormField

 

string

 

  url

 

string

 

 fileId

 

string

 

 metaId

 

string

 

 version

 

integer(int32)

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": {
        "blockList": [
            {
                "blockId": "", 
                "formFields": [
                    {
                        "key": "", 
                        "value": { }
                    }
                ], 
                "httpHeaders": [
                    {
                        "key": "", 
                        "value": { }
                    }
                ], 
                "httpMethod": "", 
                "httpProtocol": "", 
                "num": 0, 
                "type": "", 
                "uploadFormField": "", 
                "url": ""
            }
        ], 
        "fileId": "", 
        "metaId": "", 
        "version": 0
    }, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Callback after main file block file upload

Endpoint

POST  /api/v6/resource/file/block/create/callback

Description

Callback after the main file block file upload is completed during the file upload process.

Request data type

application/x-www-form-urlencoded

Response data ype

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

blockId

blockId

query

true

string

 

code

A value of 0 indicates that the upload was successful; otherwise, it indicates failure.

query

true

integer(int32)

 

message

Message, optional field

query

false

string

 

tenantId

Tenant id

query

false

string

 

Response status

Code

Description

schema

200

OK

Result«object»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

object

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": null, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Callback after main file upload

Endpoint

POST  /api/v6/resource/file/create/callback

Description

Callback after the main file upload is completed during the file upload process.

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

code

A value of 0 indicates that the upload was successful; otherwise, it indicates failure.

query

true

integer(int32)

 

metaId

metaId

query

true

string

 

version

version

query

true

integer(int32)

 

message

Message, optional field

query

false

string

 

Response status

Code

Description

schema

200

OK

Result«object»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 INodeResponseVOINodeResponseVO

additional

Cover file ID list

arrayMime

blockInfoList

 arrayBlockInfo

hash

Hash

string 

id

Block download id

string 

md5Hash

MD5

string 

size

File size

integer 

category

inode type

integer 

downloadPolicy

Download strategy

integer 

ext

Attachment information

object 

fileType

File type

string 

hash

Hash

string 

id

ID

string 

isBlock

Whether it is a block

boolean 

isDownloadable

Download or not

boolean 

md5Hash

MD5

string 

name

File name

string 

purpose

Purpose

string 

size

Size

integer 

block

Whether it is a block

boolean 

blockInfoList

 arrayBlockInfo

hash

Hash

string 

id

Block download id

string 

md5Hash

MD5

string 

size

Size

integer 

category

inode type

integer(int32) 

categoryIdList

inode type list

arraystring

ctime

Creation time

integer(int64) 

 downloadPolicy

Download strategy

integer(int32) 

ext

Attachment information

object 

fileDataId

file download id, must be empty when type is 2

string 

filename

File/folder name

string 

groupId

Workgroup ID

string 

groupPermission

Workgroup permission

integer(int32) 

groupPermissionCanEdit

Whether the current group user permissions are editable 0 No 1 Yes

integer(int32) 

hash

Hash

string 

isDownloadable

Whether to download

boolean 

lockInfo

 EditorLockResponseVOEditorLockResponseVO

ctime

Creation time

integer 

lockType

Lock type

string 

mtime

Update time

integer 

userId

User ID

string 

username

Username

string 

md5Hash

MD5

string 

metaId

inode meta id

string 

metaType

Whether contains main file

integer(int32) 

mtime

Update time

integer(int64) 

otherPermission

Other permissions

integer(int32) 

ownerId

Owner ID

string 

ownerPermission

Owner permissions

integer(int32) 

path

Path

string 

pid

Parent directory ID

string 

preset

Whether it is preset

boolean 

shareType

Available values: NOT_SHARE,

SHARED,

EXPIRED

string 

size

File size (bytes)

integer(int64) 

suffix

suffix

string 

tags

 arrayLabelVO

createUserName

Creator

string 

i18nLabel

Multilanguage labels

string 

id

Label ID

string 

name

Label name

string 

refSum

Reference number

integer 

version

Version

integer(int32) 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": {
        "additional": [
            {
                "blockInfoList": [
                    {
                        "hash": "", 
                        "id": "", 
                        "md5Hash": "", 
                        "size": 0
                    }
                ], 
                "category": 0, 
                "downloadPolicy": 0, 
                "ext": { }, 
                "fileType": "", 
                "hash": "", 
                "id": "", 
                "isBlock": true, 
                "isDownloadable": true, 
                "md5Hash": "", 
                "name": "", 
                "purpose": "", 
                "size": 0
            }
        ], 
        "block": true, 
        "blockInfoList": [
            {
                "hash": "", 
                "id": "", 
                "md5Hash": "", 
                "size": 0
            }
        ], 
        "category": 0, 
        "categoryIdList": [ ], 
        "ctime": 0, 
        "downloadPolicy": 0, 
        "ext": { }, 
        "fileDataId": "", 
        "filename": "", 
        "groupId": "", 
        "groupPermission": 0, 
        "groupPermissionCanEdit": 0, 
        "hash": "", 
        "isDownloadable": true, 
        "lockInfo": {
            "ctime": 0, 
            "lockType": "", 
            "mtime": 0, 
            "userId": "", 
            "username": ""
        }, 
        "md5Hash": "", 
        "metaId": "", 
        "metaType": 0, 
        "mtime": 0, 
        "otherPermission": 0, 
        "ownerId": "", 
        "ownerPermission": 0, 
        "path": "", 
        "pid": "", 
        "preset": true, 
        "shareType": "", 
        "size": 0, 
        "suffix": "", 
        "tags": [
            {
                "createUserName": "", 
                "i18nLabel": "", 
                "id": "", 
                "name": "", 
                "refSum": 0
            }
        ], 
        "version": 0
    }, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Attachment file creation

Ednpoint

POST  /api/v6/resource/ext/create

Description

Create and call attachment file during the file upload process.

Request data type

application/json

Response data type

*/*

Request example

				
					{
    "blockInfoList": [
        {
            "hash": "", 
            "md5Hash": "", 
            "num": 0, 
            "size": 0
        }
    ], 
    "ext": { }, 
    "hash": "", 
    "md5Hash": "", 
    "metaId": "", 
    "name": "", 
    "purpose": "", 
    "size": 1, 
    "tenantId": "", 
    "version": 1
}

				
			

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

requestVO

requestVO

body

true

ExtBigCreateRequestVO

ExtBigCreateRequestVO

blockInfoList

 

 

false

array

RequestBlockInfo

hash

hash

 

false

string

 

md5Hash

MD5

 

false

string

 

num

Quantity

 

false

integer

 

size

Size

 

false

integer

 

ext

Attachment information

 

false

object

 

hash

File hash value (SHA256)

 

true

string

 

md5Hash

MD5

 

false

string

 

metaId

Resource id

 

true

string

 

name

Name

 

false

string

 

purpose

Purpose of the attachment file

 

false

string

 

size

File size

 

true

integer(int64)

 

tenantId

Tenant ID

 

false

string

 

version

Resource version

 

true

integer(int32)

 

Response status

Code

Description

schema

200

OK

Result«FileCreateResponseVO»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

FileCreateResponseVO

FileCreateResponseVO

blockList

 

array

BlockCreateResponseVO

blockId

Block ID

string

 

formFields

 

array

Pair

key

Keywords

string

 

value

Value

object

 

httpHeaders

 

array

Pair

key

Keywords

string

 

value

Value

object

 

httpMethod

http method

string

 

httpProtocol

http protocol

string

 

num

Number

integer

 

type

Type

string

 

uploadFormField

Request type

string

 

url

url

string

 

fileId

File ID

string

 

metaId

Resource ID

string

 

version

Version

integer(int32)

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{ 
    "code": 0, 
    "data": {
        "blockList": [
            {
                "blockId": "", 
                "formFields": [
                    {
                        "key": "", 
                        "value": { }
                    }
                ], 
                "httpHeaders": [
                    {
                        "key": "", 
                        "value": { }
                    }
                ], 
                "httpMethod": "", 
                "httpProtocol": "", 
                "num": 0, 
                "type": "", 
                "uploadFormField": "", 
                "url": ""
            }
        ], 
        "fileId": "", 
        "metaId": "", 
        "version": 0
    }, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Callback after attachment block file upload 

Endpoint

POST  /api/v6/resource/ext/block/create/callback

Description

Called after each attachment block is uploaded during the file upload process.

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

blockId

blockId

query

true

string

 

code

A value of 0 indicates that the upload was successful; otherwise, it indicates failure.

query

true

integer(int32)

 

message

Message, optional field

query

false

string

 

tenantId

Tenant id

query

false

string

 

Response status

Code

Description

schema

200

OK

Result«object»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameter

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

object

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{ 
    "code": 0, 
    "data": null, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Callback after attachment file upload

Endpoint

POST  /api/v6/resource/ext/create/callback

Description

Called after the attachment file had been successfully uploaded during the file upload process.

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameter

Parameter

Description

Request Type

Required

Data Type

schema

code

A value of 0 indicates that the upload was successful; otherwise, it indicates failure.

query

true

integer(int32)

 

fileId

fileId

query

true

string

 

message

Message, optional field

query

false

string

 

Response code

Code

Description

schema

200

OK

Result«object»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameter

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

object

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": null, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Main files overwrite endpoint

Endpoint

POST  /api/v6/resource/file/cover

Endpoint

Overwrite the main file.

Request data type

application/json

Response data type

*/*

Request example

				
					{
    "blockInfoList": [
        {
            "hash": "", 
            "md5Hash": "", 
            "num": 0, 
            "size": 0
        }
    ],  
    "ext": { }, 
    "extGenerateStrategy": "", 
    "groupPermission": 6, 
    "groupPermissionCanEdit": 0, 
    "hash": "", 
    "id": "", 
    "inodeCategory": "", 
    "machineKey": "", 
    "md5Hash": "", 
    "metaType": 0, 
    "otherPermission": 0, 
    "ownerPermission": 7, 
    "size": 123, 
    "tags": ""
}

				
			

Response parameter

Parameter

Description

Request Type

Required

Data Type

schema

requestVO

requestVO

body

true

BlockCoverRequestDTO

BlockCoverRequestDTO

blockInfoList

 

 

false

array

RequestBlockInfo

hash

Hash

 

false

string

 

md5Hash

MD5

 

false

string

 

num

Quantity

 

false

integer

 

size

Size

 

false

integer

 

ext

Attachment information

 

false

object

 

extGenerateStrategy

The current policy is to only generate ab files and not images. Available values: MODEL_WITHOUT_IMG,

MODEL_ALL,

MODEL_NULL,

NO_TASK

 

false

string

 

groupPermission

Current group user permissions (default read: 7 4 0)

0: No permissions

4: Read permissions (default) 2:Write permissions

1: Advanced write permissions

 

false

integer(int32)

 

groupPermissionCanEdit

Whether the current group user permissions are editable 0 No 1 Yes

 

false

integer(int32)

 

hash

File hash value (MD5)

 

true

string

 

id

Resource Id

 

true

string

 

inodeCategory

Manually specify the type. Available values:

FOLDER, MODEL3D, AB,

IMAGE, VIDEO,AUDIO,

DOC,PDF, EXCEL,

PPT,DIR,LOG,DIRPROJ,

DIRPKG,FZZXDIRPKG,

IOTSIM,MODEL3Dv2,

PIXYZ, DMCM,ASSET,

GADGET,SCENE,OTHER

 

false

string

 

machineKey

Machine key

 

false

string

 

md5Hash

MD5

 

false

string

 

metaType

Manually specify whether the mate includes the main file (0: includes, 1: does not include)

 

false

integer(int32)

 

otherPermission

Other group user permissions (default: none 0 0 0) 0: No permissions 4: Read permissions (default) 2:Write permissions 1: Advanced write permissions

 

false

integer(int32)

 

ownerPermission

Owner permissions (default: all 7 0 0) 0: No permissions 4: Read permissions (default) 2:Write permissions 1: Advanced write permissions

 

false

integer(int32)

 

size

Total file size, in bytes

 

true

integer(int64)

 

tags

File tags, separated by commas

 

false

string

 

Response status

Code

Description

schema

200

OK

Result«FileCreateResponseVO»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

FileCreateResponseVO

FileCreateResponseVO

blockList

 

array

BlockCreateResponseVO

blockId

Block ID

string

 

formFields

 

array

Pair

key

Keywords

string

 

value

Value

object

 

httpHeaders

 

array

Pair

key

Keywords

string

 

value

Value

object

 

httpMethod

http method

string

 

httpProtocol

http protocol

string

 

num

Quantity

integer

 

type

Type

string

 

uploadFormField

Request type

string

 

url

url

string

 

fileId

File ID

string

 

metaId

Resource ID

string

 

version

Version

integer(int32)

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": {
        "blockList": [
            {
                "blockId": "", 
                "formFields": [
                    {
                        "key": "", 
                        "value": { }
                    }
                ], 
                "httpHeaders": [
                    {
                        "key": "", 
                        "value": { }
                    }
                ], 
                "httpMethod": "", 
                "httpProtocol": "", 
                "num": 0, 
                "type": "", 
                "uploadFormField": "", 
                "url": ""
            }
        ], 
        "fileId": "", 
        "metaId": "", 
        "version": 0
    }, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Path main file creation endpoint

Endpoint

POST  /api/v6/resource/file/create/path

Description

Create a main file based on the path.

Request data type

application/json

Response data type

*/*

Request example

				
					{
    "blockInfoList": [
        {
            "hash": "", 
            "md5Hash": "", 
            "num": 0, 
            "size": 0
        }
    ], 
    "catalogId": "", 
    "ext": { }, 
    "extGenerateStrategy": "",  
    "groupPermission": 6, 
    "groupPermissionCanEdit": 0, 
    "hash": "", 
    "inodeCategory": "", 
    "machineKey": "", 
    "md5Hash": "", 
    "metaType": 0, 
    "name": "", 
    "nameStrategy": "", 
    "otherPermission": 0, 
    "ownerPermission": 7, 
    "path": "", 
    "size": 123, 
    "tags": ""
}

				
			

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

requestVO

requestVO

body

true

FilePathCreateRequestVO

FilePathCreateRequestVO

blockInfoList

 

 

false

array

RequestBlockInfo

hash

Hash

 

false

string

 

md5Hash

MD5

 

false

string

 

num

Quantity

 

false

integer

 

size

Size

 

false

integer

 

catalogId

Directory id

 

false

string

 

ext

Attachment information

 

false

object

 

extGenerateStrategy

The current policy is to only generate ab files and not images. Available values: MODEL_WITHOUT_IMG,

MODEL_ALL,

MODEL_NULL,

NO_TASK

 

false

string

 

groupPermission

Current group user permissions (default read: 7 4 0)

0: No permissions

4: Read permissions (default)

2:Write permissions

1: Advanced write permissions

 

false

integer(int32)

 

groupPermissionCanEdit

Whether the current group user permissions are editable 0 No 1 Yes

 

false

integer(int32)

 

hash

File hash value (SHA256)

 

true

string

 

inodeCategory

Manually specify the type.

Available values:

FOLDER,MODEL3D,AB,

IMAGE,VIDEO,AUDIO,

DOC,PDF,EXCEL,

PPT,DIR,LOG,DIRPROJ,

DIRPKG,FZZXDIRPKG,

IOTSIM,MODEL3Dv2,PIXYZ,

DMCM,ASSET,GADGET,

SCENE,OTHER

 

false

string

 

machineKey

Machine key

 

false

string

 

md5Hash

 MD5

 

false

string

 

metaType

Manually specify whether the mate includes the main file (0: includes, 1: does not include)

 

false

integer(int32)

 

name

Name

 

true

string

 

nameStrategy

File overwrite rename strategy, default is RENAME.

Available values:

RENAME,

COVER,

THROW_EXCEPTION

 

false

string

 

otherPermission

Other group user permissions (default: none 0 0 0)

0: No permissions

4: Read permissions (default)

2:Write permissions

1: Advanced write permissions

 

false

integer(int32)

 

ownerPermission

Owner permissions (default: all 7 0 0)

0: No permissions

4: Read permissions (default)

2:Write permissions

1: Advanced write permissions

 

false

integer(int32)

 

path

File upload path

 

true

string

 

size

Total file size, in bytes

 

true

integer(int64)

 

tags

Tags

 

false

string

 

Response status

Code

Description

schema

200

OK

Result«FileCreateResponseVO»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

FileCreateResponseVO

FileCreateResponseVO

blockList

 

array

BlockCreateResponseVO

blockId

Block ID

string

 

formFields

 

array

Pair

key

Keywords

string

 

value

Value

object

 

httpHeaders

 

array

Pair

key

Keywords

string

 

value

Value

object

 

httpMethod

http method

string

 

httpProtocol

http protocol

string

 

num

Quantity

integer

 

type

Type

string

 

uploadFormField

Request type

string

 

url

url

string

 

fileId

File ID

string

 

metaId

Resource ID

string

 

version

Version

integer(int32)

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{ 
    "code": 0, 
    "data": {
        "blockList": [
            {
                "blockId": "", 
                "formFields": [
                    {
                        "key": "", 
                        "value": { }
                    }
                ], 
                "httpHeaders": [
                    {
                        "key": "", 
                        "value": { }
                    }
                ], 
                "httpMethod": "", 
                "httpProtocol": "", 
                "num": 0, 
                "type": "", 
                "uploadFormField": "", 
                "url": ""
            }
        ], 
        "fileId": "", 
        "metaId": "", 
        "version": 0
    }, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Path log file creation endpoint

Endpoint

POST  /api/v1/resource/file/log/create/path

Description

Create a log file based on the path.

Request data type

application/json

Response data type

*/*

Request example

				
					{
    "blockInfoList": [
        {
            "hash": "", 
            "md5Hash": "", 
            "num": 0, 
            "size": 0
        }
    ], 
    "catalogId": "", 
    "ext": { }, 
    "extGenerateStrategy": "", 
    "groupId": "", 
    "groupPermission": 6, 
    "groupPermissionCanEdit": 0, 
    "hash": "", 
    "inodeCategory": "", 
    "machineKey": "", 
    "md5Hash": "", 
    "metaType": 0, 
    "name": "", 
    "nameStrategy": "", 
    "otherPermission": 0, 
    "ownerPermission": 7, 
    "path": "", 
    "size": 123, 
    "tags": ""
}

				
			

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

requestVO

requestVO

body

true

FilePathCreateRequestVO

FilePathCreateRequestVO

blockInfoList

 

 

false

array

RequestBlockInfo

hash

Hash

 

false

string

 

md5Hash

MD5

 

false

string

 

num

Quantity

 

false

integer

 

size

Size

 

false

integer

 

catalogId

Directory id

 

false

string

 

ext

Attachment information

 

false

object

 

extGenerateStrategy

The current policy is to only generate ab files and not images. Available values:

MODEL_WITHOUT_IMG,

MODEL_ALL,

MODEL_NULL,

NO_TASK

 

false

string

 

groupId

Current workgroup, used for creation when the path does not exist

 

true

string

 

groupPermission

Current group user permissions (default read: 7 4 0)

0: No permissions

4: Read permissions (default)

2:Write permissions

1: Advanced write permissions

 

false

integer(int32)

 

groupPermissionCanEdit

Whether the current group user permissions are editable 0 No 1 Yes

 

false

integer(int32)

 

hash

File hash value (SHA256)

 

true

string

 

inodeCategory

Manually specify the type.

Available values:  FOLDER,MODEL3D,AB,

IMAGE,VIDEO,AUDIO,

DOC,PDF,EXCEL,

PPT,DIR,LOG,DIRPROJ,

DIRPKG,FZZXDIRPKG,IOTSIM,

MODEL3Dv2,PIXYZ,

DMCM,ASSET,GADGET,

SCENE,OTHER

 

false

string

 

machineKey

Machine Key

 

false

string

 

md5Hash

MD5

 

false

string

 

metaType

Manually specify whether the mate includes the main file (0: includes, 1: does not include)

 

false

integer(int32)

 

name

File name

 

true

string

 

nameStrategy

File overwrite rename strategy, default is RENAME.

Available values:

RENAME,

COVER,

THROW_EXCEPTION

 

false

string

 

otherPermission

Other group user permissions (default: none 0 0 0)

0: No permissions

4: Read permissions (default)

2:Write permissions

1: Advanced write permissions

 

false

integer(int32)

 

ownerPermission

Owner permissions (default: all 7 0 0)

0: No permissions

4: Read permissions (default)

2:Write permissions

1: Advanced write permissions

 

false

integer(int32)

 

path

File upload path

 

true

string

 

size

Total file size, in bytes

 

true

integer(int64)

 

tags

Tags

 

false

string

 

Response status

Code

Description

schema

200

OK

Result«FileCreateResponseVO»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

args

 

object

 

code

 

integer(int32)

integer(int32)

data

 

FileCreateResponseVO

FileCreateResponseVO

blockList

 

array

BlockCreateResponseVO

blockId

 

string

 

formFields

 

array

Pair

key

Keywords

string

 

value

Value

object

 

httpHeaders

 

array

Pair

key

Keywords

string

 

value

Value

object

 

httpMethod

http method

string

 

httpProtocol

http protocol

string

 

num

Quantity

integer

 

type

Type

string

 

uploadFormField

Request type

string

 

url

url

string

 

fileId

File ID

string

 

metaId

Resource ID

string

 

version

Version

integer(int32)

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "args": { }, 
    "code": 0, 
    "data": {
        "blockList": [
            {
                "blockId": "", 
                "formFields": [
                    {
                        "key": "", 
                        "value": { }
                    }
                ], 
                "httpHeaders": [
                    {
                        "key": "", 
                        "value": { }
                    }
                ], 
                "httpMethod": "", 
                "httpProtocol": "", 
                "num": 0, 
                "type": "", 
                "uploadFormField": "", 
                "url": ""
            }
        ], 
        "fileId": "", 
        "metaId": "", 
        "version": 0
    }, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			
				
					{
	"code": 0,
	"data": {
		"list": [
			{
				"activityType": 0,
				"allowJoin": 0,
				"capability": 0,
				"clientNumber": 0,
				"cover": "",
				"createTime": 0,
				"defaultClientRole": 0,
				"description": "",
				"editMode": 0,
				"endTime": 0,
				"id": "",
				"name": "",
				"offLine": false,
				"owner": {
					"headPic": "",
					"realName": "",
					"userId": "",
					"username": ""
				},
				"ownerId": "",
				"playingScript": 0,
				"protocol": "",
				"scenesId": "",
				"scriptNumber": 0,
				"socketUrl": "",
				"startTime": 0,
				"status": 0,
				"tags": [
					{
						"createTime": 0,
						"id": "",
						"name": "",
						"tenantId": "",
						"updateTime": 0
					}
				],
				"type": 0
			}
		]
	},
	"msg": "",
	"msg_i18n": {},
	"status": 0,
	"timestamp": 0
}


				
			

Event-related endpoints

Event endpoint

Event list

Endpoint

GET  /api/v6/director/event/unity/list

Description

Unity event list

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

Response status

Code

Description

schema

200

OK

Result«object»

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

Unity event list  response data

Unity event list  response data

 list

event list

array

EventListVO

  activityType

Event type

integer

 

  allowJoin

Whether to allow participation 0 Allow 1 Not allow

integer

 

  capability

Event capacity

integer

 

  clientNumber

Number of clients

integer

 

  cover

Event cover

string

 

  createTime

 

integer

 

  defaultClientRole

Default client role 0 Host 1 Observer 2 Third-party view

integer

 

  description

Event description

string

 

  editMode

Whether it is edit mode

integer

 

  endTime

Event end time

integer

 

  id

ID

string

 

  name

Event name

string

 

  offLine

Whether it is an offline event

boolean

 

  owner

Owner information

JSONString

JSONObject of user basic information

   headPic

 

string

 

   realName

 

string

 

   userId

 

string

 

   username

 

string

 

  ownerId

Event owner ID

string

 

  playingScript

Whether it is playing scenario 0 not playing 1 Playing

integer

 

  protocol

Persistent connection protocol

string

 

  scenesId

Scene Id

string

 

  scriptNumber

Scenario number

integer

 

  socketUrl

Persistent connection address

string

 

  startTime

Event start time

integer

 

  status

Event status 0 Not starting 1 Ongoing 2 Expired

integer

 

  tags

Event tags

array

EventTag object

   createTime

 

integer

 

   id

 

string

 

   name

Label name

string

 

   tenantId

Tenant ID

string

 

   updateTime

 

integer

 

  type

Event duration type 0 Time-limited 1 No time-limited

integer

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

 Response example

Query event list by conditions

Endpoint

GET  /api/v6/director/event/list

Description

Query the event list based on conditions.

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

activityType

Event type (0 Scenario event 1 Scene event), available values: SCRIPT_ACTIVITY,

SCENES_ACTIVITY

query

false

string

 

eventIds

Event Id list

query

false

array

string

labelIds

Label ID list

query

false

array

string

name

Event name

query

false

string

 

ownerNickname

Owner nickname

query

false

string

 

pageNo

Current page number

query

false

integer(int32)

 

pageSize

Number of items per page

query

false

integer(int32)

 

status

Event status, available values:0 Not started,1 Ongoing,2 Ended,3 Cancelled,4 Idle,5 Occupied,6 Preparing

query

false

string

 

sorts[0].asc

Whether to sort in ascending order

query

false

boolean

 

sorts[0].field

Sort field

query

false

string

 

Response status

Code

Description

schema

200

OK

Result«IPage«EventListVO»»

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameter

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

Pagination results «EventListVO»

Pagination results «EventListVO»

 list

Data

array

EventListVO

  activityType

Event type

integer

 

  allowJoin

Whether to allow participation 0 Allow 1 Not allow

integer

 

  capability

Event capacity

integer

 

  clientNumber

Number of clients

integer

 

  cover

Event cover

string

 

  createTime

 

integer

 

  defaultClientRole

Default client role 0 Host 1 Observer 2 Third-party view

integer

 

  description

Event description

string

 

  editMode

Whether it is edit mode

integer

 

  endTime

Event end time

integer

 

  id

ID

string

 

  name

Event name

string

 

  offLine

Whether it is an offline event

boolean

 

  owner

Owner information

JSONString

JSONObject of user basic information

   headPic

 

string

 

   realName

 

string

 

   userId

 

string

 

   username

 

string

 

  ownerId

Event owner ID

string

 

  playingScript

Whether it is playing scenario 0 not playing 1 Playing

integer

 

  protocol

Persistent connection protocol

string

 

  scenesId

Scene Id

string

 

  scriptNumber

Scenario number

integer

 

  socketUrl

Persistent connection address

string

 

  startTime

Event start time

integer

 

  status

Event status 0 Not starting 1 Ongoing 2 Expired

integer

 

  tags

Event tags

array

EventTag object

   createTime

 

integer

 

   id

 

string

 

   name

Label name

string

 

   tenantId

Tenant ID

string

 

   updateTime

 

integer

 

  type

Event duration type 0 Time-limited 1 No time-limited

integer

 

 pageNo

Page number, start from 1

integer(int64)

 

 pageSize

Number of items per page

integer(int64)

 

 total

Total items

integer(int64)

 

 totalPage

Total pages

integer(int64)

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
	"code": 0,
	"data": {
		"list": [
			{
				"activityType": 0,
				"allowJoin": 0,
				"capability": 0,
				"clientNumber": 0,
				"cover": "",
				"createTime": 0,
				"defaultClientRole": 0,
				"description": "",
				"editMode": 0,
				"endTime": 0,
				"id": "",
				"name": "",
				"offLine": false,
				"owner": {
					"headPic": "",
					"realName": "",
					"userId": "",
					"username": ""
				},
				"ownerId": "",
				"playingScript": 0,
				"protocol": "",
				"scenesId": "",
				"scriptNumber": 0,
				"socketUrl": "",
				"startTime": 0,
				"status": 0,
				"tags": [
					{
						"createTime": 0,
						"id": "",
						"name": "",
						"tenantId": "",
						"updateTime": 0
					}
				],
				"type": 0
			}
		],
		"pageNo": 0,
		"pageSize": 0,
		"total": 0,
		"totalPage": 0
	},
	"msg": "",
	"msg_i18n": {},
	"status": 0,
	"timestamp": 0
}


				
			

Event details

Endpoint

GET  /api/v6/director/event/detail

Description

Get event details.

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

eventId

Event ID

query

true

string

 

Response status

Code

Description

schema

200

OK

Result«EventDetailsVO»

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

code

data

 

EventDetailsVO

data

 activityType

Event type

integer(int32)

 activityType

 adminIds

 

string

 adminIds

 allowJoin

Whether to allow participation 0 Allow 1 Not allow

integer(int32)

 allowJoin

 capability

Event capacity

integer(int32)

 capability

 category

Event type  Fast event Reserved event, available values: FAST_EVENT,

PUBLIC_EVENT,

RESERVE_EVENT

string

 category

 clientNumber

Number of clients

integer(int32)

 clientNumber

 cover

Event cover

string

 cover

 createTime

Creation time

integer(int64)

 createTime

 defaultClientRole

Default client role 0 Host 1 Observer 2 Third-party view

integer(int32)

 defaultClientRole

 description

Event description

string

 description

 editMode

Whether it is edit mode

integer(int32)

 editMode

 endTime

Event end time

integer(int64)

 endTime

 groupId

Group ID

string

 groupId

 id

ID

string

 id

 labelList

Label list

array

 labelList

  createUserName

Creator

string

  createUserName

  i18nLabel

Multilanguage labels

string

  i18nLabel

  id

Label ID

string

  id

  name

Label name

string

  name

  refSum

Reference number

integer

  refSum

 name

Event name

string

 name

 num

ID

string

 num

 offLine

Whether it is an offline event

boolean

 offLine

 owner

 

JSONString

 owner

  headPic

 

string

  headPic

  realName

 

string

  realName

  userId

 

string

  userId

  username

 

string

  username

 ownerId

Event owner ID

string

 ownerId

 playingScript

Whether it is playing scenario 0 not playing 1 Playing

integer(int32)

 playingScript

 protocol

Persistent connection protocol

string

 protocol

 scriptNumber

Scenario number

integer(int32)

 scriptNumber

 socketUrl

Persistent connection address

string

 socketUrl

 startTime

Event start time

integer(int64)

 startTime

 status

Event status 0 Not started 1 Ongoing 2 Expired

integer(int32)

 status

 substate

Event sub status, available values:

IDLE,PLAYING,WAITING

string

 substate

 tags

Event tags

array

 tags

  createTime

 

integer

  createTime

  id

 

string

  id

  name

Label name

string

  name

  tenantId

Tenant ID

string

  tenantId

  updateTime

 

integer

  updateTime

 type

Event type 0 Time-limited 1 No time-limited

integer(int32)

 type

msg

 

string

msg

msg_i18n

 

object

msg_i18n

status

 

integer(int32)

status

timestamp

 

integer(int64)

timestamp

Response example

				
					{
	"code": 0,
	"data": {
		"activityType": 0,
		"adminIds": "",
		"allowJoin": 0,
		"capability": 0,
		"category": "",
		"clientNumber": 0,
		"cover": "",
		"createTime": 0,
		"defaultClientRole": 0,
		"description": "",
		"editMode": 0,
		"endTime": 0,
		"groupId": "",
		"id": "",
		"labelList": [
			{
				"createUserName": "",
				"i18nLabel": "",
				"id": "",
				"name": "",
				"refSum": 0
			}
		],
		"name": "",
		"num": "",
		"offLine": false,
		"owner": {
			"headPic": "",
			"realName": "",
			"userId": "",
			"username": ""
		},
		"ownerId": "",
		"playingScript": 0,
		"protocol": "",
		"scriptNumber": 0,
		"socketUrl": "",
		"startTime": 0,
		"status": 0,
		"substate": "",
		"tags": [
			{
				"createTime": 0,
				"id": "",
				"name": "",
				"tenantId": "",
				"updateTime": 0
			}
		],
		"type": 0
	},
	"msg": "",
	"msg_i18n": {},
	"status": 0,
	"timestamp": 0
}


				
			

Create events

Endpoint

POST  /api/v6/director/event/create

Description

Event creation.

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

eventCreateDTO

Event creation request entity

body

true

JSONString

Event creation request entity

 activityType

Event type(0 Scenario event  1 Scene event), available value:0,1

 

false

string

 

 category

Event type, available values: FAST_EVENT,

PUBLIC_EVENT,

RESERVE_EVENT

 

false

string

 

 cover

Event cover

 

false

string

 

 days

Selected days

 

false

integer(int32)

 

 description

Event description

 

false

string

 

 endTime

Event end time

 

false

integer(int64)

 

 labelIds

Label ID list

 

false

array

string

 name

Event name

 

true

string

 

 startTime

Event start time

 

false

integer(int64)

 

 tags

Event tags

 

false

string

 

 type

Event duration type 0 Time-limited 1 No time-limited

 

true

integer(int32)

 

Response status

Code

Description

schema

200

OK

Result«object»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameter

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

Map<String,String>

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": {
        "eventId": 1		//Event ID
    }, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Event verification for existence

Endpoint

GET  /api/v6/director/event/eventCheckNameExists

Description

Verifies whether an event with the same name already exists

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

name

Event name

query

false

string

 

Response status

Code

Description

schema

200

OK

Result«boolean»

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

boolean

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{ 
    "code": 0, 
    "data": true, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Event update

Endpoint

POST  /api/v6/director/event/update

Description

Event update

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

eventUpdate

Event update request entity

body

true

JSONString

Event update request entity

 allowJoin

Whether to allow participation

 

false

integer(int32)

 

 capability

Maximum number of participants

 

false

integer(int32)

 

 catalogId

Directory ID

 

false

string

 

 cover

Cover file, server path

 

false

string

 

 description

Event description

 

false

string

 

 endTime

Event end time

 

false

integer(int64)

 

 id

id

 

true

string

 

 labelIds

Label ID list

 

false

array

string

 name

Event name

 

true

string

 

 num

 

 

false

string

 

 startTime

Event start time

 

false

integer(int64)

 

 tags

Event tags

 

false

array

string

 type

Event duration type 0 Time-limited 1 No time-limited

 

true

integer(int32)

 

Response status

Code

Description

schema

200

OK

Result«object»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

string

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": "", 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Determine whether there is permission to join the event

Endpoint

GET  /api/v6/director/event/join/permissions

Description

Determine whether there is permission to join the event.

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

eventId

Event ID

body

false

string

 

Response status

Code

Description

schema

200

OK

Result«EventPermissionVO»

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

EventPermissionVO

EventPermissionVO

hasPermission

Whether there is permission to enter the event 0 – No, 1 – Has permission.

integer(int32)

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": {
        "hasPermission": 0
    }, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Cancel event

Endpoint

POST  /api/v6/director/event/cancel

Description

Cancel event

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

eventId

Event id

body

true

string

 

Response status

Code

Description

schema

200

OK

Result«object»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

object

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": null, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Close event

Endpoint

POST  /api/v6/director/event/close

Description

Close event

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

eventId

Event id

body

true

string

 

Response status

Code

Description

schema

200

OK

Result«object»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

Map<String,Boolean>

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{ 
    "code": 0, 
    "data": {
        "success": true		//Event close status
    }, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Event scenario management endpoints

Scenario list

Endpoint

GET  /api/v6/director/script/list

Description

Get the scenario for a specified event.

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

eventId

Event ID

query

false

string

 

Response status

Code

Description

schema

200

OK

Result«object»

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

array

ScriptVO

 eventId

Event ID

string

 

 latestVersion

Latest version

integer(int32)

 

 metaId

Scenario resource ID

string

 

 path

Scenario path

string

 

 scriptId

Scenario ID

string

 

 tenantId

Tenant ID

string

 

 uploadTime

Scenario upload time

integer(int64)

 

 version

Version

integer(int32)

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": {
        "list": [
            {
                "scriptId": "", 		//Scenario ID
                "tenantId": "", 		//Tenant ID
                "eventId": "", 		//Event ID
                "metaId": "", 		//Resource ID
                "path": "", 		//Resource path
                "version": 0, 		//Resource version
                "latestVersion": 0, 	//Resource latest version
                "uploadTime": 0 		//Update time
            }
        ]
    }, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Add event scenario

Endpoint

POST  /api/v6/director/script/add

Description

Add event scenario.

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

eventId

Event ID

query

false

string

 

scriptDtoList

Scenario list

query

false

string

 

Response status

Code

Description

schema

200

OK

Result«object»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

object

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": null, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Delete event scenario

Endpoint

POST  /api/v6/director/script/delete

Description

Delete custom event scenario.

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

scriptId

Scenario ID

query

false

string

 

Response status

Code

Description

schema

200

OK

Result«object»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

object

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

 Response example

				
					{
    "code": 0, 
    "data": null, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Change event scenario (Delete first, then add)

Endpoint

POST  /api/v6/director/script/change

Description

Change event scenario, which is equivalent to first deleting the scenario and then adding a new one.

Request data type

application/x-www-form-urlencoded

Response data type

*/*

Request parameters

Parameter

Description

Request Type

Required

Data Type

schema

eventId

Event ID

query

false

string

 

scriptDtoList

Scenario list

query

false

string

 

Response status

Code

Description

schema

200

OK

Result«object»

201

Created

 

401

Unauthorized

 

403

Forbidden

 

404

Not Found

 

Response parameters

Parameter

Description

Type

schema

code

 

integer(int32)

integer(int32)

data

 

object

 

msg

 

string

 

msg_i18n

 

object

 

status

 

integer(int32)

integer(int32)

timestamp

 

integer(int64)

integer(int64)

Response example

				
					{
    "code": 0, 
    "data": null, 
    "msg": "", 
    "msg_i18n": { }, 
    "status": 0, 
    "timestamp": 0
}

				
			

Appendix I

0

Success

10400001

System error, please contact support@datamesh.com

10400002

Unauthorized

10400004

Forbidden

10400005

Not found

10400006

Request method not allowed

10400007

Internal Server Error

10400010

System error, please contact support@datamesh.com

10500012

Third-party authentication failed

10500013

User does not exist

10500014

This user is already in the organization; do not add again

10500015

User does not exist or password is incorrect

10500016

Too many errors, please try again later

10500017

Verification code error

10500018

User account has expired

10500019

Verification code has expired

10500020

Password change failed; old password is the same as the new password

10500021

Password change failed; old password is incorrect

10500026

User credential does not exist

10500027

User credential is invalid

10500028

Verification code is invalid

10500029

Already followed

10500030

License expired

10500031

License invalid

10500032

License does not exist

10500033

Exceeded License limit

10500034

QR code has expired

10500035

Username already exists

10500036

Tenant does not exist

10500037

Workgroup does not exist

10500038

User is already an administrator; cannot be added again

10500039

User is not an administrator

10500040

User is already in the workgroup

10500041

Request has already been sent; please wait for administrator review

10500042

There are associated users under the current role; please unbind user relationships first

10500043

Role ID already exists

10500044

User authentication information does not exist

10500045

Reviewed information does not exist

10500046

Link has expired

10500047

Username format is incorrect

10500048

Default anonymous tenant does not exist

10500049

Enterprise identifier already exists

10500050

Platform information does not exist

10500051

Domain name already exists

10500052

Platform has already been initialized

10500053

Personal tenant does not exist in default

10500054

Main account does not exist in default

10500055

Main account configuration error; please contact tenant administrator

10500056

Nickname already exists

10500057

Addition failed; permission item already exists

10500058

Permission item does not exist

10500059

Sub-administrator already exists

10500060

Subscription does not exist or has expired

10500061

Exceeded subscription limit

10500062

The account has not been assigned a license. Please contact your enterprise administrator

10500063

The user has been assigned a license

10500064

Subscription time is duplicated

10500065

The subscription does not exist or has expired

10500066

The enterprise super administrator does not exist

10500067

The enterprise super administrator already exists

10500068

The user is already an enterprise super administrator

10500069

Incorrect server selection

10500074

The user is already an administrator and cannot be added as a sub-administrator.

10500075

The user is a workgroup owner and does not need to be added as an administrator

10500076

A subscription already exists including a subscription needs to be issued due to expiration

10500077

User credentials have expired

10500080

Please do not submit repeatedly

10500081

The object has been referenced and cannot be deleted

10500082

Data is required

10500083

The required attributes of that object have not been filled out. Please fill them in and try again

10500085

Your account is logged in on another device.

10500090

You can only reset your email account that received the email. Please verify and re-enter.

10500099

Too many errors. Please try again after ${lockTime} minutes.

10500100

Incorrect password

11500001

Saving file error

11500007

Cannot move the folder into itself or its subdirectories.

11500009

File/folder name conflict

11500010

The folder must be empty to be deleted

11500011

The parent folder does not exist

11500012

File upload incomplete

11500014

File does not exist

11500015

File is incomplete

11500016

File exceeds size limit

11500017

File has been edited by the user

11500018

Category name is duplicated

11500019

Resource version conflict; uploading files with the same name is prohibited

11500020

Incorrect resource sharing password

11500021

Resource sharing limit has been reached

11500022

Resource sharing has expired

11510019

File access is unauthorized

11510020

File upload is unauthorized

11510021

Directory access is unauthorized

11510022

Directory modification is unauthorized

11510023

Directory creation is unauthorized

11510024

File modification is unauthorized

12500001

The event does not exist

12500002

Signature error

12500003

The invitation has expired

12500004

The event is not ongoing

12500006

The client end is not in the event

12500008

The event has already started

12500009

Start and end times cannot be empty

12500010

Exceeds the event limit

12500011

Insufficient user permissions

12500012

Not in edit mode

12500013

The event already exists

12500014

The event is full

12500015

The scenario does not exist

12500016

This group cannot access

12500017

This account is already in the event

12500018

The event scenario cannot be changed during the playback process.

12500019

Only the event that has not started can change owner

12500020

Only events that have not started can be canceled

12500021

The user is already an administrator of the event

12500022

The user is not an administrator of the event

12500023

Event tag does not exist

12500024

Event ID already exists

12500025

The client end is not yet ready. Please confirm and try again

12500026

The event is not bound to a scenario and cannot be joined.

12500027

Cannot assume role; the object has already been assumed by another user.

12500028

The current event has ended

12500029

The current version does not allow creating this type of event.

15500001

This specification of the product does not exist

15500002

Product does not exist; please contact the administrator

15500003

Redemption code generation error

15500004

Redemption code does not exist

15500005

Redemption code has been redeemed or has expired

15500006

Order has been paid

15500007

Payment order does not exist

15500008

Payment order has been canceled or paid

15500009

Order information does not exist

15500010

Name already exists

15500011

Redemption code is incorrect. Please re-enter

15500012

Redemption code has expired

15500013

Redemption code has been voided

15500014

Redemption code has been redeemed

15500015

Configuration for the redemption code does not exist

15500016

Order has been canceled

15500017

Exceeds the redemption code validity period.

15500018

Exceeds the redemption code generation quantity limit

15500019

Redemption code is invalid

17500001

Task does not exist

17500002

Task steps have been submitted; attachments cannot be deleted

17500003

Task template step does not exist

17500004

Only tasks that are scheduled to execute can be edited.

17500005

The template is associated with a plan or task and cannot be deleted

17500006

Task does not match the equipment QR code. Please scan again

16500001

Architectural scene data chunking error

16500002

Current file status prohibits this operation

16500003

Architectural scene creation failed

16500004

Position code does not exist

30000001

Please download the latest version to access this feature

30000002

To experience all features, please download the latest version

DataMesh One Vision Pro Usage Tips

Version and model requirements

1. Please use the latest version from the app store to access the latest features and fixes.

2. The texture resolution of the model is less than 1024 and the number of textures is less than 50.

3. Models made with PBR (Physically Based Rendering) materials can have excellent display effects on Vision Pro.

Troubleshooting

1. After opening a scenario, the scenario operation menu is obscured by the model.

Solution: Hold down the left fist for 1.5 seconds to bring the scenario operation menu back to your hand.

2. The virtual keyboard disappears when entering account credentials.

Solution: Look around; the keyboard may be behind you.

3. In collaboration events, if a member exits the app improperly, they cannot rejoin.

Solution: The event creator can kick out the member from the server or recreate the event to resolve this issue.

4. The app freezes.

Solution: Simultaneously press and hold the top button and Digital Crown until you see Force Quit Applications, tap the name of the app you want to close, then tap Force Quit.

5. When sharing the Vision Pro screen, Apple devices cannot be found in the device list.

Solution: Ensure that AirPlay is enabled on the Apple device and that everyone is allowed to AirPlay to the current device.

6. Internal sub-objects of the model cannot be selected.

Solution: Walk inside the model to accurately select sub-objects. For small models, zoom in first, then walk inside the model to select.

7. The APP window is too far or too close.

Solution: Look at the bottom window bar, pinch and drag the window bar to adjust to the appropriate distance. Note: The window shrinks when closer to the user and enlarges when farther away.

DataMesh One 7.0 Vision Pro Quick Start Guide

Use hand gestures

Action

Function

Instruction

Tap your fingers together (or simply “tap”)

Select options, open apps

Look at content (like an app icon or button), then tap your index finger and thumb together to select it.

Touch

Type, interact in interactive experiences

Interact with certain elements directly with your fingers. For example, you can touch keys on the virtual keyboard, similar to typing on a physical keyboard.

Pinch and hold

Show additional options, zoom in and out

Pinch and hold your thumb and index finger together. For example, pinch and hold   at the bottom of an app to see additional options (such as to close other apps).

You can also pinch and hold with both hands and pull apart to zoom in, or move them closer to zoom out.

Pinch and drag

Move windows, scroll

Pinch and hold to grab a window bar, photos, content or an object, then drag it wherever you like. For example, you can pinch and drag the window bar of an app or a shape in a Freeform board.

You can also pinch and drag to scroll. For example, in Photos, you can scroll up or down through your albums. Swipe to scroll quickly; tap to stop scrolling.

Swipe

Scroll quickly

Pinch and quickly flick your wrist.

Previous page of the scenario

Page navigation

Left palm facing up, pinch with index finger and thumb.

Next page of the scenario

Page navigation

Right palm facing up, pinch with index finger and thumb.

For a detailed explanation of basic gestures and operations on Apple Vision Pro, please refer to Learn basic gestures and controls on Apple Vision Pro.

Commonly used features

Move, resize and close app windows

    • Move an app: Pinch and drag the window bar side to side, towards you or away from you.
    • Close an app: Tap the Close button  below the app (next to the window bar).

Tip: You can pinch and hold the Close button , then tap “Close [app]” to close the current app, or tap “Hide others” to close all other apps.

Note: DataMesh One does not support window resizing functionality on Vision Pro.

For more information, please refer to Move, resize and close app windows on Apple Vision Pro.

Force-quit an app

Simultaneously press and hold the top button and Digital Crown until you see Force Quit Applications, tap the name of the app you want to close, then tap Force Quit.

Take a capture

Simultaneously press the Digital Crown and the top button.

Redo eye and hand setup

    • Quickly redo eye and hand setup: Quadruple-click the top button, then follow the instructions.
    • Redo eye setup only: Go to Settings  > Eyes & Hands > Redo Eye Setup, then follow the instructions.
    • Redo hand setup only: Go to Settings > Eyes & Hands > Redo Hand Setup, then follow the instructions.

Share your view

1. Open Control Centre, then tap .

2. Tap , then choose a compatible device from the list of available devices.

For more detailed information, please refer to Let others see your view on Apple Vision Pro.

Take a recording

Record: Open Control Center, tap the Control Center button , then tap the View Recording button .

Stop recording: To stop recording, tap the record button or the red status bar at the top of your view, then tap Stop.

View your photos and videos

    • View the spatial photos or videos you just took: Tap lightly on the thumbnail in the bottom left corner.
    • View all spatial photos and videos: Open the “Photos” app, then tap on “Spatial” in the tab bar.

Please refer to View photos and videos in Photos on Apple Vision Pro.

Share your photos and videos

Open Photos, find the spatial photo or video you want to share, tap the More button, lightly tap the Share button, then choose an option such as “AirDrop,” “Mail,” or “Messages.”

Standard mode

DataMesh One has two browsing modes: Standard Mode and Training Mode. In Standard Mode, users can freely browse various resources and scene contents while also participating in multi-user collaboration events. You can switch browsing modes on the settings page.

Navigation menu

Navigation menu – Standard mode

Resources

You can switch between browsing scenario-type resources or other types of files, such as 3D models, images, and PDF files, by clicking on the Scenario or Element tab in the top right corner of the page.

Resources-Scenario
Resources-element

Scenes

Scenes

Events

Events

Training mode

In Training Mode, you can complete learning tasks and exam tasks, experiencing a more immersive learning environment through XR-based technology.

Training mode switch

Navigation bar

Navigation menu-Training mode

Group list

Learning group
Exam group

Courseware list

Learning
Exam

Learning task interface

learning interaction interface

Exam interaction interface

Exam interaction interface

Course record

Learning
Exam

Quick start

Preparation

1. Make sure the Apple Vision Pro device is connected to the internet.
a) Go to Settings > Wi-Fi, then turn on Wi-Fi.
b) Tap a network, then enter the password (if required).

2. Complete eye and hand setup.

3. Set up your space, ensure your space is clear of any obstacles that you could bump into, trip over, or hit with your hands.

4. Install DataMesh One:
a) Directly open the App Store to browse and install DataMesh One.
b) Download and install DataMesh One through the browser from the following address: https://apps.apple.com/app/datamesh-one/id1514070248.

Login

Login interface
  • Private Deployment : When logging in to an enterprise using a private deployment server, you need to set a private deployment service code. Users can click on this icon to set the private deployment service code.
Private server
    • Server List: Clicking on the server list allows you to switch server regions.
Server list

Login Steps:

1. Configure server:
a) Select public server: If your enterprise is deployed on a public server, choose the server belonging to the enterprise account from the server list.
b) Set up private deployment server: If your enterprise uses a private deployment server, you need to click on the private deployment icon to set the exclusive service code.

2. Enter your FactVerse account and password.

3. Check the box “I have read and agree to the DataMesh ‘Terms of Use’ and ‘Privacy Policy’”, then click the Sign in button.

4. Select your enterprise account: If you have multiple accounts, select the correct one from a list.

Select company

5. Select the browsing mode: If your account has licenses for two different browsing modes simultaneously, the mode selection interface will appear. Select the mode and click Enter to complete the login.

Select mode

Scenario playback

To browse scenario resources on the resources page, look at the scenario file, and pinch with your index finger to open the scenario and enter the scenario playback interface.

Note: There is an issue in the current version (DataMesh One 7.0 VisionOS version) where scenarios cannot be opened if they contain PDF files, advanced resources, models without source files (only .ab), or models from versions earlier than 4.0.

Scenario playback interface

In the scenario playback interface, you can use the scenario operation menu to position and edit the scenario. The scenario operation menu is as follows:

Scenario playback interface
    • Position: Click to enter positioning mode.
Position mode
    • Edit: Drag, move, rotate, etc., the model as a whole or in parts through gestures;
Edit mode
    • Stage List: Click to display a list of scenario scene playback steps, and click on the scene name to jump to the specified scene.
Stage list
    • Exit: Click to exit scenario playback.
    • Back/Next: Page-turning keys.

Scan hexagonal grid to position

Unlike other platforms, the Vision Pro version of DataMesh One uses hexagonal grids for scenario scanning and positioning.
The steps for using hexagonal grids for scanning and positioning are as follows:

1. On the Resources page of Digital Assets module of the FactVerse platform, find the scenario you intend to use.

2. Open the Resources details page of the scenario and download the hexagonal grid positioning code.

Download code

3. Place the downloaded hexagonal grid positioning code at the target location.

4. On the standard mode interface of DataMesh One, open the scenario in the resource list.

5. Click the positioning button to enter the resource positioning mode.

6. Click the scan button to enter the scan positioning mode.

Scan button

7. Scan the positioning code placed at the target location to complete the scenario positioning.

Collaboration

Events

1. Click on the Events tab in the navigation menu to switch to the event list.

2. Click on the “+” button in the top right corner of the events page to enter the event creation interface.

Create events

3. Click on the Add button to open the scenario list, select a scenario for the event, and save.

4. Click on the Play button to start the event.

The collaboration features on Vision Pro are the same as those on the iOS end. For more details, please refer to the Events section in the DataMesh One user manual.

Example

Example 1: Presentation of Large Equipment Content

If you need to showcase large equipment in a hybrid online-offline meeting, you can use DataMesh One on Vision Pro to present the content in mixed reality (MR), allowing participants to clearly understand the equipment’s functions and structure. Here are the specific steps:

1. Equipment preparation: Prepare a Vision Pro, a display screen, and a MAC laptop (iPhone or iPad can also be used).

2. Network connection: Ensure Vision Pro and MAC are connected to the same Wi-Fi network.

3. Log into meeting software: Log into remote meeting software on the MAC.

4. Screen sharing:
a) Mirror the Vision Pro screen to the MAC: Refer to the Share your view section for specific instructions.
b) Present MAC content to both online and offline participants:

    • Use an HDMI cable to project MAC content onto the display screen for offline attendees to view Vision Pro content.
    • Utilize the screen sharing feature of the remote meeting software to share the MAC screen with online participants, enabling them to see Vision Pro content.

5. DataMesh One login: Log into DataMesh One standard mode on Vision Pro.

6. Open scenario: Locate and open the scenario under the Resources tab.

7. Scenario positioning: Adjust the scenario to the appropriate position using hexagonal grid positioning or gaze mode.

Scenario positioning

8. Play scenario: Click on buttons to flip pages or interact, initiating playback of the scenario while explaining relevant information and content about the equipment.

Play scenario

Example 2: Complete exam tasks

1. Log in to training mode
Members of the “Cabinet operation training” training group log in to DataMesh One training mode.

2. View exam tasks
Under the My Tasks tab, find “Cabinet operation training” in the Exam tab.

Exam task

3. Open courseware list
Click on “Cabinet operation training” to open the courseware list for this training group.

Courseware list

4. Open courseware and complete scenario positioning
Click on “Cabinet operation training” courseware to open it and complete the scenario positioning.

5. Play and complete interactive operations
Play: In the courseware playback interface, watch the scene content. After watching:

    • Click the right arrow to play the next page
    • Click the left arrow to return to the previous page
    • If the scene includes page navigation, click the corresponding buttons, models, or sub-elements as required to complete the navigation operation.
    • Click more button to view real-time score and remaining time or position scenario again.
Playback interface

Complete interaction position operations: When the scene includes interaction position tasks, the interface switches to the interaction position operation interface.
a) Select the interaction element, and a blue highlight box will appear around the element model.

Select interaction element

b) Based on the demo effect, move or rotate the interaction element. If the operation effect is not ideal, click the Reset button to restore the model to its pre-movement state and repeat the operation until the interaction element reaches the target position (both position and angle).
c) After completing all interaction position operations in the scene, click Confirm button to finish.

6. View current score
Click the scoreboard button to view the current score.

View real-time score

7. Complete task
After completing the exam tasks, it will show that the task has ended. Click the Next button to view the results of this exam.

Complete task

8. Complete exam
Click the Exit button on the score page to complete the exam.

Final Score

9. Exit exam
On the exam results page, click the Exit button to leave the exam.

Exit exam

DataMesh FactVerse Unity SDK v7.0 User Guide

SDK Components

SDK Basic Package:

Core basic package and core tool package (mandatory installation):

    • datamesh.xr.ux@1.2.7.tgz
    • datamesh.localization.toolkit@1.0.0.tgz
    • datamesh.toolkit@7.0.1.tgz

SDK documentation:

    • DataMesh FactVerse Cloud API v1.0 User Guide.docx
    • DataMesh FactVerse Unity SDK v7.0 User Guide.docx

SDK Dependency Package (Install based on needs): The package includes the following paid plugins. Please purchase them from Unity Asset Store to obtain the legitimate copyright.

URP Dependency Package: For SDK v7.0 and later versions, it is recommended to use the Universal Render Pipeline (URP): Universal Render Pipeline

Note: Due to version constraints of the plugins, the dependency packages include specific versions that have been tested. If you choose to use other versions, it may result in compilation errors. In such cases, you will need to resolve compatibility issues with the selected versions on your own.

SDK installation

Installation and environment requirements

Download

Enter the following short links in your browser to download the respective SDK packages:

Hardware requirements (Recommended configuration):

    • CPU: Core i5 10600KF
    • Memory: 16 GB RAM
    • GPU: Nvidia GeForce RTX 3070

Usage environment

    • Unity 2022.3 LTS or newer version. (We recommend using the tested Unity 2022.3 LTS version for optimal performance and stability.)
    • Visual Studio 2019 or newer version.

Project configuration

Importing common plugins

    1. Create a new project.
    2. Ensure necessary plugins are installed in the Package Manager before importing the SDK.
    3. Open the project’s Packages directory and place the .tgz library files in it. Add the following content to the manifest.json file. Handle duplicate entries and make necessary code adjustments based on other versions used by the plugins.
				
					"com.datamesh.besthttp": "file:com.datamesh.besthttp@1.0.0.tgz",
    "com.datamesh.localization.toolkit": "file:com.datamesh.localization.toolkit@1.0.0.tgz",
    "com.datamesh.toolkit": "file:com.datamesh.toolkit@7.0.1.tgz",
    "com.datamesh.trilib": "file:com.datamesh.trilib@0.0.5.tgz",
    "com.datamesh.xr.ux": "file:com.datamesh.xr.ux@1.2.7.tgz",

				
			

4. Import and configure URP.

5. In Edit > Project Settings, configure URP and TriLib.

Importing samples

    1. After Unity finishes compiling, select Window -> Package Manager from the Unity menu bar.
    2. In the opened window, select DataMesh Toolkit, and expand Samples on the right.
    3. Click Import next to Common Datas and DataMeshDirector respectively.

4. Wait for the project to finish compiling.

Examples

DataMesh FactVerse Unity SDK provides the following basic examples:

    • Login to FactVerse: Demonstrates how to perform login operations for FactVerse using the SDK.
    • Use resource library: Shows how to access and manage the FactVerse resource library using the SDK.
    • Download and play Director scenarios: Demonstrates downloading and playing Director scenarios using the SDK.
    • Download and play FactVerse scenes: Shows how to download and play FactVerse scenes using the SDK.

Log in to FactVerse

Purpose

To utilize any feature of FactVerse, it is necessary to log in first. Through this example, you will understand:

    • How to initialize the function modules of the SDK.
    • Specific login process for FactVerse cloud services.
    • Common interfaces of AccountManager and their usage methods.

Usage example

Steps

    1. Navigate to the “01 Account – Login and logout” directory and open the LoginSample scene.
    2. Select the LoginSample object and check the information in the Inspector panel.

3. Open the DCS.json configuration file related to the DCS Profile property and modify server configurations. Note: Adjust settings based on your actual usage.

Note: Pay attention to the AccountManager object (Prefab) under the DataMeshModule object, which manages the main logic for the user module.

4. Start the scene.

    • If already logged in, the login success window will be displayed directly;
    • If not logged in, proceed to the account login window.

5. In the account login window, enter the account name and password, then click the login button. The system will verify the credentials. If the validation fails, it will prompt that the username or password is incorrect; if validation succeeds, it will proceed to tenant selection.

6. If there’s only one tenant on the account, it will be chosen by default. If there are multiple tenants, a selection window will open for you to choose from.

7. After selecting the tenant, the login process will start. Upon success, the login success window will display current account information.

      • Clicking on Scenarios redirects to view the scenarios.
      • Clicking on Scenes opens the digital twin scenes.

8. Click the logout button; after confirmation, you will return to the account login window.

Note: If previously logged in but facing token verification issues, manually delete the project’s token storage file to initiate a fresh login.

    • The token storage directory is located in [PersistencePath]/LoginData/. You can delete this directory directly.
    • To find [PersistencePath], refer to the Unity documentation on Application.persistencePath.

Access the resource library

Purpose

The resource library is one of the fundamental features of the FactVerse platform, which includes various types of resources such as 3D models, images, videos, audio and Director scenarios created using the DataMesh Studio.

This example aims to guide users to:

    • Initialize the resource library module.
    • Display resources in the resource library module by directory.
    • Learn about the common interfaces of LibraryManager and their usage methods.

Usage example

Steps

  1.  
    1. Navigate to the “02 Library – List resources” directory and open the ListResourceSample scene.
    2. Select the ListResourceSample object and check the information in the Inspector panel.
    3. Similar to the example of “logging into FactVerse,” this example also uses the same DCS.json configuration file, so there is no need to modify the configuration again.

Pay attention to the objects under DataMeshModule:

      • AccountManager: Account module
      • LibraryManager: Resource module
    1. Make sure you’ve successfully logged in as outlined in the previous example “Logging into FactVerse.”
    2. Start the example. After loading, the content of the current library will be displayed.

  1. 6. Click the Enter button next to a directory to enter the directory and display the resources within it.

  1. 7. Click the Enter button next to a scenario to enter scenario playback.

 

  1. 8. Click the Back button in the upper right corner to return to the previous directory.

Download and play Director scenarios

Purpose

This example aims to demonstrate how to download and play Director scenarios in the FactVerse resource library. It includes the following:

    • Methods to locate and download a resource via its path.
    • How to read scenario resources.
    • How to download additional resources required by the scenario.
    • How to play the scenario.
    • Methods to control the scenario during playback.

Usage example

Steps

    1. Navigate to the “03 Director – Play a scenario” directory and open the DirectorSample scene.
    2. Select the DirectorSample object and check the information in the Inspector panel
    • DirectorSample:
      • json: Similar to the example “Access to the resource library”, this one uses the same DCS.json configuration file, so no further modifications are needed.
      • Root object: Serves as the root object for playback, referenced in FactVerseSample. The Root object does not need to have any scripts attached.
      • BackStage(backend): Used to store objects that are currently not displayed and referenced in DirectorSample. The script ‘BackStage’ needs to be attached to this object.
      • ScenarioController object: Used for scenario playback control, referenced in DirectorSample. This object needs to be attached with a Director playback script. In this example, it’s attached with SimpleScenarioController for standalone scenario playback.
    • DataMeshModule:
      • AccountManager: Account module
      • LibraryManager: Resource module
      • DirectorManager: Director-related definitions
      • AssetManager: Resource loading module
    • Table: It provides the display of the floor in the scene.
      • TablePlane object (Prefab): The actual floor object.
    • MixedRealityPlayspace object (Prefab): Carries camera control functionalities for the scene. The main camera in the scene should be replaced by this object.
      • CameraController script: The primary script for camera control, which references the floor object in Table.

Note: Due to the lighting information contained in the Director scenario, the example has disabled the default lighting in the Unity scene.

    1. Make sure you’ve successfully logged in as outlined in the previous example “Logging into FactVerse.”
    2. After starting the example, a download panel will be displayed after the Loading process.

5. In the input box, enter the scenario’s address in the FactVerse resource library. For example: /test/Sample.dirpkg.

6. Click download. If the path is correct, the scenario will be downloaded and parsed, and the related resource download begins. Once everything is downloaded, the scenario will start playing automatically.

Note: Lights will be created during scenario playback based on the scenario settings.

7. Operation interface will be displayed at the bottom of the screen, where you can click “Prev” or “Next” to control the scenario playback.
Note: If the scenario contains camera movement, the camera will be driven by the scenario during playback.

Download and play digital twin scene

Purpose

The digital twin scene is a type of resource created using FactVerse Designer and stored in the resource library.

This example aims to guide users to:

    • Locate and download the digital twin scene via the resource path.
    • Read digital twin scene resources.
    • Download additional resources required for the scene.
    • Play the digital twin scene.
    • Control the scene playback process.

Preparation: Creating Digital Twin scene

1. Log in to the FactVerse platform and create a working directory “SceneSample”.

2. On the Digital Twins page, click the New button, select Template, create a template named “TemplateSample”, and then enter the template details page.

3. Add new Attribute Name:1|1, IsOpen:1|2, Temperature:1|3 to the template “TemplateSample”.

4. On the Digital Twins page, click the New button, and use the “TemplateSample” template to create the digital twin “TwinObject1”.

5. On the Digital Twins page, click the New button, create the digital twin scene “TwinScene”, and enter the digital twin scene details page.

6. In the digital twin scene details page, reference the digital twin “TwinObject1”.

* Additional settings can also be made using the FactVerse Designer to modify the display effects of templates and digital twin scenes.

7. Open the template in FactVerse Designer and add display models to the template.

Usage example

Steps

    1. Navigate to the “04 FactVerse – Play a digitaltwin scene” directory and open the FactVerseSample scene.
    2. Select the FactVerseSample object and check its information in the Inspector panel.
    • FactVerseSample:
      • json configuration file: Similar to the example “Access the resource library”, this example uses the same DCS.json configuration file; no further modifications are needed.
      • Root object: Serves as the root object for playback, referenced in FactVerseSample. The Root object does not need to have any scripts attached.
    • Used for scene playback control, referenced in FactVerseSample. This object needs to be attached with the digitaltwin scene playback script. In the example, it is attached with SimulationSceneController, used for standalone scene
    • DataMeshModule:
      • AccountManager: Account module
      • LibraryManager: Resource module
      • DirectorManager: Director-related definitions
      • AssetManager: Resource loading module
      • DigitalTwinManager: DigitalTwin scene module
    • Table: It provides the display of the floor in the scene.
      • TablePlane object (Prefab): The actual floor object.
    • MixedRealityPlayspace: MixedRealityPlayspace: Carries camera control functionalities related to the scene. The main camera in the scene needs to be replaced by this object.
      • CameraController script: The primary script for camera control, which references the floor object in the Table.

Note: Due to the lighting information contained in the Designer scene, the example has disabled the default lighting in the Unity scene.

    1. Make sure you’ve successfully logged in as outlined in the previous example “Logging into FactVerse.”
    2. Start this example. After loading, the download panel will appear.

5. In the input box, enter the scene’s address in the FactVerse library For example, /test/Sample 10.
6. Click download. If the path is correct, the scene will be downloaded and parsed, and the related resource download begins. Once everything is downloaded, the scene will start playing automatically.
Note: During scene playback, lights will be created based on the scene settings.

An operation interface will be displayed at the bottom of the screen. At the top is the tenant ID, followed by the digital twin ID and its attribute group. The attribute group consists of several key-value pairs (e.g., “1|3”: “30°C”). When the DFS server sends attribute changes to the specified digital twin for this tenant, the digital twin’s attributes will change accordingly.

Note: DFS (Data Fusion Service) is a key tool on the FactVerse platform used for accessing and processing data from external systems. It supports data storage, cleaning, and transformation, and also allows users to customize data sets. Through DFS, digital twins can obtain and present external data in real-time, enabling a more accurate simulation and reflection of the operational status and changes of real-world equipment. For more information about DFS, please refer to the information published on the official website. If you need to use DFS services, please contact support@datamesh.com for technical support.

DataMesh One 7.0 (Meta Quest 3)Quick Start Guide

To select something: When the cursor appears, point your hand at what you want to select. Then, pinch your thumb and finger together to select.

Scrolling up, down, left, or right: Pinch your fingers inward. While still pinched inward, move your hand up, down, left or right to scroll. When you’re done scrolling, release.

Brings you back to your Meta Home menu: Look at your palm at eye level, then hold your thumb and index finger together until  fills, then release.

For detailed instructions on the Meta Quest hand tracking gestures, please refer to Getting started with Hand Tracking on Meta Quest headsets.

Trigger (on the front of the controller): Used for all click (confirm) interaction operations.

Grip button (on the side of the controller): In the scenario, used to bring up the menu bar.

Thumbsticks: Used to control scenario flipping; swipe left for the previous page, swipe right for the next page.

button: Abort program, enter the system main interface (where you can choose to continue or exit the program). For detailed instructions on the Meta Quest Touch Plus controller, please refer to Meta Quest Touch Plus controllers.

DataMesh One has two browsing modes: Standard Mode and Training Mode. In Standard Mode, users can freely browse various resources and scene contents while also participating in multi-user collaboration events. You can switch browsing modes on the settings page.

Navigation menu

Navigation menu

Resources

In Standard Mode, the “Resources” page contains all the folder directories and resource files accessible to the current account. You can switch between browsing scenario-type resources or other types of files, such as 3D models, images, and PDF files, by clicking on the Scenario or Element tab in the top right corner of the page.

Resources-scenario
Resources-element

Scenes

Scenes

Events

Events

In Training Mode, you can complete learning tasks and exam tasks, experiencing a more immersive learning environment through XR-based technology.

Browsing mode-training mode

Navigation menu

Navigatin menu

Group list

Learning
Exam

Coureseware list

Learning
Exam

Course record interface

learning record
Exam record

Preparation

Connect Wi-Fi

Make sure the Meta Quest 3 device is connected to the internet.

1. Press on the right Touch controller to open the universal menu.

2. Hover over the clock on the left side of the universal menu. Once the Quick Settings appear, select it to open the Quick Settings window.

Quick settings

3. Choose Wi-Fi.

Choose Wi-Fi

4. Turn on the Wi-Fi switch, then select the Wi-Fi network you want to connect to and enter the password.

Install DataMesh One

Three methods:

    • Select the Store from the universal menu, and find and install DataMesh One in the Meta Quest store.
    • Download and install DataMesh One via browser from the following address: https://www.meta.com/experiences/7770629926299654/
    • Download and install DataMesh One via the short link: datame.sh/OneQuest3.

Set boundaries

Before starting to set boundaries, please make sure you have worn the Meta Quest device and ensure that the surrounding environment is open and free of obstacles that may threaten your safety.

Note that during the use of DataMesh One, when you step out of the boundary, you will not be able to view 3D models, files, and other resources, so please operate within the set boundaries.

The steps to set boundaries are as follows:

1. Press on your right Touch controller to pull up your universal menu.

2. Hover over the clock on the left side of the universal menu. When Quick Settings appears, select it to open the Quick Settings panel.

3. Select Boundary.

4. Select Stationary or Roomscale, then follow the on-screen instructions to set up your boundary.

    • Stationary: For using your headset while sitting or standing in place. Stationary Mode creates a default boundary area of 3 feet by 3 feet (1 meter by 1 meter) centered on yourself.
    • Roomscale: For using your headset while moving around inside your play area. Roomscale allows you to draw your boundaries in your physical space using your Touch controller. We recommend a safe and unobstructed space measuring at least 6.5 feet by 6.5 feet (2 meters by 2 meters).

For more information on setting boundaries for Meta Quest, please refer to Set up your boundary for Meta Quest.

Login

Click on the account input box, and a virtual keyboard will appear. Enter your account and password in sequence to log in.

Login interface

Private Deployment : When logging in to an enterprise using a private deployment server, you need to set a private deployment service code. Users can click on this icon to set the private deployment service code.

Private deployment

Server List: Clicking on the server list allows you to switch server regions.

Server list

Demo Mode: Clicking on it to enter DataMesh One in guest mode.

Play scenario

In the standard mode of DataMesh One, you can follow these steps to play the scenario:

1. In the resources page, select the scenario file you want to open, press the Trigger button at the front end of the right Touch controller, or open the scenario through gestures.

2. After the scenario is loaded, start playing the scenario.

Playback interface

In the scenario playback interface, you can use the scenario operation menu to position and edit the scenario. The scenario operation menu is as follows:

Scenario operation menu
  • Position: Click to enter positioning mode.
  • Edit: Drag, move, rotate, etc., the model as a whole or in parts through gestures.
Edit mode
  • Stage List: Click to display a list of scenario scene playback steps, and click on the scene name to jump to the specified scene
Stage list
  • Exit: Click to exit scenario playback
  • Back/Next: Page-turning arrows.

Take a capture

Shortcut

Press on your right Touch controller and press the trigger button once.

The other method

1. Press on your right Touch controller to suspend the app.

2. In the suspension window, tap the camera icon to take a capture.

Record video

Start recording

1. Press on your right Touch controller to pull up your universal menu.

2. Select Camera then select Record Video.

Note: A red dot will appear in VR to indicate that recording has started. This video capture indicator can be controlled from Settings.

Stop recording

1. Press on your right Touch controller to pull up your universal menu.

2. Select Camera then select Recording.

Collaboration

Events

1. Click on the Events tab in the navigation menu to switch to the event list.

2. Click on the “+” button in the top right corner of the events page to enter the event creation interface.

Create new event

3. Click on the Add button to open the scenario list, select a scenario for the event, and save.

4. Click on the Play button to start the event.

The collaboration features on Meta Quest are the same as those on the iOS end. For more details, please refer to the Events section in the DataMesh One user manual.

Cast to a screen

Cast to a phone

1. Download the Meta Quest mobile app to your phone.

2. Make sure your phone and headset are on the same Wi-Fi network.

3. Turn on Bluetooth.

4. Make sure your headset is close to your phone.

5. Open and log in to the Meta Quest app and make sure the headset and your phone are logged into the same Meta account.

6. Tap Casting from the Meta Quest app.

Cast to a computer

1. Make sure your computer and headset are on the same Wi-Fi network.

2. Press Meta button on your right controller to open the universal menu.

3. Select Camera and select Cast.

4. Select Computer then select Next to connect.

5. Take off the headset.

6. On your computer, open your browser then go to oculus.com/casting and log in. Note: Make sure the headset and your computer are logged into the same Meta account.

Training mode

This chapter will provide a detailed overview of the user interface and numerous features of DataMesh One in training mode. You’ll learn how to use DataMesh One in training mode, including the processes to design learning and test tasks by instructors, as well as the procedures followed by students to complete these learning and test tasks.

User interface

Training group list

The My Task page displays the training group list for learning and exams.

Courseware list

The Courseware List page displays all the courseware that users need to study or take exams for within a training group.

Courseware playback interface

The “Courseware playback interface” includes various content such as subtitles, model animations, actions, camera movements, and special effects. Users can flip through pages and view content to obtain more relevant information. Additionally, the courseware playback interface may also include progression tasks, such as multiple-choice questions, which require users to make selections and judgments.

The courseware playback interface supports the following operations:

    • Position: Within the courseware playback interface, you can position the scenario again. For more information on scenario positioning, please refer to Resource positioning.
    • Timer:Courseware without a time limit won’t show a timer. If there is a time limit, clicking the Timer button will display the remaining time. When the time runs out, the courseware will end automatically.
    • Scoreboard: Click the Scoreboard button to view the current score status.
    • Scene Navigation: Click the left and right arrows to navigate through different scenes.

Interaction interface of learning tasks

The interaction interface of learning tasks is used to handle scenarios where users need to interact with positional roles (moving, rotating). It helps users better understand and master learning content through practice.

The interactive operation toolbar is at the bottom of the interaction interface:

The toolbar supports the following operations:

    • Skip: Click the Skip button to directly skip the interaction task in the current scene.
    • Demo: Click the Demo button to watch the correct interaction method of the element.
    • Reset: Click the Reset button to restore the model to its state before movement.
    • Confirm: After placing the interactive element in the correct position and rotating it to the correct angle, click the Confirm button to complete the interaction position operation. Note: If there are multiple interactive elements in one scenario, you need to complete all interaction position operations before clicking Confirm for scoring to take effect.

The side buttons in the interaction interface support the following operations:

    • Timer:Courseware without a time limit won’t show a timer. If there is a time limit, clicking the Timer button will display the remaining time. When the time runs out, the courseware will end automatically.
    • Scoreboard: Click the Scoreboard button to view the current score status.
    • Set edit mode: Click the button to select the edit mode for resource editing. For more details, please refer to Touchscreen gesture and Touchscreen joystick.

Interaction interface of exam tasks

The interaction interface of exam tasks is used to handle scenarios where users need to interact with positional roles (moving, rotating). It helps users complete examination tasks through practical operation.

The interaction operation toolbar is located at the bottom of the interface. In contrast to the interaction position operation interface for learning tasks, the interaction position operation interface for examination tasks does not support demo and skip functions and only includes two buttons: Reset and Confirm.

The toolbar supports the following operations:

    • Reset: Click the Reset button to restore the model to its state before movement.
    • Confirm: After placing the interactive element in the correct position and rotating it to the correct angle, click the Confirm button to complete the interaction position operation. Note: If there are multiple interactive elements in one scenario, you need to complete all interaction position operations before clicking Confirm for scoring to take effect.

The side buttons in the interaction interface support the following operations:

    • Timer:Courseware without a time limit won’t show a timer. If there is a time limit, clicking the Timer button will display the remaining time. When the time runs out, the courseware will end automatically.
    • Scoreboard: Click the Scoreboard button to view the current score status.
    • Set edit mode: Click the button to select the edit mode for resource editing. For more details, please refer to Touchscreen gesture and Touchscreen joystick.

Course record

The Course record page displays the user’s name, custom avatar, learning records, and exam records. The Course record module comprehensively records users’ learning and exam situations, helping users understand their learning progress. This module primarily displays records of learning and exams in task modes and does not include records of free training.

    • Avatar: Users can upload a custom avatar on the FactVerse platform.
    • User Name: For external users, the name is displayed upon login; for internal users, the username is displayed.
    • Learning/Exam Records:
      • Time: Displayed in ascending order of completion time; format is yyyy.mm.dd hh:mm, for example, 2022.02.02 12:23.
      • Courseware Name: Displays the name of the learning or exam task.
      • Time spent: Format is hh:mm:ss.
      • Score: Shows the final score for a courseware learning or exam.

Complete courseware under learning tasks

Example: Cabinet operation training

1. Log in to training mode

Members of the “Cabinet operation training” training group log in to DataMesh One training mode.

2. View learning tasks

Under the My Tasks tab, find “Cabinet operation training” in the Learning tab.

3. Open courseware list

Click on “Cabinet operation training”  to open the courseware list for this training group.

4. Open courseware and complete scenario positioning

Click on “Cabinet operation training” courseware to open it and complete the scenario positioning.

5. Play and complete interactive operations

Play: In the courseware playback interface, watch the scene content. After watching:

    • Click the right arrow to play the next page
    • Click the left arrow to return to the previous page
    • If the scene includes page navigation, click the corresponding buttons, models, or sub-elements as required to complete the navigation operation.

Complete interaction position operations: When the scene includes interaction position tasks, the interface switches to the interaction position operation interface.

a) Click the Demo button to view the operation effect.
b) Select the interaction element, and a blue highlight box will appear around the element model.

c) Based on the demo effect, move or rotate the interaction element. If the operation effect is not ideal, click the Reset button to restore the model to its pre-movement state and repeat the operation until the interaction element reaches the target position (both position and angle).
d) After completing all interaction position operations in the scene, click Confirm to finish.

6. View current score

Click the scoreboard button to view the current score.

7. View learning results

After completing the learning tasks, it will show that the task has ended. Click the Next button to view the results of this learning session.

8. Complete learning task

Click the Next button on the learning score page to complete the learning.

Complete courseware under exam tasks

Example: Cabinet operation training

1. Log in to training mode

Members of the “Cabinet operation training” training group log in to DataMesh One training mode.

2. View exam tasks

Under the My Tasks tab, find “Cabinet operation training” in the Exam tab.

3. Open courseware list

Click on “Cabinet operation training” to open the courseware list for this training group.

4. Open courseware and complete scenario positioning

Click on “Cabinet operation training” courseware to open it and complete the scenario positioning.

5. Play and complete interactive operations

Play: In the courseware playback interface, watch the scene content. After watching:

    • Click the right arrow to play the next page
    • Click the left arrow to return to the previous page
    • If the scene includes page navigation, click the corresponding buttons, models, or sub-elements as required to complete the navigation operation.

Complete interaction position operations: When the scene includes interaction position tasks, the interface switches to the interaction position operation interface.

a) Select the interaction element, and a blue highlight box will appear around the element model.

b) Based on the demo effect, move or rotate the interaction element. If the operation effect is not ideal, click the Reset button to restore the model to its pre-movement state and repeat the operation until the interaction element reaches the target position (both position and angle).
c) After completing all interaction position operations in the scene, click Confirm to finish.

6. View current score

Click the scoreboard button  to view the current score.

7. View exam results

After completing the exam tasks, it will show that the task has ended. Click the Next button to view the results of this exam.

8. Complete exam task

Click the Next button on the score page to complete the exam.

9. Exit exam

On the exam results page, click the Exit button to leave the exam.

Free training

The training mode of DataMesh One includes a free training module, providing users with training groups where they can learn independently.

The main function of this module is to help users expand their knowledge and gain in-depth understanding of various fields through rich course content. Users can freely choose and participate in different training groups, learning as needed. The results of this learning are not counted in individual performance or overall performance.

Typical application scenarios

    • Skills enhancement: Users can further improve their skills through the free training module, gaining deeper insights into the usage methods of various equipment and tools.
    • Independent learning: Users can independently choose learning content based on personal interests and needs, without being restricted by exams or training schedules.
    • Review and consolidation: Before assessments, users can use the free training module to review relevant course materials and consolidate their learning. Exam questions can be drawn from the courseware in the free training module, helping users better prepare for exams.
    • New employee training: New employees can use the free training module to comprehensively understand the knowledge and skills required for their work, quickly adapting to job requirements.
    • Personal interests: Users can use the free training module to learn about topics of personal interest that may not be directly related to their current work, enriching their personal knowledge base.

Standard mode

In this chapter, we’ll delve into the user interface of DataMesh One in standard mode, as well as the features it contains. You’ll learn how to navigate and use DataMesh One in standard mode, including resource positioning, resource editing, and opening resources and scenes.

User interface

Main interface

Resources

The Resources tab contains all the folder directories and resource files that your account has access to. These resource files include 3D models, scenarios, images, PDF files, and more. The resource type of each file is indicated in the top-right corner of its respective resource file.

The following figure shows the toolbar found in the Resources tab:

    • Filter: Users can filter resources by tags. After selecting a tag, the resource list will display all resources associated with that tag.
    • Scan: Users can quickly view a resource by scanning the QR code for the resource using the DataMesh One standard mode (the QR codes for resources are provided on the FactVerse platform). Note: Users must have access permissions for the corresponding directory. For more details, please refer to the section Scan QR code to open resources.

Events

The Event tab is used to manage all the events that the current account has access to. In the Event tab, you can browse the event list, view event details, participant information, and scenarios. If you are the creator of the event, you can also edit the event.

The following figure shows the toolbar of the Events tab:

    • Refresh: Click the Refresh button to update the event list.
    • Add: Click the Add button to create a new event.

Scenes

DataMesh One provides access to scene files that are created in FactVerse Designer. A user who has permission for the Digital Twins module can view the scene interface directly in the application. The scene tab contains all folder directories and scene files the current account can access.

Settings

Clicking on the gear icon on the top right takes you to the application’s settings, where you can find general settings like account, browse mode, appearance, language, watermark, cache, and features such as uploading logs to our servers.

Browse Mode: If the user has permission for both Standard Mode and Training Mode, they can switch between modes in the settings. If the user only has permission for one mode, this option will not be displayed in the settings.

Language:  DataMesh One supports Simplified Chinese, English, Japanese and Traditional Chinese.

Appearance: This option allows the user to swap between the light mode and dark mode interface. The default appearance is Light.

Rendering Quality: To adapt to different device performance, DataMesh One provides six different rendering quality options. Increasing the quality can optimize screen aliasing, ripple, and shadow effects.

Position Reference: The position reference setting aligns the content displayed by DataMesh One in positioning mode with the target object in the real world to achieve positioning effects. Note: this option will not be displayed on the PC side.

    • Current Frame: Positioning is based on the current playback content of the scenario.
    • First Frame: Positioning is based on the first frame of the first scene of the scenario. For example, if A model is added in the positioning mode of the DataMesh Studio scenario, A model will be displayed for positioning under the initial positioning settings.

Watermark: Supports turning the watermark on/off. (Trial accounts and demo mode do not support turning off the watermark).

MR: This toggles the viewing modes between Mixed Reality (MR) and 3D. When using DataMesh One on mobile devices, MR mode is enabled by default, and you can switch to 3D viewing mode by turning off the MR switch in the settings. When using DataMesh One on a PC, only 3D mode is supported, and MR mode is not supported.

Cache: This allows you to clear the cache of either the entire system or resources that have not been accessed in thirty days. Doing this is a good way to increase performance when necessary.

Sort List: List Sorting: The list sorting function allows users to sort resources, scenes, and events according to different criteria, making it easier to find and manage resources, scenes, and events.

Help: Interface elements that assist users in understanding specific features or completing particular tasks. They typically appear in the form of prompts, explanations, or examples to provide guidance and assistance with user operations. You can enable or disable the feature to control the display of help information in DataMesh One.

Logs: DataMesh One supports uploading the latest seven logs.

Log out: Click the Logout button to log out of the account and return to the login page.

Open resources

In the Standard Mode of DataMesh One, you can access various resources through the Resources interface, including 3D models, 2D assets, scenarios, and more.

Before opening resources, please make sure your device is connected to a stable network, otherwise it might take a while for larger 3D models to load.

In the Mixed Reality (MR) viewing mode, resources can be placed and viewed through your device’s camera and can be moved via our application’s Position Mode. For more information, please refer to our Resource positioning article.

In 3D viewing mode, resources will automatically appear in front of your view. You can rotate, zoom, and move the resources using gestures or joysticks to better observe and experience. If you need to edit the position, rotation angle, scale, or transparency of a resource, you can enter Edit mode to perform the operation. For more information, please refer to Resource editing.

3D models

Please follow the following steps to open 3D models from the resources list:

1. In the Resources interface, navigate to the folder containing the 3D models. If you know the name of the file, you can search for it with the search bar at the top.

2. You can use the resource filtering and search functions to quickly find the resources you need.

3. Click on the 3D model file you want to view in the resource list.

4. Resources will start the downloading and loading.

    • In MR viewing mode, the model center is placed at (0, 0, 0) and you will enter position mode. Move your mobile device and click on the blank space in the screen to place the model.
    • In 3D viewing mode, the model will automatically appear in front of your view after it is loaded.

5. If you need to adjust the position of a model that has already been placed, you can click the position button to reset the position. For more information, please refer to Resource positioning.

6. If you need to adjust the position, rotation angle, scale, or transparency of the model, you can enter Edit mode for editing. For more information, please refer to Resource editing.

2D resources

The standard mode of DataMesh One also supports opening 2D resources such as images, videos, and PDF files. The opening process is the same as for 3D models, and they start out in the environment, but can be incorporated into the HUD (Head-up Display) for convenient viewing and operation by the user.

Image

After opening an image, you can minimize, hide, and view the image in full screen.

    • : Minimize. Clicking on this option will minimize the resource and fix it in the upper right corner of the screen for convenient viewing at any time.
    • : Hide. Clicking on the Hide icon will hide the image. After hiding the image, a Show icon will appear. Clicking on the Show icon, the image will be displayed again.
    •  : View in full screen.
    • : Unminimize. Select the image in the minimized state in the upper right corner of the screen, and then click to unminimize the image.

Video

After selecting a video, you can use the control buttons to play, pause, fast forward, rewind, adjust the progress bar, and control the volume.

After clicking on the minimize icon, the video will minimize and be fixed to the upper right corner of the screen. You can click on the minimized video and use the control buttons to play, pause, fast forward, rewind, and adjust the video progress. You can also unminimize the video or watch the video in full screen.

PDF

The standard mode supports operations such as page turning, minimizing, and hiding PDF files.

Click the minimize icon to minimize the PDF file and fix it to the upper right corner of the screen. You can click on the minimized PDF file to turn pages, deselect minimize, or read in full-screen mode.

Scenario

Scenario playbacks are one of the highlights of our application. Through scenarios, users can create and view complex tutorials, training guides for workers, and much more. Here’s how to open scenarios in the standard mode of DataMesh One.

Steps

1. Click on the folder where the scenario is located in the Resources tab.

2. Click on the scenario you want to play, which will start the downloading process.

3. After opening the scenario, you can manipulate the properties and position of the models and other resources using the Position and Edit Modes. For more information, please refer to the Resource Positioning and Resource Editing articles.

4. Click on the Stage List button to open a list of all the stages found in the scenario. Selecting one of the stages will cause the object to change states into the one that you selected.

Scan QR code to open resources

Standard mode also supports opening resources by scanning the code. Here are the steps:

1. On FactVerse, go to the Resources page in the Digital Assets module, navigate to the model or scenario file you want to view and open it.

2. Click on the QR icon at the top right. Users with permission to access the corresponding directory can use the standard mode of DataMesh One to scan the QR code, open and view the resource quickly.

In the standard mode of DataMesh One, click on the scan button , and scan the QR code generated in the previous step, which will then load and open the model or scenario.

Resource positioning

In MR mode, you can accurately position resources, including adjustments for location, distance, height, and angle, to ensure that resources are precisely placed where needed.

Joystick controls

Utilizing the touchpad joystick controls can adjust the position, distance, height, and angle of resources with a greater degree of accuracy and precision.

Steps

1. After opening resources, you can click on the Position button .

2. After entering Position mode, the touchpad joystick controls are used by default.

3. (Optional) Set the precision for each displacement or rotation in the joystick adjustment:

a. Click the More functions button to open the More functions panel.

b. Click the Adjust function button to open the Set click accuracy window.

    • Move: Adjusts the unit size of each movement. The default unit is 2 centimeters (cm)millimeters (mm), but users can change the number and select different unit types such as millimeters (mm), decimeters (dm), or meters (m). By adjusting the unit size, users can achieve precise position adjustments.
    • Rotate: Users can adjust the angle of each rotation. The default angle is 3 degrees (3˚), but users have the flexibility to customize the rotation angle for more precise adjustments.

c. Set the movement sensitivity or rotation precision according to specific requirements, then click Apply to complete the setup.

4. When using the touchpad joystick controls, in addition to using the left joystick to control the resource’s horizontal movement, you can also use the right joystick to control the resource’s vertical movement and orientation angle.

5. Click to complete the resource positioning.

Gaze mode

In Gaze Mode, resources follow the center of the device’s camera and can be placed by tapping on the screen when the white grid is located at the desired location. This allows for faster placement of resources in a mixed reality space.

When opening a resource, you will enter Gaze Mode by default. After placing the resource, if you need to place a virtual object using the camera again, you can follow these steps:

1. Select the Position button to enter the position mode.

2. Select the Gaze Mode button   to enter Gaze mode.

3. After entering Gaze Mode, move the camera when the white grid is at the desired location, then tap anywhere on the screen to place the resource.

4. Click on the button to complete positioning.

QR code positioning

By scanning the QR code while positioning virtual objects, you can place them into the mixed reality world with more precision, ensuring that they correspond to the real-world physical environment. For example, in an exhibition, you may need to precisely place a virtual exhibit in the same location as a real exhibit, which enables visitors to observe the virtual exhibit’s effect in the real environment. Note: QR code positioning only supports object positioning in the scenario.

The steps for scanning the code to position are as follows:

1. On FactVerse, go to the Resource page in the Digital Twin module and find the scenario file you need.

2. Open the Resource details window and download the locating code.

3. Place the downloaded QR code in the target position.

4. Open scenario in the resources list on DataMesh One.

5. Click on the Position button  to enter position mode.

6. Click  button to scan QR code.

7. Scan the QR code placed in the target position to complete scenario positioning.

8. Click on to complete resource positioning.

Resource editing

To facilitate playback and viewing experience, the edit mode can be used to adjust the position, size, rotation angle, and transparency of models, sub-objects, tools, and other resource content in the scenario.

Edit mode

The steps to edit resources are as follows:

1. Enter edit mode: After opening the resource, you can click the Edit button to enter edit mode.

2. Gesture controls: In Edit Mode, gesture controls are enabled by default. For details, please refer to the Touchscreen gesture instructions.

3. Configure edit mode (Optional):

Click the Adjustment function button  to open the edit mode Settings panel. In the Settings panel, you can perform the following configurations:

    • Switch to joystick controls: In the edit mode Settings panel, you can switch from gesture controls to joystick controls.
    • Adjust Opacity and Zoom ratio: You can adjust the opacity an zoom ratio of resources in the Settings panel to better view and edit them.
    • Adjust movement sensibility: Through the movement sensibility under Touchscreen Joystick within the Settings panel, you can fine-tune the joystick control precision for more detailed and accurate operations.

4. Joystick Controls: For details, please refer to the Touchscreen joystick instructions.

Touchscreen gesture

You can use gestures such as move, zoom, and rotate to adjust the position, size, and rotation angle of models or sub-elements.

Move a model or sub-element: Tap on the model or sub-element, and the selected model or sub-element will display a blue highlighted bounding box. You can move the model or child object horizontally or vertically by swiping with one finger on the screen.

Enable the Dimensional Movement for Touchscreen geature, a cone-shaped arrow (movement control handle) representing the X, Y, and Z axes (X axis in red; Y axis in green; Z axis in blue) will appear around the selected model. You can use the movement control handles to quickly and accurately move the object in a straight line:

    • Move: Click and drag the cone-shaped movement control handle to move the model or sub-element along that axis.
    • Rotate: Clicking a cone-shaped movement control handle activates a circular rotation control handle perpendicular to that axis. For example, clicking the Y-axis cone-shaped arrow activates the circular rotation control handle on the XZ plane. Dragging the mouse at any position on the rotation control handle will rotate the object around the Y-axis.
    • Zoom: Hold the rotation control handle (circular) at any position until the three cone-shaped move control handles disappear. Then drag the mouse vertically to the direction of the rotation control handle (circular) to zoom in or out of the model or sub-element.

Touchscreen joystick

Use the touchscreen joystick (same as the joystick controls) for moving and rotating the model or sub-objects, making the operation more flexible and intuitive.

Steps:

1. After completing the placement of the resource, click on the Edit button to enter the edit mode.

2. After entering the edit mode, select Touchscreen Joystick.

3. (Optional)You can also adjust the sensitivity, rotation angle, and other parameters of the joystick by adjusting the Movement Sensitivity.

4. Click to select the object to be edited, and a blue highlight border will appear around the object.

5. Use the left joystick to control the movement of the resource on the horizontal plane (moving forward, backward, left, or right). Use the right joystick to control the resource’s height and orientation angle.

6. Click to complete the resource editing.

View resource information

In the standard mode of DataMesh One, an information pane is provided to help users view resource information and better understand the content in the scene. Through the information pane, users can obtain the following resource-related information:

    • Resource name: Displays the name of the resource, helping users quickly identify the selected resource.
    • Model properties: Provides related information such as model attributes and node attributes. The information contained within these properties can help users understand the characteristics and structure of the model.
    • Engineering Information: Engineering information in the BIM file properties includes display options, identity data, constraints, dimensions, and other metadata. These details are used to describe elements in architectural design, such as door types. Display options can define the appearance of doors, such as color and line styles. Identity data can include the name, number, and material information of the door, used for annotations and identification. Constraints ensure the correct placement of doors within walls and alignment with other elements. Dimensions represent the width, height, and thickness of the door, providing size-related information.

Steps

1. In the case of opening a resource or playing an event, click the edit button to enter edit mode.

2. Select the model or sub-element.

3. Press the Info button on the right side to expand the resource information pane.

4. In the resource information pane contains more details, such as model name and node name.

5. To collapse the resource information pane, press the Info button again.

Open scene files

When you have the necessary permissions for the scene function in your enterprise, you can open scene files accessible to you in DataMesh One using the following steps in MR mode:

The steps to open a scene file in MR mode are as follows:

1. On the main interface, click on the Scene tab to enter the scene interface.

2. In the Scene interface, browse and open the folder containing the target scene file. Scroll through the folder’s contents using the dropdown scrollbar, locate the scene file you want to play, and click to open the scene file.

3. After opening the scene file, move the camera (field of view) to recognize the environment and automatically place resources.

4. You can click the positioning button to enter the joystick adjustment mode.

5. In joystick adjustment mode, or by switching to gaze mode, adjust the position of the scene. Once the resource placement is complete, click to finish scene position adjustment. For more information on resource positioning, please refer to the relevant instructions for Resource positioning.

6. After completing the scene position adjustment, enter scene playback mode. You can move the camera to roam the entire scene.

Events

The Events function in the standard mode of DataMesh One provides users with rich AR experience and collaboration functions, allowing users to create and participate in immersive AR events.

Here is a description of the Events function:

    • New Event: With the standard mode of DataMesh One, users can create new virtual reality events. When creating a new event, users can set basic information such as the name and valid date of the event and set the scenario for the AR scene. The scenario defines the scenes, roles, actions, and interaction processes in the event.
    • Event management: As the creator and owner of the event, users can manage the event. This includes deleting events, changing event scenarios, and more. The event management function enables users to flexibly control and customize the event.
    • Play event scenarios: The event creator can guide the event by playing the scenario of the event. During the event, the event creator can gradually play the scenes and guide participants to complete various tasks and experiences according to the scenario.
    • Participate in events: The standard mode of DataMesh One allows users to participate in virtual reality events created by others. Users can select events of interest from the event list and enter the event scene through devices such as HoloLens, mobile phones, and tablets. Event participants can watch the scenario, but do not have permission to play the scenario. This provides convenience for observing, learning, and sharing events.

Create events

Users with collaboration creation permissions can create events.

Steps

1. Click the add button in the event list to go to the New Event interface.

2. In the New Event interface, fill in the Event Name (default format yyyy-mm-dd hh:mm: ss) and select the event’s Validity Period.
3. Click the Create button to open the event setting interface.
4. In the event setting interface, click Add button.


5. Open the folder where the scenario is located, select the scenario, and click Save to add the scenario to the event.

6. After the scenario loading is completed, the event is created successfully.

Change event scenarios

The steps to change event scenarios are as follows:

Note: Only the owner of the event has permission to edit the event.

1. Click on the event in the event list to enter the event details page.

2. On the event details page, click the Change Scenario button.

3. Select one scenario to replace the existing scenario.

4. After editing is complete, click the “<” button in the upper left corner to exit the event details page and return to the event list page.

Play events

To play a created scenario in the event details page, follow these steps:

1. Select the event to be played in the event list and enter the event details page.

2. Wait for the models in the event to download and load.

3. After all participants are ready, the creator of the event can click the Play button to start playing the scenario.

4. Place the models and adjust their position and orientation to ensure that the scenario can be played in the correct scene. For more information on placing models and adjusting their position, please refer to the Resource Positioning.

5. Click the Stage List button to open the scenario’s Stage List. Click the scene name in the list to play the scene on a single page.

6. After the scenario is finished playing, click the “<” button in the upper left corner to exit the event.

Note: During the collaborative event demo, if the host exits the event, all participants and the host will return to the event preparation page. If a participant exits the event while the host remains, the participant will directly return to the event interface.

Delete events

The creator or owner of the event can delete it. The specific steps to delete an event are as follows:

1. Log in to the FactVerse platform.

2. Go to Collaboration > Event Management page.

3. In the event list, find the event you want to delete and click the corresponding delete button .

4. In the prompt window, click Confirm to confirm the deletion of the event.

Other functions

Adjust scene viewing angle

When browsing in 3D mode, you can adjust the viewing angle by using the following methods:

On PC:

    • Rotate the scene: Hold down the right mouse button at any position in the scene, then move the mouse left or right to horizontally rotate the scene for a full view of the model.
    • Pan the scene: To move left, right, forward, or backward in the scene, click on a blank space in the scene, hold down the left mouse button, and drag the mouse to the left or right of the screen or up and down on the screen. You can also hold down the mouse wheel and drag the mouse in the direction you want to pan. This operation can avoid selecting any characters with the left mouse button, and the wheel can only be used to drag the scene.
    • Zoom in and out of the scene: To zoom in and out of the scene, you can use the mouse wheel button, scroll up to zoom in, and scroll down to zoom out.
    • Raise and lower the scene: To raise and lower the scene, you can hold down the Shift key and the left mouse button and move up or down on a blank space in the scene to lower or raise the scene.

On mobile devices:

    • Rotate the scene: Tap any position in the scene with your finger, then use a single finger to swipe horizontally to rotate the scene.
    • Gesture zooming: Through gestures, pinch or spread with two fingers in space to zoom in or out of the scene.
    • Pan the scene: You can pan the scene by sliding two fingers on the screen.

Offline mode

When the network condition is poor, after a period of network request, an Offline Mode button option will appear. You can switch to Offline Mode to view previously downloaded models or scenarios and play and use them normally.

After clicking on Offline Mode, the resource list will display all local content. Note: Search, filter, and scan functions are not supported in offline mode.

When the internet is connected, you can choose Click to reconnect to switch back to online mode.

Login

Language:  You can switch the interface language to Simplified Chinese, English, Japanese, and Traditional Chinese.

Server:  This changes which server you connect to. Make sure that the server you connect to is the same one that your organization uses.

: Private Server icon. This allows you to enter a private server, which requires a password to access.

Demo: It allows users to watch built-in models, scenarios, and events provided by DataMesh as a guest.

QR code login: For more details, please refer to our QR code login article.

Third-party login: For more details, please refer to our Third-party login article.

Note: After successful login, users with standard mode permissions can only enter the standard mode interface. Users with training mode permissions can only enter the training mode interface. Users with both mode permissions by default enter the training mode interface, and users can switch the browsing mode in Settings.

Regular login

On the login interface of DataMesh One, use your account and password to log in.

Steps

1. Open the Login interface of DataMesh One.

2. Select the language.

3. Configure server:

a) Select public server: If your enterprise is deployed on a public server, choose the server belonging to the enterprise account from the server list.
b) Set up private deployment server: If your enterprise uses a private deployment server, you need to click on the private deployment icon to set the exclusive service code.

4. Enter your FactVerse account and password.

5. Check the box “I have read and agree to the DataMesh ‘Terms of Use’ and ‘Privacy Policy’”, then click the Sign in button.

6. Select your enterprise account: If you have multiple accounts, select the correct one from a list.

7. Select browsing mode: If your account has licenses for two different browsing modes simultaneously, the mode selection interface will be displayed. Choose your mode and click the Enter button to complete login.

Third-party login

DataMesh One supports using Third-party login methods for logging in, using Microsoft Entra ID, an identity and access management service, in order to enhance user security.

Steps

1. Open the Login interface of DataMesh One.

2. Select the language.

3. Configure server:

a) Select public server: If your enterprise is deployed on a public server, choose the server belonging to the enterprise account from the server list.
b) Set up private deployment server: If your enterprise uses a private deployment server, you need to click on the private deployment icon to set the exclusive service code.

4. Click on the third-party login icon  , and confirm the pop-up message.

5. Select browsing mode: If your account has licenses for two different browsing modes simultaneously, the mode selection interface will be displayed. Choose your mode and click the Enter button to complete login.

QR code login

Using the QR code login feature provided by DataMesh FactVerse, quickly log in to your account on DataMesh One.

Steps

1. Open the Login interface of DataMesh One.

2. Select the language.

3. Configure server:

a) Select public server: If your enterprise is deployed on a public server, choose the server belonging to the enterprise account from the server list.
b) Set up private deployment server: If your enterprise uses a private deployment server, you need to click on the private deployment icon to set the exclusive service code.

4. Click on the scan code icon , and a scanning frame will appear.

5. Log in to FactVerse, click on the username in the top navigation bar, and select QR code login in the account function menu. Note: Please select the same server on both the One side and the FactVerse platform. For example, if you have chosen China on the One side, ensure that you log in to the FactVerse platform using the correct URL: https://dcs.datamesh.com.cn/ to obtain the corresponding QR code.

6. The system will automatically generate a QR code that refreshes at intervals.

7. Use DataMesh One to scan the QR code generated on the FactVerse platform in Step 6. After successfully scanning, a prompt window will appear.

8. In the QR code login confirmation window on the FactVerse platform, click Confirm to complete the login.

9. Select browsing mode: If your account has licenses for two different browsing modes simultaneously, the mode selection interface will be displayed. Choose your mode and click the Enter button to complete login.

SMS verification login

When a company enables the dual authentication of FactVerse accounts using both passwords and SMS, users logging into the DataMesh client and the FactVerse platform need to undergo SMS verification.

Upon your initial login to DataMesh One, a prompt to bind your mobile phone number will appear. You need to log in to the FactVerse platform to bind a mobile phone number for login verification. For detailed instructions on how to bind your phone number, please refer to the FactVerse User Manual.

Once your phone number is bound, the steps for using SMS verification to log in on DataMesh One are as follows:

1. Open the DataMesh One login interface.

2. Select the language.

3. Configure server:

a) Select public server: If your enterprise is deployed on a public server, choose the server belonging to the enterprise account from the server list.
b) Set up private deployment server: If your enterprise uses a private deployment server, you need to click on the private deployment icon to set the exclusive service code.

4. Enter your FactVerse account and password, then click the Login button.

5. Check the box “I have read and agree to the DataMesh ‘Terms of Use’ and ‘Privacy Policy’”, then click the Sign in button.

6. Choose the company your account belongs to (optional): If you have multiple enterprise accounts, a list of company accounts will be displayed for you to choose from.

7. The mobile phone you bound will receive a login verification code, valid for 5 minutes.

8. Enter the verification code.

9. Select browsing mode: If your account has licenses for two different browsing modes simultaneously, the mode selection interface will be displayed. Choose your mode and click the Enter button to complete login.

External login

External personnel of the enterprise undergoing training (e.g., pre-employment onboarding training) can log into DataMesh One’s training mode using the following steps:

1. Enterprise training instructors create a temporary training group: Enterprise training instructors establish a temporary training group and add temporary training members (student names and IDs).

2. Enterprise training instructors obtain the QR code for the temporary training group: Instructors obtain the QR code for the group from the training group details page and share it with the group members.

3. Temporary training group members log into the training mode:

a) Open the DataMesh One login page.
b) Select the language.
c) Configure server:

i. Select public server: If your enterprise is deployed on a public server, choose the server belonging to the enterprise account from the server list.
ii. Set up private deployment server: If your enterprise uses a private deployment server, you need to click on the private deployment icon to set the exclusive service code.

d) Click on the scan code icon , and a scanning frame will appear.
e) Scan the QR code of the temporary training group to open the external personnel login interface.

f) In the external personnel login interface, use the student’s assigned name and ID from the group to log into the training mode.

After successful login, external users will directly enter DataMesh One’s training mode. In this mode, external users can only access the “My Tasks” interface, ensuring they can view and execute tasks assigned to them.

Preparation

Installation

Users need to download and install DataMesh One according to their device type before use.

Device Type

Download link

Windows PC

Microsoft Store

iOS

App Store

Android

Google Play Store

VisionOS

App Store

Meta Quest 3

Meta Quest Store

System requirement

Device

Minimum configuration

Recommended configuration

Windows PC

Software:

•         Window10 or above

•         Direct3D 11.0 or above

Software:

•         Window10 or above

•         Direct3D 11.0 or above

RAM: 8GB

RAM: 16GB

CPU: Intel®Core™i5-6200U 2.30Ghz

CPU: Intel®Core™i7-11700 3.60Ghz

GPU: NVIDIA GTX 1050Ti

GPU: NVIDIA GTX 3070

Android

Software:

•     Android 11

•     Google ARCore

Software:

•     Android 14

•     Google ARCore

Chip: Qualcomm Snapdragon 865

Chip: Qualcomm Snapdragon 8 Gen 1

RAM: 8GB

RAM: 8GB

GPU: Qualcomm Adreno650

GPU: Qualcomm Adreno660

iPhone

System: iOS 14

System: iOS 17

RAM: 4GB

RAM: 6GB

Chip: A12

Chip: A16

iPad

System: iPadOS 14

System: iPadOS 17

RAM: 3GB

RAM: 16GB

Chip: A12

Chip: M2

HoloLens

HoloLens 2

Note:

1. MR mode only supports Android devices in the list of Google ARCore Supporting Device.

2. DataMesh One 6.1 and earlier versions have been tested on HoloLens devices. Later versions have not been fully tested and may have unknown issues.

Account Permission

Depending on different needs and user roles, account permissions will vary. Please obtain and allocate permissions according to the actual situation.

User Roles

Browsing Mode

FactVerse Account

Functional Permissions

License Allocation

Regular Users

Standard Mode

•         Digital Assets

•         Resources (Enabling this allows access to resources within the Resources in standard mode on DataMesh One.)

•         Digital Twins (Enabling this allows access to digital twin scenes within the Digital Twins in standard mode on DataMesh One.)

•         Collaboration (Enabling this allows the creation of collaboration events in standard mode on DataMesh One.)

•         DataMesh One Standard Mode

Training Instructor

Training Mode

•         Digital Assets

•         Learning Management

•         DataMesh FactVerse

•         DataMesh Studio

•         DataMesh One Training Mode

Internal Learner

Training Mode

No functional permission requirement

•         DataMesh One Training Mode

External Learner

Training Mode

No functional permission requirement