@yaoyuanchao/dingtalk 1.3.12 → 1.3.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/card-api.ts +10 -7
package/package.json
CHANGED
package/src/card-api.ts
CHANGED
|
@@ -68,10 +68,8 @@ export interface CreateCardInstanceParams {
|
|
|
68
68
|
clientSecret: string;
|
|
69
69
|
cardTemplateId: string;
|
|
70
70
|
outTrackId: string;
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
cardMediaIdParamMap?: Record<string, string>;
|
|
74
|
-
};
|
|
71
|
+
/** Card data - flat object with variable names as keys */
|
|
72
|
+
cardData?: Record<string, any>;
|
|
75
73
|
robotCode?: string;
|
|
76
74
|
callbackType?: "STREAM" | "HTTP";
|
|
77
75
|
userIdType?: number;
|
|
@@ -144,10 +142,13 @@ export async function createCardInstance(
|
|
|
144
142
|
try {
|
|
145
143
|
const token = await getDingTalkAccessToken(params.clientId, params.clientSecret);
|
|
146
144
|
|
|
145
|
+
// Note: cardData must be a JSON string, not an object!
|
|
146
|
+
// cardData is a flat object with variable names as keys (no cardParamMap wrapper)
|
|
147
|
+
const cardDataObj = params.cardData || {};
|
|
147
148
|
const body: Record<string, any> = {
|
|
148
149
|
cardTemplateId: params.cardTemplateId,
|
|
149
150
|
outTrackId: params.outTrackId,
|
|
150
|
-
cardData:
|
|
151
|
+
cardData: JSON.stringify(cardDataObj),
|
|
151
152
|
};
|
|
152
153
|
|
|
153
154
|
// Only add callbackType if specified (not needed for basic cards)
|
|
@@ -298,9 +299,10 @@ export async function updateCard(
|
|
|
298
299
|
try {
|
|
299
300
|
const token = await getDingTalkAccessToken(params.clientId, params.clientSecret);
|
|
300
301
|
|
|
302
|
+
// Note: cardData must be a JSON string, not an object!
|
|
301
303
|
const body: Record<string, any> = {
|
|
302
304
|
outTrackId: params.outTrackId,
|
|
303
|
-
cardData: params.cardData,
|
|
305
|
+
cardData: JSON.stringify(params.cardData),
|
|
304
306
|
};
|
|
305
307
|
|
|
306
308
|
if (params.userIdType !== undefined) {
|
|
@@ -427,12 +429,13 @@ export async function sendCardMessage(params: {
|
|
|
427
429
|
const openSpaceId = buildOpenSpaceId(spaceType, spaceTargetId);
|
|
428
430
|
|
|
429
431
|
// Step 1: Create card instance
|
|
432
|
+
// Note: cardData should be flat object, not wrapped in cardParamMap
|
|
430
433
|
const createResult = await createCardInstance({
|
|
431
434
|
clientId: params.clientId,
|
|
432
435
|
clientSecret: params.clientSecret,
|
|
433
436
|
cardTemplateId: params.cardTemplateId,
|
|
434
437
|
outTrackId,
|
|
435
|
-
cardData:
|
|
438
|
+
cardData: params.cardData,
|
|
436
439
|
robotCode: params.robotCode,
|
|
437
440
|
// Note: callbackType not needed for basic cards
|
|
438
441
|
});
|