Todos los productos
Search
Centro de documentos

Alibaba Cloud Model Studio:Mensajes (Obsoleto)

Última actualización: Oct 12, 2026

Este tema describe cómo utilizar la clase Message en la API del asistente para crear, listar, recuperar y modificar mensajes.

ImportanteLa API de Asistentes está siendo descontinuada. Migre a la API de Responses como alternativa. La API de Responses incluye múltiples herramientas integradas y admite la gestión de contexto de múltiples turnos.

Nombre de la función

Tipo

create

Crear una clase de mensaje

recuperar

Recuperar una clase de mensaje

modificar

Modificar una clase de mensaje

list

Listar clases de mensajes

Crear un mensaje

HTTP

Ejemplo de código
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/threads/thread_e99a9fe7-0433-426f-98ad-a5139c36579c/messages' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--data '{
    "role": "user",
    "content": "Who are you",
    "metadata": {}
}'
Parámetros de solicitud

Nombre del parámetro

Parámetros de entrada

Tipo de parámetro

Obligatorio

thread id

El ID del hilo al que se pasa el mensaje.

string

Sí

content

El contenido del mensaje.

string

Sí

role

El rol de la entidad que proporciona el mensaje. Solo se admite `user`.

string

No

metadata

Otra información relacionada.

object

No

Respuesta
{
    "id": "message_f1933671-19e1-4162-ad25-7326165123e1",
    "object": "thread.message",
    "created_at": 1711508433283,
    "thread_id": "thread_e99a9fe7-0433-426f-98ad-a5139c36579c",
    "incomplete_details": {},
    "completed_at": null,
    "incomplete_at": null,
    "assistant_id": "",
    "run_id": "",
    "file_ids": [],
    "role": "user",
    "content": [
        {
            "type": "text",
            "text": {
                "value": "Who are you",
                "annotations": []
            }
        }
    ],
    "metadata": {},
    "name": "",
    "plugin_call": {},
    "tool_calls": [],
    "status": "",
    "request_id": "b3ad40b9-f052-9665-a064-dab11c34625f"
}
Parámetros de respuesta

Se devuelve la clase de mensaje. Además de los parámetros de solicitud, la respuesta contiene los siguientes campos:

  • id: el ID del mensaje.
  • request_id: el ID de la solicitud.

SDK

Ejemplo de código
from dashscope import Messages
import dashscope
import os

dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
msg = Messages.create(
    'the_thread_id',
    # Set the API key using an environment variable. If an environment variable is not set, replace the following line with api_key="sk-xxx" and your Model Studio API key.
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    content='The message content.',
    role='user',
    metadata={'key': 'value'}
)
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.InvalidateParameter;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.threads.messages.Messages;
import com.alibaba.dashscope.threads.messages.TextMessageParam;
import com.alibaba.dashscope.threads.messages.ThreadMessage;
import com.alibaba.dashscope.utils.Constants;

public class Main {
    static {
        Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
    }
    public static void main(String[] args) throws ApiException, NoApiKeyException, InputRequiredException, InvalidateParameter, InterruptedException {
        // create a message to thread
        Messages messages = new Messages();
        TextMessageParam param = TextMessageParam.builder()
                // Set the API key using an environment variable. If an environment variable is not set, replace the following line with .apiKey("sk-xxx") and your Model Studio API key.
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .role("user")
                .content("How to make delicious beef and potato stew?")
                .build();
        ThreadMessage message = messages.create("threadId", param);
    }
}
Parámetros de solicitud

Parámetro

Tipo

Predeterminado

Descripción

thread_id

string

-

El ID del hilo.

content

string

-

El contenido del mensaje.

role

str

'user'

El rol del mensaje. Valor predeterminado: user.

metadata

Dict

None

La información de clave-valor asociada con el mensaje.

workspace

string

None

El ID de espacio de trabajo de Alibaba Cloud Model Studio. Este parámetro solo es necesario cuando `api_key` es una clave de API para un subespacio de trabajo.

api_key

string

None

La clave de API para Alibaba Cloud Model Studio. Le recomendamos que configure la clave de API como variable de entorno.

