Расширения данных — это имя Salesforce Marketing Cloud для таблиц базы данных, которые пользователи Marketing Cloud могут настроить на платформе. SFMC использует под капотом базу данных SQLServer, возможности SQL которой соответствуют версии SQLServer 2005. Расширения данных — это объекты, к которым могут выполняться эти SQL-запросы.

Типы данных

Текст. Это довольно простой тип данных. В SFMC он имеет максимальную длину 4k символов. Если вы пытаетесь отправить запись с текстовым полем, длина которого превышает заданную в поле расширения данных, Marketing Cloud API отклонит запись и вернет следующее сообщение об ошибке:

'{"message":"Unable to save rows for data extension ID 123 ","errorcode":10006,"documentation":"","additionalErrors":[{"message":"sampltxt: The value for column [sampltxt] exceeds the column\'s maximum length.","errorcode":10000,"documentation":""}]}'

Электронная почта.Тип электронной почты — это особый тип поля в маркетинговом облаке, который проходит несколько шагов, чтобы убедиться, что электронная почта действительно действительна. Он выполняет три уровня проверки электронных писем: проверку синтаксиса, проверку домена почтового сервера и проверку черного списка.

  • Синтаксис.SFMC выполняет проверку синтаксиса при каждой вставке в поле электронной почты и отклоняет записи с недопустимым синтаксисом электронной почты:
'{"message":"Unable to save rows for data extension ID 123","errorcode":10006,"documentation":"","additionalErrors":[{"message":"email: The value for column [email] is not a valid email address. Parse error [InvalidEmailAddress]","errorcode":10000,"documentation":""}]}'

Базовая проверка синтаксиса электронной почты также доступна в функции AMPScript.

Поля даты: SQLServer имеет некоторые особенности в отношении формата даты и времени. Формат даты и времени, по-видимому, используется в серверной части для поля даты расширения данных Salesforce Marketing Cloud.

Диапазон допустимых значений для значения даты и времени имеет следующий формат YYYY-MM-DD hh:mm:ss[.nnn] from 1753–01–01 through 9999–12–31. Хотя согласно Документации Salesforce “Valid date values begin after 12/31/1772 and before 01/01/10000»

Одним из следствий такого длинного списка требований является то, что при отправке данных с использованием часового пояса минимальная дата, которую можно передать в поле даты Salesforce Marketing Cloud, составляет 1753–01–01 CST.Это преобразуется в 1753–01–01T06:00:000Z из-за разницы в 6 часов между UTC и CST.

В частности, это может быть трудно отлаживать проблемы, когда ORM преобразует минимальное значение по умолчанию в базе данных SQLServer в часовой пояс, отличный от CST.

Телефон.предназначен для представления телефонных номеров, принимает любой ввод текста и удаляет нечисловые символы.

Числа, десятичные и логические значения. Для числовых (целых), десятичных и логических значений существуют определенные типы полей. Для этих полей не выполняется никакой конкретной проверки, кроме проверки «усечения» для чисел/десятичных знаков и проверки того, что ввод действительно является допустимым логическим полем.

{"message":"Unable to save rows for data extension ID 123","errorcode":10006,"documentation":"","additionalErrors":[{"message":"boola: The value for column [boola] is not a valid boolean. Parse error [ExactTarget.Core.Validation.ValidationResult[]]","errorcode":10000,"documentation":""}]}

Язык:сочетание языка ISO и кода страны, eg: EN-US, EN-GB

Свойства поля данных

Помимо типов, Salesforce Marketing Cloud также поддерживает некоторые параметры конфигурации для полей данных, а именно включение поля в состав первичного ключа и настройку поля, допускающего значение NULL со значением по умолчанию или без него.

Первичный. Включение первичных ключей в расширении данных позволяет вставлять записи. Это делается с помощью метода POST с использованием Synchronous API или метода PUT с использованием асинхронного API.

При использовании асинхронного API и запроса POST, а не PUT для обновления данных, уже находящихся в SFMC, Marketing Cloud выдаст нарушение или ошибку PK.

Попытка передать в качестве ключа поле, не являющееся первичным ключом, приведет к следующему исключению:

{"message":"Field \'$\' exists but is not a primary key.","errorcode":10000,"documentation":""}

Обнуляемое значение и значение по умолчанию.Marketing Cloud позволяет использовать поля с нулевым значением и значением по умолчанию. Если поля в расширении данных не будут заданы как обнуляемые без предоставления данных, это приведет к следующей ошибке:

{"message":"Unable to save rows for data extension ID #####","errorcode":10006,"documentation":""}

Опции

Отправляемые и тестируемые. Как видно из названия, эти параметры предназначены для отправки и тестирования электронных писем. Проверка поля для отправки требуется, если есть намерение отправить сообщение напрямую с использованием расширения данных, а также для тестовых и тестовых отправок.

Хранение данных.Одним из основных параметров расширения данных является политика хранения данных. Доступен довольно широкий диапазон настроек, от параметров удаления до способа обработки периода хранения.

Типы расширений данных

Стандартное расширение данных: типичное хранилище данных в Salesforce Marketing Cloud.

Расширение отфильтрованных данных. По сути, это filtered view в другом расширении данных. Расширения отфильтрованных данных подмножества данных на основе условий фильтрации age > 18, например. Это позволяет создавать целевые сегменты в пользовательской базе для управления рассылками. Расширения отфильтрованных данных можно обновить, чтобы обновить их данные на основе любых изменений в исходном расширении данных.

Расширение случайных данных:включите разделение подписчиков, содержащихся в расширении данных, на несколько других расширений данных. Эта функция особенно полезна для создания A/B и многовариантных тестов.

Расширение общих данных: это расширения данных, которые могут совместно использоваться бизнес-подразделениями. У них есть специальные настройки разрешений, которые позволяют определить, каким бизнес-подразделениям, расширению данных и их данным можно делиться.

Еще от меня на Hacking Analytics: