Esta guía recorre el flujo típico de una integración que sincroniza activos con su propio
sistema (un ERP o un sistema de mantenimiento) usando el código de inventario como llave.
Todos los ejemplos usan un API token en
$ATLAS_TOKEN.
Los campos los crea un administrador de tu empresa en Configuración › Campos de activos. Leer
valores requiere el permiso
access_tracking o access_fleet_assets; escribirlos,
access_fleet_assets. Un API token tiene los permisos del rol de su dueño.1. Listar las definiciones
namees la clave del valor en el activo. No cambia aunque cambie la etiqueta.typedefine el formato del valor:textyselectson texto (en un desplegable va elvaluede la opción, no su etiqueta),numberes número,dateesYYYY-MM-DDybooleanestrue/false.rules.unique(Valor único) garantiza que dos activos de la empresa no tengan el mismo valor. Compara sin distinguir mayúsculas, tildes ni espacios de los extremos:asm-001yASM-001son el mismo valor. Solo un campo con Valor único sirve para identificar activos.
?status=all incluye los archivados.
2. Leer los valores de los activos
Cada activo traecustomFields con los valores de los campos activos, bajo su nombre
interno. Un campo sin valor no aparece.
3. Buscar por un campo
customFields.<nombre interno>=<valor> filtra la lista por igualdad. Varios filtros se
combinan con «y».
4. Leer y actualizar un activo por su código
ConidField, el segmento de la ruta deja de ser el id del activo y pasa a ser el valor
buscado. idField acepta plate, name o el nombre interno de un campo con Valor único.
PATCH: cambia solo lo que envíes. En customFields, las claves
enviadas se escriben, null o "" borran el valor y las ausentes no se tocan.
5. Cargar en lote
POST /api/assets/batch/update actualiza hasta 100 activos por llamada. Cada entrada
identifica un activo por id, o por idField + idValue, y trae en data el mismo cuerpo
que el PATCH. No crea activos.
Empezá con "dryRun": true: valida todas las filas sin guardar nada y devuelve el mismo
resultado que tendría la carga real.
200 con un resultado por entrada, en el mismo orden (index), y un
resumen:
Cómo leerlo:
- Una fila que falla no detiene a las demás. Para reintentar, reenviá solo las filas que
no salieron
updated. - Las filas se procesan en orden: un valor único repetido dentro del mismo lote falla en la segunda fila que lo trae (en el ejemplo, la fila 1 choca con la fila 0).
- Cuando el resultado te conforma, mandá el mismo lote sin
dryRun(o confalse). Cada fila actualizada queda en el Registro de actividades como una edición del activo. - La respuesta es
400solo si la petición en sí es inválida: más de 100 entradas, ninguna, unidmal formado o una forma incorrecta. En ese caso no se procesa ninguna fila.
Errores
En las operaciones de un activo (PATCH, PUT, POST) y en el campo error de cada fila del
lote, los errores de campos personalizados traen details para que tu integración sepa qué
corregir:
Ejemplo de un valor que no cumple una regla:
400 con
details.key: la API no descarta valores en silencio. El resto del contrato de errores está en
Códigos de error.
