Перейти к содержанию

База контактов

Создание списка контактов

Для создания списка контактов необходимо вызвать POST /address-book-api/contact-groups, передавая в теле параметры с указанием данных авторизации в заголовке.

curl -X POST https://api.devino.online/address-book-api/contact-groups \
 -h 'Authorization: Key QWxhZGRpbjpvcGVuIHNlc2FtZQ==' \
 -h 'Content-Type: application/json' \
 -h 'Accept: application/json' \
 -d '{
  "fields": [
    {
      "displayName": "NickName",
      "name": "Nickname",
      "type": 3
    },
    {
      "displayName": "Automobile",
      "name": "Auto",
      "type": 3
    }
  ],
  "name": "TestList",
  "type": "STANDARD"
}'
Параметр Тип данных Описание и Допустимые значения
fields array[object] Массив полей списка контактов
displayName string Имя поля, которое будет отображаться в ЛК
name string Имя поля
type integer Тип поля. Возможные значения:
0 - дата/время,
1 - true/false,
2 - число,
3 - текст,
5 - объект,
8 - дата
values array[string] Массив возможных значений поля, если они предусмотрены (например: ["gender.male", "gender.female"])
name string Название списка контактов
type string Тип списка контактов. Возможные значения:
STANDARD - обычный список,
STOPLIST - список, по контактам которого не нужно рассылаться
{
  "result": "3576515602081985000"
}
Параметр Тип данных Описание и Допустимые значения
result string Идентификатор списка контактов

Загрузка контактов в список

Для загрузки котактов в список необходимо вызвать POST /address-book-api/contacts/batch, передавая в теле параметры с указанием данных авторизации в заголовке.

curl -X POST https://api.devino.online/address-book-api/contacts/batch \
-h 'Authorization: Key QWxhZGRpbjpvcGVuIHNlc2FtZQ==' \
-h 'Content-Type: application/json' \
-h 'Accept: application/json' \
-d '{
  "contactGroupId": 3576505602081984000,
  "contacts": [
    {
      "email": "valya@yandex.ru",
      "fields": [
    {
      "displayName": "NickName",
      "name": "Nickname",
      "type": 3
    },
    {
      "displayName": "Automobile",
      "name": "Auto",
      "type": 3
    }
  ],
      "phone": "79100000000"
    }
  ],
  "duplicateCheckField": "phone"
}'
Параметр Тип данных Описание и Допустимые значения
zoneOffset integer Смещение времени для контакта от UTC+0 (в минутах)
contactGroupId integer Идентификатор списка контактов
contacts array[object] Массив контактов
email string Email контакта
fields array[object] Массив полей контакта
displayName string Имя поля, которое будет отображаться в ЛК
name string Имя поля
type integer Тип поля. Возможные значения:
0 - дата/время,
1 - true/false,
2 - число,
3 - текст,
5 - объект,
8 - дата
value array[string] Значение поля
phone string Телефон контакта
duplicateCheckField integer Проверка на дублирование данных контакта. Возможные значения:
null - не проверять,
phone - телефон,
email - email
{
  "result": [
    {
      "code": "OK",
      "result": {
        "contactId": "31a24ce55d4a8e00-31a251fea18b9280"
      }
    }
  ]
}
Параметр Тип данных Описание и Допустимые значения
result array[object] Массив данных ответа
code string Код ответа
result object Массив созданных контактов
contactId string Идентификатор созданного контакта

Получение всех списков контактов

Для получения всех списков контактов необходимо вызвать GET /address-book-api/contact-groups, передавая в теле параметры с указанием данных авторизации в заголовке.

