API OCS de fuera de la oficina¶
Resumen¶
Esta página describe, para quienes desarrollan clientes o apps, la API OCS de fuera de la oficina: los endpoints para consultar el período de ausencia en curso o el próximo, modificar esos datos y borrarlos, con sus campos y códigos de estado.
Fuente: documentación de Nextcloud, «developer_manual/client_apis/OCS/ocs-out-of-office-api», versión 3ad9158, licencia CC BY 3.0; traducida y adaptada para APS Conecta Gestión.
Nuevo en la versión 28.0.
La API OCS de fuera de la oficina permite acceder a los datos de ausencia (fuera de la oficina) de los usuarios y modificarlos.
La URL base de todas las llamadas a la API de fuera de la oficina es: <nextcloud_base_url>/ocs/v2.php/apps/dav/api/v1/outOfOffice
Todas las llamadas a endpoints OCS requieren que la cabecera OCS-APIRequest tenga el valor true.
Obtener los datos en curso¶
Obtener los datos del período de ausencia en curso de un usuario.
Método:
GETEndpoint:
/{userId}/nowRespuesta:
Código de estado:
200 OKDatos de ausencia404 Not Foundsi el usuario no tiene un período de ausencia en curso
Datos (solo se envían si el código de estado es
200 OK):
campo |
tipo |
Descripción |
|---|---|---|
|
string |
ID en la base de datos de la entidad de datos de ausencia |
|
string |
ID del usuario al que pertenecen los datos |
|
int |
Marca de tiempo de la fecha de inicio (según la zona horaria del userId) |
|
int |
Marca de tiempo de la fecha de término (según la zona horaria del userId) |
|
string |
Texto breve que se establece como estado del usuario durante la ausencia |
|
string |
Mensaje más largo, de varias líneas, que se muestra a otros durante la ausencia |
|
string/null |
ID del usuario de reemplazo |
|
string/null |
Nombre visible del usuario de reemplazo |
Obtener los datos próximos o en curso¶
Puede que el período de ausencia devuelto aún no haya comenzado. Este endpoint devuelve los datos del período de ausencia en curso o del próximo período de ausencia de un usuario.
Método:
GETEndpoint:
/{userId}Respuesta:
Código de estado:
200 OKDatos de ausencia404 Not Foundsi el usuario no programó un período de ausencia
Datos (solo se envían si el código de estado es
200 OK):
campo |
tipo |
Descripción |
|---|---|---|
|
int |
ID en la base de datos de la entidad de datos de ausencia |
|
string |
ID del usuario al que pertenecen los datos |
|
string |
Primer día de la ausencia, en formato |
|
string |
Último día de la ausencia, en formato |
|
string |
Texto breve que se establece como estado del usuario durante la ausencia |
|
string |
Mensaje más largo, de varias líneas, que se muestra a otros durante la ausencia |
|
string/null |
ID del usuario de reemplazo |
|
string/null |
Nombre visible del usuario de reemplazo |
Modificar los datos de ausencia¶
Solo es posible modificar los datos de ausencia del usuario que ha iniciado sesión.
Método:
POSTEndpoint:
/{userId}Datos:
campo |
tipo |
Descripción |
|---|---|---|
|
string |
Primer día de la ausencia, en formato |
|
string |
Último día de la ausencia, en formato |
|
string |
Texto breve que se establece como estado del usuario durante la ausencia |
|
string |
Mensaje más largo, de varias líneas, que se muestra a otros durante la ausencia |
|
string/null |
ID del usuario de reemplazo |
|
string/null |
Nombre visible del usuario de reemplazo |
Respuesta:
Código de estado:
200 OKDatos de ausencia actualizados400 Bad Requestsi el primer día no es anterior al último día404 Not Foundsi se proporciona un ID de usuario de reemplazo pero no se encuentra el usuario correspondiente401 Unauthorizedsi el usuario no ha iniciado sesión
Datos (solo se envían si el código de estado es
200 OK):
campo |
tipo |
Descripción |
|---|---|---|
|
int |
ID en la base de datos de la entidad de datos de ausencia |
|
string |
ID del usuario al que pertenecen los datos |
|
string |
Primer día de la ausencia, en formato |
|
string |
Último día de la ausencia, en formato |
|
string |
Texto breve que se establece como estado del usuario durante la ausencia |
|
string |
Mensaje más largo, de varias líneas, que se muestra a otros durante la ausencia |
|
string/null |
ID del usuario de reemplazo |
|
string/null |
Nombre visible del usuario de reemplazo |
Borrar los datos y desactivar la ausencia¶
Solo es posible borrar los datos de ausencia del usuario que ha iniciado sesión.
Método:
DELETEEndpoint:
/{userId}Respuesta:
Código de estado:
200 OKSe borraron los datos de ausencia401 Unauthorizedsi el usuario no ha iniciado sesión