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

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

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

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

Параметры запроса

Параметр Тип данных Описание
fields array[object] Массив полей списка контактов.
name string Название списка контактов.
type string Тип списка контактов. Возможные значения:
STANDARD - обычный список.
STOPLIST - если контактам из списка не нужно делать рассылку.

Fields

Параметр Тип данных Описание
displayName string Название поля, которое будет отображаться в в личном кабинете.
name string Название поля.
type integer Тип поля. Возможные значения:
0 - дата/время
1 - TRUE/FALSE
2 - число
3 - текст
5 - объект
8 - дата
values array[string] Массив возможных значений поля, если они предусмотрены.
Например: ["gender.male", "gender.female"].

Пример запроса

curl -X POST https://api.devino.online/address-book-apcontact-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"
}'

Параметры ответа

Параметр Тип данных Описание
result string ID списка контактов.

Пример ответа

{
  "result": "3576515602081985000"
}

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

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

Параметры запроса

Параметр Тип данных Описание
zoneOffset integer Смещение времени для контакта от UTC+0 в минутах.
contactGroupId integer ID списка контактов.
contacts array[object] Массив контактов.
duplicateCheckField integer Проверка на дублирование данных контакта. Возможные значения:
null - не проверять.
phone - проверять телефон.
email - проверять email.

Contacts

Параметр Тип данных Описание
email string Email контакта.
fields array[object] Массив полей контакта.
phone string Телефон контакта.
Fields
Параметр Тип данных Описание
displayName string Название поля, которое будет отображаться в в личном кабинете.
name string Название поля.
type integer Тип поля. Возможные значения:
0 - дата/время
1 - TRUE/FALSE
2 - число
3 - текст
5 - объект
8 - дата
values array[string] Массив возможных значений поля, если они предусмотрены.
Например: ["gender.male", "gender.female"].

Пример запроса

curl -X POST https://api.devino.online/address-book-api/contactbatch \
-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"
}'

Параметры ответа

Параметр Тип данных Описание
code string Код ответа.
result object Массив созданных контактов.

Result

Параметр Тип данных Описание
contactId string ID созданного контакта.

Пример ответа

{
  "result": [
    {
      "code": "OK",
      "result": {
        "contactId": "31a24ce55d4a8e00-31a251fea18b9280"
      }
    }
  ]
}

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

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

Параметры запроса

Параметр Тип данных Описание
limit integer Количество выводимых строк в ответе.
offset integer С какой строки выводить ответ (смещение).
name
(optional)
string Название списка контактов (поиск по вхождению).
from
(optional)
string Дата начала поиска даты создания списка контактов.
to
(optional)
string Дата окончания поиска даты создания списка контактов.
type
(optional)
array[string] Массив типов списков контактов. Возможные значения:
STANDARD - обычный список.
STOPLIST - если контактам из списка не нужно делать рассылку.
zoneOffset
(optional)
integer Смещение времени для контакта от UTC+0 в минутах. По умолчанию - ноль.

Пример запроса

curl https://api.devino.online/address-book-api/contact-groups?limit=10&offset=0 \
-h 'Authorization: Key QWxhZGRpbjpvcGVuIHNlc2FtZQ==' 

Параметры ответа

Параметр Тип данных Описание
companyId integer ID компании.
contactGroupId string ID списка контактов.
contactsCount integer Количество контактов в списке.
creationDate string Дата создания списка контактов.
fields array[object] Массив полей контактов в списке.
lastUpdate string Дата последнего изменения списка контактов.
name string Название списка контактов.
segmentsCount integer Количество сегментов в списке.
type string Тип списка контактов. Возможные значения:
STANDARD - обычный список.
STOPLIST - если контактам из списка не нужно делать рассылку.

Fields

Параметр Тип данных Описание
displayName string Название поля, которое будет отображаться в в личном кабинете.
name string Название поля.
type integer Тип поля. Возможные значения:
0 - дата/время
1 - TRUE/FALSE
2 - число
3 - текст
5 - объект
8 - дата
values array[string] Массив возможных значений поля, если они предусмотрены.
Например: ["gender.male", "gender.female"].
isDefault boolean Отображается ли поле по умолчанию.

Пример ответа

{
  "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
        }, //...
      ],
      "contactsCount": "1",
      "segmentsCount": "0",
      "type": "STANDARD"
    }
  ]
}

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

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

Параметры запроса

Параметр Тип данных Описание
contactGroupId string ID списка контактов.
descOrder boolean Порядок сортировки. Возможные значения:
false - по возрастанию (asc)
true - по убыванию (desc)
limit integer Количество выводимых строк в ответе.
offset integer С какой строки выводить ответ (смещение).
queryName string Поле для фильтра.
queryOperator string Оператор для фильтра. Возможные значения:
ex - существует (EXISTS)
eq - равняется (EQUALS)
neq - не равняется (NOT_EQUALS)
gt - больше чем (GREATER_THAN)
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 ID сегмента.
sortByField string Поле, по которому будет проходить сортировка.
zoneOffset integer Смещение времени для контакта от UTC+0 в минутах.

Пример запроса

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'

Параметры ответа

Параметр Тип данных Описание
companyId integer ID компании.
contactGroupId integer ID списка контактов.
contactId string ID контакта.
creationDate string Дата создания контакта.
email string Email контакта.
fields array[object] Массив полей контактов в списке.
lastUpdate string Дата последнего изменения контакта.
phone string Телефон контакта.
unsubscribedData array[object] Данные об отписке контакта.

Fields

Параметр Тип данных Описание
displayName string Название поля, которое будет отображаться в в личном кабинете.
name string Название поля.
type integer Тип поля. Возможные значения:
0 - дата/время
1 - TRUE/FALSE
2 - число
3 - текст
5 - объект
8 - дата
values array[string] Массив возможных значений поля, если они предусмотрены.
Например: ["gender.male", "gender.female"].
isDefault boolean Отображается ли поле по умолчанию.

UnsubscribedData

Параметр Тип данных Описание
channelList array[object] Данные каналов отписки. Массив с параметрами:
channel - канал отписки.
unsubscribedAt - дата отписки.
unsubscribedType - тип отписки.
companyId integer ID компании.
data string Данные отписки (телефон или email).
dataType string Канал отписки.
updatedAt string Дата последнего изменения отписки.

Пример ответа

{
  "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"
          ]
        }, //...
      ]
    }
  ]
}