mail.message : champs, relations et API
Le modèle mail.message (« Message ») est un modèle persistant déclaré par le module Discussion, puis enrichi par 9 autres modules. Il expose 64 champs, dont 58 déclarés directement sur le modèle ; 19 champs d'autres modèles pointent vers lui. Retrouvez ci-dessous chaque champ avec son nom technique, son type, son libellé français et ses relations, puis un exemple d'appel à l'API JSON-2 d'Odoo 19.
Fiche d'identité
- Nom technique
mail.message- Libellé
- Message
- Type
- Persistant (models.Model)
- Table SQL
mail_message- Module d'origine
- Discussion (
mail) - Étendu par
- portal, account, sms, rating, im_livechat, portal_rating, website_slides, project, snailmail
- Tri par défaut (_order)
id desc- Champ d'affichage (_rec_name)
subject- Hérite de (mixins)
- bus.listener.mixin
Champs du modèle
58 champs propres, 0 hérités des mixins et 6 champs automatiques de l'ORM. Cliquez sur un nom pour obtenir le lien direct vers le champ.
64 champs affichés sur 64
| Nom technique | Libellé | Type | Détails |
|---|---|---|---|
| account_audit_log_account_id | Compte | many2one | calculé ajouté par Facturation ( |
| account_audit_log_company_id | Société | many2one | calculé ajouté par Facturation ( |
| account_audit_log_move_id | Pièce comptable | many2one | calculé ajouté par Facturation ( |
| account_audit_log_partner_id | Partenaire | many2one | calculé ajouté par Facturation ( |
| account_audit_log_preview | Description | text | calculé ajouté par Facturation ( |
| account_audit_log_restricted | Protégé par des journaux d’audit restreints | boolean | calculé ajouté par Facturation ( |
| account_audit_log_tax_id | Taxe | many2one | calculé ajouté par Facturation ( |
| attachment_ids | Pièces jointes | many2many | |
| author_avatar | Avatar de l'auteur | binary | related : |
| author_guest_id | Invité | many2one | |
| author_id | Auteur Auteur du message. S'il n'est pas indiqué, email_from peut contenir une adresse e-mail ne correspondant à aucun partenaire. | many2one | |
| body | Contenus | html | |
| call_history_ids | Historique des appels | one2many | inverse : |
| channel_id | Chaîne | many2one | calculé |
| child_ids | Messages enfants | one2many | inverse : |
| date | Date | datetime | |
| email_add_signature | Signature d'ajout d'e-mail | boolean | |
| email_from | De Adresse e-mail de l'expéditeur. Ce champ est défini quand aucun partenaire correspondant n'est trouvé et remplace le champ author_id dans le chatter. | char | |
| email_layout_xmlid | Agencement | char | |
| has_error | A une erreur | boolean | calculé |
| has_sms_error | A une erreur SMS | boolean | calculé ajouté par Passerelle SMS ( |
| incoming_email_cc | E-mails en Cc | char | |
| incoming_email_to | Envoyer les e-mails à | text | |
| is_current_user_or_guest_author | Est un utilisateur actuel ou un auteur invité | boolean | calculé |
| is_internal | Employés seulement Masquer pour les utilisateurs publics/portail, indépendamment de la configuration du sous-type. | boolean | |
| letter_ids | Lettre | one2many | inverse : ajouté par Envoi postal ( |
| linked_message_ids | Message lié | many2many | calculé |
| mail_activity_type_id | Envoyer le type d'activité par e-mail | many2one | |
| mail_ids | E-mails | one2many | inverse : |
| mail_server_id | Serveur de messagerie sortant | many2one | |
| message_id | ID du message Identifiant unique de message | char | lecture seule |
| message_link_preview_ids | Aperçu lien message | one2many | inverse : |
| message_type | Type 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 | requis Valeurs : |
| model | Modèle de document associé | char | |
| needaction | Nécessite une action | boolean | calculé |
| notification_ids | Notifications | one2many | inverse : |
| notified_partner_ids | Partenaire nécessitant une action. | many2many | |
| outgoing_email_to | e-mails à | char | |
| parent_id | Message parent | many2one | |
| partner_ids | Destinataires | many2many | |
| pinned_at | Épinglé Valeur datetime à laquelle le message a été épinglé | datetime | |
| preview | Aperçu Le début du texte du corps utilisé comme un aperçu de l'e-mail. | char | calculé |
| rating_id | Évaluation | many2one | calculé ajouté par Évaluation des clients ( |
| rating_ids | Évaluations associées | one2many | inverse : ajouté par Évaluation des clients ( |
| rating_value | Valeur de l'évaluation | float | calculé ajouté par Évaluation des clients ( |
| reaction_ids | Réactions | one2many | inverse : |
| record_alias_domain_id | Alias de domaine | many2one | |
| record_company_id | Société | many2one | |
| record_name | Nom de l'enregistrement du message | char | calculé |
| reply_to | Répondre à Adresse e-mail de réponse. Définir le champ reply_to contourne la création automatique de fil. | char | |
| reply_to_force_new | Pas de suivi dans le fil pour les réponses Si vrai, les réponses n'iront pas dans le fil de discussion du document original. À la place, le reply_to dans l'ID de suivi du message sera vérifié et les réponses seront redirigées en fonction. Ceci a un impact sur l'ID du message généré. | boolean | |
| res_id | ID du document associé | many2one_reference | |
| snailmail_error | Message d'envoi postal en erreur | boolean | calculé ajouté par Envoi postal ( |
| starred | Favoris L'utilisateur actuel a une notification "favori" associée à ce message | boolean | calculé |
| starred_partner_ids | Préféré par | many2many | |
| subject | Sujet | char | |
| subtype_id | Sous-type | many2one | |
| tracking_value_ids | Suivi des valeurs Les valeurs suivies sont stockées dans un modèle distinct. Ce champ permet de reconstruire le suivi et de générer des statistiques sur le modèle. | one2many | inverse : |
| create_date | Créé le | datetime | lecture seuleautomatique |
| create_uid | Créé par | many2one | lecture seuleautomatique |
| display_name | Nom affiché | char | lecture seulecalculéautomatique |
| id | ID | integer | lecture seuleautomatique |
| write_date | Dernière mise à jour le | datetime | lecture seuleautomatique |
| write_uid | Dernière mise à jour par | many2one | lecture seuleautomatique |
Relations
Modèles liés depuis ce modèle
- 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
Champs d'autres modèles qui pointent ici
- 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
Lire ce modèle par l'API
Exemple d'appel à l'API JSON-2 d'Odoo 19 : lecture des cinq premiers enregistrements avec des champs réels du modèle. Remplacez l'instance, la base et la clé API par les vôtres.
curl -X POST "https://votre-instance.odoo.com/json/2/mail.message/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: votre-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://votre-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "votre-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())- L'accès à l'API externe est réservé à la formule Custom d'Odoo.
- XML-RPC et JSON-RPC seront retirés dans Odoo 22 (automne 2028) : préférez JSON-2.
- Les droits d'accès et règles d'enregistrement de l'utilisateur de la clé s'appliquent.
Citer cet outil
Vous rédigez un tutoriel, une documentation interne ou une réponse sur un forum ? Copiez ce lien pour renvoyer vos lecteurs vers la fiche à jour.
<a href="https://aidoo.ai/fr/outils/explorateur-modeles-odoo/mail-message">mail.message (Odoo 19.0)</a>Sources
- Code source du modèle sur GitHub
- Documentation Odoo 19 : ORM API
- Documentation Odoo 19 : API externe JSON-2
Données vérifiées le 23 septembre 2026 · Odoo 19.0 Community
Vous avez un projet Odoo ou souhaitez exploiter votre ERP avec l'IA ? Échangeons
Intégration, développement de modules, connexion de Claude ou ChatGPT à vos données : décrivez-nous votre contexte, nous vous répondons sous 24 heures ouvrées.