8ea7c0bfed
Six issues (#10251, #10073, #13924, #38305, #25886, #8246) and four PRs proposed json.dumps()-ing CallBackCard.data. The lark_oapi SDK types `data` as Any and marshals the whole response with JSON.marshal(), so a dict already reaches Feishu as the nested object the card-callback doc shows in its response example; a string would nest a JSON *string* there instead. Feishu documents 200340 as "the application has not configured the card callback address or the configured request address is invalid" — the click is rejected before delivery (nothing reaches Hermes), which matches the reports (no gateway log, all four buttons identical). The docs told users to subscribe to `card.action.trigger` under Event Subscriptions; it lives under the separate Callback Configuration tab and needs its own long-connection/URL mode and a published app version. Spell out the four steps and map the sibling codes (200342/200343 = unreachable URL; 200672/200673 = our payload). Refs #10251