/v2/Api/ImportToListTasks POST

Позволяет запланировать импорт в лист подписчиков. Подписчики импортируются из внешнего источника, например, из файла находящегося на FTP.

В настоящее время поддерживается только мгновенный импорт.

Моментальный GET-запрос ImportToListTasks возвращает текущий статус импорта (например, все еще в процессе или уже завершился).

Формат запроса

Создает новую задачу импорта в листы подписчиков.

Элементы тега Data:

Элемент/атрибутТипОписание
SourcecomplexИнформация об импортируемом файле. Обязательный.
TargetcomplexДанные целевого листа. Обязательный.
ImportSetupcomplexНастройки импорта, настройки файла, колонок параметров и т.д. Необязательный. Если не задан, то используются настройки по умолчанию.

Элементы тега Source:

Элемент/атрибутТипОписание
UrlstringURL-адрес импортируемого файла. Поддерживаются протоколы HTTP, HTTPS, FTP, FTPS, SFTP. Например, ftp://www.domain.com/myimportedfile.csv.
UsernamestringUsername, используемый для аутентификации. Необязательный.
PasswordstringPassword, используемый для аутентификации. Необязательный.
FtpAuthstringМетоды аутентификации для защищенных FTP серверов. Необязательный. Доступные значения:
  1. None - без шифрования (по умолчанию)
  2. ExplicitTls - явное TLS/SSL аутентификация
  3. ExplicitSsl - только явная SSL аутентификация
  4. ImplicitSsl - неявная SSL аутентификация

Элементы тега Target:

Элемент/атрибутТипОписание
NamestringИмя импорта. Используется для более простой идентификации. Обязательный.
SubscriberListintegerID листа, в который импортируются подписчики. Обязательный.

Элементы тега ImportSetup:

Элемент/атрибутТипОписание
ModestringРежим импорта. Режимы импорта такие же, как и режимы добавления. Смотрите запрос POST-запрос. Необязательный. По умолчанию «AddAndUpdate».
DelimiterstringРазделитель в CSV-файле. Необязательный. По умолчанию «,» (запятая).
QuotestringСимвол квотирования в CSV-файле. Необязательный. По умолчанию «"».
EscapestringСимвол экранирования в CSV-файле. Необязательный. По умолчанию «"».
CommentstringСимвол комментария в CSV-файле. Необязательный. По умолчанию «zero-byte».
EncodingstringКодировка CSV-файла. Необязательный. По умолчанию «UTF-8». Поддерживаются все кодировки ОС Windows.
StartingLineintegerНомер строки, с которой будет начинаться импорт. Необязательный. По умолчанию «0».
Mappingarray[complex]Массив Column элементов, определяющих mapping-столбцов. Необязательный. Если mapping не определен, то система будет считать, что нужно импортировать только первый столбец, и в нем содержатся емейл-адреса.
AllowImportingUnsubscribedEmailbooleanЕсли этот флаг установлен, ранее отписавшиеся от листа подписчики будут снова добавлены. По умолчанию False. Необязательный
AllowImportingRemovedByUiEmailbooleanЕсли этот флаг установлен, подписчики удаленные через веб-интерфейс будут снова добавлены. По умолчанию False. Необязательный
Mappingarray[complex]Список названий столбцов, указывающих их сопоставление с данными. Необязательный. Если сопоставление не указано, то будет импортирована первая колонка, и она должна содержать емейл адреса подписчиков.

Элементы тега Column:

Элемент/атрибутТипОписание
NumberintegerНомер столбца из файла. Обязательный. Нумерация начинается с 0.
FieldstringИмя поля или дополнительного поля, в которое надо импортировать значение столбца. Ниже смотрите список стандартных полей. Необязательное*.
PropertyintegerID дополнительного поля, в которое надо импортировать значение столбца. Необязательный*.

*Для импорта в стандартные поля (такие как «Email» или «Firstname») необходим элемент Field. Если вы хотите импортировать данные в дополнительные поля, вы можете использовать элемент Field и использовать имя дополнительного поля или элемент Property, если вы предпочитаете работать с дополнительными полями по ID. Оба варианта возможны. ID дополнительных полей вы можете найти в веб-панели ExpertSender.

Список стандартных полей:

ИмяОписание
EmailЕмейл подписчика. Это единственное обязательное поле, которое должно быть передано.
CustomSubscriberIdУникальный идентификатор подписчика.
NameПолное имя подписчика (имя + фамилия).
FirstnameИмя подписчика.
LastnameФамилия подписчика.
IpIP-адрес подписчика.
VendorИсточник трафика подписчика.
TrackingCodeКод трекинга подписчика.

Ответ

Метод возвращает ID запланированного импорта. Этот ID может быть использован для получения статуса импорта, используя GET-запрос.

Элементы тега Data в ответе:

Элемент/атрибутТипОписание
(Data element content)intID запланированного импорта

Примеры

Импорт подписчиков в лист рассылки с опциями по умолчанию

Запрос:

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>Ваш_API_ключ</ApiKey>
   <Data>
     <Source>
       <Url>ftp://ftp.expertsender.com/Lists/test.csv</Url>
     </Source>
     <Target>
       <Name> Тестовый импорт по API </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>Ваш_API_ключ</ApiKey>
   <Data>
     <Source>
       <Url>ftp://ftp.expertsender.com/Lists/test.csv</Url>
       <Username>Имя пользователя</Username>
       <Password>Пароль</Password>
     </Source>
     <Target>
       <Name>Тестовый импорт по API </Name>
       <SubscriberList>80</SubscriberList>
     </Target>
     <ImportSetup>
       <Mode>AddAndUpdate</Mode>
       <Delimiter>,</Delimiter>
       <Quote>"</Quote>
       <Escape>"</Escape>
       <Comment>|</Comment>
       <Encoding>UTF-8</Encoding>
       <StartingLine>1</StartingLine>
       <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>
       </Mapping>
     </ImportSetup>
   </Data>
 </ApiRequest>

Импорт с синхронизацией:

<ApiRequest  xmlns:xs="http://www.w3.org/2001/XMLSchema"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <ApiKey>Ваш_API_ключ</ApiKey>
   <Data>
     <ImportSetup>
       <Mode>Synchronize</Mode>
     </ImportSetup>
     <Target>
       <Name>Тестовый импорт</Name>
       <SubscriberList>123</SubscriberList>
     </Target>
     <Source>
       <Url>ftp://domain.com/somefile.csv</Url>
       <Username>Имя пользователя</Username>
       <Password>Пароль</Password>
     </Source>
   </Data>
</ApiRequest>