mail.message: campos, relaciones y API
El modelo mail.message («Mensaje») es un modelo persistente declarado por el módulo Conversaciones y ampliado por 12 módulos más. Expone 76 campos, 70 de ellos declarados directamente en el modelo; 20 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 20.
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, im_livechat, rating, portal_rating, project, website_slides, mail_tracking, mail_tracking_mass_mailing, mail_tracking_sms, snailmail
- Orden por defecto (_order)
id desc- Campo mostrado (_rec_name)
subject- Hereda de (mixins)
- bus.listener.mixin
Campos del modelo
70 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.
76 de 76 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_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 | |
| bookmarked_partner_ids | Bookmarked By | many2many | |
| call_history_ids | Historial de llamadas | one2many | inverso: |
| channel_id | Canal | many2one | calculado |
| chatbot_message_ids | Mensaje del chatbot | one2many | inverso: añadido por Chat en directo ( |
| 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 | |
| ended_poll_ids | Ended Poll | one2many | inverso: |
| has_error | Tiene un error | boolean | calculado |
| has_poll | Has Poll | boolean | calculado |
| has_sms_error | Tiene error de SMS | boolean | calculado añadido por SMS gateway ( |
| incoming_email_cc | CC a los correos | char | |
| incoming_email_to | Correos a | text | |
| is_bookmarked | Bookmarked Current user has bookmarked this message | boolean | calculado |
| 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 Snail Mail ( |
| 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_cc_ids | Recipients (Cc) | many2many | |
| partner_ids | Recipients (To) | 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 Customer Rating ( |
| rating_ids | Calificaciones relacionadas | one2many | inverso: añadido por Customer Rating ( |
| rating_value | Valor de calificación | float | calculado añadido por Customer Rating ( |
| 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_access_create | Res Access Create | boolean | calculado |
| res_access_read | Res Access Read | boolean | calculado |
| res_access_unlink | Res Access Unlink | boolean | calculado |
| res_access_write | Res Access Write | boolean | calculado |
| res_id | ID del documento relacionado | many2one_reference | |
| snailmail_error | Mensaje de correo postal con error | boolean | calculado añadido por Snail Mail ( |
| source_mailing_id | Generated by (mailing) | many2one | añadido por Mass Mailing Tracking ( |
| source_sms_template_id | Generated by (SMS template) | many2one | añadido por SMS Message Tracking ( |
| source_template_id | Generated by (template) | many2one | añadido por Discuss Tracking ( |
| source_view_id | Generated by (qweb view) | many2one | añadido por Discuss Tracking ( |
| started_poll_ids | Started Poll | one2many | inverso: |
| subject | Asunto | char | |
| subtype_id | Subtipo | many2one | |
| tracking_value_ids | Tracking values Tracked values are stored in a separate model. This field allow to reconstruct the tracking and to generate statistics on the model. | one2many | inverso: añadido por Discuss Tracking ( |
| 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
- chatbot.message: chatbot_message_ids
- discuss.call.history: call_history_ids
- discuss.channel: channel_id
- ir.attachment: attachment_ids
- ir.mail_server: mail_server_id
- ir.ui.view: source_view_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.poll: ended_poll_ids, started_poll_ids
- mail.template: source_template_id
- mail.tracking.value: tracking_value_ids
- mailing.mailing: source_mailing_id
- 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, bookmarked_partner_ids, notified_partner_ids, partner_cc_ids, partner_ids
- sms.template: source_sms_template_id
- 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: 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.poll: end_message_id, start_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 20: 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 20.0)</a>Fuentes
- Código fuente del modelo en GitHub
- Documentación de Odoo 20: ORM API
- Documentación de Odoo 20: API externa JSON-2
Datos verificados el 25 de septiembre de 2026 · Odoo 20.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.