Todos os produtos
Search
Central de documentação

IoT Platform:Conexão e comunicação via HTTPS

Última atualização: Jun 26, 2026

O IoT Platform suporta conexões de dispositivos via HTTPS. Os dispositivos se autenticam para obter um token e, em seguida, usam esse token para relatar dados.

Uso e limites

  • A comunicação HTTPS é suportada apenas nas regiões China (Shanghai)

    , China (Beijing) e China (Shenzhen)

    .

  • Somente a região China (Shanghai) oferece suporte a conexões HTTPS de curta duração. Os status online e offline do dispositivo ficam visíveis no console do IoT Platform. Inscreva-se nas alterações de status do dispositivo por meio de assinaturas do lado do servidor AMQP.

  • Apenas dispositivos conectados diretamente podem se comunicar via HTTPS. Dispositivos gateway e subdispositivos não são suportados.

  • Indicado para relatórios simples de dados. O payload de uplink de dados é limitado a 128 KB.

  • Os tópicos seguem o formato de tópico MQTT e podem ser reutilizados a partir de conexões MQTT. Para relatar dados, envie uma solicitação POST para ${endpoint}/topic/${topic}. Parâmetros de string de consulta (?query_String=xxx) não são suportados.

  • Conexões HTTPS aceitam exclusivamente o método de solicitação POST.

  • O token de autenticação tem validade de sete dias. Sua aplicação deve gerenciar a expiração do token e realizar nova autenticação quando necessário.

Fluxo de conexão

O fluxo de conexão consiste em duas etapas: autenticar o dispositivo para obter um token e, posteriormente, usar esse token para relatar dados.

  1. Autentique o dispositivo para obter um token.

    Solicitação de autenticação do 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"}
    Tabela 1. Descrição dos parâmetros
    Parâmetro Descrição
    Method Método da solicitação. Apenas POST é suportado.
    URL URL. Somente HTTPS. Valor: /auth.
    Host O endpoint HTTP. Obtenha o endpoint em Visualizar e configurar endpoints de instância.
    Content-Type Formato de codificação de dados. Apenas application/json é suportado. Outros formatos retornam erro de parâmetro.
    Content-Length Comprimento do body da mensagem HTTP.
    Importante
    • HTTP/1.1+ inclui Content-Length por padrão; HTTP/1.0 não inclui. Inclua o campo Content-Length ao autenticar via HTTP.
    • O valor de Content-Length deve corresponder exatamente ao tamanho do body. Incompatibilidades causam falha na análise do body e resultam em falha na autenticação.
    body Informações de autenticação do dispositivo em formato JSON. Os parâmetros estão descritos na tabela de parâmetros do body.
    Tabela 2. Parâmetros do body
    Nome do campo Obrigatório Descrição
    productKey Sim ProductKey do dispositivo. Encontre-a na página Device Details na instância correspondente.
    deviceName Sim Nome do dispositivo. Encontre-o na página Device Details no console do IoT Platform.
    clientId Sim ID do cliente. Máximo de 64 caracteres. Use um endereço MAC ou número de série (SN) como clientId.
    timestamp Não Carimbo de data/hora em milissegundos desde 1º de janeiro de 1970 (UTC). A solicitação expira 15 minutos após este carimbo de data/hora.
    sign Sim Assinatura.

    Formato da assinatura: hmacmd5(DeviceSecret,content).

    content corresponde a todos os parâmetros (exceto version, sign e signmethod) ordenados alfabeticamente e concatenados sem delimitadores.

    Exemplo de assinatura:

    Considerando clientId = 127.0.0.1, deviceName = http_test, productKey = a1FHTWxQ**, timestamp = 1567003778853, signmethod = hmacmd5, deviceSecret = 89VTJylyMRFuy2T3sywQGbm5Hmk1**, a assinatura é:

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

    A função toHexString() converte dados binários em uma string hexadecimal que não diferencia maiúsculas de minúsculas. Por exemplo, o array decimal [60 68 -67 -7 -17 99 30 69 117 -54 -58 -58 103 -23 113 71] é convertido para: 3C44BDF9EF631E4575CAC6C667E97147.

    signmethod Não Algoritmo de assinatura. Valores válidos: hmacmd5, hmacsha1.

    Padrão: hmacmd5.

    version Não Número da versão. Padrão: default.

    Resposta de autenticação bem-sucedida:

    body:
    {
      "code": 0,
      "message": "success",
      "info": {
        "token":  "6944e5bfb92e4d4ea3918d1eda39****"
      }
    }
    Nota
    • Armazene o token retornado em cache localmente.

    • Inclua o token em cada solicitação de relatório de dados. Caso o token expire, autentique-se novamente para obter um novo.

    Tabela 3. Códigos de erro

    code

    message

    Observações

    10000

    common error

    Erro desconhecido.

    10001

    param error

    Parâmetros da solicitação inválidos.

    20000

    auth check error

    Falha na autenticação do dispositivo.

    20004

    update session error

    Falha na atualização.

    40000

    request too many

    Número de solicitações excede o limite. Limitação de taxa acionada.

  2. Relate dados.

    Dispositivos enviam dados para tópicos com permissão de publicação (Publish). Tópicos personalizados são suportados.

    Por exemplo, se o tópico for /${YourProductKey}/${YourDeviceName}/pub, o nome do dispositivo for device123 e a ProductKey do produto for a1GFjLP****, chame a URL https://iot-as-http.cn-shanghai.aliyuncs.com/topic/a1GFjLP****/device123/pub para relatar dados.

    Solicitação de relatório de dados:

    POST /topic/${topic} HTTP/1.1
    Host: ${YourEndpoint}
    password:${token}
    Content-Type: application/octet-stream
    Content-Length: 53
    body: ${your_data}
    Tabela 4. Parâmetros de relatório de dados
    Parâmetro Descrição
    Method Método da solicitação. Apenas POST é suportado.
    URL /topic/${topic}. Substitua ${topic} pelo tópico de destino. Somente HTTPS.
    Host Endereço do endpoint.
    password Parâmetro de cabeçalho. Defina como o token retornado pela operação auth.
    Content-Type Formato de codificação de dados. Apenas application/octet-stream é suportado. Outros formatos retornam erro de parâmetro.
    Content-Length Comprimento da entidade da mensagem HTTP.
    body Dados a serem enviados para ${topic}.

    Resposta bem-sucedida:

    body:
    {
      "code": 0,
      "message": "success",
      "info": {
        "messageId": 892687****47040
      }
    }
    Tabela 5. Códigos de erro

    code

    message

    Observações

    10000

    common error

    Erro desconhecido.

    10001

    param error

    Parâmetros da solicitação inválidos.

    20001

    token is expired

    Token expirado. Chame a operação auth novamente para obter um novo token.

    20002

    token is null

    Token não encontrado no cabeçalho da solicitação.

    20003

    check token error

    Falha ao recuperar informações de identidade do token. Chame a operação auth novamente para obter um novo token.

    30001

    publish message error

    Falha ao relatar dados.

    40000

    request too many

    Número de solicitações excede o limite. Limitação de taxa acionada.

Exemplos

Para conectar um cliente HTTP ao IoT Platform, siga as etapas em Conectar um cliente HTTP.