Метод exportContacts

Экспорт данных контактов из Unisender. Возможны различные сценарии использования этого метода:

  • Резервное копирование
    Вы можете выгрузить всю базу контактов с максимально подробной информацией.
  • Синхронизация с данными вашего сервера
    Предположим, что вы всегда добавляете новых контактов сначала на свой сервер, а потом уже в Unisender. Отписаться же контакт может как через Unisender, так и вы сами можете удалить его на своём сервере. Тогда для синхронизации сначала вам надо выгрузить только email-адреса (или телефоны) контактов через exportContacts и проверить, нет ли среди них удалённых с вашего сервера. Затем с помощью importContacts вы импортируете новых, меняете данные у изменённых и удаляете тех, кто удалён на вашем сервере.

Для метода существует лимит на количество запросов от одного API-ключа или IP-адреса — 20 запросов/60 секунд.

Для получения дополнительной информации о контакте, воспользуйтесь методом getContact

Принцип использования

Метод exportContacts

Пользователь присылает запрос на экспорт контактов

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.
Доступные системные поля:

  • id
  • email
  • email_status
  • email_availability
  • email_add_time
  • email_request_ip
  • email_confirm_time
  • email_confirm_ip
  • email_list_ids
  • email_subscribe_times
  • email_unsubscribed_list_ids
  • email_last_delivered_at
  • email_last_read_at
  • email_last_clicked_at
  • phone
  • phone_status
  • phone_availability
  • phone_add_time
  • phone_request_ip
  • phone_list_ids
  • phone_subscribe_times
  • phone_unsubscribed_list_ids
  • tags

Имена системных полей не зависят от языка.
Доступные пользовательские поля можно получить с помощью метода getFields, из поля name.

email Email адрес. Если этот параметр указан, то результат будет содержать только один контакт с таким e-mail адресом.
phone Номер телефона. Если этот параметр указан, то результат будет содержать только один контакт с таким номером телефона.
tag Метка. Если этот параметр указан, то при поиске будут учтены только контакты, имеющие такую метку.
email_status Статус email адреса. Если этот параметр указан, то результат будет содержать только контакты с таким статусом email адреса. Допустимые значения указаны в перечне системных полей ниже:

  • new - новый.
  • invited - отправлено приглашение со ссылкой подтверждения подписки, ждём ответа, рассылка по такому адресу пока невозможна.
  • active - активный адрес, возможна рассылка.
  • inactive - адрес отключён через веб-интерфейс, никакие рассылки невозможны, но можно снова включить через веб-интерфейс.
  • unsubscribed - адресат отписался от всех рассылок.
  • blocked - адрес заблокирован администрацией нашего сервиса (например, по жалобе адресата), рассылка по нему невозможна. Разблокировка возможна только по просьбе самого адресата.
  • activation_requested - запрошена активация адреса у администрации Unisender, рассылка пока невозможна.
phone_status Статус телефона. Если этот параметр указан, то результат будет содержать только контакты с таким статусом телефона. Допустимые значения указаны в перечне системных полей ниже:

  • new - новый.
  • active - активный телефон, возможна рассылка. При добавлении этот статус телефон получает по умолчанию.
  • inactive - номер отключён через веб-интерфейс, никакие рассылки невозможны, но можно снова включить через веб-интерфейс.
  • unsubscribed - адресат отписался от всех рассылок.
  • blocked - адресат заблокирован администрацией нашего сервиса (например, по жалобе адресата), рассылка по нему невозможна. Разблокировка возможна только по просьбе самого адресата.
Возвращаемое значение
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
— запрос на получение статуса задания

Вы нашли ответ?

4
20