/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>