Adding a Product Topic
Function
Adding a Product Topic
URI
POST /v2/{project_id}/link/instances/{instance_id}/products/{product_id}/topics
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| project_id | Yes | String | Project ID. The default value is default for compatibility with 20.0.Project ID. For details about how to get the project ID, see "Appendix" > "Obtaining a Project ID" in this document. |
| instance_id | Yes | String | Instance ID. The default value is default for compatibility with 20.0. |
| product_id | Yes | Integer | Product ID. |
Request Parameters
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| X-Auth-Token | Yes | String | User token, which can be obtained by calling the IAM API (value of X-Subject-Token in the response header). |
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| permission | Yes | Integer | Topic permission. The options are as follows: 0: publish; 1: subscribe. |
| name | Yes | String | Product-level topic name. Separate different parts of a topic class with slashes (/). 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 a/b/c/${deviceId}/customizePart is a set of topics such as a/b/c/deviceid1/customizePart1 and a/b/c/deviceid2/customizePart2. |
| version | Yes | String | Version number, which is a string of 1 to 64 characters. The value must start and end with a letter or digit. Only letters, digits, underscores (_), hyphens (-), periods (.), slashes (/), and backslashes () are allowed. |
| description | No | String | Description. |
Response Parameters
Status code: 200
| Parameter | Type | Description |
|---|---|---|
| product_id | Integer | Homing product ID. |
| topic_id | String | Product topic ID. |
| permission | Integer | Topic permission. The options are as follows: 0: publish; 1: subscribe. |
| topic_name | String | Topic name. |
| version | String | Version number. |
| description | String | Description. |
Status code: 400
| Parameter | Type | Description |
|---|---|---|
| error_code | String | System error code, which is the detailed error code of HTTP error codes 4xx and 5xx. |
| error_msg | String | Error description. |
| request_id | String | Message ID. |
Status code: 404
| Parameter | Type | Description |
|---|---|---|
| error_code | String | System error code, which is the detailed error code of HTTP error codes 4xx and 5xx. |
| error_msg | String | Error description. |
| request_id | String | Message ID. |
Status code: 500
| Parameter | Type | Description |
|---|---|---|
| error_code | String | System error code, which is the detailed error code of HTTP error codes 4xx and 5xx. |
| error_msg | String | Error description. |
| request_id | String | Message ID. |
Example Requests
Add a topic for a specified product with the permission as publishing.
{
"permission" : 0,
"name" : "datas",
"version" : "v1",
"description" : "/v1/${deviceId}/datas"
} Example Responses
Status code: 200
Created
{
"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.createProductTopic]. Parameter is [productId]. Processor is [path].",
"request_id" : "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.",
"request_id" : "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 | Created |
| 400 | Bad Request |
| 404 | Not Found |
| 500 | Internal Server Error |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.