Você está na página 1de 38

+ Treinamento Ampscript

+ Data
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
CAPÍTU LO

+ + + + + + + + + + + + + + + + + + + + + + + +
V A R IÁVEIS DE

!2
+ + + + + + + + + + + + + + + + + + + + + +P +
E R+ S+O +N + L+ I Z
A + 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;
CO N F ID EN C IAL

!3
•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
CO N F ID EN C IAL

!4
Mesmas de cima porém
setadas em variáveis do
AMPScript

Imprimindo as variáveis no
corpo do texto e/ou HTML
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
CAPÍTU LO

+ + + + + + + + + + + + + + + + + + + + + + + + AMPSCRIPT

!5
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
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;
CO N F ID EN C IAL

• 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;
CO N F ID EN C IAL

• 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
CO N F ID EN C IAL

• 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;
CO N F ID EN C IAL

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


virgula como separador;
• O código final deverá ficar assim:
CO N F ID EN C IAL
• Entrada e saída de dados dentro da plataforma:

Entrada Saída
CO N F ID EN C IAL
C O N D I Ç Õ E S S E / S E N Ã O ( I F/ E L S E )
• 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 (=) a soma
CO N F ID EN C IAL

(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;
CO N F ID EN C IAL

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;
CO N F ID EN C IAL

• 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;


• Para @t = Now(1), Format(@t,"yyyy-MM-dd"), retorna 2019/08/10;
CO N F ID EN C IAL

• 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 TB_busca, onde o campo
CO N F ID EN C IAL

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;
CO N F ID EN C IAL

• 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 com um
CO N F ID EN C IAL

(@soma+1), ENTÃO PRÓXIMO.

Resultado na plataforma
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CO N F ID EN C IAL

+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + LINKS ÚTEIS
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ONDE ENCONTRAR AJUDA
• Introdução: https://sforce.co/2HpzhLO

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

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


CO N F ID EN C IAL

• 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


CAPÍTU LO

DÚVIDAS
CAPÍTU LO

OBRIGADO!
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CO N F ID EN C IAL

+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + APÊNDICE
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CAPÍTU LO

Utilização das Funções

!2 4
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: Tb02_treinamento_produto;
Campos: Campos:
nomeCompleto - text(100) - nullable email - EmailAddress - required
email - EmailAddress - required produto - text(10) - required
dataNascimento - Date - required
CO N F ID EN C IAL

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

• Concat: Concatena duas strings, caracteres


e/ou números;
CO N F ID EN C IAL

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;
CO N F ID EN C IAL

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;
CO N F ID EN C IAL

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

• Substring: Seleciona parte de


uma string;
CO N F ID EN C IAL

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
CO N F ID EN C IAL

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;
CO N F ID EN C IAL

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;
CO N F ID EN C IAL

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 de


caracteres por outra;
CO N F ID EN C IAL

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
CO N F ID EN C IAL

lógica AND (E);

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 estejam de
CO N F ID EN C IAL

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 LookupOrderedRows;
CO N F ID EN C IAL

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;


CO N F ID EN C IAL

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;
CO N F ID EN C IAL

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


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

Você também pode gostar