curl https://api.devino.online/address-book-api/contact-groups?limit=10&offset=0 \
-h 'Authorization: Key QWxhZGRpbjpvcGVuIHNlc2FtZQ==' 
Параметр Тип данных Описание и Допустимые значения
limit integer Количество выводимых строк в ответе
offset integer С какой строки выводить ответ (смещение)
name
(optional)
string Название списка контактов (поиск по вхождению)
from
(optional)
string Дата начала поиска даты создания списка контактов
to
(optional)
string Дата окончания поиска даты создания списка контактов
type
(optional)
array[string] Массив типов списка контактов. Возможные значения:
STANDARD - обычный список,
STOPLIST - список, по контактам которого не нужно рассылаться
zoneOffset
(optional)
integer Смещение времени для контакта от UTC+0 (в минутах), по умолчанию равно нулю
{
  "result": [
    {
      "contactGroupId": "3576515602081985000",
      "companyId": 112233,
      "name": "TestList",
      "creationDate": "2020-10-20T08:16:31",
      "lastUpdate": "2020-10-20T09:01:05",
      "fields": [
        {
          "name": "name",
          "displayName": "Имя",
          "type": 3,
          "isDefault": true
        },
        {
          "name": "surname",
          "displayName": "Фамилия",
          "type": 3,
          "isDefault": true
        },
        {
          "name": "phone",
          "displayName": "Телефон",
          "type": 3,
          "isDefault": true
        },
        {
          "name": "email",
          "displayName": "E-Mail",
          "type": 3,
          "isDefault": true
        },
        {
          "name": "gender",
          "displayName": "Пол",
          "type": 3,
          "isDefault": true,
          "values": [
            "gender.male",
            "gender.female"
          ]
        },
        {
          "name": "country",
          "displayName": "Страна",
          "type": 3,
          "isDefault": true
        },
        {
          "name": "city",
          "displayName": "Город",
          "type": 3,
          "isDefault": true
        },
        {
          "name": "birthdate",
          "displayName": "Дата рождения",
          "type": 8,
          "isDefault": true
        },
        {
          "name": "creationDate",
          "displayName": "Дата создания",
          "type": 0,
          "isDefault": true
        },
        {
          "name": "lastUpdate",
          "displayName": "Дата последнего изменения",
          "type": 0,
          "isDefault": true
        },
        {
          "name": "timezone",
          "displayName": "Таймзона",
          "type": 2,
          "isDefault": true
        },
        {
          "name": "Nickname",
          "displayName": "NickName",
          "type": 3,
          "isDefault": false
        },
        {
          "name": "Auto",
          "displayName": "Automobile",
          "type": 3,
          "isDefault": false
        }
      ],
      "contactsCount": "1",
      "segmentsCount": "0",
      "type": "STANDARD"
    }
  ]
}
Параметр Тип данных Описание и Допустимые значения
result array[string] Массив списков контактов
companyId integer Идентификатор компании
contactGroupId string Идентификатор списка контактов
contactsCount integer Количество контактов в списке
creationDate string Дата создания списка контактов
fields array[object] Массив полей контактов в списке
displayName string Имя поля, которое будет отображаться в ЛК
name string Имя поля
type integer Тип поля. Возможные значения:
0 - дата/время,
1 - true/false,
2 - число,
3 - текст,
5 - объект,
8 - дата
values array[string] Массив возможных значений поля, если они предусмотрены (например: ["gender.male", "gender.female"])
isDefault boolean Является ли поле отображаемым по умолчанию
lastUpdate string Дата последнего изменения списка контактов
name string Название списка контактов
segmentsCount integer Количество сегментов в списке
type string Тип списка контактов. Возможные значения:
STANDARD - обычный список,
STOPLIST - список, по контактам которого не нужно рассылаться

Получение всех контактов из конкретного списка

Для получения всех контактов из конкретного списка необходимо вызвать GET /address-book-api/contacts/http/range, передавая в теле параметры с указанием данных авторизации в заголовке.

