发起数据表格导入

Import to Data Tables 发起数据表格导入

ImportToDataTableTasks 接口允许向数据表格通过建立任务导入(异步)数据。数据被从外源导入,如,存于FTP服务器上的文件
目前,仅支持一次性的,即时导入

执行一个针对ImportToDataTableTasks的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连接将被应用.

*注意:如果导入一个CSV文件, 请确保文件名和导入目标数据表格名称一致.

Target子元素:
元素/属性 类型 描述
Name string 导入任务名称. 为内部使用容易识别. 必填.
ImportSetup子元素:
元素/属性 类型 描述
Mode string 导入模式. 导入数据表格模式与添加数据表格条目模式完全一样. 选填. 默认为 “Add”.
Delimiter string CSV 文件字段分隔符. 选填,默认值为’,’ (逗号).
Quote string CSV 文件引用符. Optional. 默认值为 “”(双引).
Escape string CSV 文件换码符. Optional. 默认值为 “”(双引).
Comment string CSV 文件注释符. 选填,默认为0-byte (未定义).
Encoding string CSV 文件字符编码. 选填. 默认为 “utf-8″. 可识别值列表(List of recognized values)
StartingLine integer 文件导入的起始行数. 选填. 默认为 0 (从最开始-表头).

支持的导入模式:

模式 动作
Add 如果条目在Data Table数据表格中不存在,会被添加.
Replace 整个数据表格会被导入文件同步
AddOrUpdate 添加新的条目,并且更新现有条目的数据.

应答

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

示例

应用默认参数设置对数据表格发起一次导入任务
请求:
POST https://api.esv2.com/v2/Api/ImportToDataTableTasks HTTP/1.1 

Accept-Encoding: gzip,deflate 
Content-Type: application/xml 
User-Agent: Jakarta Commons-HttpClient/3.1 
Host: api.esv2.com 
Content-Length: 353
<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/table_name.csv</Url>
     </Source>
     <Target>
       <Name>API test import</Name>
     </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, 25 Nov 2014 10:41:33 GMT
Content-Length: 147

<ApiResponse xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”>
 <Data>25</Data>
</ApiResponse>HTTP/1.1 201 Created

应用全部参数设置对数据表格发起一次导入任务
请求:
POST https://api.esv2.com/v2/Api/ImportToDataTableTasks 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: 810 
<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/table_name.csv</Url>
       <Username>username</Username>
       <Password>password</Password>
     </Source>
     <Target>
       <Name>API test import </Name>
     </Target>
     <ImportSetup>
       <Mode>Add</Mode>
       <Delimiter>,</Delimiter>
       <Quote>”</Quote>
       <Escape>”</Escape>
       <Comment>|</Comment>
       <Encoding>UTF-8</Encoding>
       <StartingLine>1</StartingLine>
     </ImportSetup>
   </Data>
 </ApiRequest>