Você está na página 1de 38

+ Treinamento Ampscript

+ Data
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
C A P Í TULO

+ + + + + + + + + + + + + + + + + + + + + + + V+ A R I Á V E I S D E
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + P+E R
+ S+ O+N+A +L I+Z +A Ç
+ Ã
+ O+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
O QUE SÃO?

• São variáveis que permitem a exibição de dados variáveis relacionados


ao disparo, estes dados possuem os seguintes tipos de origem:

• Dados do Sistema: atributos tanto relacionados ao disparo sendo


efetuado (ex.: JobID, xtmonth, ) quanto da plataforma;
C O N F I DE N C I A L

• Atributos do Assinante/Contato: dados cadastrados para


assinante/contato na plataforma (ex.: SubscriberKey, emailaddr etc.);

• Tabela de Disparo: dados dos campos existentes na tabela do


disparo;

• LINK DOCUMENTAÇÃO: https://sforce.co/2Mwpmp0


UTILIZAÇÃO
Variável originária de uma Extensão de Dados
(D.E.)

Variáveis do sistema no momento do disparo


C O N F I DE N C I A L

Mesmas de cima porém setadas


em variáveis do AMPScript

Imprimindo as variáveis no
corpo do texto e/ou HTML
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
C A P Í TULO

+ + + + + + + + + + + + + + + + + + + + + + + + AMPSCRIPT
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
O QUE É?

• Uma linguagem de programação de Script, ou seja, linguagem que automatiza


a execução de pequenas tarefas no momento da execução em uma
plataforma, nesse caso a SFMC;
C O N F I DE N C I A L

• Pode ser utilizada em mensagens de e-mails, push, SMS e em landins pages,


com o intuito de renderizar conteúdo no nível dos assinantes/contatos;

• Pode ser utilizada para interagir com as Extensões de Dados, tanto leitura
quanto escrita (Lookups, e Insert);

• https://sforce.co/2KeT4O1
UTILIZAÇÃO

• Utilize %%[ para iniciar um bloco Ampscript e ]%% para fechar o bloco;
C O N F I DE N C I A L

• Utilize /* para iniciar um bloco de comentário e */ para fechar o bloco;


• Utilize var para declarar uma variável de AMPScript e @ para
diferenciarmos as variáveis do restante do código;
Múltiplas variáveis podem ser
declaradas na mesma linha
utilizando a virgula como
separador
C O N F I DE N C I A L

• Set para definir valores em cada variável;


Definindo valores em cada uma
das variáveis declaradas com Set
@var = "" para texto e Set
@var = 0 para números
• Utilize %%=v()=%% para imprimir os valores definidos
dentro de suas variáveis;
C O N F I DE N C I A L

• Múltiplas variáveis podem ser declaradas na mesma linha


utilizando a virgula como separador;
• O código final deverá ficar assim:
C O N F I DE N C I A L
• Entrada e saída de dados dentro da plataforma:

Entrada Saída
C O N F I DE N C I A L
CONDIÇÕES SE/SENÃO(IF/ELSE)
• Utilize as declarações IF/THEN para iniciar uma condição, ELSE/ELSEIF para
caso contrário à primeira condição e ENDIF para fechar a condição;

Condição: Caso @n seja menor-ou-


igual a dez mil então @n recebe (=)
C O N F I DE N C I A L

a soma (Add) de @n (parâmetro


esquerda) e um (parâmetro direita);

Resultado na plataforma
Condição: Senão @n recebe a
subtração (Subtract) de @n e um;
C O N F I DE N C I A L

Resultado na plataforma
P R I N C I PA I S F U N Ç Õ E S
• Concat: Concatena duas strings, caracteres e/ou números;
• Para @t = "Olá, ", Concat(@t, "Cliente"), a saída será Olá, Cliente;

• Length: retorna em números inteiros a quantidade de caracteres em


uma String ou variável;
C O N F I DE N C I A L

• Para @t = "Olá", Length(@t), retornara o valor numérico 3 (três);

