/v2/Api/ImportToDataTableTasks POST
ImportToDataTableTasks позволяет запланировано (асинхронно) импортировать записи в Кастомные Таблицы Данных. Данные могут быть импортированы из различных внешних источников, таких как файл на FTP сервере.
В данный момент поддерживается единовременный мгновенный импорт.
Используя GET запрос "Получить статус импорта в таблицу" можно получить статус выполнения импорта (еще выполняется или уже завершен).
Формат запроса
Элементы тега Data:
| Элемент/Атрибут | Тип | Описание |
|---|---|---|
| Source | complex | Информация об источнике данных. Обязательный. |
| Target | complex | Информация о конечной цели импорта. Обязательный. |
| ImportSetup | complex | Настройки импорта, настройки файла, сопоставление (mapping) столбцов и т.д. Необязательный. Если не указан, используются настройки по умолчанию. |
Элементы тега Source:
| Элемент/Атрибут | Тип | Описание |
|---|---|---|
| Url | string | URL адрес импортируемого файла. Обязательный. Поддерживаются протоколы HTTP, HTTPS, FTP, FTPS и SFTP, например ftp://www.domain.com/myimportedfile.csv |
| Username | string | Имя пользователя используемое для аутентификации. Необязательный. |
| Password | string | Пароль используемый для аутентификации. Необязательный. |
| FtpAuth | string | Метод аутентификации для защищенного FTP сервера. Необязательный. Может принимать следующие значения:
|
Элементы тега Target:
| Элемент/Атрибут | Тип | Описание |
|---|---|---|
| Name | string | Название импорта. Используется в платформе для упрощения поиска. Обязательное. |
Элементы тега ImportSetup:
| Элемент/Атрибут | Тип | Описание |
|---|---|---|
| Mode | string | Режимы импорта. Аналогичны режимам при добавлении записи в таблицу. Необязательный. По умолчанию "Add". |
| Delimiter | string | Разделитель в CSV файле. Необязательное. По умолчанию ',' (запятая). |
| Quote | string | Ограничитель в CSV файле. Необязательный. По умолчанию '"' (двойные кавычки). |
| Escape | string | Символ экранирования в CSV файле. Необязательный. По умолчанию '"' (двойные кавычки). |
| Comment | string | Символ комментирования в CSV файле. Необязательный. По умолчанию zero-byte (не определен) |
| Encoding | string | Кодировка файла CSV. Необязательный. По умолчанию "utf-8".Список доступных кодировок. |
| StartingLine | integer | Номер строки в CSV, с которой начинается импорт. Необязательный. По умолчанию с 0 (c начала). |
Режимы импорта:
| Режим | Поведение |
|---|---|
| Add | Если строка не содержится в таблице данных, она будет добавлена. |
| Replace | Несуществующая строка будет добавлена. Существующая строка будет заменена.* |
*Важно! При импорте пустого файла он будет синхронизирован с таблицей, т.е. таблица будет очищена. Строки, которых нет в файле импорта будут удалены (синхронизация).
Ответ
Метод возвращает ID импорта. ID может использоваться для получения статуса импорта, используя GET метод.
Элементы тега Data в ответе:
| Элемент/Атрибут | Тип | Описание |
|---|---|---|
| (Содержимое тега Дата) | 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>Ваш_API-ключ</ApiKey>
<Data>
<Source>
<Url>ftp://ftp.expertsender.com/Lists/название_таблицы.csv</Url>
</Source>
<Target>
<Name>Тестовый импорт по API</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>
Импорт в Таблицу Данных с расширенными настройками
Запрос:
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>Ваш_API-ключ</ApiKey>
<Data>
<Source>
<Url>ftp://ftp.expertsender.com/Lists/table_name.csv</Url>
<Username>Имя пользователя</Username>
<Password>Пароль</Password>
</Source>
<Target>
<Name>Тестовый импорт по API</Name>
</Target>
<ImportSetup>
<Mode>Add</Mode>
<Delimiter>,</Delimiter>
<Quote>"</Quote>
<Escape>"</Escape>
<Comment>|</Comment>
<Encoding>UTF-8</Encoding>
<StartingLine>1</StartingLine>
</ImportSetup>
</Data>
</ApiRequest>