发起列表导入

Import subscribers to list 发起列表导入

ImportToListTasks接口允许向列表通过建立任务导入(异步)收件人。收件人被从外源导入,如,存于FTP服务器上的文件
目前,仅支持一次性的,即时导入
执行一个针对ImportToListTasks的GET请求可以对导入任务的状态进行轮询(如,导入过程是否还在进行中或已完成)

请求数据格式

创建导入任务请求中的Data元素部分 Data子元素:
元素/属性 类型 描述
Source complex 导入文件信息. 必填.
Target complex 目标列表数据. 必填.
ImportSetup complex 导入设置, 文件设置, 各列映射等。选填. 如忽略, 会采用默认设置.
Source子元素:
元素/属性 类型 描述
Url string 导入文件的URL地址. 支持协议为 HTTP, HTTPS, FTP, FTPS 和 SFTP. 如 ftp://www.domain.com/myimportedfile.csv
Username string 用于远程验证身份的用户名. 选填.
Password string 用于远程验证身份的密码. 选填.
FtpAuth string FTP服务器的身份认证方式,选填,有效值为: None – FTP 服务器不支持安全认证(身份认证) (默认) ExplicitTls – Explicit TLS/SSL 认证 ExplicitSsl – 仅Explicit SSL 认证 ImplicitSsl – Implicit SSL 认证
FtpUseActiveMode boolean 如果设为 “true”, 主动方式将被应用于FTP连接. 默认为 “false” – 被动式FTP连接将被应用。
Target子元素:
元素/属性 类型 描述
Name string 定时导入任务名称. 为内部管理易识别. 必填.
SubscriberList integer 收件人会被导入的列表ID. 必填.
ImportSetup子元素:
元素/属性 类型 描述
Mode string 导入模式. 导入收件人模式与添加收件人模式完全一样. 选填. 默认为 “AddAndUpdate”.
Delimiter string CSV 文件字段分隔符. 选填,默认值为’,’ (逗号).
Quote string CSV 文件引用符. Optional. 默认值为 ‘”‘ (双引).
Escape string CSV 文件换码符. 选填. 默认值为’”‘ (双引).
Comment string CSV 文件注释符. 选填,默认为0-byte (未定义).
Encoding string CSV 文件字符编码. 选填. 默认为 “utf-8”. 可识别值列表. List of recognized values.
StartingLine integer 文件导入的起始行数. 选填. 默认为 0 (从最开始-表头).
AllowImportingUnsubscribedEmail boolean 如此标记被应用, 之前从列表中退订的收件人邮件则可以被再次添加. 默认值为 “false”. 选填.
AllowImportingRemovedByUiEmail boolean 如此标记被应用, 之前从后台删除的收件人邮件则可以被再次添加. 默认值为 “true”. 选填.
AllowImportingUnsubscribedSmsMms boolean 如此标记被应用, 之前从列表中退订的收件人电话号码则可以被再次添加. 默认值为 “false”. 选填.
AllowImportingRemovedByUiSmsMms boolean 如此标记被应用, 之前从后台删除的收件人电话号码则可以被再次添加. 默认值为 “false”. 选填.
Mapping array[complex] 列Column元素组成的数组, 描述各列的映射. 选填.如未指定,系统会默认只有第一列需要被导入且其中应包含email地址.
MatchingMode string 导入模式. 有效值: “Email”; “Phone”; “CustomSubscriberId”. 选填. 默认为”Email”.
支持的导入模式:
模式 动作
AddAndUpdate 添加新的收件人并更新列表中现有收件人的某些属性字段
AddAndReplace 添加新的收件人并替换列表中现有收件人的某些属性字段 (注意: 如果新数据中现有收件人的某些属性值为空,将会擦除原值)
AddAndIgnore 添加新的收件人但不更新或替换列表中现有的收件人的任何属性字段
IgnoreAndUpdate 不添加新的收件人,仅更新列表中现有的收件人的某些属性字段
IgnoreAndReplace 不添加新的收件人,仅替换列表中现有的收件人的某些属性字段 (注意: 如果新数据中现有收件人的某些属性值为空,将会擦除原值)
Synchronize 整个收件人列表会被导入文件的行列替换
Column子元素:
元素/属性 类型 描述
Number integer 源文件中列数. 必填. 列从0开始计数.
Field string 列值会被导入进的系统默认属性字段或自定义属性字段名称. 系统默认属性字段列表见下.*
Property integer 列值会被导入的自定义属性ID. 选填.*
*导入某些系统已经带有的默认属性字段时(如“email”或“firstname”). 如果你还是希望将其导入到自定义属性字段,可以用Field元素然后指定自定义属性字段名称,或是直接用Property元素然后指定自定义属性字段ID. 这两个方式都支持. 自定义属性字段ID可以在ExpertSender后台中找到
系统默认属性字段列表:
名称 描述
Email 收件人email. 如果自定义映射在请求中使用,那么这是唯一需要指定的必填字段.
EmailMd5 收件人email md5格式.**
Phone 收件人电话号码.*
CustomSubscriberId 收件人标识ID.*
Name 收件人名称 (名 + 姓)
Firstname 收件人名字
Lastname 收件人姓氏
Ip 收件人上次动作/行为 IP地址
Vendor 收件人来源
TrackingCode 自定义收件人追踪码
* 在发送映射请求时,Email, 电话号码或收件人标识需事先定义.
**请注意导入新的收件人时必须提供Email地址. 如果需要更新指定收件人信息或者导入现有收件人至新列表需提供Email地址或者Email Md5格式.

