Pular para o conteúdo principal

SetObjectProperty

Descrição

A função SetObjectProperty define o valor de uma propriedade em um objeto da API do Marketing Cloud que foi previamente criado com a função CreateObject. No dia a dia de SFMC, você vai usar essa função sempre que precisar montar objetos da API via AMPscript - por exemplo, para criar subscribers, disparar e-mails ou manipular Data Extensions diretamente pela API. Ela trabalha em conjunto com CreateObject e as funções de invocação como InvokeCreate.

Sintaxe

SetObjectProperty(@apiObject, "propertyName", "propertyValue")

Parâmetros

ParâmetroTipoObrigatórioDescrição
@apiObjectAPI ObjectSimO objeto da API no qual você quer definir a propriedade. Deve ter sido criado previamente com CreateObject.
propertyNameStringSimO nome da propriedade que receberá o valor.
propertyValueStringSimO valor que será atribuído à propriedade.

Exemplo básico

Criando um objeto Subscriber e definindo o endereço de e-mail de um cliente:

%%[
VAR @assinante
SET @assinante = CreateObject("Subscriber")
SetObjectProperty(@assinante, "EmailAddress", "joao.silva@lojasvitoria.com.br")
]%%

Saída:

(Nenhuma saída visível - o objeto @assinante agora possui a propriedade EmailAddress com o valor "joao.silva@lojasvitoria.com.br")

Exemplo avançado

Montando um objeto Subscriber completo para adicionar um novo cliente da MegaStore à lista de assinantes via API, definindo múltiplas propriedades antes de invocar a criação:

%%[
VAR @assinante, @statusMsg, @errorCode

SET @assinante = CreateObject("Subscriber")
SetObjectProperty(@assinante, "EmailAddress", "maria.santos@megastore.com.br")
SetObjectProperty(@assinante, "SubscriberKey", "MS-2024-00458")

SET @statusMsg = InvokeCreate(@assinante, @createStatus, @errorCode)

IF @createStatus == "OK" THEN
Output(Concat("Assinante criado com sucesso: ", "maria.santos@megastore.com.br"))
ELSE
Output(Concat("Erro ao criar assinante. Status: ", @createStatus))
ENDIF
]%%

Saída:

Assinante criado com sucesso: maria.santos@megastore.com.br

Observações

💡 Dica: Você sempre vai usar SetObjectProperty em combinação com CreateObject. Primeiro cria o objeto, depois define as propriedades uma a uma com SetObjectProperty, e por fim executa a ação desejada com funções como InvokeCreate.

⚠️ Atenção: O parâmetro @apiObject precisa ser um objeto válido criado por CreateObject. Se você tentar usar SetObjectProperty em uma variável que não seja um API Object, o código vai gerar erro.

💡 Dica: Quando o objeto precisa de várias propriedades, chame SetObjectProperty uma vez para cada propriedade. Não existe sintaxe para definir múltiplas propriedades em uma única chamada - é uma chamada por propriedade.

Funções relacionadas