Respuesta

El resultado es un objeto Message. El siguiente código muestra un ejemplo del contenido con formato JSON:

{
    "id": "message_05494921-a646-484e-85fc-76329acba842",
    "object": "thread.message",
    "created_at": 1711345341301,
    "thread_id": "thread_f1e7737e-b045-479f-99d1-510db49d535b",
    "incomplete_details": {},
    "completed_at": null,
    "incomplete_at": null,
    "assistant_id": "",
    "run_id": "",
    "file_ids": [],
    "role": "user",
    "content": [
        {
            "type": "text",
            "text": {
                "value": "sdhafjdasf",
                "annotations": []
            }
        }
    ],
    "metadata": {
        "key": "value"
    },
    "name": "",
    "plugin_call": {},
    "tool_calls": [],
    "status": "",
    "status_code": 200,
    "request_id": "631de0b3-7e50-9c9e-8444-0924d1b7e7a5"
}
Parámetros de respuesta

Field name

Field type

Descripción del campo

status_code

int

El código de estado HTTP de la llamada. Un valor de 200 indica que la llamada fue exitosa. Otros valores indican que la llamada falló.

id

string

El ID del mensaje, que es una cadena UUID.

content

List[dict]

El contenido del mensaje.

content.type

string

El tipo de contenido, como texto.

content.text

dict

Contenido

content.text.value

string

valor de texto del contenido

metadata

Dict

La información de clave-valor asociada con este mensaje.

tool_calls

Dict

La información de llamada a la herramienta.

plugin_call

Dict

La información de llamada al complemento.

created_at

timestamp

La hora en que se creó el asistente.

gmt_created

datetime

2024-03-22 17:12:31

gmt_modified

datetime

2024-03-22 17:12:31

code

string

Indica que la solicitud falló. Este parámetro especifica el código de error. Este parámetro se ignora si la solicitud es exitosa.

Solo Python.

message

string

Indica que la solicitud falló. Este parámetro proporciona información detallada sobre el fallo. Este parámetro se ignora si la solicitud es exitosa.

Solo Python.

Listar mensajes

HTTP

Ejemplo de código
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/threads/thread_e99a9fe7-0433-426f-98ad-a5139c36579c/messages?limit=2&order=desc' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
Parámetros de solicitud

Nombre del parámetro

Descripción

Tipo de parámetro

Obligatorio

thread id

El ID del hilo al que se pasa el mensaje.

string

Sí

limit

Número de mensajes

integer

No

order

El orden de clasificación por hora de creación: `asc` o `desc`.

string

No (Predeterminado: `desc`)

Respuesta
{
    "object": "list",
    "data": [
        {
            "id": "message_f1933671-19e1-4162-ad25-7326165123e1",
            "object": "thread.message",
            "created_at": 1711508433283,
            "thread_id": "thread_e99a9fe7-0433-426f-98ad-a5139c36579c",
            "assistant_id": "",
            "run_id": "",
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": {
                        "value": "Who are you",
                        "annotations": []
                    }
                }
            ],
            "metadata": {},
            "name": "",
            "plugin_call": {},
            "tool_calls": [],
            "status": ""
        }
    ],
    "first_id": "message_f1933671-19e1-4162-ad25-7326165123e1",
    "last_id": "message_f1933671-19e1-4162-ad25-7326165123e1",
    "has_more": false,
    "request_id": "78f7d607-4a9a-90c6-8040-d3f81c84d60a"
}
Parámetros de respuesta

Se devuelve una lista de clases de mensajes. La respuesta también incluye los parámetros de solicitud originales y los siguientes campos adicionales:

  • Una lista de múltiples mensajes.

SDK

Ejemplo de código
from dashscope import Messages
import dashscope
import os

dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

messages = Messages.list(
    'thread_id',
    # Set the API key using an environment variable. If an environment variable is not set, replace the following line with api_key="sk-xxx" and your Model Studio API key.
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    limit=1,
    order='desc'
)
import com.alibaba.dashscope.common.GeneralListParam;
import com.alibaba.dashscope.common.ListResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.InvalidateParameter;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.threads.messages.Messages;
import com.alibaba.dashscope.threads.messages.ThreadMessage;
import com.alibaba.dashscope.utils.Constants;

