Updated on 2024-11-06 GMT+08:00

Querying the Message List

Function

This API is used to query the notification message list of the review center. Different from applications, notification messages cannot be rejected and can be processed only within a specified time period.

Calling Method

For details, see Calling APIs.

URI

GET /v1/{project_id}/service/messages

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details about how to obtain the project ID, see Project ID and Account ID.

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

offset

No

Integer

Query start coordinate, that is, skipping the first X records. The value can only be 0 or an integer multiple of limit. If the requirement is not met, the value is rounded down.

limit

No

Integer

Maximum number of records that can be queried

api_name

No

String

API name

Request Parameters

Table 3 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token. This parameter is mandatory when token authentication is used. You can obtain it from the value of X-Subject-Token in the response message header returned by the "Obtaining a User Token" API of the IAM service.

workspace

Yes

String

Workspace ID. For details about how to obtain the workspace ID, see Instance ID and Workspace ID.

Dlm-Type

No

String

Specifies the version type of the data service. The value can be SHARED or EXCLUSIVE.

Content-Type

Yes

String

Type (format) of the message body. This parameter is mandatory if the message body exists. If the message body does not exist, leave this parameter blank. If the request body contains Chinese characters, use charset=utf8 to specify the Chinese character set, for example, application/json;charset=utf8.

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

total

Integer

Total number of applications that meet the search criteria.

records

Array of RecordForApplyDetail objects

Indicates the returned application list.

Table 5 RecordForApplyDetail

Parameter

Type

Description

id

String

Application ID.

api_apply_status

String

Application status

Enumerated values:

  • STATUS_TYPE_PENDING_APPROVAL: pending review

  • STATUS_TYPE_REJECTED: rejected

  • STATUS_TYPE_PENDING_CHECK: pending check

  • STATUS_TYPE_PENDING_EXECUTE: pending execution

  • STATUS_TYPE_SYNCHRONOUS_EXECUTE: synchronouly executed

  • STATUS_TYPE_FORCED_CANCEL: canceled forcibly

  • STATUS_TYPE_PASSED: passed

api_apply_type

String

Application type

Enumerated values:

  • APPLY_TYPE_PUBLISH: publishing an API

  • APPLY_TYPE_AUTHORIZE: authorizing an API to an app

  • APPLY_TYPE_APPLY: reviewing an API

  • APPLY_TYPE_RENEW: renewing an API

  • APPLY_TYPE_STOP: stopping an API

  • APPLY_TYPE_RECOVER: recovering an API

  • APPLY_TYPE_API_CANCEL_AUTHORIZE: canceling API authorization

  • APPLY_TYPE_APP_CANCEL_AUTHORIZE: canceling app authorization

  • **APPLY_TYPE_OFFLINE: suspending an API

api_id

String

API ID

api_name

String

API name

api_using_time

Long

Expiry time of using the API,

app_id

String

App ID

app_name

String

App name

apply_time

Long

Application time,

approval_time

Long

Authorization time,

approver_name

String

Reviewer name.

comment

String

Review comments.

user_name

String

Applicant name.

Status code: 400

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Example Requests

Query notifications in the review center.

/v1/0833a5737480d53b2f250010d01a7b88/service/messages

Example Responses

Status code: 200

The query is successful, and the total number of messages that meet the query conditions is displayed.

{
  "total" : 1,
  "records" : [ {
    "id" : "a1c93c3cb17d9747fc41df0377b6fe0f",
    "api_apply_status" : "STATUS_TYPE_PASSED",
    "api_apply_type" : "APPLY_TYPE_APPLY",
    "api_id" : "47046fe7830c1be77cb0dc23bd86afa5",
    "api_name" : "api_demo",
    "api_using_time" : 1580452617000,
    "app_id" : "908489209a320df61607355c57c82882",
    "app_name" : "app_demo",
    "apply_time" : 1578875421000,
    "approval_time" : 1578897421000,
    "approver_name" : "Person B",
    "comment" : "Passed",
    "user_name" : "Tom"
  } ]
}

SDK Sample Code

The SDK sample code is as follows.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.dataartsstudio.v1.region.DataArtsStudioRegion;
import com.huaweicloud.sdk.dataartsstudio.v1.*;
import com.huaweicloud.sdk.dataartsstudio.v1.model.*;


public class ListMessageSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");
        String projectId = "{project_id}";

        ICredential auth = new BasicCredentials()
                .withProjectId(projectId)
                .withAk(ak)
                .withSk(sk);

        DataArtsStudioClient client = DataArtsStudioClient.newBuilder()
                .withCredential(auth)
                .withRegion(DataArtsStudioRegion.valueOf("<YOUR REGION>"))
                .build();
        ListMessageRequest request = new ListMessageRequest();
        try {
            ListMessageResponse response = client.listMessage(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkdataartsstudio.v1.region.dataartsstudio_region import DataArtsStudioRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkdataartsstudio.v1 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId)

    client = DataArtsStudioClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(DataArtsStudioRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ListMessageRequest()
        response = client.list_message(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    dataartsstudio "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dataartsstudio/v1"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dataartsstudio/v1/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dataartsstudio/v1/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")
    projectId := "{project_id}"

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        WithProjectId(projectId).
        Build()

    client := dataartsstudio.NewDataArtsStudioClient(
        dataartsstudio.DataArtsStudioClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ListMessageRequest{}
	response, err := client.ListMessage(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.

Status Codes

Status Code

Description

200

The query is successful, and the total number of messages that meet the query conditions is displayed.

400

Bad request