Pular para o conteúdo principal

CreateObject

Descrição

Cria um objeto da API do Marketing Cloud Engagement. Essa função é o ponto de partida quando você precisa interagir diretamente com a API do SFMC via AMPscript - por exemplo, para criar subscribers, disparar triggered sends ou manipular Data Extensions pela camada de API. O objeto criado é usado em conjunto com funções como SetObjectProperty, AddObjectArrayItem e as funções de invocação (InvokeCreate, InvokeUpdate, etc.).

Sintaxe

CreateObject("objectName")

Parâmetros

ParâmetroTipoObrigatórioDescrição
objectNameStringSimNome do objeto da API do Marketing Cloud Engagement que você deseja criar.

Exemplo básico

Criando um objeto Subscriber para cadastrar um novo contato da Lojas Vitória:

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

VAR @statusCode, @statusMsg
SET @statusCode = InvokeCreate(@subscriber, @statusMsg, @errorCode)
]%%

Saída:

(O subscriber João Silva é criado na conta do Marketing Cloud. Nenhuma saída visível é renderizada no e-mail.)

Exemplo avançado

Cenário de régua de boas-vindas: ao processar uma landing page de cadastro, você cria o subscriber e já o adiciona a uma lista específica de clientes do programa de fidelidade da MegaStore:

%%[
VAR @subscriber, @listObj, @statusCode, @statusMsg, @errorCode
VAR @email, @nome

SET @email = "maria.santos@megastore.com.br"
SET @nome = "Maria Santos"

/* Cria o objeto Subscriber */
SET @subscriber = CreateObject("Subscriber")
SetObjectProperty(@subscriber, "SubscriberKey", @email)
SetObjectProperty(@subscriber, "EmailAddress", @email)

/* Cria o objeto SubscriberList para associar a uma lista */
SET @listObj = CreateObject("SubscriberList")
SetObjectProperty(@listObj, "ID", "12345")
SetObjectProperty(@listObj, "Status", "Active")

/* Adiciona a lista ao subscriber */
AddObjectArrayItem(@subscriber, "Lists", @listObj)

/* Invoca a criação na API */
SET @statusCode = InvokeCreate(@subscriber, @statusMsg, @errorCode)

IF @statusCode == "OK" THEN
Output(Concat("Bem-vinda, ", @nome, "! Cadastro realizado com sucesso."))
ELSE
Output(Concat("Erro no cadastro: ", @statusMsg))
ENDIF
]%%

Saída:

Bem-vinda, Maria Santos! Cadastro realizado com sucesso.

Observações

⚠️ Atenção: Um objeto criado com CreateObject persiste apenas para uma única chamada Invoke. Isso significa que se você criar um objeto Subscriber e utilizá-lo com InvokeUpdate, por exemplo, não será possível reutilizar esse mesmo objeto para passá-lo a um Triggered Send. Para cada operação distinta, crie um novo objeto.

  • CreateObject sozinha não faz nada no Marketing Cloud - ela apenas instancia o objeto em memória. Você precisa usar funções complementares como SetObjectProperty para definir propriedades e uma função de invocação para executar a ação.

Funções relacionadas