diff --git a/ios/KlaviyoBridge.swift b/ios/KlaviyoBridge.swift index e2931dab..1cdd26a5 100644 --- a/ios/KlaviyoBridge.swift +++ b/ios/KlaviyoBridge.swift @@ -84,7 +84,16 @@ public class KlaviyoBridge: NSObject { @objc public static func setProfileAttribute(_ key: String, value: String) { - KlaviyoSDK().set(profileAttribute: getProfileKey(key), value: value) + switch key { + case "external_id": + setExternalId(value) + case "email": + setEmail(value) + case "phone_number": + setPhoneNumber(value) + default: + KlaviyoSDK().set(profileAttribute: getProfileKey(key), value: value) + } } @objc diff --git a/src/Profile.ts b/src/Profile.ts index 796a475e..dbb02274 100644 --- a/src/Profile.ts +++ b/src/Profile.ts @@ -67,16 +67,19 @@ export interface KlaviyoProfileApi { export enum ProfileProperty { /** * A unique identifier used by customers to associate Klaviyo profiles with profiles in an external system, such as a point-of-sale system. Format varies based on the external system. + * @deprecated Setting identifiers via setProfileAttribute is deprecated, and this enum will be removed in an upcoming release. Use the corresponding setter function instead. */ EXTERNAL_ID = PROFILE_KEYS.EXTERNAL_ID ?? 'external_id', /** * Individual's email address + * @deprecated Setting identifiers via setProfileAttribute is deprecated, and this enum will be removed in an upcoming release. Use the corresponding setter function instead. */ EMAIL = PROFILE_KEYS.EMAIL ?? 'email', /** * Individual's phone number in E.164 format + * @deprecated Setting identifiers via setProfileAttribute is deprecated, and this enum will be removed in an upcoming release. Use the corresponding setter function instead. */ PHONE_NUMBER = PROFILE_KEYS.PHONE_NUMBER ?? 'phone_number',