Есть ли способ сделать upsert из CloudPage в облачный объект Salesforce Sales? В этом случае необходимо обновить объект учетной записи.

Сценарий: новый подписчик создается в маркетинговом облаке и получает электронное письмо (двойной выбор)

Если он/она активирует электронное письмо стандартной кнопкой, я могу изменить расширение данных в маркетинговом облаке, но мне также нужно обновить CRM. Как мне сделать upsert отсюда? это вообще возможно?

0
Yattaman 10 Июн 2020 в 19:33

1 ответ

Лучший ответ

Вы можете использовать функцию UpdateSingleSalesforceObject для обновления поля в определенной записи в Sales Cloud, как показано ниже:

%%[
var @result, @accountid
set @accountid = RequestParameter("AccountID")
set @result = UpdateSingleSalesforceObject('Account',@accountid,'DoubleOptIn','TRUE')
]%%

Если вам нужно решение, которое может либо обновить, либо создать запись, вам нужно будет использовать комбинацию трех функций:

  1. СоздатьSalesforceObject
  2. ПолучитьSalesforceObjects
  3. Апдейтсинглесалесфорцеобжект

Которые должны быть объединены следующим образом:

%%[
var @rowset, @numberOfRows, @i, @update, @create, @lastname
set @lastname = RequestParameter("lastname")
set @rowset = RetrieveSalesforceObjects('Contact', 'FirstName, Email', 'LastName', '=', @lastname)
if not empty(@rowset) then
set @numberOfRows = RowCount(@rowset)
for @i = 1 to @numberOfRows do
set @update = UpdateSingleSalesforceObject('Contact',Field(@row, "Id"),'DoubleOptIn','TRUE')
next @i
ELSE
  set @create = CreateSalesforceObject(
        "Contact", 4,
        "FirstName", RequestParameter("firstname"),
        "LastName", RequestParameter("lastname"),
        "DoubleOptIn", 'TRUE',
        "Email", RequestParameter("email")
       )
ENDIDF
]%%
2
Lukas Lunow 11 Июн 2020 в 11:27
Эй Лукас, спасибо за ваш ответ. Создает ли эта функция новую запись, если ее нет в объекте Sales Cloud?
 – 
Yattaman
11 Июн 2020 в 10:46
- Я обновил свой ответ соответственно. Вам понадобится еще немного кода для достижения этого
 – 
Lukas Lunow
11 Июн 2020 в 11:27