Pular para o conteúdo principal

DescribeMscrmEntities

Descrição

Retorna os nomes lógicos (logical names) e os nomes de exibição (display names) de todas as entidades disponíveis em uma conta Microsoft Dynamics CRM conectada ao Marketing Cloud. É útil quando você precisa fazer um inventário ou diagnóstico das entidades do CRM - por exemplo, para montar uma página administrativa em CloudPage que liste tudo que está disponível para integração. A função não recebe nenhum parâmetro.

Sintaxe

DescribeMscrmEntities()

Parâmetros

Esta função não possui parâmetros.

Exemplo básico

Listando todas as entidades de uma conta Dynamics CRM conectada, exibindo o nome lógico e o nome de exibição de cada uma.

%%[
VAR @entidades, @totalEntidades, @i, @entidade, @nomLogico, @nomExibicao

SET @entidades = DescribeMscrmEntities()
SET @totalEntidades = RowCount(@entidades)

FOR @i = 1 TO @totalEntidades DO
SET @entidade = Row(@entidades, @i)
SET @nomLogico = Field(@entidade, "LogicalName")
SET @nomExibicao = Field(@entidade, "DisplayName")
]%%

Nome lógico: %%=V(@nomLogico)=%% | Nome de exibição: %%=V(@nomExibicao)=%%<br>

%%[
NEXT @i
]%%

Saída:

Nome lógico: account | Nome de exibição: Conta
Nome lógico: contact | Nome de exibição: Contato
Nome lógico: lead | Nome de exibição: Lead
Nome lógico: opportunity | Nome de exibição: Oportunidade
...

Exemplo avançado

Imagine que a equipe do Banco Brasilão precisa de uma CloudPage interna que liste todas as entidades do Dynamics CRM, filtrando apenas aquelas cujo nome de exibição contenha a palavra "Cliente", para facilitar o mapeamento de dados na integração com o Marketing Cloud.

%%[
VAR @entidades, @total, @i, @entidade, @nomLogico, @nomExibicao, @contadorExibidos

SET @entidades = DescribeMscrmEntities()
SET @total = RowCount(@entidades)
SET @contadorExibidos = 0
]%%

<h2>Entidades do Dynamics CRM - Banco Brasilão</h2>
<p>Total de entidades encontradas: %%=V(@total)=%%</p>

<table border="1" cellpadding="5">
<tr>
<th>#</th>
<th>Nome Lógico</th>
<th>Nome de Exibição</th>
</tr>

%%[
FOR @i = 1 TO @total DO
SET @entidade = Row(@entidades, @i)
SET @nomLogico = Field(@entidade, "LogicalName")
SET @nomExibicao = Field(@entidade, "DisplayName")

IF IndexOf(@nomExibicao, "Cliente") > 0 THEN
SET @contadorExibidos = Add(@contadorExibidos, 1)
]%%

<tr>
<td>%%=V(@contadorExibidos)=%%</td>
<td>%%=V(@nomLogico)=%%</td>
<td>%%=V(@nomExibicao)=%%</td>
</tr>

%%[
ENDIF
NEXT @i
]%%

</table>

<p>Entidades filtradas com "Cliente": %%=V(@contadorExibidos)=%%</p>

Saída:

Entidades do Dynamics CRM - Banco Brasilão
Total de entidades encontradas: 187

# | Nome Lógico | Nome de Exibição
1 | customeraddress | Endereço do Cliente
2 | customerrelationship | Relacionamento do Cliente

Entidades filtradas com "Cliente": 2

Observações

💡 Dica: Essa função é excelente para fins de diagnóstico e documentação. Antes de usar funções como RetrieveMscrmRecords ou CreateMscrmRecord, rode DescribeMscrmEntities() para confirmar quais entidades estão disponíveis e qual o nome lógico exato de cada uma.

⚠️ Atenção: Como a função retorna todas as entidades da conta CRM, o volume de dados pode ser grande. Evite usá-la em contexto de envio de e-mail - prefira executá-la em uma CloudPage administrativa para consulta pontual.

Funções relacionadas