Updated on 2024-12-30 GMT+08:00

Obtaining the Public Key

Function

This API is used to obtain the public key (each application has a unique public key). The public key is used to encrypt sensitive information when calling a service API.

URI

GET /api/v2/sdk/public-key

Request Parameters

Table 1 Request header parameters

Parameter

Mandatory

Type

Description

X-operating-sys-version

Yes

String

Caller OS version, for example, Android 10.

X-device-fingerprint

Yes

String

Caller device fingerprint, for example, 156aysdna213sc50.

X-device-ip

No

String

Caller IP address, for example, 10.10.10.1

X-agent

Yes

String

User agent information, for example, Mozilla/5.0 (Linux; Android 10; Redmi K30 Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.99 Mobile Safari/537.36

X-L

No

String

Language type, for example, en.

X-client-id

Yes

String

Application ID, which is a ClientId allocated to an application after registration.

X-tenant-id

No

String

Tenant ID. This parameter is mandatory when calling an ISV application. Replace "{domain_name}" with the ISV common domain name "{common_domain}". In the request header, specify tenant_id of the corresponding tenant and replace X-client-id with client_id of the ISV application template.

Response Parameters

Status code: 200

Table 2 Response body parameters

Parameter

Type

Description

public_key

String

Application public key.

Status code: 400

Table 3 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error details.

Example Requests

Obtain the public key for encryption. In the request header configuration, the caller system is Android 10, the caller device fingerprint is 156aysdna213sac, the caller IP address is 10.10.10.1, and the application ID is ClientId allocated during application registration.

GET https://{domain_name}/api/v2/sdk/public-key

X-operating-sys-version: Android 10
X-device-fingerprint: 156aysdna213sac
X-device-ip: 10.10.10.1
X-agent: Mozilla/5.0 (Linux; Android 10; Redmi K30 Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.99 Mobile Safari/537.36
X-L: zh
X-client-id: DRrYIqauawN0I8myTMoDTPys6ezGZxnm
X-tenant-id: 08f770f51f80d2f40f38c00cb199fd21

Example Responses

Status code: 200

Request successful.

{
  "public_key" : "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAibkfo0k5yU8ZEt6D5Rl6\nmNGGlGKyl1dO237iEUtlttf48YUBMrruAvINc68cT5hwHoQdZDAXq6YaK6j+QkmD\nOr/wl5qUllrqrS5jMsyx80bWMkkJDmnV8WJWVlqmaEu1XJUTOinOlXHDwQtougP+\nq6Ai0gQC395QESR5t9WKCGIFMoWuEesCj1K8YUW3lSBojiz+vCYQSdy0xTOC3uWz\nxds4mDe4qeX+9wSH+XgFPCu/YpufNz+1iSBtALvpOGORT+zkPpt+0c7zvEpy+pgi\nsx0/aV5vA6S481ZCYZR3gzG4xthVuS0o022UGdr5RNy6SxvoIrx09JG2RvhdWsxW\n7wIDAQAB\n-----END PUBLIC KEY-----"
}

Status Codes

Status Code

Description

200

Request successful.

400

Invalid parameter.

Error Codes

See Error Codes.