Динамический контент может быть использован для автоматического изменения значений дополнительных полей подписчика при отправке письма, используя метод SetSubscriberProperty
.
Сигнатура метода:
SetSubscriberProperty(name, value)
Метод всегда возвращает пустую строку и может быть использован в любом месте письма. Например:
${SetSubscriberProperty('some_number', 123)}
Также возможно задавать значения дополнительных полей подписчика с учетом условий, используя стандартный синтаксис логических условий:
<if condition='SubscriberHasProperty('is_client')'> ${SetSubscriberProperty('is_client_and_got_email', true)} </if>
Параметр value
, может принимать любой объект, но важно присваивать значение в зависимости от типа поля. Примеры разных типов дополнительных свойств вы можете увидеть ниже.
Логические поля:
${SetSubscriberProperty('some_boolean', true)} ${SetSubscriberProperty('some_boolean', false)}
Текстовые поля:
${SetSubscriberProperty('some_text', 'foobar')}
Числовые поля:
${SetSubscriberProperty('some_number', 123)}
Финансовые поля:
${SetSubscriberProperty('some_money', 12.99)}
ВАЖНО: Знак точки (.) используется как дробный десятичный разделитель.
Поля даты и времени:
${SetSubscriberProperty('some_date', '2013-12-02')} ${SetSubscriberProperty('some_datetime', '2013-12-02 10:15:00')} ${SetSubscriberProperty('some_date', new System.DateTime(2013, 12, 2).Date)} ${SetSubscriberProperty('some_datetime', new System.DateTime(2013, 12, 2, 10, 15, 0))}
Поля выбора:
${SetSubscriberProperty('some_singleselect', 'value1')} ${SetSubscriberProperty('some_singleselect', 'value2')}
Важно: значением дополнительного поля выбора должно быть одно из предустановленных значений.
Также возможна подстановка выражений и других методов ДК с подходящим типом (используя приведение типов) в качестве аргументов:
${SetSubscriberProperty('some_number', (int)GetSubscriberProperty('some_other_number') + 123)}
Если по какой-то причине невозможно задать значения дополнительного поля подписчика (например, значение неверно, или не распознано название поля), метод ничего не будет делать. Еmail отправится как обычно, без ошибки отправки.