Servicios: Servicio de Notificaciones
En Odoo, uno de los servicios más utilizados es el de notificaciones, ideal para comunicar información directamente al usuario desde el frontend o backend. En este blog exploraremos cómo funcionan los servicios, cómo declarar dependencias y cómo utilizar el servicio de notificaciones para mejorar la experiencia del usuario en tus módulos personalizados.
Daniel Sánchez
8/6/20254 min read


¿Qué son los servicios en Odoo?
Son fragmentos de código de larga duración que proporcionan una funcionalidad. Pueden ser importados por componentes (mediante useService) o por otros servicios. Además, pueden declarar un conjunto de dependencias. En ese sentido, los servicios son básicamente un sistema de inyección de dependencias (DI, por sus siglas en inglés).
Por ejemplo, el servicio de notificaciones proporciona una forma de mostrar una notificación, o el servicio rpc es la manera adecuada de realizar una solicitud al servidor de Odoo desde código JavaScript.
¿Qué servicios existen en Odoo?
A continuación se muestra un listado de los servicios que incluye Odoo y una descripción corta:
cookie: leer y modificar cookies
effect: mostrar efectos gráficos
http: realizar llamadas http de bajo nivel
notification: mostrar notificaciones
router: administrar la URL del navegador.
rpc: enviar solicitudes al servidor
scroller: manejar clics en elementos de anclaje.
title: leer o modificar el título de la ventana
user: proporciona información relacionada con el usuario actual.
¿Cómo se utiliza un servicio?
Un servicio que depende de otros servicios y que ha declarado correctamente sus dependencias simplemente recibe una referencia a los servicios correspondientes en el segundo argumento del método start.
El hook useService es la forma adecuada de usar un servicio dentro de un componente. Simplemente devuelve una referencia al valor del servicio, que luego puede ser utilizado por el componente. Por ejemplo:


En ese caso, nos enfocaremos en el servicio de notificaciones.
Servicio de notificaciones
El framework de Odoo tiene una forma estándar de comunicar diversa información al usuario: las notificaciones, que se muestran en la parte superior derecha de la interfaz de usuario. Los tipos de notificación siguen el estilo de los toasts de Bootstrap:
info: útil para mostrar información como retroalimentación de una acción que no puede fallar.
success: el usuario realizó una acción que a veces puede fallar, pero esta vez no falló.
warning: el usuario realizó una acción que solo pudo completarse parcialmente. También es útil si algo salió mal, pero no fue causado directamente por el usuario, o si no se puede hacer mucho al respecto.
danger: el usuario intentó realizar una acción, pero no se pudo completar.
Mostrar notificaciones
Hay dos formas de mostrar notificaciones en Odoo:
El servicio notification permite a los componentes mostrar notificaciones desde código JavaScript llamando al método add.
La acción de cliente display_notification permite activar la visualización de una notificación desde Python (por ejemplo, en el método que se ejecuta cuando el usuario hace clic en un botón de tipo object).
Ejemplo de notificaciones en JavaScript
Utilizamos el componente WebClient del archivo webclient.js, mismo que se ejecuta cuando cargamos una nueva ventana de Odoo o la recargamos. El código es el siguiente (mismo que mapeamos dentro de web.assets_backend del archivo manifest del módulo):


Por lo que, al recargar la página o entrar por primera vez, vemos ambas notificaciones:


Ejemplo de notificaciones en Python
Dentro del modelo de ventas (sale.order) declaramos un nuevo botón, el cual crea una nueva venta; únicamente le añadimos el mismo cliente de la venta desde la cual se está presionando el botón con fines de simplicidad. La notificación mostrará el nombre de la venta, junto con un enlace adjunto que, al presionarlo, nos abrirá una nueva ventana del navegador y mostrará la vista formulario de la nueva orden. El código es el siguiente:


Esta acción se añade dentro de un botón en la vista formulario de las ventas (se añade el botón a través de una vista heredada).


Mismo que se ve de la siguiente forma:


Por lo que, al presionarlo, la notificación se ve de la siguiente manera:




Por lo que, a través de la notificación, creamos un acceso directo al nuevo registro.
Consejos rápidos:
No abuses del uso de las notificaciones, ya que un exceso puede afectar la experiencia del usuario.
Define el tipo de notificación correcto según el contexto. Por ejemplo, una notificación tipo danger sin una razón clara genera ansiedad o confusión al usuario.
Evita notificaciones duplicadas: revisa si ya hay una activa con el mismo mensaje antes de mostrar otra.
Ajusta el tiempo de visibilidad. Por ejemplo, las notificaciones breves deben desaparecer rápido; las informativas importantes pueden durar un poco más.
No uses notificaciones para errores silenciosos; si el usuario no puede hacer nada al respecto, considera usar una advertencia sutil o un log interno.
Sé claro y conciso en los mensajes. Evita textos largos o técnicos. Usa un lenguaje comprensible para el usuario final.
En Exdoo podemos desarrollar cualquier módulo para Odoo en México, implementamos tu ERP con consultores experimentados no solo en Odoo sino en procesos de negocios, tenemos 10 años trabajando solamente con Odoo en México y otros países.
Exdoo TI S DE RL DE CV
10 años de experiencia en Odoo