Экспорт данных контактов из Unisender. Возможны различные сценарии использования этого метода:
- Резервное копирование
Вы можете выгрузить всю базу контактов с максимально подробной информацией. - Синхронизация с данными вашего сервера
Предположим, что вы всегда добавляете новых контактов сначала на свой сервер, а потом уже в Unisender. Отписаться же контакт может как через Unisender, так и вы сами можете удалить его на своём сервере. Тогда для синхронизации сначала вам надо выгрузить только email-адреса (или телефоны) контактов через exportContacts и проверить, нет ли среди них удалённых с вашего сервера. Затем с помощью importContacts вы импортируете новых, меняете данные у изменённых и удаляете тех, кто удалён на вашем сервере.
Для метода существует лимит на количество запросов от одного API-ключа или IP-адреса — 20 запросов/60 секунд.
Для получения дополнительной информации о контакте, воспользуйтесь методом getContact
Принцип использования
Пользователь присылает запрос на экспорт контактов
async/exportContacts - запрос на экспорт контактов
URL для вызова метода |
https://api.unisender.com/ru/api/async/exportContacts |
Аргументы | |
api_key * | Ключ доступа к API |
notify_url | URL, на который будет отправлен ответ после того, как файл экспорта будет сформирован. |
list_id | Необязательный код экспортируемого списка. Если не указан, будут экспортированы все списки. Коды списков можно узнать с помощью метода getLists. Внимание: если список указан, то в результат выгрузки попадут и те email-адреса, которые не включены в список, но у контактов есть телефоны, включенные в этот список. |
field_names | Массив имён системных и пользовательских полей, которые надо экспортировать. Если отсутствует, то экспортируются все возможные поля. Способ передачи с помощью HTTP: field_names[]=1&field_names[]=2. Доступные системные поля:
Имена системных полей не зависят от языка. |
Email адрес. Если этот параметр указан, то результат будет содержать только один контакт с таким e-mail адресом. | |
phone | Номер телефона. Если этот параметр указан, то результат будет содержать только один контакт с таким номером телефона. |
tag | Метка. Если этот параметр указан, то при поиске будут учтены только контакты, имеющие такую метку. |
email_status | Статус email адреса. Если этот параметр указан, то результат будет содержать только контакты с таким статусом email адреса. Допустимые значения указаны в перечне системных полей ниже:
|
phone_status | Статус телефона. Если этот параметр указан, то результат будет содержать только контакты с таким статусом телефона. Допустимые значения указаны в перечне системных полей ниже:
|
Возвращаемое значение | |
JSON-объект со следующим полями: | |
{ "result": { "task_uuid": "ff719cf2-4ed9-11e9-8647-d663bd873d93", "status": "new" } } |
|
task_uuid | Уникальный идентификатор задания на подготовку данных. |
status | Статус выполнения задания. |
Система готовит данные
В зависимости от количества контактов для экспорта, файл может готовиться какое-то время. После того, как экспорт будет готов, он будет отправлен на URL, указанный в параметре notify_url метода async/exportContacts.
Также можно запросить статус подготовки экспорта:
Запросить статус выполнения задания
async/getTaskResult - получить статус задания
URL для вызова метода |
https://api.unisender.com/ru/api/async/getTaskResult |
Аргументы | |
api_key * | Ключ доступа к API |
task_uuid * | Идентификатор запроса на подготовку отчета, полученный при вызове метода async/exportContacts. |
Если задание еще выполняется:
Возвращаемое значение | |
JSON-объект со следующим полями: | |
{ "result": { "task_uuid": "ff719cf2-4ed9-11e9-8647-d663bd873d93", "task_type": "exportContacts", "status": "processing" } } |
|
task_uuid | Уникальный идентификатор задания на подготовку данных. |
task_type | Тип задания на подготовку данных. Метод getTaskResult - универсальный и подходит для методов, где используется подготовка данных. В параметре возвращается название метода, по которому выполняется подготовка задания. В данном случае возвращается метод async/exportContacts. |
status | Статус выполнения задания. |
Если задание уже выполнено:
Возвращаемое значение | |
JSON-объект со следующим полями: | |
{ "result": { "task_uuid": "ff719cf2-4ed9-11e9-8647-d663bd873d93", "task_type": "exportContacts", "status": "completed", "file_to_download": "[URL to AWS]" } } |
|
task_uuid | Уникальный идентификатор задания на подготовку данных. |
task_type | Тип задания на подготовку данных. Метод getTaskResult - универсальный и подходит для методов, где используется подготовка данных. В параметре возвращается название метода, по которому выполняется подготовка задания. В данном случае возвращается метод async/exportContacts. |
status | Статус выполнения задания. |
file_to_download | Ссылка на скачивание файла. |
Система отправляет пользователю нотификацию со ссылкой на запрошенные данные
После выполнения задания на подготовку данных система отправляет пользователю Webhook на указанный URL (параметр notify_url)
Возвращаемое значение | |
JSON-объект со следующим полями: | |
{ "result": { "task_uuid": "ff719cf2-4ed9-11e9-8647-d663bd873d93", "task_type": "exportContacts", "status": "completed", "file_to_download": "[URL to AWS]" } } |
|
task_uuid | Уникальный идентификатор задания на подготовку данных. |
task_type | Тип задания на подготовку данных. Метод getTaskResult - универсальный и подходит для методов, где используется подготовка данных. В параметре возвращается название метода, по которому выполняется подготовка задания. В данном случае возвращается метод async/exportContacts. |
status | Статус выполнения задания. |
file_to_download | Ссылка на скачивание файла. |
Примеры формирования URL-запроса
https://api.unisender.com/ru/api/async/exportContacts?api_key=KEY
— запрос на экспорт контактов
https://api.unisender.com/ru/api/async/getTaskResult?api_key= KEY
— запрос на получение статуса задания