Ir al contenido

Importación masiva

La importación masiva provisiona un lote de fábrica completo de una sola vez. Subes un CSV de hardware IDs y asignaciones de profile; la plataforma valida cada fila, crea los registros de provisioning y te devuelve un manifest cifrado de un solo uso con las keys generadas para enviarlo a la fábrica. Cada dispositivo se conecta luego por su cuenta vía el flujo de key claim.

Esta es la ruta para cientos o miles de dispositivos. Para un solo dispositivo, usa registro manual.

  1. Prepara un CSV del lote — una fila por dispositivo.
  2. Súbelo como admin del tenant. Cada fila se valida de forma independiente.
  3. Revisa el resultado — registros creados, más un informe por fila de cualquier fallo y duplicado.
  4. Descarga el manifest cifrado de las provisioning keys generadas (mostrado una vez).
  5. Distribuye el manifest a la fábrica; las keys se graban en los dispositivos.
  6. Los dispositivos reclaman su identidad en el primer arranque según el flujo de key claim.

Una fila por dispositivo. La fila de cabecera nombra las columnas; el orden no importa.

ColumnaObligatorioDescripción
hardware_idIdentificador de hardware estable; único dentro del tenant
profile_idDevice profile que hereda el dispositivo
namenoNombre legible del dispositivo
groupsnoNombres de grupos; separa varios con ;
tagsnoPares key=value; separa varios con ;
hardware_id,profile_id,name,groups,tags
AA:BB:CC:00:11:01,p_temp_sensor_v2,Cold Store Sensor 001,cold-store;floor-1,region=eu;line=A
AA:BB:CC:00:11:02,p_temp_sensor_v2,Cold Store Sensor 002,cold-store;floor-1,region=eu;line=A
AA:BB:CC:00:11:03,p_temp_sensor_v2,Cold Store Sensor 003,cold-store;floor-2,region=eu;line=B
AA:BB:CC:00:11:04,p_humidity_v1,Humidity Probe 001,cold-store;floor-2,region=eu;line=B

Cada fila se valida por su cuenta. Las comprobaciones de validación incluyen:

  • hardware_id está presente y bien formado
  • profile_id referencia un profile que existe en tu tenant
  • hardware_id no está ya ocupado en el tenant (detección de duplicados)

Con la importación parcial habilitada, las filas válidas se importan aunque otras fallen — la importación no aborta en la primera fila errónea. El resultado informa de los desenlaces por fila para que puedas corregir y volver a subir solo los fallos:

{
"imported": 498,
"failed": 2,
"rows": [
{ "row": 312, "hardware_id": "AA:BB:CC:00:12:38", "status": "duplicate", "reason": "hardware_id already exists in tenant" },
{ "row": 457, "hardware_id": "", "status": "invalid", "reason": "hardware_id is required" }
]
}

En caso de éxito, la plataforma genera las provisioning keys del lote y las devuelve como un manifest cifrado de un solo uso. Como todo secreto en bruto en CORE-M, las keys se muestran una vez — solo se almacenan sus hashes SHA-256.

Distribuye el manifest a tu fábrica o fabricante por contrato a través de un canal seguro. Cada dispositivo recibe su provisioning key grabada durante la fabricación.

Una vez que un dispositivo arranca en el campo con su provisioning key, reclama su identidad exactamente como se describe en el flujo de key claim: llama a POST /api/v1/provision, la plataforma deriva el tenant de la key, crea (o devuelve de forma idempotente) el dispositivo y emite su API key. Desde la perspectiva del dispositivo, la importación masiva es invisible — simplemente reclama y se conecta.