#email #salesforce-marketing-cloud #ampscript
#Адрес электронной почты #salesforce-маркетинг-облако #ampscript
Вопрос:
Я пытаюсь добавить промо-код в электронное письмо, используя метод ClaimRow в SalesForce, чтобы, как только пользователь указал код, который будет отмечен в расширении данных
Я посмотрел онлайн, и все они имеют ту же настройку, которую я создал.
Вызываемое расширение данных настраивается следующим образом с заполнением промо-кодов:
Промокод — Тип данных = Текст; Длина = 100; Первичный ключ = True, значение Null = нет; Значение по умолчанию = нет
IsClaimed — Тип данных = логическое значение; Длина = нет; Первичный ключ = false, значение Null = true; Значение по умолчанию = False}
Адрес электронной почты — тип данных = адрес электронной почты; Длина = нет; Первичный ключ = false, значение Null = true; Значение по умолчанию = нет
при настройке AMPScript как:
%%[
var @em, @couponRow, @couponCode
set @em = AttributeValue("emailAddr")
set @couponRow = ClaimRow("UK_£10_Off_£30_Codes_2", "IsClaimed", "EmailAddress", @em)
if not empty(@couponRow) then
set @couponCode = Field(@couponRow, "PromoCode")
else
RaiseError("No codes available", false)
endif
]%%
Coupon code: %%=v(@couponCode)=%%
Это выглядит правильно, но вызывает ошибку «Нет доступных кодов». Когда я удаляю оператор If, появляется сообщение об ошибке:
Недопустимая строка (параметр 1), переданная функции Field. Строка равна нулю или пуста. Функция: Поле (@couponRow, «Промокод»)
Теперь я столкнулся с кирпичной стеной, и любая помощь будет высоко оценена
Комментарии:
1. Вы получите гораздо больше ответов на свои вопросы SFMC по адресу salesforce.stackexchange.com , в частности, с тегами marketing-cloud и ampscript .
Ответ №1:
Теперь это работает
Проблема заключалась в том, что в строке IsClaimed не было указано значение по умолчанию как «False»