OA Template Message Styles · templateId 0–6

API batchSendTemplateMsg, all seven template styles (px ≈ dp, sample data). Templates 0 and 6 reflect the current app rendering; templates 1–5 are 1:1 reproductions of the legacy layout XMLs and cell code — on current app versions they are degraded (see note below).

Current app regression:templates 1–5 all collapse to a bare title (tap still routes to action); content / cover / appIcon / appName and the five layout variants are lost. Templates 0 (mini-program card) and 6 (plain text) are unaffected.
templateId 0Mini-Program Cardrenders todaymini_program
B
B Order 8837-221
Tap to track your delivery in the mini program
title
header row, next to the OA app icon (1 line, secondary color)
content
subtitle paragraph (primary color)
cover
full-width image, 4:3 (200:150), rounded — required
action
whole-card tap target · footer shows a fixed "Mini program" label
card 200dp wide · wire ShareCard(32) · drawn from the current app's cell — not affected by the regression
templateId 1Image Leftregressednormal_left_pic
B
20GB Ramadan data bundle is here
Stay connected all month for AED 49
cover
40dp rounded thumbnail on the left
title / content
two stacked lines on the right, 1 line each
appIcon+appName
shared footer at the bottom
action
whole-card tap target
card 263dp wide · content row 58dp · default fallback layout for unknown types
templateId 2Videoregressednormal_video
B
How to pay in shops with Botim Pay
title
heading at the top
cover
128dp full-width cover + dark scrim
centered 48dp play glyph (decorative; tap still routes to action)
card 229dp wide · cover 128dp · play glyph 48dp
templateId 3Audioregressednormal_audio
B
Weekly voice brief #42
Top stories in 12 minutes — tap to listen on the go.
title
heading, limited to 1 line
content
digest on the left (up to 2 lines)
audio icon on the right (size_lg, decorative)
card 220dp wide · no cover image — the cover field is not rendered
templateId 4Image Rightregressednormal_right_pic
B
Your KYC is approved 🎉
Wallet limits upgraded. See what's new in your account.
title / content
title + digest on the left (up to 2 lines)
cover
40dp rounded thumbnail on the right
card 224dp wide · thumbnail 40dp · ConstraintLayout
templateId 5Image Largeregressednormal_center_pic
B
Eid Mubarak — call home free this weekend
title
heading at the top (up to 2 lines)
cover
128dp full-width large cover
content
not rendered in this layout
card 229dp wide · cover 128dp
templateId 6Plain Textrenders todaynormal_plain_text
B
Your order 8837-221 has shipped and will arrive within 2 days.
14:02
content
the message text — the only field used (required)
title / cover / action
ignored by this template
standard text bubble · wire Plain_Text(25) · not affected by the regression

sendChatTemplateCardMsg · ChatTemplateCard (48) — legacy vs current

Single-recipient interactive bot card (chatTemplateCardContent + chatTemplateCardButtonList). The legacy app rendered a card plus a quick-menu bar above the input box; the current SDK maps it into the OA notify card and drops all interactions.

legacyCard + bot quick-menurestore targetRobotTemplateCardCell
B
Order review needed

Order No8837-221

Created08 Jul 2026 14:02
Please confirm the details below.
10:56
bot quick-menu bar · above the input box
ConfirmAsk later
Message
title
heading + solid divider (both hidden when title empty)
forms
key/value rows, dashed separators; isTime → formatted via timeFormat
content
semibold paragraph, placed after the form
links
link-blue text rows; tap = openUrl / quickReply / callback by type
buttonList
chips in the quick-menu bar (40dp, min 100dp, bold, rounded); once hides the bar after tap
bubble max 450dp · menu follows the latest card in the session, not the message
currentMapped to OA notify cardinteractions lostOATemplateCardCodec
B
Order review needed
Please confirm the details below.

Order No8837-221
Created08 Jul 2026 14:02

title / content
title + desc line (content moves above the form)
forms
form rows kept (name→key, content→text, isTime kept)
links
⚠ only links[0] survives, as the tappable footer
buttonList
❌ decoded then discarded — no quick-menu bar exists in the new UI
quickReply / callback / once
❌ not available; footer tap opens a URL only
native mapping: ps-dual-engine OATemplateCardCodec → MsgType::OANotify · no icon, is_mute=false

Templates 1–5 reproduced from: layout_chat_cell_item_web_share_card_{image_left, image_right, image_large, video, audio}.xml + shared footer …_card_common.xml; rendering logic BaseWebShareCardCell.java:77-80 (title / content / cover / appName+appIcon, whole-card tap → action), dispatch MessageCellManager.java:261-273. Template 0 drawn from the current app's MPShareCardMessage.kt (200dp card, 4:3 cover, "Mini program" footer label). All fields map to batchSendTemplateMsg's title / content / cover / action / appIcon / appName. ChatTemplateCard legacy reproduced from RobotTemplateCardCell.java + layout_chat_cell_item_official_robot_template_card.xml, quick-menu RobotMenuView.java + item_robot_button.xml; current mapping from ps-dual-engine/…/system_ntf_codecs/oa_template_card.rs (OATemplateCardCodec).