Odoo 19.0 Community · Persistent

card.campaign: fields, relations and API

The card.campaign model ("Marketing Card Campaign") is a persistent model declared by the Marketing Card module. It exposes 76 fields, 44 of them declared directly on the model; 2 fields from other models point to it. Below you will find every field with its technical name, type, label and relations, followed by an Odoo 19 JSON-2 API call.

Model identity

Technical name
card.campaign
Label
Marketing Card Campaign
Type
Persistent (models.Model)
SQL table
card_campaign
Origin module
Marketing Card (marketing_card)
Default order (_order)
id DESC
Inherits from (mixins)
mail.activity.mixinmail.render.mixinmail.thread

Model fields

44 own fields, 26 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.

76 of 76 fields shown

Technical nameLabelTypeDetails
activeActiveboolean
body_htmlBody Htmlhtml

related: card_template_id.body

card_click_countCard Click Countinteger
computed
card_countCard Countinteger
computed
card_idsCardone2many

inverse: campaign_id

card_share_countCard Share Countinteger
computed
card_template_idDesignmany2one
required
content_backgroundBackgroundimage
content_buttonButtonchar
content_headerHeaderchar
content_header_colorHeader Colorchar
content_header_dynIs Dynamic Headerboolean
content_header_pathHeader Pathchar
content_image1_pathDynamic Image 1char
content_image2_pathDynamic Image 2char
content_sectionSectionchar
content_section_dynIs Dynamic Sectionboolean
content_section_pathSection Pathchar
content_sub_headerSub-Headerchar
content_sub_header_colorSub Header Colorchar
content_sub_header_dynIs Dynamic Sub-Headerboolean
content_sub_header_pathSub-Header Pathchar
content_sub_section1Sub-Section 1char
content_sub_section1_dynIs Dynamic Sub-Section 1boolean
content_sub_section1_pathSub-Section 1 Pathchar
content_sub_section2Sub-Section 2char
content_sub_section2_dynIs Dynamic Sub-Section 2boolean
content_sub_section2_pathSub-Section 2 Pathchar
image_previewImage Previewimage
read-onlycomputed, stored
mailing_countMailing Countinteger
computed
mailing_idsMailingone2many

inverse: card_campaign_id

nameNamechar
required
post_suggestionPost Suggestion

Description below the card and default text when sharing on X

text
preview_record_refPreview Onreference
required
request_descriptionRequest Descriptiontext
request_titleRequestchar
res_modelModel Nameselection
requiredread-onlycomputed, stored

Values computed at runtime

reward_messageThank You Messagehtml
reward_target_urlReward Linkchar
tag_idsTagsmany2many
target_urlPost Linkchar
target_url_click_countTarget Url Click Countinteger

related: link_tracker_id.count

user_idResponsiblemany2one
activity_calendar_event_idNext Activity Calendar Eventmany2one
computed

inherited from mail.activity.mixin

activity_date_deadlineNext Activity Deadlinedate
read-onlycomputed

inherited from mail.activity.mixin

activity_exception_decorationActivity Exception Decoration

Type of the exception activity on record.

selection
computed

Values: warning (Alert), danger (Error)

inherited from mail.activity.mixin

activity_exception_iconIcon

Icon to indicate an exception activity.

char
computed

inherited from mail.activity.mixin

activity_idsActivitiesone2many

inverse: res_id

inherited from mail.activity.mixin

activity_stateActivity State

Status based on activities Overdue: Due date is already passed Today: Activity date is today Planned: Future activities.

selection
computed

Values: overdue (Overdue), today (Today), planned (Planned)

inherited from mail.activity.mixin

activity_summaryNext Activity Summarychar

related: activity_ids.summary

inherited from mail.activity.mixin

activity_type_iconActivity Type Iconchar

related: activity_ids.icon

inherited from mail.activity.mixin

activity_type_idNext Activity Typemany2one

related: activity_ids.activity_type_id

inherited from mail.activity.mixin

activity_user_idResponsible Usermany2one
read-onlycomputed

inherited from mail.activity.mixin

has_messageHas Messageboolean
computed

inherited from mail.thread

langLanguage

Optional translation language (ISO code) to select when sending out an email. If not set, the main partner's language will be used. This should usually be a placeholder expression that provides the appropriate language, e.g. {{ object.partner_id.lang }}.

char

inherited from mail.render.mixin

message_attachment_countAttachment Countinteger
computed

inherited from mail.thread

message_follower_idsFollowersone2many

inverse: res_id

inherited from mail.thread

message_has_errorMessage Delivery error

If checked, some messages have a delivery error.

boolean
computed

inherited from mail.thread

message_has_error_counterNumber of errors

Number of messages with delivery error

integer
computed

inherited from mail.thread

message_has_sms_errorSMS Delivery error

If checked, some messages have a delivery error.

boolean
computed

inherited from mail.thread

message_idsMessagesone2many

inverse: res_id

inherited from mail.thread

message_is_followerIs Followerboolean
computed

inherited from mail.thread

message_needactionAction Needed

If checked, new messages require your attention.

boolean
computed

inherited from mail.thread

message_needaction_counterNumber of Actions

Number of messages requiring action

integer
computed

inherited from mail.thread

message_partner_idsFollowers (Partners)many2many
computed

inherited from mail.thread

my_activity_date_deadlineMy Activity Deadlinedate
read-onlycomputed

inherited from mail.activity.mixin

rating_idsRatingsone2many

inverse: res_id

inherited from mail.thread

render_modelRendering Modelchar
computed

inherited from mail.render.mixin

website_message_idsWebsite Messages

Website communication history

one2many

inverse: res_id

inherited from mail.thread

create_dateCreated ondatetime
read-onlyautomatic
create_uidCreated bymany2one
read-onlyautomatic
display_nameDisplay Namechar
read-onlycomputedautomatic
idIDinteger
read-onlyautomatic
write_dateLast Updated ondatetime
read-onlyautomatic
write_uidLast Updated bymany2one
read-onlyautomatic

Relations

Models linked from this model

Fields of other models pointing here

Reading this model through the API

Odoo 19 JSON-2 API call reading the first five records with real fields of the model. Replace the instance, database and API key with your own.

curl
curl -X POST "https://your-instance.odoo.com/json/2/card.campaign/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: your-db" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["name","card_template_id","preview_record_ref","res_model","link_tracker_id"],"limit":5}'
Python (requests)
import requests

BASE_URL = "https://your-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "your-db"}

res = requests.post(
    f"{BASE_URL}/card.campaign/search_read",
    headers=headers,
    json={"domain": [], "fields": ["name","card_template_id","preview_record_ref","res_model","link_tracker_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())
  • External API access requires Odoo's Custom plan.
  • XML-RPC and JSON-RPC will be removed in Odoo 22 (fall 2028): use JSON-2.
  • The access rights and record rules of the key's user apply.

Cite this tool

Writing a tutorial, internal documentation or a forum answer? Copy this link to send your readers to the up-to-date reference.

<a href="https://aidoo.ai/en/outils/explorateur-modeles-odoo/card-campaign">card.campaign (Odoo 19.0)</a>

Sources

Data verified on September 23, 2026 · Odoo 19.0 Community

Have an Odoo project, or want to put your ERP to work with AI? Let's talk

Implementation, custom module development, connecting Claude or ChatGPT to your data: tell us about your context and we will reply within 24 business hours.