Todos los productos
Search
Centro de documentos

IoT Platform:InvokeThingsService

Última actualización: Sep 05, 2026

Invoca varios servicios de dispositivo simultáneamente.

Notas de uso

Esta operación solo se puede invocar de forma asíncrona.

Cuando el dispositivo recibe la invocación del servicio, devuelve una respuesta al solicitante. Al configurar el dispositivo, debe especificar la lógica de respuesta y los parámetros correspondientes. Los formatos de datos de estos parámetros deben cumplir con el protocolo Alink. Ejemplo:

{
    "id": "58***89",
    "code": 200,
    "data": {},
    "message": "success",
    "localizedMsg": "localizedMsg"
}
            
Nota
  • El parámetro id especifica el identificador único de la solicitud. IoT Platform genera este ID. El dispositivo puede obtenerlo de los parámetros de la solicitud y devolverlo en la respuesta.

  • El parámetro code indica el resultado de la invocación del servicio. Su valor es un número entero.

  • El parámetro data contiene el resultado de la invocación del servicio y se devuelve al solicitante. Puede definir los parámetros incluidos en este resultado. Los datos deben estar en formato JSON.

  • Los parámetros message y localizedMsg son opcionales.

    Link SDK for C de IoT Platform incluye un ejemplo sobre cómo utilizar un modelo de Thing Specification Language (TSL). Para más información, consulte Invocar servicios de dispositivo.

Límites de QPS

Puede invocar esta API hasta 10 veces por segundo por cuenta.

Nota

Los usuarios RAM de una cuenta de Alibaba Cloud comparten la cuota de dicha cuenta.

Depuración

OpenAPI Explorer calcula automáticamente el valor de la firma. Para mayor comodidad, le recomendamos invocar esta operación desde OpenAPI Explorer, ya que genera dinámicamente código de ejemplo para diferentes SDK.

Parámetros de solicitud

ParámetroTipoObligatorioEjemploDescripción
ActionStringSíInvokeThingsService

La operación que desea ejecutar. Establezca el valor en InvokeThingsService.

ArgsStringSí{"param1":1}

El parámetro de entrada del servicio. El valor es una cadena JSON. Ejemplo: Args={"param1": 1}.

Si no desea configurar un parámetro de entrada para el servicio, establezca el valor en Args={}.

Importante Si los datos TSL son de tipo float o double, los valores de parámetro correspondientes deben contener como mínimo un decimal. Ejemplos: 10.0 y 11.1.
DeviceName.NRepeatListSídevice1

El nombre del dispositivo cuyo servicio se invoca. Puede especificar hasta 100 nombres de dispositivo.

IdentifierStringSíSet

El identificador del servicio.

Para consultar el identificador del servicio, utilice uno de los siguientes métodos:

  • Inicie sesión en la consola de IoT Platform. En la pestaña Define Feature del producto al que pertenece el dispositivo, podrá consultar el identificador.
  • Invoque la operación QueryThingModel y revise el identificador en la información TSL devuelta.
Nota Si un servicio llamado testService pertenece a un módulo personalizado denominado testFb, puede establecer este parámetro en testFb:testService. El módulo personalizado no es el módulo predeterminado.
ProductKeyStringSía1BwAGV****

La clave ProductKey del producto al que pertenece el dispositivo.

IotInstanceIdStringNoiot_instc_pu****_c*-v64********

El ID de la instancia de IoT. Puede consultar el ID de la instancia en la página Overview de la consola de IoT Platform.

Importante
  • Si su instancia tiene un ID, debe especificarlo en este parámetro; de lo contrario, la invocación fallará.
  • Si su instancia no tiene una página de Overview ni un ID generado, no necesita configurar este parámetro.

Para más información, consulte Descripción general de instancias.

QosIntegerNo1

El nivel de calidad de servicio (QoS) del mensaje. Valores válidos:

  • 0 (predeterminado): El sistema envía el mensaje como máximo una vez.
  • 1: El sistema envía el mensaje como mínimo una vez. Si no se recibe una respuesta PUBACK tras publicar un mensaje QoS 1, el mensaje se reenvía al dispositivo cuando este se reconecta a IoT Platform.

Además de los parámetros de solicitud específicos de la operación mencionados anteriormente, debe configurar los parámetros de solicitud comunes al invocar esta operación. Para más información, consulte Parámetros comunes.

Parámetros de respuesta

ParámetroTipoEjemploDescripción
CodeStringiot.system.SystemException

El código de error devuelto si la invocación falla. Para más información sobre los códigos de error, consulte Códigos de error.

ErrorMessageStringA system exception occurred.

El mensaje de error devuelto si la invocación falla.

RequestIdStringE55E50B7-40EE-4B6B-8BBE-D3ED55CCF565

El ID de la solicitud.

SuccessBooleantrue

Indica si la invocación fue exitosa. Valores válidos:

  • true: La invocación fue exitosa. Sin embargo, esto no garantiza que el servicio se haya ejecutado. Para verificar el resultado de la ejecución, revise los registros del dispositivo.
  • false: La invocación falló.

Ejemplos

Solicitudes de ejemplo

https://iot.cn-shanghai.aliyuncs.com/?Action=InvokeThingsService
&Args=%7B%20%20%20%20%20%22walk%22%3A%22a~z%22%2C%20%20%20%20%20%22city%22%3A%22shanghai%22%20%7D
&DeviceName.1=1102andriod02
&DeviceName.2=1102android01
&Identifier=TimeReset
&ProductKey=a1hWjHD****
&<Common request parameters>

Respuestas exitosas de ejemplo

Formato XML

<InvokeThingsServiceResponse>
  <RequestId>059C3274-6197-4BEC-95E4-49A076330E57</RequestId>
  <Success>true</Success>
</InvokeThingsServiceResponse>

Formato JSON

{
  "RequestId": "059C3274-6197-4BEC-95E4-49A076330E57",
  "Success": true
}

Códigos de error

Para obtener una lista de códigos de error, consulte Códigos de error del servicio.