/v2/Api/ImportToListTasks POST
Позволяет запланировать импорт в лист подписчиков. Подписчики импортируются из внешнего источника, например, из файла находящегося на FTP.
В настоящее время поддерживается только мгновенный импорт.
Моментальный GET-запрос ImportToListTasks возвращает текущий статус импорта (например, все еще в процессе или уже завершился).
Формат запроса
Создает новую задачу импорта в листы подписчиков.
Элементы тега Data:
| Элемент/атрибут | Тип | Описание |
|---|---|---|
| Source | complex | Информация об импортируемом файле. Обязательный. |
| Target | complex | Данные целевого листа. Обязательный. |
| ImportSetup | complex | Настройки импорта, настройки файла, колонок параметров и т.д. Необязательный. Если не задан, то используются настройки по умолчанию. |
Элементы тега Source:
| Элемент/атрибут | Тип | Описание |
|---|---|---|
| Url | string | URL-адрес импортируемого файла. Поддерживаются протоколы HTTP, HTTPS, FTP, FTPS, SFTP. Например, ftp://www.domain.com/myimportedfile.csv. |
| Username | string | Username, используемый для аутентификации. Необязательный. |
| Password | string | Password, используемый для аутентификации. Необязательный. |
| FtpAuth | string | Методы аутентификации для защищенных FTP серверов. Необязательный. Доступные значения:
|
| FtpUseActiveMode | boolean | Если установлено значение «true», для FTP-соединений будет использоваться активный режим. При значении по умолчанию «false» будет использоваться пассивный режим подключения. |
Элементы тега Target:
| Элемент/атрибут | Тип | Описание |
|---|---|---|
| Name | string | Имя импорта. Используется для более простой идентификации. Обязательный. |
| SubscriberList | integer | ID листа, в который импортируются подписчики. Обязательный. |
Элементы тега ImportSetup:
| Элемент/атрибут | Тип | Описание |
|---|---|---|
| Mode | string | Режим импорта. Режимы импорта такие же, как и режимы добавления. Смотрите запрос POST-запрос. Необязательный. По умолчанию «AddAndUpdate». |
| Delimiter | string | Разделитель в CSV-файле. Необязательный. По умолчанию «,» (запятая). |
| Quote | string | Символ квотирования в CSV-файле. Необязательный. По умолчанию «"». |
| Escape | string | Символ экранирования в CSV-файле. Необязательный. По умолчанию «"». |
| Comment | string | Символ комментария в CSV-файле. Необязательный. По умолчанию «zero-byte». |
| Encoding | string | Кодировка CSV-файла. Необязательный. По умолчанию «UTF-8». Поддерживаются все кодировки ОС Windows. |
| StartingLine | integer | Номер строки, с которой будет начинаться импорт. Необязательный. По умолчанию «0». |
| AllowImportingUnsubscribedEmail | boolean | Если этот флаг установлен, ранее отписавшиеся от листа подписчики будут снова добавлены. По умолчанию False. Необязательный |
| AllowImportingRemovedByUiEmail | boolean | Если этот флаг установлен, подписчики удаленные через веб-интерфейс будут снова добавлены. По умолчанию False. Необязательный |
| AllowImportingUnsubscribedSmsMms | boolean | Если этот флаг установлен, ранее отписавшиеся от списка на SmsMms-канале абоненты будут добавлены снова. По умолчанию False. Необязательный |
| AllowImportingRemovedByUiSmsMms | boolean | Если этот флаг установлен, абоненты, удаленные через веб-интерфейс, будут снова добавлены. По умолчанию "true". Необязательный |
| Mapping | array[complex] | Список названий столбцов, указывающих их сопоставление с данными. Необязательный. Если сопоставление не указано, то будет импортирована первая колонка, и она должна содержать емейл адреса подписчиков. |
| MatchingMode | string | Импорт ключа. Возможные значения: "Email" (по умолчанию); "Phone"; "CustomSubscriberId". Необязательный. |
Поддерживаемые режимы импорта
| Режим | Поведение |
|---|---|
| AddAndUpdate | Добавить новых подписчиков и обновить настраиваемые поля подписчиков в списке. |
| AddAndReplace | Добавить новых подписчиков и заменить существующие в списке настраиваемые поля подписчиков (все предыдущие значения настраиваемых полей будут удалены). |
| AddAndIgnore | Добавить новых подписчиков и не изменять настраиваемые поля подписчиков в списке. |
| IgnoreAndUpdate | Не добавлять новых подписчиков, обновить только настраиваемые поля подписчиков в списке |
| IgnoreAndReplace | Не добавлять новых подписчиков, а только заменить настраиваемые поля подписчиков, существующих в списке (все предыдущие значения настраиваемых полей будут удалены). |
| Synchronize | Весь список подписчиков будет заменен содержимым импортированного файла (этот режим импорта доступен только при отключенной интеграции sms). |
Элементы тега Column:
| Элемент/атрибут | Тип | Описание |
|---|---|---|
| Number | integer | Номер столбца из файла. Обязательный. Нумерация начинается с 0. |
| Field | string | Имя поля или дополнительного поля, в которое надо импортировать значение столбца. Ниже смотрите список стандартных полей. Необязательное*. |
| Property | integer | ID дополнительного поля, в которое надо импортировать значение столбца. Необязательный*. |
*Для импорта в стандартные поля (такие как «Email» или «Firstname») необходим элемент Field. Если вы хотите импортировать данные в дополнительные поля, вы можете использовать элемент Field и использовать имя дополнительного поля или элемент Property, если вы предпочитаете работать с дополнительными полями по ID. Оба варианта возможны. ID дополнительных полей вы можете найти в веб-панели ExpertSender.
Список стандартных полей:
| Имя | Описание |
|---|---|
| Емейл подписчика. Это единственное обязательное поле, которое должно быть передано. | |
| CustomSubscriberId | Уникальный идентификатор подписчика. |
| Name | Полное имя подписчика (имя + фамилия). |
| Firstname | Имя подписчика. |
| Lastname | Фамилия подписчика. |
| Ip | IP-адрес подписчика. |
| Vendor | Источник трафика подписчика. |
| TrackingCode | Код трекинга подписчика. |
Ответ
Метод возвращает ID запланированного импорта. Этот ID может быть использован для получения статуса импорта, используя GET-запрос.
Элементы тега Data в ответе:
| Элемент/атрибут | Тип | Описание |
|---|---|---|
| (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>Ваш_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>