应答

接口返回导入的任务ID. ID可用于获取导入进度查询 应答数据元素:
元素/属性 类型 描述
(Data element content) int  所建立导入任务的ID

示例

应用默认参数设置对列表发起一次导入任务
请求:
POST https://api.esv2.com/v2/Api/ImportToListTasks HTTP/1.1 
Accept-Encoding: gzip,deflate 
Content-Type: application/xml 
User-Agent: Jakarta Commons-HttpClient/3.1 
Host: api.esv2.com 
Content-Length: 379 
 
 
 <ApiRequest xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xs=”http://www.w3.org/2001/XMLSchema”>
   <ApiKey>test_api_key1</ApiKey>
   <Data>
     <Source>
       <Url>ftp://ftp.expertsender.com/Lists/test.csv</Url>
     </Source>
     <Target>
       <Name>API test import </Name>
       <SubscriberList>80</SubscriberList>
     </Target>
   </Data>
 </ApiRequest>
应答:
HTTP/1.1 201 Created Cache-Control: private Content-Type: text/xml; charset=utf-8 Server: Microsoft-IIS/7.5 X-AspNetMvc-Version: 3.0 X-AspNet-Version: 4.0.30319 X-Powered-By: ASP.NET Date: Tue, 27 Mar 2012 12:40:14 GMT Content-Length: 147<ApiResponse xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”>  <Data>24</Data> </ApiResponse>

应用全部参数设置对列表发起一次导入任务

请求:
POST https://api.esv2.com/v2/Api/ImportToListTasks HTTP/1.1 
Accept-Encoding: gzip,deflate 
Content-Type: application/xml;charset=UTF-8 
User-Agent: Jakarta Commons-HttpClient/3.1 
Host: api.esv2.com 
Content-Length: 1210 
 
 
 <ApiRequest xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xs=”http://www.w3.org/2001/XMLSchema”>
   <ApiKey>test_api_key1</ApiKey>
   <Data>
     <Source>
       <Url>ftp://ftp.expertsender.com/Lists/test.csv</Url>
       <Username>username</Username>
       <Password>password</Password>
     </Source>
     <Target>
       <Name>API test import </Name>
       <SubscriberList>80</SubscriberList>
     </Target>
     <ImportSetup>
       <Mode>AddAndUpdate</Mode>
       <Delimiter>,</Delimiter>
       <Quote>”</Quote>
       <Escape>”</Escape>
       <Comment>|</Comment>
       <Encoding>UTF-8</Encoding>
       <StartingLine>1</StartingLine>
       <AllowImportingUnsubscribedEmail>false</AllowImportingUnsubscribedEmail>
       <AllowImportingRemovedByUiEmail>true</AllowImportingRemovedByUiEmail>
       <AllowImportingUnsubscribedSmsMms>false</AllowImportingUnsubscribedSmsMms>
       <AllowImportingRemovedByUiSmsMms>true</AllowImportingRemovedByUiSmsMms>
       <Mapping>
         <Column>
           <Number>0</Number>
           <Field>Firstname</Field>
         </Column>
         <Column>
           <Number>1</Number>
           <Field>Lastname</Field>
         </Column>
         <Column>
           <Number>2</Number>
           <Field>Email</Field>
         </Column>
         <Column>
           <Number>3</Number>
           <Property>94</Property>
         </Column>
         <Column>
           <Number>4</Number>
           <Field>age</Field>
         </Column>
         <Column>
           <Number>5</Number>
           <Field>Phone</Field>
         </Column>
         <Column>
           <Number>6</Number>
           <Field>CustomSubscriberId</Field>
         </Column>
       </Mapping>
     </ImportSetup>
   </Data>
 </ApiRequest>