1. 介绍
AMPscript是Salesforce Marketing Cloud的脚本语言。 您可以使用它通过一组广泛的功能来创建高度复杂的个性化内容。 该语言遵循简单的语法和语义,学习起来很快,很容易编码。
与JavaScript、Perl和Python等其他通用语言不同,AMPscript是为特定运行时环境(Salesforce Marketing Cloud)开发的服务器端脚本语言,其中脚本在呈现内容时被解释和执行。
AMPscript是一种由两部分组成的语言:语法和函数库。 了解了这些,就有可能在没有事先编程或脚本经验的情况下迅速精通这门语言,并为直接营销活动创建高度个性化、动态的内容。
2. 语法
由于AMPscript是一种服务器端语言,因此代码可以包含在 email, web page, SMS or push message中的任何位置。 与其他脚本语言类似,AMPscript是解释的,而不是编译的,这意味着它是按照编写的顺序解释的。 因此,如果您使用AMPscript在电子邮件中包含个性化内容,则需要在个性化内容应该出现的位置之前或位置定义AMPscript代码。
AMPscript可以在代码块中编写,也可以内联编写。
%%[
]%%
AMPscript代码块可用于:
- 声明和设置变量
- 处理条件逻辑
- 大量数据处理
对于内联AMPscript,包含在以 %%= 开头和 =%% 结尾的字符序列中:
%%= =%%
内联AMPscript可用于:
- 输出变量或调用函数
- 允许嵌入到HTML中
所有AMPscript代码必须用匹配的开始和结束分隔符模式括起来,否则代码将被忽略。
3. 变量
变量用于在AMPscript块或内联AMPscript中存储数据。 把它们想象成存储您定义的数据的容器。 AMPscript变量都以@符号开头,并使用SET定义。 变量必须是唯一的名称,否则存储在其中的数据可能会被覆盖。
%%[
set @myvar = "Hello world!"
]%%
可以使用var声明变量,但这不是必需的。 多个变量可以用逗号分隔。
%%[
var @myvar, @myvar2
set @myvar = "Hello one"
set @myvar2 = "Hello two"
]%%
变量可以包含数字、字母、破折号(-)或下划线(_),但必须以字母开头。
%%[
set @myvar = "Hello one"
set @myvar2 = "Hello two"
set @myvar-3 = "Hello three"
set @myvar_four = "Hello four"
]%%
变量都不区分大小写。 SET也不区分大小写。
%%[
set @myvar = "Hello one"
SET @myvar2 = "Hello two"
SET @MYVAR = "myvar is equal to MYVAR"
]%%
可以使用以下命令在AMPscript中进行注释:/* */
%%[
/* 可以在这里添加注释 */
set @myvar = "Hello one"
]%%
4. 函数
在编程中,函数是程序的一部分,它使用一些输入值(或参数)来执行特定的任务并产生输出值。虽然其它脚本语言提供用户定义的函数(例如JavaScript),而AMPscript通过主要面向显示、转换和存储客户数据和营销内容的预定义函数使用声明性方法。
AMPscript函数是纯函数,这意味着它们接受一些输入并根据输入返回输出。 纯函数构成了函数式编程的基础,并且是独立的,这意味着您可以在代码中移动它们,从而使重构或调整变得容易。 这种编程风格简化了用户的开发过程,因为它不遵循显式的控制流或命令序列,这反过来又通过应用“创造性”设计模式来实现结果,从而在开发中实现灵活性。
AMPscript函数的工作方式与它们在Microsoft Excel中的工作方式大致相同;即为预定义函数设置参数,这些参数被解释,然后返回一个值。 几个AMPscript函数与Excel函数相同-虽然有些函数的名称不同,但它们与Excel共享相同的参数和输出相同的结果。
下面的示例比较了SUM Excel函数和AMPscript的Add函数,在这两个函数中,有两个数字作为参数传递给该函数。 在这种情况下,两个函数都将输出值3。
Excel SUM function:
=SUM(1,2)
AMPscript Add Function:
%%=Add(1,2)=%%
下面是所有可用的AMPscript函数。可以点击关注,具体用法后面会有章节详细介绍。
也可以查看文档:https://ampscript.guide
API
- AddObjectArrayItem
- CreateObject
- InvokeCreate
- InvokeDelete
- InvokeExecute
- InvokePerform
- InvokeRetrieve
- InvokeUpdate
- RaiseError
- SetObjectProperty
Contacts
- UpsertContact
Content
- AttachFile
- BarCodeURL
- BeginImpressionRegion
- BuildOptionList
- BuildRowSetFromString
- BuildRowSetFromXML
- ContentArea
- ContentAreaByName
- ContentBlockbyId
- ContentBlockbyKey
- ContentBlockbyName
- ContentImagebyID
- ContentImagebyKey
- CreateSmsConversation
- EndImpressionRegion
- EndSmsConversation
- GetPortfolioItem
- Image
- _messageContext
- SetSmsConversationNextKeyword
- TransformXML
- TreatAsContent
- TreatAsContentArea
- WAT
- WATP
Data Extension
- ClaimRow
- ClaimRowValue
- DataExtensionRowCount
- DeleteData
- DeleteDE
- ExecuteFilter
- ExecuteFilterOrderedRows
- Field
- InsertData
- InsertDE
- Lookup
- LookupOrderedRows
- LookupOrderedRowsCS
- LookupRows
- LookupRowsCS
- Row
- RowCount
- UpdateData
- UpdateDE
- UpsertData
- UpsertDE
Date Time
- DateAdd
- DateDiff
- DateParse
- DatePart
- GetSendTime
- LocalDateToSystemDate
- Now
- SystemDateToLocalDate
Encryption
- Base64Decode
- Base64Encode
- DecryptSymmetric
- EncryptSymmetric
- GUID
- MD5
- SHA1
- SHA256
HTTP
- HTTPGet
- HTTPPost
- HTTPPost2
- HTTPRequestHeader
- IsCHTMLBrowser
- RedirectTo
- URLEncode
- WrapLongURL
Math
- Add
- Divide
- FormatCurrency
- FormatNumber
- Mod
- Multiply
- Random
- Subtract
Microsoft Dynamics CRM
- AddMscrmListMember
- CreateMscrmRecord
- DescribeMscrmEntities
- DescribeMscrmEntityAttributes
- RetrieveMscrmRecords
- RetrieveMscrmRecordsFetchXML
- SetStateMscrmRecord
- UpdateMscrmRecords
- UpsertMscrmRecord
Salesforce
- CreateSalesforceObject
- LongSFID
- RetrieveSalesforceJobSources
- RetrieveSalesforceObjects
- UpdateSingleSalesforceObject
Sites
- AuthenticatedEmployeeID
- AuthenticatedEmployeeNotificationAddress
- AuthenticatedEmployeeUserName
- AuthenticatedEnterpriseID
- AuthenticatedMemberID
- AuthenticatedMemberName
- CloudPagesURL
- IsNullDefault
- LiveContentMicrositeURL
- MicrositeURL
- QueryParameter
- Redirect
- RequestParameter
Social
- GetPublishedSocialContent
- GetSocialPublishURL
- GetSocialPublishURLByName
String
- Char
- Concat
- Format
- IndexOf
- Length
- Lowercase
- ProperCase
- RegExMatch
- Replace
- ReplaceList
- StringToDate
- StringToHex
- Substring
- Trim
- Uppercase
Utilities
- AttributeValue
- Domain
- Empty
- If
- IIf
- IsEmailAddress
- IsNull
- IsPhoneNumber
- Output
- OutputLine
- V
网友评论