Todos los productos
Search
Centro de documentos

IoT Platform:Conexión y comunicación mediante HTTPS

Última actualización: Sep 04, 2026

IoT Platform admite la conexión de dispositivos mediante HTTPS. Los dispositivos se autentican para obtener un token y luego lo usan para reportar datos.

Uso y límites

  • La comunicación HTTPS solo es compatible en las regiones China (Shanghai)

    , China (Beijing) y China (Shenzhen)

    .

  • Solo la región China (Shanghai) admite conexiones HTTPS de corta duración. Los estados de conexión y desconexión de los dispositivos son visibles en la consola de IoT Platform. Suscríbase a los cambios de estado del dispositivo mediante suscripciones del lado del servidor AMQP.

  • Solo los dispositivos conectados directamente pueden comunicarse mediante HTTPS. No se admiten dispositivos gateway ni subdispositivos.

  • Diseñado para el reporte simple de datos. La carga útil de subida tiene un límite de 128 KB.

  • Los topics siguen el MQTT topic format y pueden reutilizarse desde conexiones MQTT. Para reportar datos, envíe una solicitud POST a ${endpoint}/topic/${topic}. No se admiten parámetros de cadena de consulta (?query_String=xxx).

  • Las conexiones HTTPS solo admiten el método de solicitud POST.

  • El token de autenticación tiene una validez de siete días. Su aplicación debe gestionar la caducidad del token y la reautenticación.

Flujo de conexión