public class Main {
    static {
        Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
    }
    public static void main(String[] args) throws ApiException, NoApiKeyException, InputRequiredException, InvalidateParameter, InterruptedException {
        Messages messages = new Messages();
        // Set the API key using an environment variable. If an environment variable is not set, replace the following line with .apiKey("sk-xxx") and your Model Studio API key.
        GeneralListParam listThreadMessages = GeneralListParam.builder()
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .build();
        ListResult<ThreadMessage> message = messages.list("threadId", listThreadMessages);
    }
}
Parámetros de solicitud

Parámetro

Tipo

Predeterminado

Descripción

thread_id

string

-

El ID del hilo a consultar.

limit

int

None

El número de mensajes a recuperar.

order

string

None

El orden de clasificación por `created_at`.

workspace

string

None

El ID de espacio de trabajo de Alibaba Cloud Model Studio, que solo es necesario cuando `api_key` es una clave de API para un subespacio de trabajo.

api_key

string

None

La clave de API para Alibaba Cloud Model Studio. Le recomendamos que configure la clave de API como variable de entorno.

Parámetros de respuesta

Field name

Field type

Descripción del campo

has_more

boolean

Indica si se pueden recuperar más mensajes.

last_id

string

El ID del último mensaje en la lista devuelta.

first_id

string

El ID del primer mensaje en la lista devuelta.

data

list[Message]

Una lista de objetos Message.

Recuperar un mensaje

HTTP

Ejemplo de código
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/threads/thread_e99a9fe7-0433-426f-98ad-a5139c36579c/messages/message_ea26d29d-4509-490e-98e9-9f6238bd821b' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
Parámetros de solicitud

Nombre del parámetro

Descripción

Tipo de parámetro

Obligatorio

thread id

El ID del hilo del mensaje a recuperar.

string

Sí

message_id

El ID del mensaje a recuperar.

string

Sí

Respuesta
{
    "id": "message_ea26d29d-4509-490e-98e9-9f6238bd821b",
    "object": "thread.message",
    "created_at": 1711508622598,
    "thread_id": "thread_e99a9fe7-0433-426f-98ad-a5139c36579c",
    "assistant_id": "",
    "run_id": "",
    "role": "user",
    "content": [
        {
            "type": "text",
            "text": {
                "value": "Hello",
                "annotations": []
            }
        }
    ],
    "metadata": {},
    "name": "",
    "plugin_call": {},
    "tool_calls": [],
    "status": "",
    "request_id": "4d5ce962-91c3-9edb-87f7-00bbf985135e"
}
Parámetros de respuesta

Se devuelve la clase de mensaje recuperada. Además de los parámetros de solicitud, la respuesta contiene los siguientes campos:

  • id: ID del mensaje
  • request_id: el ID de la solicitud.

SDK

Ejemplo de código
from dashscope import Messages
import dashscope
import os

dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

message = Messages.retrieve(
    'message_id',
    # Set the API key using an environment variable. If an environment variable is not set, replace the following line with api_key="sk-xxx" and your Model Studio API key.
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    thread_id='thread_id'
)
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.InvalidateParameter;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.threads.messages.Messages;
import com.alibaba.dashscope.threads.messages.ThreadMessage;
import com.alibaba.dashscope.utils.Constants;

public class Main {
    static {
        Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
    }
    public static void main(String[] args) throws ApiException, NoApiKeyException, InputRequiredException, InvalidateParameter, InterruptedException {
        Messages messages = new Messages();
        // Set the API key using an environment variable. If an environment variable is not set, replace the following line with .apiKey("sk-xxx") and your Model Studio API key.
        String apiKey = System.getenv("DASHSCOPE_API_KEY");
        ThreadMessage message = messages.retrieve("threadId", "messageId", apiKey);
    }
}
Parámetros de solicitud

Parámetro

Tipo

Predeterminado

Descripción

message_id

string

-

