Pular para o conteúdo principal

RetrieveMscrmRecords

Descrição

A função RetrieveMscrmRecords recupera dados de entidades do Microsoft Dynamics CRM diretamente via AMPscript. Você define a entidade, os campos que quer trazer e um filtro simples (campo, operador e valor) para buscar os registros desejados. É útil quando sua operação no Brasil integra o SFMC com o Dynamics CRM - por exemplo, para puxar dados de contatos ou oportunidades e personalizar e-mails de régua de relacionamento.

Sintaxe

RetrieveMscrmRecords(entityName, fieldsToRetrieve, queryFieldName, queryFieldOperator, queryFieldValue)

Parâmetros

ParâmetroTipoObrigatórioDescrição
entityNamestringSimNome da entidade do Microsoft Dynamics CRM da qual você quer recuperar registros (ex: contact, account, lead).
fieldsToRetrievestringSimLista de campos a serem retornados, separados por vírgula.
queryFieldNamestringSimNome do campo usado como filtro na consulta.
queryFieldOperatorstringSimOperador usado no filtro da consulta.
queryFieldValuestringSimValor a ser comparado no filtro.

Exemplo básico

Recuperando o ID, primeiro nome e sobrenome de contatos no Dynamics CRM cujo sobrenome é "Santos".

%%[
SET @registros = RetrieveMscrmRecords(
"contact",
"contactid,firstname,lastname",
"lastname",
"=",
"Santos"
)

SET @totalRegistros = RowCount(@registros)

IF @totalRegistros > 0 THEN
SET @linha = Row(@registros, 1)
SET @contactId = Field(@linha, "contactid")
SET @primeiroNome = Field(@linha, "firstname")
SET @sobrenome = Field(@linha, "lastname")
]%%

Contato encontrado: %%=v(@primeiroNome)=%% %%=v(@sobrenome)=%%
ID: %%=v(@contactId)=%%

%%[ ELSE ]%%

Nenhum contato encontrado com sobrenome Santos.

%%[ ENDIF ]%%

Saída:

Contato encontrado: Maria Santos
ID: 3a8b2c4d-1234-5678-9abc-def012345678

Exemplo avançado

Cenário de régua de relacionamento: você precisa buscar todos os contatos de uma cidade específica no Dynamics CRM para personalizar um e-mail de campanha regional da Lojas Vitória.

%%[
SET @contatos = RetrieveMscrmRecords(
"contact",
"contactid,firstname,lastname,emailaddress1,address1_city",
"address1_city",
"=",
"São Paulo"
)

SET @total = RowCount(@contatos)

IF @total > 0 THEN
FOR @i = 1 TO @total DO
SET @linha = Row(@contatos, @i)
SET @nome = Field(@linha, "firstname")
SET @sobrenome = Field(@linha, "lastname")
SET @email = Field(@linha, "emailaddress1")
SET @cidade = Field(@linha, "address1_city")
]%%

<tr>
<td>%%=v(@nome)=%% %%=v(@sobrenome)=%%</td>
<td>%%=v(@email)=%%</td>
<td>%%=v(@cidade)=%%</td>
</tr>

%%[
NEXT @i
ELSE
]%%

<p>Nenhum contato encontrado em São Paulo.</p>

%%[ ENDIF ]%%

Saída:

Maria Santos    maria.santos@email.com.br    São Paulo
João Silva joao.silva@email.com.br São Paulo
Ana Lima ana.lima@email.com.br São Paulo

Observações

  • O resultado retornado é um rowset. Para iterar sobre os registros, use RowCount, Row e Field - exatamente como faria com resultados de LookupRows.

⚠️ Atenção: Essa função depende da integração entre o Marketing Cloud e o Microsoft Dynamics CRM estar configurada corretamente na sua conta. Sem o conector ativo, a chamada vai falhar.

💡 Dica: Use nomes de entidade e campos exatamente como estão definidos no schema do seu Dynamics CRM. Nomes com capitalização ou grafia incorreta podem resultar em erro na consulta.

Funções relacionadas