Acquia CDP

Data feeds through SFTP

 

Customer Data Platform (CDP) is built around several entities such as Customer and Product.

CDP data feeds provide a standard set of flat-file feeds to define how you can send relevant data into CDP. These feeds support all the use cases that are available with CDP.

CDP presents the feeds as a fixed set of entities and attributes. You can extend the feeds with client-specific attributes and entities. To configure such extensions, contact your CDP customer value manager (CVM).

Required and optional feeds

The following are the required standard feeds:

FeedFeed name
CustomerCustomer_[DateTime].csv
TransactionTransaction_[DateTime].csv
TransactionItemTransactionItem_[DateTime].csv
OrganizationOrganization_[DateTime].csv
ProductProduct_[DateTime].csv
ProductCategoryProductCategory_[DateTime].csv

The following are the optional feeds that you can use for specific use cases:

FeedFeed name
AddressAddress_[DateTime].csv
CustomerAddressXRefCustomerAddressXRef_[DateTime].csv
ProductCategoryXRefProductCategoryXRef_[DateTime].csv
EventEvent_[DateTime].csv
PaymentMethodPaymentMethod_[DateTime].csv
TransactionPaymentMethodXRefTransactionPaymentMethodXRef_[DateTime].csv
CampaignCampaign_[DateTime].csv
DispatchDispatch_[DateTime].csv
MessageMessage_[DateTime].csv

Note

  • Full feeds are not required every day. After an initial full feed, it is more efficient to send only the new or updated data to CDP as incremental feeds.
  • Web and email events come in through other mechanisms. Therefore, they are not part of the required feeds.

Feed format

CDP feeds are designed to be source system-agnostic. If you cannot extract the necessary feeds from your existing systems, CDP offers integration services.

The following table lists the formatting requirements for feeds:

RequirementDescription
Name

Each file name must have the following naming convention:

entityName_yyyymmddhhmiss.csv

For example, customer_20201224235959.csv. If multiple sources feed the same CDP entity, add a source identifier to the front of the file name, sourceName_entityName_yyyymmddhhmiss.csv. For example, crm_customer_20201224235959.csv.

FormatThe comma-separated values (CSV), with the conventions used by OpenCSV.
Record delimiterLine breaks ({CR}{LF}). Record delimiters cannot be present within the fields and you must replace them with a whitespace character.
Field delimiter

Comma (,), tab (\t), or pipe (|):

  • If your data contains field delimiters, use double quotes as text qualifiers.
  • Without text qualifiers, you must escape with a backslash double quotes in the data, 3"3\".
Text qualifier (recommended)

Double quotes (“)

  • Double quotes within the fields need to be escaped by prepending them with another double quote (“”), ” → “”, or by prepending a double-quote with a backslash ("), ” → ".
  • If text qualifiers are not used, leading and trailing whitespace is trimmed.
Escape character

backslash ()

  • Escape characters within fields are replaced by two escape characters. → \
HeaderA header row that names the columns is required. Column names cannot begin or end with whitespace.
FooterA footer row is not supported.
EncodingFiles must be encoded using UTF-8.
Date/datetime formats

The following date/datetime formats are supported by default:

  • dd-MM-yyyy
  • yyyy-MM-dd
  • MM/dd/yyyy
  • yyyy/MM/dd
  • dd MMM yyyy
  • dd MMMM yyyy
  • yyyyMMdd HHmm
  • dd-MM-yyyy HH:mm
  • yyyy-MM-dd HH:mm
  • MM/dd/yyyy HH:mm
  • yyyy/MM/dd HH:mm
  • dd MMM yyyy HH:mm
  • dd MMMM yyyy HH:mm
  • yyyyMMdd HHmmss
  • dd-MM-yyyy HH:mm:ss
  • yyyy-MM-dd HH:mm:ss
  • MM/dd/yyyy HH:mm:ss
  • yyyy/MM/dd HH:mm:ss
  • dd MMM yyyy HH:mm:ss
  • dd MMMM yyyy HH:mm:ss
  • yyyy-MM-dd HH:mm:ss.SSS
  • Additional date/datetime formats can be added custom by your CDP integration team
TimezoneThe timezone of the file is communicated to the CDP integration team.
CompressionEach file can be compressed through zip or gzip compression. Each file must be compressed separately as multiple files cannot be compressed together in a compressed directory. The compression method must be included in the file name. For example, customer_20201114232015.csv.zip or customer_20201114232015.csv.gz.
EncryptionEach file can be encrypted through pgp or gpg encryption. Each file must be encrypted separately, and must not be signed. You must include the encryption method in the file name. For example, customer_20201114232015.csv.pgp or customer_20201114232015.csv.gpg. If you want to encrypt your files, contact your implementation consultant who provides you with a public key for encrypting the files.

Each file must contain only one record per primary key, the latest and greatest version of that record. Since CDP is a distributed system, files are not processed top to bottom or bottom to top. Each file is split up and processed by multiple machines. If two records exist in one file with the same identifier, then CDP cannot guarantee which version of that record is recorded to CDP’s data warehouse.

Product and Product Category feeds

CDP supports having products mapped to the product categories within the product feed (1:1 or n:1 relationships). However, to support n:n relationships, a separate cross-reference feed is required. For more information, see Product Category XRef feed.