El ID del mensaje a consultar.

thread_id

string

-

El ID del hilo al que pertenece el mensaje.

workspace

string

None

El ID de espacio de trabajo de Alibaba Cloud Model Studio. Este parámetro solo es necesario cuando api_key es una clave de API de subespacio de trabajo.

api_key

string

None

La clave de API para Alibaba Cloud Model Studio. Le recomendamos que configure la clave de API como variable de entorno.

Parámetros de respuesta

Consulte la respuesta para la operación de creación.

Modificar un mensaje

HTTP

Ejemplo de código
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/threads/thread_e99a9fe7-0433-426f-98ad-a5139c36579c/messages/message_ea26d29d-4509-490e-98e9-9f6238bd821b' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--data '{
    "metadata": {
        "modified": "true",
        "user": "abc123"
    }
}'
Parámetros de solicitud

Nombre del parámetro

Parámetros de entrada

Tipo de parámetro

Obligatorio

thread_id

El ID del hilo a modificar.

string

Sí

message_id

El ID del mensaje a modificar.

string

Sí

metadata

Los metadatos.

dict

Respuesta
{
    "id": "message_ea26d29d-4509-490e-98e9-9f6238bd821b",
    "object": "thread.message",
    "created_at": 1711508622598,
    "thread_id": "thread_e99a9fe7-0433-426f-98ad-a5139c36579c",
    "incomplete_details": {},
    "completed_at": null,
    "incomplete_at": null,
    "assistant_id": "",
    "run_id": "",
    "file_ids": [],
    "role": "user",
    "content": [
        {
            "type": "text",
            "text": {
                "value": "Hello",
                "annotations": []
            }
        }
    ],
    "metadata": {
        "modified": "true",
        "user": "abc123"
    },
    "name": "",
    "plugin_call": {},
    "tool_calls": [],
    "status": "",
    "request_id": "7877b011-cb94-9df1-9add-dc42b7d611f6"
}
Parámetros de salida

Se devuelve la clase de mensaje modificada. Además de los parámetros de solicitud, la respuesta contiene los siguientes campos:

  • id: ID del mensaje
  • request_id: el ID de la solicitud.

SDK

Ejemplo de código
from dashscope import Messages
import dashscope
import os

dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

thread = Messages.update(
    'message_id',
    # Set the API key using an environment variable. If an environment variable is not set, replace the following line with api_key="sk-xxx" and your Model Studio API key.
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    thread_id='the_message_thread_id',
    metadata={'key': 'value'}
)
import java.util.Collections;
import com.alibaba.dashscope.common.UpdateMetadataParam;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.InvalidateParameter;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.threads.messages.Messages;
import com.alibaba.dashscope.utils.Constants;

public class Main {
    static {
        Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
    }
    public static void main(String[] args) throws ApiException, NoApiKeyException, InputRequiredException, InvalidateParameter, InterruptedException {
        Messages messages = new Messages();
        // Set the API key using an environment variable. If an environment variable is not set, replace the following line with .apiKey("sk-xxx") and your Model Studio API key.
        UpdateMetadataParam updateMetadataParam = UpdateMetadataParam.builder()
                .metadata(Collections.singletonMap("key", "value"))
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .build();
        messages.update("thread_id", "message_Id", updateMetadataParam);
    }
}
Parámetros de solicitud

Parámetro

Tipo

Predeterminado

Descripción

message_id

string

-

El ID del mensaje a actualizar.

thread_id

string

-

El ID del hilo al que pertenece el mensaje que se va a actualizar.

metadata

Dict

None

La información asociada con el hilo.

workspace

string

None

El ID de espacio de trabajo de Alibaba Cloud Model Studio, que solo es necesario cuando api_key es una clave de API de subespacio de trabajo.

api_key

string

None

La clave de API para Alibaba Cloud Model Studio. Le recomendamos que configure la clave de API como variable de entorno.

Parámetros de respuesta

Consulte la respuesta para la operación de creación.

Códigos de error

Si una llamada a la API del asistente falla y devuelve un mensaje de error, consulte Mensajes de error para resolver el problema.