curl https://api.devino.online/address-book-api/contacts/http/range?limit=10&offset=0&contactGroupId=3576515602081985000 \
-h 'Authorization: Key QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
-h 'Content-Type: application/json'
-h 'Accept: application/json'
Параметр Тип данных Описание и Допустимые значения
contactGroupId string Идентификатор списка контактов
descOrder boolean Порядок сортировки. Возможные значения:
asc - false,
desc - true
limit integer Количество выводимых строк в ответе
offset integer С какой строки выводить ответ (смещение)
queryName string Поле для фильтра
queryOperator string Оператор для фильтра. Возможные значения:
ex - EXISTS
eq - EQUALS
neq - NOT_EQUALS
gt - GREATER_THEN
lt - LESS_THAN
ngt - NOT_GREATER_THAN
nlt - NOT_LESS_THAN
inc - CONTAINS
ninc - NOT_CONTAINS
sw - STARTS_WITH
ew - ENDS_WITH
nsw - NOT_STARTS_WITH
new - NOT_ENDS_WITH
range - RANGE
nrange - NOT_IN_RANGE
ma - MATCHES
nma - NOT_MATCHES
queryValue string Значение для фильтра
segmentId string Идентификатор сегмента
sortByField string Поле, по которому будет проходить сортировка
zoneOffset integer Смещение времени для контакта от UTC+0 (в минутах)
{
  "result": [
    {
      "contactId": "31a24ce55d4a8e00-31a251fea18b9280",
      "companyId": 112233,
      "contactGroupId": "3576515602081985000",
      "creationDate": "2020-10-20 09:01:05",
      "lastUpdate": "2020-10-20 09:01:05",
      "phone": "79100000000",
      "email": "valya@yandex.ru",
      "unsubscribedData": [
        {
          "companyId": 112233,
          "data": "valya@yandex.ru",
          "dataType": "EMAIL",
          "channelList": [
            {
              "channel": "EMAIL",
              "unsubscribedAt": "2020-10-21 08:13:55"
            }
          ],
          "updatedAt": "2020-10-21 08:13:55"
        }
      ],      
      "fields": [
        {
          "name": "name",
          "displayName": "Имя",
          "type": 3,
          "isDefault": true
        },
        {
          "name": "surname",
          "displayName": "Фамилия",
          "type": 3,
          "isDefault": true
        },
        {
          "name": "gender",
          "displayName": "Пол",
          "type": 3,
          "isDefault": true,
          "values": [
            "gender.male",
            "gender.female"
          ]
        },
        {
          "name": "country",
          "displayName": "Страна",
          "type": 3,
          "isDefault": true
        },
        {
          "name": "city",
          "displayName": "Город",
          "type": 3,
          "isDefault": true
        },
        {
          "name": "birthdate",
          "displayName": "Дата рождения",
          "type": 8,
          "isDefault": true
        },
        {
          "name": "timezone",
          "displayName": "Таймзона",
          "type": 2,
          "value": "180",
          "isDefault": true
        },
        {
          "name": "Nickname",
          "displayName": "NickName",
          "type": 3,
          "value": "null",
          "isDefault": false
        },
        {
          "name": "Auto",
          "displayName": "Automobile",
          "type": 3,
          "value": "null",
          "isDefault": false
        }
      ]
    }
  ]
}
Параметр Тип данных Описание и Допустимые значения
result array[string] Массив контактов
companyId integer Идентификатор компании
contactGroupId integer Идентификатор списка контактов
contactId string Идентификатор контакта
creationDate string Дата создания контакта
email string Email контакта
fields array[object] Массив полей контактов в списке
displayName string Имя поля, которое будет отображаться в ЛК
name string Имя поля
type integer Тип поля. Возможные значения:
0 - дата/время,
1 - true/false,
2 - число,
3 - текст,
5 - объект,
8 - дата
value object Значение поля
values array[string] Массив возможных значений поля, если они предусмотрены (например: ["gender.male", "gender.female"])
isDefault boolean Является ли поле отображаемым по умолчанию
lastUpdate string Дата последнего изменения контакта
phone string Телефон контакта
unsubscribedData array[object] Данные об отписке контакта
channelList array[object] Данные каналов отписки. Массив вида:
channel - канал отписки
unsubscribedAt - дата отписки
unsubscribedType - тип отписки
companyId integer Идентификатор компании
data string Данные отписки (телефон или email)
dataType string Канал отписки
updatedAt string Дата последнего изменения отписки