• Trim: Remove os espaços a mais tanto à esquerda quanto à direita de


uma String;

• Substring: Seleciona parte de uma string;


• Para @t = "Olá, Cliente", Substring(@t, 6,Length(@t)), retorna Cliente
P R I N C I PA I S F U N Ç Õ E S
• ProperCase: define a primeira letra de cada palavra de uma String como
maiúscula
• Para @t = "olá, cliente", ProperCase(@t), retorna Olá, Cliente;

• Format: formata uma string, a partir de um padrão definido na função;


C O N F I DE N C I A L

• Para @t = Now(1), Format(@t,"yyyy-MM-dd"), retorna 2019/08/10;

• IndexOf: localiza um caracter ou um padrão de caracteres dentro de uma


string;
• Para @t = "olá, cliente", IndexOf(@t, " "), retorna 5;

• Replace: substitui uma sequência de caracteres por outra;


• Para @t = "Olá, Cliente", Replace(@t, "Cliente", NOME), retorna Olá,
Fulano;
FUNÇÕES DE BUSCA
• Lookup: retorna um valor especifico de um D.E., é possível especificar
vários filtros considerando a clausula lógica AND (E);
• A função Lookup("TB_busca", "Email", "fulano@match.mt","NOME"),
retorna o valor armazenado no campo nome de um registro da tabela
C O N F I DE N C I A L

TB_busca, onde o campo email seja igual fulano@match.mt

• LookupRows: retorna todas as linhas de um D.E. que estejam de


acordo com os filtros definidos;
• LookupRows("TB_Busca_Linhas","email", "fulano@match.mt"),
retorna todas as linhas da tabela TB_Busca_Linhas, onde o
campo email seja igual fulano@match.mt;
FUNÇÕES DE BUSCA
• RowCount: conta a quantidade de linhas retornadas em um
LookupRows/LookupOrderedRows;
• Para @t = LookupRows("TB_Busca_Linhas","email", "fulano@match.mt"),
RowCount(@t) retorna o números de linha correspondentes, ex.: 3;
C O N F I DE N C I A L

• Row: retorna a linha especificada definido;