El flujo de conexión consta de dos pasos: autenticar el dispositivo para obtener un token y usar dicho token para reportar datos.

  1. Autentique el dispositivo para obtener un token.

    Solicitud de autenticación del dispositivo:

    POST /auth HTTP/1.1
    Host: ${YourEndpoint}
    Content-Type: application/json
    Content-Length: 214
    body: {"version":"default","clientId":"mylight1000002","signmethod":"hmacsha1","sign":"4870141D4067227128CBB4377906C3731CAC221C","productKey":"ZG1EvTE****","deviceName":"NlwaSPXsCpTQuh8FxBGH","timestamp":"1501668289957"}

    Tabla 1. Descripción de parámetros

    Parámetro Descripción
    Method Método de solicitud. Solo se admite POST.
    URL URL. Solo HTTPS. Valor: /auth.
    Host El endpoint HTTP. Obtenga el endpoint en View and configure instance endpoints.
    Content-Type Formato de codificación de datos. Solo se admite application/json. Otros formatos devuelven un error de parámetro.
    Content-Length Longitud del cuerpo (body) del mensaje HTTP.
    Importante
    • HTTP/1.1+ incluye Content-Length de forma predeterminada; HTTP/1.0 no lo hace. Incluya el campo Content-Length al autenticarse mediante HTTP.
    • El valor de Content-Length debe coincidir exactamente con la longitud del body. Una discrepancia provoca que el análisis sintáctico del body falle y que la autenticación sea rechazada.
    body Información de autenticación del dispositivo en formato JSON. Los parámetros se describen en la tabla body parameters.

    Tabla 2. Parámetros del body

    Nombre del campo Obligatorio Descripción
    productKey Sí ProductKey del dispositivo. Encuéntrelo en la página Device Details de la instancia correspondiente.
    deviceName Sí Nombre del dispositivo. Encuéntrelo en la página Device Details de la consola de IoT Platform.
    clientId Sí Identificador del cliente. Máximo de 64 caracteres. Use una dirección MAC o un número de serie (SN) como clientId.
    timestamp No Marca de tiempo en milisegundos transcurridos desde el 1 de enero de 1970 (UTC). La solicitud caduca 15 minutos después de esta marca de tiempo.
    sign Sí Firma.

    Formato de la firma: hmacmd5(DeviceSecret,content).

    content comprende todos los parámetros (excepto version, sign y signmethod) ordenados alfabéticamente y concatenados sin delimitadores.

    Ejemplo de firma:

    Dados clientId = 127.0.0.1, deviceName = http_test, productKey = a1FHTWxQ**, timestamp = 1567003778853, signmethod = hmacmd5, deviceSecret = 89VTJylyMRFuy2T3sywQGbm5Hmk1**, la firma es:

    hmacmd5("89VTJylyMRFuy2T3sywQGbm5Hmk1**","clientId127.0.0.1deviceNamehttp_testproductKeya1FHTWxQ**timestamp1567003778853").toHexString();

    La función toHexString() convierte datos binarios en una cadena hexadecimal sin distinción entre mayúsculas y minúsculas. Por ejemplo, la matriz decimal [60 68 -67 -7 -17 99 30 69 117 -54 -58 -58 103 -23 113 71] se convierte en: 3C44BDF9EF631E4575CAC6C667E97147.

    signmethod No Algoritmo de firma. Valores válidos: hmacmd5, hmacsha1.

    Predeterminado: hmacmd5.

    version No Número de versión. Predeterminado: default.

    Respuesta de autenticación exitosa:

    body:
    {
      "code": 0,
      "message": "success",
      "info": {
        "token":  "6944e5bfb92e4d4ea3918d1eda39****"
      }
    }
    Nota
    • Almacene en caché el token devuelto localmente.

    • Incluya el token en cada solicitud de reporte de datos. Si el token caduca, vuelva a autenticarse para obtener uno nuevo.

    Tabla 3. Códigos de error

    code

    message

    Observaciones

    10000

    common error

    Error desconocido.

    10001

    param error

    Los parámetros de la solicitud no son válidos.

    20000

    auth check error

    La autenticación del dispositivo falló.

    20004

    update session error

    La actualización falló.

    40000

    request too many

    El número de solicitudes supera el límite. Se activó el control de flujo.

  2. Reporte datos.

    Los dispositivos envían datos a topics con permiso de publicación (Publish). Se admiten topics personalizados.

    Por ejemplo, si el topic es /${YourProductKey}/${YourDeviceName}/pub, el nombre del dispositivo es device123 y la ProductKey del producto es a1GFjLP****, puede llamar a la URL https://iot-as-http.cn-shanghai.aliyuncs.com/topic/a1GFjLP****/device123/pub para reportar datos.

    Solicitud de reporte de datos:

    POST /topic/${topic} HTTP/1.1
    Host: ${YourEndpoint}
    password:${token}
    Content-Type: application/octet-stream
    Content-Length: 53
    body: ${your_data}

    Tabla 4. Parámetros de reporte de datos

    Parámetro Descripción
    Method Método de solicitud. Solo se admite POST.
    URL /topic/${topic}. Reemplace ${topic} con el topic de destino. Solo HTTPS.
    Host Dirección del endpoint.
    password Parámetro de encabezado. Establézcalo con el token devuelto por la operación auth.
    Content-Type Formato de codificación de datos. Solo se admite application/octet-stream. Otros formatos devuelven un error de parámetro.
    Content-Length Longitud de la entidad del mensaje HTTP.
    body Datos que se enviarán a ${topic}.

    Respuesta exitosa:

    body:
    {
      "code": 0,
      "message": "success",
      "info": {
        "messageId": 892687****47040
      }
    }

    Tabla 5. Códigos de error

    code

    message

    Observaciones

    10000

    common error

    Error desconocido.

    10001

    param error

    Los parámetros de la solicitud no son válidos.

    20001

    token is expired

    El token ha caducado. Llame nuevamente a la operación auth para obtener un nuevo token.

    20002

    token is null

    No se encontró el token en el encabezado de la solicitud.

    20003

    check token error

    No se pudo recuperar la información de identidad del token. Llame nuevamente a la operación auth para obtener un nuevo token.

    30001

    publish message error

    Falló el reporte de datos.

    40000

    request too many

    El número de solicitudes supera el límite. Se activó el control de flujo.

Ejemplos

Para conectar un cliente HTTP a IoT Platform, siga los pasos indicados en Connect an HTTP client.