Batch upload customer list (BatchUploadCustomerManagement)

Updated at:
Copy as MD

Batch upload customer list data by file URL. The upload is an asynchronous operation. An upload task ID is returned for status tracking.

Prerequisites

Request parameters

Name

Type

Required

Description

Example

Action

String

Yes

The operation that you want to perform. Set the value to BatchUploadCustomerManagement.

BatchUploadCustomerManagement

Version

String

Yes

The API version number. Format: YYYY-MM-DD. Set the value to 2025-11-27.

Fixed to 2025-11-27

CustomerListId

Number

Yes

The customer list ID.

1001

FileName

String

Yes

The name of the file to upload.

customers_202601.xlsx

FileUrl

String

Yes

The file download URL (must be publicly accessible over the Internet).

https://example.com/customers.xlsx

Response parameters

Name

Type

Description

Example

RequestId

String

The request ID.

xxxx-xxxx-xxxx

Success

Boolean

Indicates whether the request was successful.

True

Code

String

The error code. Empty when the request is successful.

None

Message

String

The error message or success message.

The operation was successful.

Data

Object

The returned data, which contains fields such as Success, Message, and UploadTaskId. For more information, see the response parameter description below.

Examples

Python

import json
import os
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_tea_openapi.client import Client as OpenApiClient
from alibabacloud_tea_util import models as util_models
from alibabacloud_openapi_util.client import Client as OpenApiUtilClient


def main():
    config = open_api_models.Config(
        access_key_id=os.getenv("ACCESS_KEY_ID"),
        access_key_secret=os.getenv("ACCESS_KEY_SECRET"),
    )
    config.endpoint = "thirdswaicall.aliyuncs.com"
    config.protocol = "HTTPS"
    client = OpenApiClient(config)

    params = open_api_models.Params(
        style="RPC",
        version="2025-11-27",
        action="BatchUploadCustomerManagement",
        method="POST",
        pathname="/",
        protocol="HTTPS",
        auth_type="AK",
        req_body_type="json",
        body_type="json",
    )

    body = {'CustomerListId': 1001, 'FileName': 'customers_202601.xlsx', 'FileUrl': 'https://example.com/customers.xlsx'}

    request = open_api_models.OpenApiRequest(query=OpenApiUtilClient.query(body))
    runtime = util_models.RuntimeOptions(autoretry=True, max_attempts=3)
    try:
        resp = client.call_api(params, request, runtime)
        print(json.dumps(resp.get("body", {}), ensure_ascii=False, indent=2))
    except Exception as e:
        print(f"Call failed: {e}")


if __name__ == "__main__":
    main()

Java

import com.aliyun.teaopenapi.Client;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.teaopenapi.models.OpenApiRequest;
import com.aliyun.teaopenapi.models.Params;
import com.aliyun.teautil.models.RuntimeOptions;
import com.google.gson.Gson;

import java.util.HashMap;
import java.util.Map;

public class Demo {
    public static void main(String[] args) throws Exception {
        // Initialize configuration
        Config config = new Config()
            .setAccessKeyId(System.getenv("ACCESS_KEY_ID"))
            .setAccessKeySecret(System.getenv("ACCESS_KEY_SECRET"))
            .setEndpoint("thirdswaicall.aliyuncs.com")
            .setProtocol("HTTPS");

        Client client = new Client(config);

        // Set API parameters
        Params params = new Params()
            .setStyle("RPC")
            .setVersion("2025-11-27")
            .setAction("BatchUploadCustomerManagement")
            .setMethod("POST")
            .setPathname("/")
            .setProtocol("HTTPS")
            .setAuthType("AK")
            .setReqBodyType("json")
            .setBodyType("json");

        // Build request parameters
        Map<String, Object> body = new HashMap<>();
        body.put("CustomerListId", 1);
        body.put("FileName", "example");
        body.put("FileUrl", "example");

        OpenApiRequest request = new OpenApiRequest()
            .setQuery(com.aliyun.openapiutil.Client.query(body));

        // Set runtime options (auto retry)
        RuntimeOptions runtime = new RuntimeOptions()
            .setAutoretry(true)
            .setMaxAttempts(3);

        try {
            // Call the API
            Map<String, ?> response = client.callApi(params, request, runtime);
            Gson gson = new Gson();
            System.out.println(gson.toJson(response.get("body")));
        } catch (Exception e) {
            System.err.println("Call failed: " + e.getMessage());
        }
    }
}

Sample response

{
  "Success": true,
  "Code": null,
  "Message": "The operation was successful.",
  "RequestId": "xxxx-xxxx-xxxx",
  "Data": {
    "Success": true,
    "Message": "The upload task has been created.",
    "UploadTaskId": 5001
  }
}

The specific processing result is in the Data node. The following table describes the parameters in the Data node.

Name

Type

Description

Example

Success

Boolean

Indicates whether the operation was successful.

true

Message

String

The description of the operation result.

The upload task has been created.

UploadTaskId

Number

The upload task ID, which is used to query the upload progress.

5001

Error information

If an error occurs, see Error codes for troubleshooting.