• Para @t = LookupRows("TB_Busca_Linhas","email", "
fulano@match.mt"), Set @linha = Row(@t, 1) retorna a linha um do
conjunto @t;
• Field: Retorna o campo especificado dentro da linha especificada
• Para @linha = Row(@t), @coluna = Field(@linha, "Nome") retorna o
valor da coluna Nome em @linha;
LAÇO DE REPETIÇÃO (FOR-DO-NEXT)
• Utilize as declarações FOR/DO para iniciar um laço de repetição,
NEXT para fechar o bloco;

Laço: PARA @i = 1 até 10 FAÇA,


@total receber a SOMA de @total
C O N F I DE N C I A L

com um (@soma+1), ENTÃO


PRÓXIMO.

Resultado na plataforma
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
C O N F I DE N C I A L

+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + LINKS ÚTEIS
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ONDE ENCONTRAR AJUDA

• Introdução: https://sforce.co/2HpzhLO

• Personalization Strings: https://sforce.co/2TtJZDV


C O N F I DE N C I A L

• Get Started: https://sforce.co/2YU8jEd

• Referência de Funções: https://sforce.co/2MZCV0s

• Update, Insert e Upsert: https://sforce.co/2OVCfMc

• Salesforce Stack Exchange: https://bit.ly/30aO7v7

• Blog do Adam Spriggs do SFSE: https://bit.ly/2z1DXRs


C A P Í TULO

DÚVIDA S
C A P Í TULO

OBRIGADO!
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
C O N F I DE N C I A L

+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + APÊNDICE
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
C A P Í TULO

Utilização das Funções


TA B E L A S D E E N T R A D A PA R A O S T E S T E S
Nome Tabela: Tb01_treinamento; Nome Tabela:
Campos: Tb02_treinamento_produto;
nomeCompleto - text(100) - Campos:
nullable email - EmailAddress - required
email - EmailAddress - required produto - text(10) - required
C O N F I DE N C I A L

dataNascimento - Date - required

I M P O RTA R D A D O S
Nome Tabela: Tb01_treinamento; Nome Tabela:
Link arquivo: https://bit.ly/2Z2kkrh Tb02_treinamento_produto;
Link arquivo: https://bit.ly/31IAXpl
P R I N C I PA I S F U N Ç Õ E S

• Concat: Concatena duas strings, caractere


e/ou números;
C O N F I DE N C I A L

Para @t = "Olá", Concat(@t,


"Cliente"),
a saída será
P R I N C I PA I S F U N Ç Õ E S

• Length: retorna em números inteiros


a quantidade de caracteres em uma
String ou variável;
C O N F I DE N C I A L

Para @t = "Olá", Length(@t), retornara o


valor
P R I N C I PA I S F U N Ç Õ E S

• Trim: Remove os espaços a mais tanto à


esquerda quanto à direita de uma String;
C O N F I DE N C I A L

Resultado na plataforma
P R I N C I PA I S F U N Ç Õ E S

• Substring: Seleciona parte


de uma string;
C O N F I DE N C I A L

Para
@t = "Olá, Cliente", Substring(@t, 6,Length(@t)),
retorna
P R I N C I PA I S F U N Ç Õ E S

• ProperCase: define a primeira letra de cada


palavra de uma String como maiúscula
C O N F I DE N C I A L

Para @t = "olá, cliente",


ProperCase(@t), retorna
P R I N C I PA I S F U N Ç Õ E S

• Format: formata uma string, a partir


de um padrão definido na função;
C O N F I DE N C I A L

Para @t = Now(1), Format(@t,"yyyy-MM-


dd"), retorna
P R I N C I PA I S F U N Ç Õ E S

• IndexOf: localiza um caracter ou um padrão


de caracteres dentro de uma string;
C O N F I DE N C I A L

Para @t = "olá, cliente", IndexOf(@t, "


"), retorna
P R I N C I PA I S F U N Ç Õ E S

• Replace: substitui uma sequência


caracteres por outra;
C O N F I DE N C I A L

Para @t = "Olá, Cliente",


Replace(@t, "Cliente", @nome) retorna
FUNÇÕES DE BUSCA

• Lookup: retorna um valor especifico


de um D.E., é possível especificar
vários filtros considerando a
clausula lógica AND (E);
C O N F I DE N C I A L

Lookup("TB_busca", “Nome", “Email","


fulano@match.mt "), retorna o valor armazenado no
campo nome de um registro da tabela TB_busca,
onde o campo email seja igual fulano@match.mt
FUNÇÕES DE BUSCA

• LookupRows: retorna todas


as linhas de um D.E. que
C O N F I DE N C I A L

estejam de acordo com os


filtros definidos;

LookupRows("TB_busca",“Email", "fulano@match.mt"), retorna todas as


linhas da tabela TB_Busca_Linhas, onde o campo e-mail seja igual
fulano@match.mt;
FUNÇÕES DE BUSCA

• RowCount: conta a quantidade


de linhas retornadas em um
LookupRows ou
C O N F I DE N C I A L

LookupOrderedRows;

Para @t = LookupRows("TB_busca",“Email", "


fulano@match.mt"), RowCount(@t) retorna o números
de linhas possuírem o e-mail igual a
fulano@match.mt
FUNÇÕES DE BUSCA

• Row: retorna a linha


especificada;
C O N F I DE N C I A L

Para @t = LookupRows("TB_busca",“Email", "fulano@match.mt"),


Set @linha = Row(@t, 1) retorna a linha um do conjunto @t;
FUNÇÕES DE BUSCA

• Field: Retorna o campo


especificado dentro da linha
especificada;
C O N F I DE N C I A L

Para @linha = Row(@t, 1),


@coluna = Field(@linha, "Nome") retorna o valor
da coluna Nome na posição @linha;

Você também pode gostar