Updated on 2022-12-05 GMT+08:00

Modifying a Product Topic

Function

This API is used to modify a product topic.

URI

PUT /v2/{project_id}/link/instances/{instance_id}/products/{product_id}/topics/{topic_id}

Table 1 Path parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details about how to obtain the project ID, see Appendix > Obtaining a Project ID in the ROMA Connect API Reference.

Minimum: 0

Maximum: 32

instance_id

Yes

String

Instance ID.

Minimum: 0

Maximum: 36

product_id

Yes

Integer

Product ID.

Minimum: 0

Maximum: 99999999999999999

topic_id

Yes

Integer

Product topic ID.

Minimum: 0

Maximum: 99999999999999999

Request Parameters

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

permission

Yes

Integer

Topic permission. The options are as follows: 0: publish; 1: subscribe.

Minimum: 0

Maximum: 10

name

Yes

String

Topic name. A topic class uses slashes (/) to distinguish class items. The first class is the user-defined version number. The second class is defined as ${deviceId} (wildcard device ID). The third class is the user-defined topic class name. The topic consists of /${version}/${deviceId}/${customizePart}. In brief, the topic class /v1/${deviceId}/customizePart is a set of topics such as /v1/deviceid1/customizePart1 and /v1/deviceid2/customizePart2.

Minimum: 0

Maximum: 64

version

Yes

String

Version number, which is a string of 2 to 50 characters. The value must start and end with a letter or digit. Only letters, digits, hyphens (-), and dots (.) are allowed.

Minimum: 0

Maximum: 64

description

No

String

Description, which contains a maximum of 200 characters.

Minimum: 0

Maximum: 200

Response Parameters

Status code: 200

Table 3 Response body parameters

Parameter

Type

Description

product_id

Integer

Homing product ID.

Minimum: 1

Maximum: 99999999999999999

topic_id

Integer

Product topic ID.

Minimum: 1

Maximum: 99999999999999999

permission

Integer

Topic permission. The options are as follows: 0: publish; 1: subscribe.

Minimum: 0

Maximum: 10

topic_name

String

Topic name.

Minimum: 0

Maximum: 64

version

String

Version number.

Minimum: 0

Maximum: 10

description

String

Description.

Minimum: 0

Maximum: 200

Status code: 400

Table 4 Response body parameters

Parameter

Type

Description

error_code

String

System error code, which is the detailed error code of HTTP error codes 4xx and 5xx.

Minimum: 0

Maximum: 64

error_msg

String

Error description.

Minimum: 0

Maximum: 200

request_id

String

Message ID.

Minimum: 0

Maximum: 64

Status code: 404

Table 5 Response body parameters

Parameter

Type

Description

error_code

String

System error code, which is the detailed error code of HTTP error codes 4xx and 5xx.

Minimum: 0

Maximum: 64

error_msg

String

Error description.

Minimum: 0

Maximum: 200

request_id

String

Message ID.

Minimum: 0

Maximum: 64

Status code: 500

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

System error code, which is the detailed error code of HTTP error codes 4xx and 5xx.

Minimum: 0

Maximum: 64

error_msg

String

Error description.

Minimum: 0

Maximum: 200

request_id

String

Message ID.

Minimum: 0

Maximum: 64

Example Requests

{
  "permission" : 1,
  "name" : "datas",
  "version" : "v2",
  "description" : "/v2/${deviceId}/datas"
}

Example Responses

Status code: 200

OK

{
  "product_id" : 122888,
  "topic_id" : 17,
  "permission" : 1,
  "topic_name" : "/3.0/${deviceId}/t1",
  "version" : "3.0",
  "description" : "description"
}

Status code: 400

Bad Request

{
  "error_code" : "SCB.00000000",
  "error_msg" : "Parameter is not valid for operation [romalink.link-product-topic.updateProductTopic]. Parameter is [productId]. Processor is [path].",
  "requestId" : "cb39e78a-afd3-4e04-901d-70468b1c23dc-1619602712496-cnnorth7a-P-romalink-service01"
}

Status code: 404

Not Found

{
  "error_code" : "ROMA.00110006",
  "error_msg" : "The resource does not exist. Check whether the resource ID ff38023c-0854-4779-847d-72528e1f5da5 is correct.",
  "requestId" : "72b07918-f6a2-4721-81bf-f3fd5486025e-1619663576836-cnnorth7a-P-romalink-service01"
}

Status code: 500

Internal Server Error

{
  "error_code" : "ROMA.00110002",
  "error_msg" : "The instance does not exist. project_id: 397cd10b30544c588b2f4a56d83856c4, instance_id: f3bb386a-23ec-47aa-9943-4c60ac658611",
  "request_id" : "c8c06d0a-be92-4fdf-9d10-bc20131ab158-1619593104919-cnnorth7a-P-romalink-service01"
}

Status Codes

Status Code

Description

200

OK

400

Bad Request

404

Not Found

500

Internal Server Error

Error Codes

See Error Codes.