Customers (Full Update)
Description
If the UUID of the Customer Resource exists in the system, or no UUID is provided and an External ID exists, then an update is performed. Otherwise, the resource is created.
See the Aerial Spec for more details.
File Naming Convention
TGEN_customers_fullupdate_2025-08_<optionalSuffix>.csv
importType:fullupdateapiVersion:2025-08
Columns
| Column Header | Description | Key Information | Type | Required |
|---|---|---|---|---|
uuid | Unique Tulip identifier of the customer | Max Length: 36 | string | No |
externalId | Integrator provided unique identifier for the customer. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | No |
firstName | First name of the customer | Max Length: 64 | string | Yes |
lastName | Last name of the customer | Max Length: 64 | string | Yes |
prefix | Customer name prefix (Title) | Max Length: 64 | string | No |
suffix | Customer name suffix | Max Length: 64 | string | No |
disabled | Boolean dictating if customer status is disabled or not | boolean | No | |
excludeFromCampaigns | Boolean dictating if customer is excluded from marketing campaigns or not | boolean | No | |
image | Image URL of the customer | Max Length: 64 | string | No |
attributes | Array of Attribute Values associated with this customer | array | Yes | |
attributes[0] | Array element | mixed | No | |
attributes[0].value | Value of the attribute | mixed | Yes | |
attributes[0].attributeExternalId | “Integrator provided unique identifier for the attribute. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | Yes |
attributes[0].languageExternalId | External ID of the language | Max Length: 255 | string | No |
addresses | Array of Addresses associated with this Customer Expandable | mixed | Yes | |
addresses[0] | Array element | mixed | No | |
addresses[0].uuid | Unique Tulip identifier of the address | Max Length: 36 | string | No |
addresses[0].address1 | Address line 1: street number and street name | Max Length: 64 | string | Yes |
addresses[0].city | City | Max Length: 32 | string | Yes |
addresses[0].countryCode | Country ISO code in ISO-3166-1 alpha-2 format | Max Length: 3 | string | Yes |
addresses[0].zoneCode | The ISO-3166-2 region code (including the country code portion) for the state/province/region | Max Length: 255 | string | No |
addresses[0].postCode | Postal code of the address | Max Length: 10 | string | Yes |
addresses[0].address2 | Address line 2 | Max Length: 64 | string | No |
addresses[0].externalId | Integrator provided unique identifier for the address. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | No |
addresses[0].firstName | First name associated to the address | Max Length: 64 | string | No |
addresses[0].lastName | Last name associated to the address | Max Length: 64 | string | No |
addresses[0].phone | Phone number associated to the address (E.164 standard) | Max Length: 32 | string | No |
addresses[0].emailAddress | Email address associated to the address | Max Length: 255 | string | No |
addresses[0].type | Type of address | Max Length: 255 | string | Yes |
addresses[0].disabled | Boolean dictating if address is disabled (true or false) | boolean | No | |
addresses[0].isPrimary | Boolean dictating if address is the primary address for the customer | boolean | No | |
importantDates | Array of Important Dates associated with this Customer Expandable | mixed | Yes | |
importantDates[0] | Array element | mixed | No | |
importantDates[0].uuid | Unique Tulip identifier of the important date | Max Length: 36 | string | No |
importantDates[0].type | Type of important date | Max Length: 255 | string | Yes |
importantDates[0].title | Description of the important date | Max Length: 255 | string | No |
importantDates[0].date | Important date of the customer in RFC3339 format | string | Yes | |
importantDates[0].externalId | Integrator provided unique identifier for the important date. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | No |
emailAddresses | Array of Email Addresses associated with this Customer Expandable | mixed | Yes | |
emailAddresses[0] | Array element | mixed | No | |
emailAddresses[0].uuid | Unique identifier of the email address | Max Length: 36 | string | No |
emailAddresses[0].emailAddress | Email Address of the customer | Max Length: 255 | string | Yes |
emailAddresses[0].externalId | Integrator provided unique identifier for the email address. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | No |
emailAddresses[0].disabled | Boolean dictating if the email address is disabled (true or false) | boolean | No | |
emailAddresses[0].isPrimary | Boolean dictating if this email address is the primary email address for the customer | boolean | No | |
emailAddresses[0].type | Type of email address | Max Length: 11 | string | Yes |
emailAddresses[0].attributes | Array of Attribute Values associated with this email address | array | Yes | |
emailAddresses[0].attributes[0] | Array element | mixed | No | |
emailAddresses[0].attributes[0].value | Value of the attribute | mixed | Yes | |
emailAddresses[0].attributes[0].attributeExternalId | “Integrator provided unique identifier for the attribute. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | Yes |
emailAddresses[0].attributes[0].languageExternalId | External ID of the language | Max Length: 255 | string | No |
phoneNumbers | Array of Phone Numbers associated with this Customer Expandable | mixed | Yes | |
phoneNumbers[0] | Array element | mixed | No | |
phoneNumbers[0].uuid | Unique Tulip identifier of the phone number | Max Length: 36 | string | No |
phoneNumbers[0].externalId | Integrator provided unique identifier for the phone number. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | No |
phoneNumbers[0].type | Type of phone number | Max Length: 255 | string | Yes |
phoneNumbers[0].disabled | Boolean dictating if the phone number is disabled (true or false) | boolean | No | |
phoneNumbers[0].isPrimary | Boolean dictating if the phone number is the primary phone number for the customer | boolean | No | |
phoneNumbers[0].number | Phone number for the customer in E.164 standard | Max Length: 32 | string | Yes |
phoneNumbers[0].countryExternalId | External ID of the country this phone number belongs to. Detected automatically using number if not provided. | string | No | |
phoneNumbers[0].attributes | Array of Attribute Values associated with the phone number | array | Yes | |
phoneNumbers[0].attributes[0] | Array element | mixed | No | |
phoneNumbers[0].attributes[0].value | Value of the attribute | mixed | Yes | |
phoneNumbers[0].attributes[0].attributeExternalId | “Integrator provided unique identifier for the attribute. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | Yes |
phoneNumbers[0].attributes[0].languageExternalId | External ID of the language | Max Length: 255 | string | No |
loyaltyTiers | Array of Loyalty Tiers associated with this Customer Expandable | array | No | |
loyaltyTiers[0] | Array element | mixed | No | |
loyaltyTiers[0].uuid | Unique Tulip identifier of the Tier Value | string | Yes | |
loyaltyTiers[0].tier | Identifier of the associated Customer Tier | string | Yes | |
loyaltyTiers[0].colour | The colour associated with the tier in Hex format | Max Length: 255 | string | No |
loyaltyTiers[0].definition | The definition of this tier value | string | No | |
loyaltyTiers[0].externalId | External identifier of the Tier Value | Max Length: 255 | string | No |
loyaltyTiers[0].isHidden | Boolean dictating if Tier Value is hidden (true or false) | Max Length: 255 | boolean | Yes |
loyaltyTiers[0].localizedData | Array of localized Tier Value descriptions | array | No | |
loyaltyTiers[0].localizedData[0] | Array element | mixed | No | |
loyaltyTiers[0].localizedData[0].languageCode | Language code the Tier Value is in | string | Yes | |
loyaltyTiers[0].localizedData[0].name | The localized name of the Tier Value | Max Length: 255 | string | Yes |
preferences | Array of Preferences associated with this Customer Expandable | mixed | Yes | |
preferences.likes | Array of liked customer preferences Expandable | mixed | Yes | |
preferences.likes[0] | Array element | mixed | No | |
preferences.likes[0].uuid | Unique Tulip identifier of the customerPreferenceValue | Max Length: 36 | string | No |
preferences.likes[0].externalId | External ID of the customerPreferenceValue | Max Length: 255 | string | No |
preferences.likes[0].disabled | Boolean dictating if this preference value is disabled (true or false) | boolean | No | |
preferences.likes[0].type | The customer preference this value belongs to (External ID or UUID) | mixed | Yes | |
preferences.likes[0].type.externalId | Integrator provided unique identifier for the customer preference. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | No |
preferences.likes[0].type.displayType | Display type for this preference | Allowed: hexColor, image, text | string | Yes |
preferences.likes[0].type.sortOrder | Sort order for this preference in the list | integer | Yes | |
preferences.likes[0].type.allowDislikes | Boolean dictating if dislikes are allowed for this preference (true or false) | boolean | No | |
preferences.likes[0].type.isSingleSelect | Boolean dictating if only one value can be assigned per-customer (true or false) | boolean | No | |
preferences.likes[0].type.isFilterable | Boolean dictating if value is filterable or not (true or false) | boolean | No | |
preferences.likes[0].type.disabled | Boolean dictating if this preference is disabled (true or false) | boolean | No | |
preferences.likes[0].type.localizedData | Localized data for name and description with associated language | array | No | |
preferences.likes[0].type.localizedData[0] | Array element | mixed | No | |
preferences.likes[0].sortOrder | Sort order for this preference value in the list | integer | Yes | |
preferences.likes[0].localizedData | Localized data for value and presentation with associated language | array | No | |
preferences.likes[0].localizedData[0] | Array element | mixed | No | |
preferences.likes[0].localizedData[0].value | Value of the Customer Preference Value | Max Length: 36 | string | Yes |
preferences.likes[0].localizedData[0].presentation | Presentation of the Customer Preference Value localization (URL, Hex or String) | Max Length: 255 | string | No |
preferences.likes[0].localizedData[0].languageCode | Language code the Customer Preference Value is in | string | Yes | |
preferences.dislikes | Array of disliked customer preferences Expandable | mixed | Yes | |
preferences.dislikes[0] | Array element | mixed | No | |
preferences.dislikes[0].uuid | Unique Tulip identifier of the customerPreferenceValue | Max Length: 36 | string | No |
preferences.dislikes[0].externalId | External ID of the customerPreferenceValue | Max Length: 255 | string | No |
preferences.dislikes[0].disabled | Boolean dictating if this preference value is disabled (true or false) | boolean | No | |
preferences.dislikes[0].type | The customer preference this value belongs to (External ID or UUID) | mixed | Yes | |
preferences.dislikes[0].type.externalId | Integrator provided unique identifier for the customer preference. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | No |
preferences.dislikes[0].type.displayType | Display type for this preference | Allowed: hexColor, image, text | string | Yes |
preferences.dislikes[0].type.sortOrder | Sort order for this preference in the list | integer | Yes | |
preferences.dislikes[0].type.allowDislikes | Boolean dictating if dislikes are allowed for this preference (true or false) | boolean | No | |
preferences.dislikes[0].type.isSingleSelect | Boolean dictating if only one value can be assigned per-customer (true or false) | boolean | No | |
preferences.dislikes[0].type.isFilterable | Boolean dictating if value is filterable or not (true or false) | boolean | No | |
preferences.dislikes[0].type.disabled | Boolean dictating if this preference is disabled (true or false) | boolean | No | |
preferences.dislikes[0].type.localizedData | Localized data for name and description with associated language | array | No | |
preferences.dislikes[0].type.localizedData[0] | Array element | mixed | No | |
preferences.dislikes[0].sortOrder | Sort order for this preference value in the list | integer | Yes | |
preferences.dislikes[0].localizedData | Localized data for value and presentation with associated language | array | No | |
preferences.dislikes[0].localizedData[0] | Array element | mixed | No | |
preferences.dislikes[0].localizedData[0].value | Value of the Customer Preference Value | Max Length: 36 | string | Yes |
preferences.dislikes[0].localizedData[0].presentation | Presentation of the Customer Preference Value localization (URL, Hex or String) | Max Length: 255 | string | No |
preferences.dislikes[0].localizedData[0].languageCode | Language code the Customer Preference Value is in | string | Yes | |
socialProfiles | Array of social profiles associated with this customer | mixed | Yes | |
socialProfiles[0] | Array element | mixed | No | |
socialProfiles[0].uuid | Unique Tulip identifier of the social profile | Max Length: 36 | string | No |
socialProfiles[0].externalId | Integrator provided unique identifier for the social profile. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | No |
socialProfiles[0].value | Value of the social profile | Max Length: 255 | string | Yes |
socialProfiles[0].type | Type of social profile | Max Length: 11 Allowed: whatsapp, wechat, line | string | Yes |
socialProfiles[0].isPrimary | Boolean dictating if this social profile is the primary social profile for the customer | boolean | No | |
socialProfiles[0].disabled | Boolean dictating if the social profile is disabled (true or false) | boolean | No | |
notes | Internal notes on the customer | array | No | |
notes[0] | Array element | mixed | No | |
notes[0].uuid | Unique Tulip identifier of the customer note | Max Length: 36 | string | No |
notes[0].externalId | Integrator provided unique identifier for the customer notes. Typically used to map a primary key from a third party system to the Tulip resource. | Max Length: 255 | string | No |
notes[0].customer | Customer who is associated with the note | Max Length: 255 | string | Yes |
notes[0].employee | Employee who is associated with the note | Max Length: 255 | string | No |
notes[0].store | Store associated with the note | Max Length: 255 | string | No |
notes[0].comments | Comments associated with the note | string | Yes | |
notes[0].isPrivate | Boolean dictating if customer note is private or not | boolean | No | |
notes[0].isDeleted | Boolean dictating if customer note is deleted or not | boolean | No | |
notes[0].type | Type of the note | Allowed: CUSTOMER_OPTIN_LOG | string | Yes |
notes[0].wishListId | ID of the Wishlist Associated with this Customer | integer | No |
Sample CSV
See the following customers CSV sample file.