Skip to content

Commit 92390ac

Browse files
Address PR Comments
1 parent 11fd3af commit 92390ac

File tree

2 files changed

+47
-4
lines changed

2 files changed

+47
-4
lines changed

src/ecommerce.interfaces.ts

Lines changed: 38 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,11 +120,45 @@ export interface SDKECommerceAPI extends IECommerceShared {
120120
): void;
121121
}
122122

123+
interface ExtractedActionAttributes {
124+
"Affiliation"?: string;
125+
"Coupon Code"?: string;
126+
"Total Amount"?: number;
127+
"Shipping Amount"?: string;
128+
"Tax Amount"?: string;
129+
"Checkout Option"?: string;
130+
"Checkout Step"?: number;
131+
"Transaction ID"?: string;
132+
}
133+
interface ExtractedProductAttributes {
134+
"Coupon Code"?: string;
135+
"Brand"?: string;
136+
"Category"?: string;
137+
"Name"?: string;
138+
"Id"?: string;
139+
"Item Price"?: string;
140+
"Quantity"?: string;
141+
"Position"?: number;
142+
"Variant"?: string;
143+
"Total Product Amount": string;
144+
}
145+
interface ExtractedPromotionAttributes {
146+
"Id"?: string;
147+
"Creative"?: string;
148+
"Name"?: string;
149+
"Position"?: number;
150+
}
151+
interface ExtractedTransactionId {
152+
"Transaction ID"?: string;
153+
}
154+
123155
// Used for the private `_Ecommerce` namespace
124156
export interface IECommerce extends IECommerceShared {
125157
buildProductList(event: SDKEvent, product: Product | Product[]): Product[];
126158
convertProductActionToEventType(
127159
productActionType: valueof<typeof ProductActionType>
160+
161+
// https://go.mparticle.com/work/SQDSDKS-4801
128162
): typeof CommerceEventType | typeof EventType | null;
129163
convertPromotionActionToEventType(
130164
promotionActionType: valueof<typeof PromotionActionType>
@@ -141,19 +175,19 @@ export interface IECommerce extends IECommerceShared {
141175
expandProductImpression(commerceEvent: CommerceEvent): SDKEvent[];
142176
expandPromotionAction(commerceEvent: CommerceEvent): SDKEvent[];
143177
extractActionAttributes(
144-
attributes: Record<string, string | number>,
178+
attributes: ExtractedActionAttributes,
145179
productAction: ProductAction
146180
): void;
147181
extractProductAttributes(
148-
attributes: Record<string, string | number>,
182+
attributes: ExtractedProductAttributes,
149183
product: Product
150184
): void;
151185
extractPromotionAttributes(
152-
attributes: Record<string, string | number>,
186+
attributes: ExtractedPromotionAttributes,
153187
promotion: Promotion
154188
): void;
155189
extractTransactionId(
156-
attributes: Record<string, string | number>,
190+
attributes: ExtractedTransactionId;
157191
productAction: ProductAction
158192
): void;
159193
generateExpandedEcommerceName(eventName: string, plusOne: boolean): string;

src/ecommerce.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ var Messages = Constants.Messages;
55

66
export default function Ecommerce(mpInstance) {
77
var self = this;
8+
9+
// https://go.mparticle.com/work/SQDSDKS-4801
810
this.convertTransactionAttributesToProductAction = function(
911
transactionAttributes,
1012
productAction
@@ -103,8 +105,11 @@ export default function Ecommerce(mpInstance) {
103105
return Types.CommerceEventType.ProductRemoveFromCart;
104106
case Types.ProductActionType.RemoveFromWishlist:
105107
return Types.CommerceEventType.ProductRemoveFromWishlist;
108+
109+
// https://go.mparticle.com/work/SQDSDKS-4801
106110
case Types.ProductActionType.Unknown:
107111
return Types.EventType.Unknown;
112+
108113
case Types.ProductActionType.ViewDetail:
109114
return Types.CommerceEventType.ProductViewDetail;
110115
default:
@@ -139,6 +144,7 @@ export default function Ecommerce(mpInstance) {
139144
);
140145
};
141146

147+
// https://go.mparticle.com/work/SQDSDKS-4801
142148
this.extractProductAttributes = function(attributes, product) {
143149
if (product.CouponCode) {
144150
attributes['Coupon Code'] = product.CouponCode;
@@ -170,12 +176,14 @@ export default function Ecommerce(mpInstance) {
170176
attributes['Total Product Amount'] = product.TotalAmount || 0;
171177
};
172178

179+
// https://go.mparticle.com/work/SQDSDKS-4801
173180
this.extractTransactionId = function(attributes, productAction) {
174181
if (productAction.TransactionId) {
175182
attributes['Transaction Id'] = productAction.TransactionId;
176183
}
177184
};
178185

186+
// https://go.mparticle.com/work/SQDSDKS-4801
179187
this.extractActionAttributes = function(attributes, productAction) {
180188
self.extractTransactionId(attributes, productAction);
181189

@@ -208,6 +216,7 @@ export default function Ecommerce(mpInstance) {
208216
}
209217
};
210218

219+
// https://go.mparticle.com/work/SQDSDKS-4801
211220
this.extractPromotionAttributes = function(attributes, promotion) {
212221
if (promotion.Id) {
213222
attributes['Id'] = promotion.Id;

0 commit comments

Comments
 (0)