Купоны в Salesforce с использованием ClaimRow

#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»