Colección de API de IDrive® 360
- Colección de API de IDrive® 360
- Clave de API en encabezado de autorización
- Punto final base
- Operaciones de dispositivo y empresa
- - Obtener resumen de la empresa
- - Obtener ID de configuración
- - Crear empresa
- - Obtener resumen del dispositivo
- - Actualizar notificación por correo electrónico para un dispositivo
- Códigos de respuesta HTTP:
- Respuesta de error
- Tipos de error
- Campos de error
Colección de API de IDrive® 360
La API de IDrive® 360 está construida sobre arquitectura REST y soporta JSON tanto para solicitudes como para respuestas.
La autenticación se gestiona mediante una clave de API. Puede generar esta clave desde Mi cuenta > Claves de API en su Consola de administración de IDrive® 360.
Incluya la clave generada en cada solicitud de API agregándola al encabezado HTTP bajo Authorization.
Clave de API en encabezado de autorización
| Clave | Autorización |
|---|---|
| Valor | Bearer <SU-CLAVE-API> |
Punto final base:
https://api.idrive360.com/api/msp
Device and Company Operations Operaciones de dispositivo y empresa
Obtener resumen de la empresa:
GET /company
Consume: application/json
Produce: application/json
Encabezados de la solicitud:
- Authorization: Bearer 'clave-api'
Parámetros de la solicitud:
- company_id (no requerido, número): El ID de la empresa
Respuesta exitosa:
{
"name": "default",
"status": 1,
"company_id": 15020,
"status_description": "Active",
"configuration_id": "eyJ0b2tlbiI6IkFUVkFXUTE3MjQyIiwiZW5jcnlwdGlvblJlcXVpcmVkIjpmYWxzZSwiZGVza3RvcEFwcFN0YXR1cyI6ZmFsc2V9",
"setup_link": "https://api.idrive360.com/api/v1/download/setup/win/ATVAWQ17242",
"sub_company_list": [
{
"name": "Test Company",
"status": 1,
"company_id": 15806,
"status_description": "Active",
"configuration_id": "eyJ0b2tlbiI6IkZBT0JaNDE3MjQyIiwiZW5jcnlwdGlvblJlcXVpcmVkIjpmYWxzZSwiZGVza3RvcEFwcFN0YXR1cyI6ZmFsc2V9",
"setup_link": "https://api.idrive360.com/api/v1/download/setup/win/FAOBZ417242"
},
{
"name": "MSP-1",
"status": 1,
"company_id": 15816,
"status_description": "Active",
"configuration_id": "eyJ0b2tlbiI6Ik1ZSENKUDE3MjQyIiwiZW5jcnlwdGlvblJlcXVpcmVkIjpmYWxzZSwiZGVza3RvcEFwcFN0YXR1cyI6ZmFsc2V9",
"setup_link": "https://api.idrive360.com/api/v1/download/setup/win/MYHCJP17242"
},
{
"name": "MSP-2",
"status": 1,
"company_id": 15817,
"status_description": "Active",
"configuration_id": "eyJ0b2tlbiI6Ik5KUEhIOTE3MjQyIiwiZW5jcnlwdGlvblJlcXVpcmVkIjpmYWxzZSwiZGVza3RvcEFwcFN0YXR1cyI6ZmFsc2V9",
"setup_link": "https://api.idrive360.com/api/v1/download/setup/win/NJPHH917242"
}
]
}
- En la lista de parámetros de la solicitud, si el campo 'company_id' no se especifica, se tomará como parámetro la empresa del usuario asociada con la clave API.
- Si el 'company_id' corresponde a la empresa del usuario de la clave API, entonces las subempresas de la empresa del usuario se devolverán en la respuesta con la clave 'sub_company_list'.
- Si el 'company_id' corresponde a cualquier subempresa de la empresa del usuario de la clave API, entonces solo se devolverán los detalles de esa empresa objetivo.
- La respuesta contendrá los detalles de la empresa del usuario de la clave API y sus subempresas.
- El 'configuration_id' devuelto para cada empresa tendrá las opciones 'private_encryption' y 'full_client' deshabilitadas por defecto.
- Si se desea incluir la opción 'private_encryption' o 'full_client' en el 'configuration_id', utilice la API /company/fetch_config_id con los valores de parámetro respectivos.
- El 'setup_link' devuelto es el enlace de descarga para la instalación correspondiente al 'configuration_id' devuelto. Por defecto, se devuelve el enlace de instalación para Windows.
- Si se desea descargar el enlace de instalación correspondiente a otro sistema operativo, utilice la API /company/fetch_config_id con el valor de parámetro respectivo.
Obtener ID de configuración:
GET /company/fetch_config_id
Consume: application/json
Produce: application/json
Encabezados de la solicitud:
- Authorization: Bearer 'clave-api'
Parámetros de la solicitud:
- company_id (no requerido, número): El ID de la empresa
- private_encryption (no requerido, booleano): Si el cliente instalado en el dispositivo debe tener cifrado privado [Aquí explique o proporcione enlace a la documentación de cifrado privado]
- full_client (no requerido, booleano): Si el cliente instalado en el dispositivo debe tener acceso a las funciones de cliente completo [Aquí explique o proporcione enlace a la documentación de cliente completo]
- build_type (no requerido, cadena, no distingue mayúsculas/minúsculas): El sistema operativo de destino para el que se utilizará el enlace de instalación (WIN, MAC, RPM, DEB, MSI, PKG)
Respuesta exitosa:
{
"name": "default",
"company_id": 123,
"configuration_id": "eyJ0b2tlbiI6IkFUVkFXUTE3MjQyIiwiZW5jcnlwdGlvblJlcXVpcmVkIjpmYWxzZSwiZGVza3RvcEFwcFN0YXR1cyI6ZmFsc2V9",
"setup_link": "https://api.idrive360.com/api/v1/download/setup/win/ATVAWQ17242"
}
- En la lista de parámetros de la solicitud, si el campo 'company_id' no se especifica, se tomará como parámetro la empresa del usuario asociada con la clave API.
- En la lista de parámetros de la solicitud, si los campos 'private_encryption', 'full_client' no se especifican, se tomará como valor por defecto false.
- En la lista de parámetros de la solicitud, si 'build_type' no se especifica, se tomará como valor por defecto WIN.
Crear empresa:
POST /company
Consume: application/json
Produce: application/json
Encabezados de la solicitud:
- Authorization: Bearer 'clave-api'
Cuerpo de la solicitud:
{
"name": "idrive",
"company_id": 1111
}
Success Response: 201 Created
{
"name": "idrive",
"status": 1,
"company_id": 12223,
"status_description": "Active",
"configuration_id": "eyJ0b2tlbiI6IkFUVkFXUTE3MjQyIiwiZW5jcnlwdGlvblJlcXVpcmVkIjpmYWxzZSwiZGVza3RvcEFwcFN0YXR1cyI6ZmFsc2V9",
"setup_link": "https://api.idrive360.com/api/v1/download/setup/win/ATVAWQ17242"
}
- En el cuerpo de la solicitud, si el campo 'company_id' no se especifica, se tomará como parámetro la empresa del usuario asociada con la clave API.
- El campo 'name' es obligatorio en el contenido.
- La respuesta tras la creación exitosa contendrá los detalles de la empresa.
- El 'configuration_id' devuelto para la empresa recién creada tendrá las opciones 'private_encryption' y 'full_client' deshabilitadas por defecto.
- Si se desea incluir la opción 'private_encryption' o 'full_client' en el 'configuration_id', utilice la API /company/fetch_config_id con los valores de parámetro respectivos.
- El 'setup_link' devuelto es el enlace de descarga para la instalación correspondiente al 'configuration_id' devuelto. Por defecto, se devuelve el enlace de instalación para Windows.
- Si se desea descargar el enlace de instalación correspondiente a otro sistema operativo, utilice la API /company/fetch_config_id con el valor de parámetro respectivo.
Obtener resumen del dispositivo:
GET /device/summary
Consume: application/json
Produce: application/json
Encabezados de la solicitud:
- Authorization: Bearer 'clave-api'
Parámetros de la solicitud:
- company_id (no requerido, número): El ID de la empresa
- device_id (no requerido, cadena): El ID del dispositivo
Respuesta exitosa:
[
{
"name": "test-office",
"status": "offline",
"device_id": wvlgllxuuaomn4bk4atfljznjyvsfhfeo5g6wgyart3osefi",
"company_id": "1111",
"custom_tag": " ",
"os": "linux",
"backup_status": "Success",
"version": "1.0.21",
"last_backup": "2025-06-11T11:12:58.000",
"next_backup": null,
"group_name": "Linux"
}
]
- En la lista de parámetros de la solicitud, si el campo 'company_id' no se especifica, se tomará como parámetro la empresa del usuario asociada con la clave API.
- Si se especifica el campo 'device_id', el resumen del dispositivo de solo ese dispositivo se devolverá en el array de respuesta.
- La respuesta contendrá los detalles de todos los dispositivos accesibles por el usuario correspondiente a la clave API.
| Nombre del campo | Descripción |
|---|---|
| name | El nombre del dispositivo |
| status | El estado actual del dispositivo (por ejemplo, en línea, fuera de línea, bloqueado, archivado) |
| device_id | El ID del dispositivo asociado al dispositivo |
| company_id | El ID de la empresa asociada al dispositivo |
| custom_tag | Cualquier etiqueta personalizada asignada al dispositivo |
| os | El sistema operativo del dispositivo |
| backup_status | El estado de la última copia de seguridad (por ejemplo, Éxito, Fallido, En progreso, Cancelado) |
| version | La versión de la aplicación de copia de seguridad instalada en el dispositivo |
| last_backup | La marca de tiempo de la última copia de seguridad exitosa |
| next_backup | La marca de tiempo de la próxima copia de seguridad programada |
| group_name | El nombre del grupo al que pertenece el dispositivo |
Actualizar notificación por correo electrónico para un dispositivo:
PUT/device/backup_plan/email_notification
Consume: application/json
Produce: application/json
Encabezados de la solicitud:
- Authorization: Bearer 'clave-api'
Request Body:
{
"device_id": "wtrp2zjidqr4hlsfz9vmebvtmudrpdfkayaskeunmq4civffo9",
"backup_set": "DEFAULT",
"status": true,
"type": "ALWAYS",
"emails": [
"test@idrive.com",
"support@idrive.com"
]
}
| Nombre del campo | Descripción |
|---|---|
| device_id | El ID del dispositivo asociado al dispositivo |
| backup_set | El nombre del conjunto de copia de seguridad (por ejemplo, "DEFAULT", "LOCAL", "ENTIRE_MACHINE", "MAPPED_DRIVE", "EXPRESS") |
| status | Booleano que indica si la notificación por correo electrónico debe estar habilitada (true) o deshabilitada (false) |
| type | La frecuencia de la notificación (por ejemplo, "ALWAYS", "ON_FAILURE") |
| emails | Un arreglo de direcciones de correo electrónico que recibirán la notificación |
Respuesta exitosa:
{
"ok": true,
"message": "Email notification settings updated successfully"
}
- Cuando la solicitud sea exitosa, se devolverá un código de estado 200 con la carga de respuesta anterior
Códigos de respuesta HTTP:
- 200 - Solicitud exitosa
- 201 - Recurso creado
- 401 - No autorizado
- 400 - Solicitud inválida/Parámetros inválidos
- 429 - Error de dependencia
- 500 - Error interno del servidor
Respuesta de error:
- El "type" de error a nivel base/superior es la causa genérica del fallo de la solicitud y los "errors" específicos de la solicitud se especifican en un formato de array
- El campo "message" a nivel base/superior es irrelevante para el procesamiento, está presente por legibilidad y describe el "type" de error base/superior
- Si el campo interno "errors" no está presente, maneje el fallo de la solicitud usando el "type" de error base/superior
- El campo interno "errors" contiene el array de errores encontrados al realizar la operación de la solicitud, que contiene el "type", "field" y "message"/descripción de cada error individual
- En ciertos casos, también se devolverá un "field" con el contenido de "errors", lo que indica que la ejecución de la solicitud falló debido a una operación realizada con ese "field"
{
"ok": false,
"type": "entity_not_found",
"message": "The specified entity being addressed either does not exist or is invalid. The request should not be retried without modification or until the indicated entity is set up.",
"code": 400,
"errors": [
{
"type": "entity_not_found",
"field": "device_id",
"message": "The entity corresponding to the device id specified cannot be found, not-active or not-configured"
}
]
}
Tipos de error:
| Tipo de error | Tipo de error base | Código de estado | Descripción |
|---|---|---|---|
| missing_authorization_header | authentication_failed | 401 | Falta el encabezado de autorización con la API_KEY |
| malformed_authorization_header | authentication_failed | 401 | El encabezado de autorización está mal formado, el formato aceptado es 'Bearer <API_KEY>' |
| admin_company_not_active | invalid_state | 400 | La empresa del administrador asociada con la API_KEY está inactiva |
| admin_not_active | invalid_state | 400 | El administrador asociado con la API_KEY está inactivo |
| insufficient_privileges | authentication_failed | 401 | El usuario asociado con la API_KEY no tiene permisos suficientes para acceder a este recurso, contacte al administrador |
| access_restricted | invalid_request | 400 | Descripción personalizada basada en el fallo de la ejecución de la solicitud |
| processing_fault | processing_fault | 500 | Ocurrió un error interno de procesamiento al analizar el objeto JSON |
| internal_error | internal_error | 500 | Ocurrió un error interno al procesar la solicitud |
| entity_creation_failed | internal_error | 500 | No se pudo crear la entidad en el sistema |
| entity_not_found | entity_not_found | 400 | La entidad solicitada no se encontró en el sistema |
| invalid_request | invalid_request | 400 | Descripción personalizada basada en el fallo de la ejecución de la solicitud |
| invalid_parameter | invalid_parameter | 400 | Descripción personalizada basada en el fallo de la ejecución de la solicitud |
| same_state | same_state | 400 | Descripción personalizada basada en el fallo de la ejecución de la solicitud |
| dependency_exception | dependency_exception | 429 | Descripción personalizada basada en el fallo de la ejecución de la solicitud |
Campos de error:
- A continuación se muestra una lista de los tipos de "field" devueltos en el contenido interno de "errors" junto con los escenarios en los que se puede devolver el "field"
| Campo | Escenarios |
|---|---|
| device_id | El ID del dispositivo especificado en la solicitud |
| company_id | El ID de la empresa especificado en la solicitud o el ID de la empresa del administrador correspondiente a la API_KEY |
| notification_server | Cualquier problema de dependencia al acceder a nuestros servidores de copia de seguridad |
| emails | Direcciones de correo electrónico especificadas en la solicitud |
| backup_set | Cualquier acción que desencadene cambios en el plan de copia de seguridad de un dispositivo |
| backup_policy | Cualquier acción que desencadene cambios en el plan de copia de seguridad de un dispositivo |
| backup_policy_schedule | Cualquier acción que desencadene cambios en la programación del plan de copia de seguridad de un dispositivo |
| status | Estado especificado en la solicitud |
| name | Nombres especificados en la solicitud |