Topic 1
Customer Account Update - Triggered when the customer account is updated. This also includes the barcode being updated, the password being reset and the account being verified.
Return Type
CustomerResultView {
id?: string;
email?: string;
firstName?: string;
readonly name?: string;
lastName?: string;
dob?: Date;
gender?: Gender;
areaCode?: string;
mobileNumber?: string;
addressLine1?: string;
addressLine2?: string;
town?: string;
state?: string;
postCode?: string;
country?: string;
marketingSub?: boolean;
barCode?: string;
createdBy?: string;
updatedBy?: string;
detailedLevels?: Array<LegacyCustomerLevelView>;
schemes?: Array<CustomerSchemeResultView>;
createdDate?: Date;
updatedDate?: Date;
lastConnectedDate?: Date;
lastTransactionDate?: Date;
Levels?: Array<CustomerLevelView>;
readonly alerts?: Array<string>;
additionalCustomerFields?: Array<AdditionalCustomerFieldsResultView>;
profileImageUrl?: string;
onHold?: boolean;
deleted?: boolean;
emailVerified?: boolean;
mobileNumberVerified?: boolean;
signUpPlatform?: string;
signUpPlatform2?: SignUpPlatformView;
externalRefId?: string;
parent?: ParentAdditionalFieldsView;
customerDevices?: Array<CustomerDevicesResultView>;
balance: PointBalanceSummaryResult;
}
Sub Return Types
LegacyCustomerLevelView{
levelId: string;
tierId: string;
schemeId: string;
createdDate: Date;
updatedDate: Date;
}
CustomerSchemeResultView {
id: string($uuid)
name?: string
currency?: string
description?: string
website?: string
color?: string
imageUrl?: string
pointRedemptionPerCurrency: number($double)
updatedDate: Date
createdDate: Date
inLoyale: boolean
hidden: boolean
rounding: Rounding
billingStatus: SchemeStatus
franchises?: Array<FranchiseResultView>
}
CustomerLevelView {
customerId: string($uuid)
levelId: string($uuid)
}
AdditionalCustomerFieldsResultView {
customerId?: string
createdBy?: string
updatedBy?: string
id?: string($uuid)
schemeId?: string($uuid)
name?: string
key?: string
value?: string
updatedDate: Date
createdDate: Date
internal: boolean
}
SignUpPlatformView {
name?: string
version?: string
device?: string
appName?: string
appVersion?: string
comments?: string
}
CustomerDevicesResultView {
id: string($uuid)
customerId?: string
schemeId: string($uuid)
deviceName?: string
deviceVersion?: string
osName?: string
osVersion?: string
appName?: string
appVersion?: string
comments?: string
firstDevice?: boolean
createdDate: Date
updatedDate: Date
createdBy?: string
updatedBy?: string
}
FranchiseResultView {
id: string($uuid)
name?: string
description?: string
schemeId: string($uuid)
imageUrl?: string
imageGallery?: Array<string>
categoriesIds?: Array<string($uuid)>
categories?: Array<CategoryResultView>
outlets?: Array<FranchiseOutletResultView>
updatedDate: Date
createdDate: Date
hidden: boolean
createdBy?: string
updatedBy?: string
}
CategoryResultView {
id: string($uuid)
name?: string
imageUrl?: string
}
FranchiseOutletResultView {
id: string($uuid)
name?: string
coordinate: CoordinateView
address: AddressView
phoneNumber?: string
openingHours: Array<string?>
imageUrl?: string
updatedDate: Date
createdDate: Date
facebook?: string
instagram?: string
hidden: boolean
createdBy?: string
updatedBy?: string
}
CoordinateView {
latitude: number($double)
longitude: number($double)
}
AddressView {
addressLine1?: string
addressLine2?: string
town?: string
postCode?: string
state?: string
countryId?: string
}
ParentAdditionalFieldsView{
id?: string;
email?: string;
firstName?: string;
readOnly name?: string;
lastName?: string;
dob?: Date;
gender: Gender;
areaCode?: string;
mobileNumber?: string;
addressLine1?: string;
addressLine2?: string;
town?: string;
state?: string;
postCode?: string;
country?: string;
marketingSub: boolean;
barCode?: string;
createdDate: Date;
updatedDate: Date;
lastConnectedDate?: Date;
lastTransactionDate?: Date;
profileImageUrl?: string;
onHold: boolean;
emailVerified: boolean;
mobileNumberVerified: boolean;
externalRefId?: string;
additionalCustomerFields?: Array<AdditionalCustomerFieldsResultView>;
balance: PointBalanceSummaryResult;
}
PointBalanceSummaryResult{
pointsValue: double;
monetaryValue: double;
}
Note: Gender, Rounding and SchemeStatus are enums, all enums can be found here.
Warning: You should take into account the case when you receive a Customer Update webhook, you should always check the Password property from the webhook’s request body for NULL in order not to wipe the customer’s password from your db. Otherwise, if the Password (it’s a plain password, not hashed) is not null you should update the password on your end.
Updated about 2 years ago
What’s Next