mail.message: campos, relaciones y API
El modelo mail.message («Mensaje») es un modelo persistente declarado por el módulo Conversaciones y ampliado por 9 módulos más. Expone 64 campos, 58 de ellos declarados directamente en el modelo; 19 campos de otros modelos apuntan a él. A continuación encontrará cada campo con su nombre técnico, tipo, etiqueta en español y relaciones, y un ejemplo de llamada a la API JSON-2 de Odoo 19.
Ficha de identidad
- Nombre técnico
mail.message- Etiqueta
- Mensaje
- Tipo
- Persistente (models.Model)
- Tabla SQL
mail_message- Módulo de origen
- Conversaciones (
mail) - Ampliado por
- portal, account, sms, rating, im_livechat, portal_rating, website_slides, project, snailmail
- Orden por defecto (_order)
id desc- Campo mostrado (_rec_name)
subject- Hereda de (mixins)
- bus.listener.mixin
Campos del modelo
58 campos propios, 0 heredados de mixins y 6 campos automáticos del ORM. Haga clic en un nombre para obtener el enlace directo al campo.
64 de 64 campos mostrados
| Nombre técnico | Etiqueta | Tipo | Detalles |
|---|---|---|---|
| account_audit_log_account_id | Cuenta | many2one | calculado añadido por Facturación ( |
| account_audit_log_company_id | Compañía | many2one | calculado añadido por Facturación ( |
| account_audit_log_move_id | Asiento contable | many2one | calculado añadido por Facturación ( |
| account_audit_log_partner_id | Contacto | many2one | calculado añadido por Facturación ( |
| account_audit_log_preview | Descripción | text | calculado añadido por Facturación ( |
| account_audit_log_restricted | Protegido por registros de auditoría restringidos | boolean | calculado añadido por Facturación ( |
| account_audit_log_tax_id | Impuesto | many2one | calculado añadido por Facturación ( |
| attachment_ids | Archivos adjuntos | many2many | |
| author_avatar | Avatar del autor | binary | related: |
| author_guest_id | Invitado | many2one | |
| author_id | Autor Autor del mensaje. Si no se establece, email_from puede contener una dirección de correo que no coincida con la de ninguna empresa. | many2one | |
| body | Contenidos | html | |
| call_history_ids | Historial de llamadas | one2many | inverso: |
| channel_id | Canal | many2one | calculado |
| child_ids | Mensajes hijos | one2many | inverso: |
| date | Fecha | datetime | |
| email_add_signature | Añadir firma de correo electrónico | boolean | |
| email_from | Desde Dirección de correo del remitente. Este campo se establece cuando no se encuentra ningún contacto que coincida y reemplaza el campo author_id en el chatter. | char | |
| email_layout_xmlid | Diseño | char | |
| has_error | Tiene un error | boolean | calculado |
| has_sms_error | Tiene error de SMS | boolean | calculado añadido por Puerta de enlace SMS ( |
| incoming_email_cc | CC a los correos | char | |
| incoming_email_to | Correos a | text | |
| is_current_user_or_guest_author | Es un usuario o autor invitado | boolean | calculado |
| is_internal | Empleado solamente Ocultar a los usuarios públicos o del portal, independientemente de la configuración del subtipo. | boolean | |
| letter_ids | Carta | one2many | inverso: añadido por Correo postal ( |
| linked_message_ids | Mensaje vinculado | many2many | calculado |
| mail_activity_type_id | Tipo de actividad del correo electrónico | many2one | |
| mail_ids | Correos | one2many | inverso: |
| mail_server_id | Servidor de correo de salida | many2one | |
| message_id | Id del mensaje Identificador único del mensaje | char | solo lectura |
| message_link_preview_ids | Vista previa del enlace del mensaje | one2many | inverso: |
| message_type | Tipo Used to categorize message generator 'email': generated by an incoming email e.g. mailgateway 'comment': generated by user input e.g. through discuss or composer 'email_outgoing': generated by a mailing 'notification': generated by system e.g. tracking messages 'auto_comment': generated by automated notification mechanism e.g. acknowledgment 'user_notification': generated for a specific recipient | selection | obligatorio Valores: |
| model | Modelo de documento relacionado | char | |
| needaction | Requiere acción | boolean | calculado |
| notification_ids | Notificaciones | one2many | inverso: |
| notified_partner_ids | Contactos con acción requerida | many2many | |
| outgoing_email_to | correos para | char | |
| parent_id | Mensaje padre | many2one | |
| partner_ids | Destinatarios | many2many | |
| pinned_at | Fijado Fecha y hora en la que se fijó el mensaje | datetime | |
| preview | Vista previa El comienzo del cuerpo de texto utilizado como vista previa del correo electrónico. | char | calculado |
| rating_id | Calificación | many2one | calculado añadido por Valoración del cliente ( |
| rating_ids | Calificaciones relacionadas | one2many | inverso: añadido por Valoración del cliente ( |
| rating_value | Valor de calificación | float | calculado añadido por Valoración del cliente ( |
| reaction_ids | Reacciones | one2many | inverso: |
| record_alias_domain_id | Dominio de alias | many2one | |
| record_company_id | Compañía | many2one | |
| record_name | Nombre de registro del mensaje | char | calculado |
| reply_to | Responder a Dirección de respuesta de los correos. Estableciendo este campo, se saltará la creación automática de hilos. | char | |
| reply_to_force_new | No hay un hilo para las respuestas Si está marcado como True, las respuestas no se mostrarán en el hilo de conversación del documento original. En su lugar, se comprobará el reply_to en el seguimiento del message-id y se redireccionará como corresponde. Esto tiene un impacto en el message-id generado. | boolean | |
| res_id | ID del documento relacionado | many2one_reference | |
| snailmail_error | Mensaje de correo postal con error | boolean | calculado añadido por Correo postal ( |
| starred | Destacado El usuario actual tiene una notificación destacada asociada a este mensaje | boolean | calculado |
| starred_partner_ids | Favorito de | many2many | |
| subject | Asunto | char | |
| subtype_id | Subtipo | many2one | |
| tracking_value_ids | Valores de seguimiento Los valores seguidos están almacenados en un modelo separado. Este campo permite reconstruir el seguimiento y generar estadísticas en el modelo. | one2many | inverso: |
| create_date | Creado el | datetime | solo lecturaautomático |
| create_uid | Creado por | many2one | solo lecturaautomático |
| display_name | Nombre mostrado | char | solo lecturacalculadoautomático |
| id | ID | integer | solo lecturaautomático |
| write_date | Última actualización el | datetime | solo lecturaautomático |
| write_uid | Última actualización por | many2one | solo lecturaautomático |
Relaciones
Modelos enlazados desde este modelo
- account.account: account_audit_log_account_id
- account.move: account_audit_log_move_id
- account.tax: account_audit_log_tax_id
- discuss.call.history: call_history_ids
- discuss.channel: channel_id
- ir.attachment: attachment_ids
- ir.mail_server: mail_server_id
- mail.activity.type: mail_activity_type_id
- mail.alias.domain: record_alias_domain_id
- mail.guest: author_guest_id
- mail.mail: mail_ids
- mail.message: child_ids, linked_message_ids, parent_id
- mail.message.link.preview: message_link_preview_ids
- mail.message.reaction: reaction_ids
- mail.message.subtype: subtype_id
- mail.notification: notification_ids
- mail.tracking.value: tracking_value_ids
- rating.rating: rating_id, rating_ids
- res.company: account_audit_log_company_id, record_company_id
- res.partner: account_audit_log_partner_id, author_id, notified_partner_ids, partner_ids, starred_partner_ids
- snailmail.letter: letter_ids
Campos de otros modelos que apuntan aquí
- chatbot.message: mail_message_id
- discuss.call.history: start_call_message_id
- discuss.channel: from_message_id
- discuss.channel.member: fetched_message_id, seen_message_id
- mail.compose.message: parent_id
- mail.group.message: mail_message_id
- mail.mail: mail_message_id
- mail.message: linked_message_ids, parent_id
- mail.message.link.preview: message_id
- mail.message.reaction: message_id
- mail.message.schedule: mail_message_id
- mail.message.translation: message_id
- mail.notification: mail_message_id
- mail.tracking.value: mail_message_id
- rating.rating: message_id
- sms.sms: mail_message_id
- snailmail.letter: message_id
Leer este modelo por la API
Ejemplo de llamada a la API JSON-2 de Odoo 19: lectura de los cinco primeros registros con campos reales del modelo. Sustituya la instancia, la base y la clave API por las suyas.
curl -X POST "https://su-instancia.odoo.com/json/2/mail.message/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: su-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["subject","message_type","author_guest_id","author_id","mail_activity_type_id"],"limit":5}'import requests
BASE_URL = "https://su-instancia.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "su-base"}
res = requests.post(
f"{BASE_URL}/mail.message/search_read",
headers=headers,
json={"domain": [], "fields": ["subject","message_type","author_guest_id","author_id","mail_activity_type_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())- El acceso a la API externa está reservado al plan Custom de Odoo.
- XML-RPC y JSON-RPC se retirarán en Odoo 22 (otoño de 2028): use JSON-2.
- Se aplican los permisos de acceso y las reglas de registro del usuario de la clave.
Citar esta herramienta
¿Escribe un tutorial, una documentación interna o una respuesta en un foro? Copie este enlace para dirigir a sus lectores a la ficha actualizada.
<a href="https://aidoo.ai/es/outils/explorateur-modeles-odoo/mail-message">mail.message (Odoo 19.0)</a>Fuentes
- Código fuente del modelo en GitHub
- Documentación de Odoo 19: ORM API
- Documentación de Odoo 19: API externa JSON-2
Datos verificados el 23 de septiembre de 2026 · Odoo 19.0 Community
¿Tiene un proyecto Odoo o quiere aprovechar su ERP con la IA? Hablemos
Implantación, desarrollo de módulos, conexión de Claude o ChatGPT a sus datos: cuéntenos su contexto y le responderemos en 24 horas laborables.