/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 аутентификация
FtpUseActiveModebooleanЕсли установлено значение «true», для FTP-соединений будет использоваться активный режим. При значении по умолчанию «false» будет использоваться пассивный режим подключения.

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

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

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

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

Поддерживаемые режимы импорта

РежимПоведение
AddAndUpdateДобавить новых подписчиков и обновить настраиваемые поля подписчиков в списке.
AddAndReplaceДобавить новых подписчиков и заменить существующие в списке настраиваемые поля подписчиков (все предыдущие значения настраиваемых полей будут удалены).
AddAndIgnoreДобавить новых подписчиков и не изменять настраиваемые поля подписчиков в списке.
IgnoreAndUpdateНе добавлять новых подписчиков, обновить только настраиваемые поля подписчиков в списке
IgnoreAndReplace Не добавлять новых подписчиков, а только заменить настраиваемые поля подписчиков, существующих в списке (все предыдущие значения настраиваемых полей будут удалены).
SynchronizeВесь список подписчиков будет заменен содержимым импортированного файла (этот режим импорта доступен только при отключенной интеграции sms).

Элементы тега 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>