Управление клиентами
Полноценный CRUD клиентов, доступный из вашего приложения.
Позволяет экспортировать, импортировать или синхронизировать вашу базу контактов. А также редактировать отдельную карточку клиента и его контактные данные.
В сервисе используется несколько слов для обозначения похожих сущностей. В интерфейсе Еадеска раздел называется «Клиенты», который состоит из контактов. В свою очередь, контакт включает в себя контактные данные, например, номер телефона. Схема такая:
Раздел «Клиенты»
Вася Пупкин
Телефон: +79876543210
Алиса
Дарт Вейдер
Почта: vader@deathstar.com
Телеграм: @vader327
Подробнее о схеме данных ниже.
Схема данных объекта «контакт»
Объект «контакт» состоит из набора полей:
_id — уникальный идентификатор контакта
name — имя контакта
description — произвольное описание контакта
segments — массив уникальных идентификаторов сегментов. Пример:
contacts — массив контактных данных, каждый элемент которых содержит:
id — уникальный идентификатор элемента контактных данных.
value — например, "hello@yandex.ru".
type — например "mail", необходимый для интерпретации value.
service — например "mail", сервис для которого используется данное value.
origin — например "chatra", сервис, который создал данный элемент контактных данных.
Пример контакта:
Методы для работы с контактами
Все параметры считаются необязательными, если не указано иное.
Используются только GET/POST
/api/clients/person/create
Метод: POST Тело запроса:
name (строка)
description (строка)
segments (массив строк, может быть пустым). При добавлении в тело запроса заполняет это поле у контакта, не может быть undefined/null, по умолчанию будет создан пустой массив.
Возвращаемое значение: Контакт { _id, name, description, accountId }
Обратите внимание: мы сначала создаем контакт, а контактные данные добавляем позже другим методом.
/api/clients/person/read
Метод: GET Параметры запроса (query string, query parameters):
id
search (регулярное выражение) — ищет в поле 'name' и 'сontacts.value'
type (строка) — один из поддерживаемых типов или список через запятую: id, mail, phone
service (строка) — один из поддерживаемых сервисов или список через запятую: mail, phone, facebook, vk, whatsapp, chatra, telegram, skype
offset (число, по умолчанию 0) — смещение результатов ответа
limit (число, по умолчанию 50) — ограничение на количество отдаваемых записей
needExistingRecords (любое значение) — если этот параметр передан, то будут возвращены только неудаленные контакты.
Возвращаемое значение: Array[ Контакт ]
— массив объектов контакта.
/api/clients/person/update/:id=
Метод: POST Параметры:
id (обязательный)
Тело запроса:
name (строка)
description (строка)
segments (массив строк, может быть пустым). При добавлении в тело запроса заполняет это поле у контакта, не может быть undefined/null, по умолчанию будет создан пустой массив.
Возвращаемое значение: обновленный объект Контакт { result: contact }
или {err: 'ENOT_FOUND'}
.
/api/clients/person/delete/:id=
При вызове этого метода для Контакта устанавливается {status: 'deleted'}
Метод: POST Параметры:
id (обязательный)
Возвращаемое значение: {result: true}
или {err: 'ENOT_FOUND'}
.
Методы для работы с контактными данными
/api/clients/person/contacts/create/:contact_id
Этот метод создает контактные данные и присоединяет их к контакту.
Метод: POST Параметры:
contact_id (обязательный) —ID контакта, к которому добавляются данные
Тело запроса:
value (обязательный, строка) — значение
type (обязательный, строка) — один из поддерживаемых типов: id, mail, phone
service (обязательный, string) — один из поддерживаемых сервисов: mail, phone, facebook, vk, whatsapp, chatra, telegram, skype
Возвращаемое значение: созданный объект {result: {id, value, type, service, origin}}
/api/clients/person/contacts/read
Метод: GET Параметры запроса, любое сочетание параметров:
contact_id (строка)
id (строка)
value (строка)
search (регулярное выражение) — ищет среди value
type: (строка) — один или список через запятую из поддерживаемых типов
service: (строка) — один или список через запятую из поддерживаемых сервисов
not_deleted: true (строка) — при передаче этого параметра будут возвращены только не удаленные контакты.
Возвращаемое значение: { result: Array[ контактые данные ] }
или {err: 'ENOT_FOUND'}
.
/api/clients/person/contacts/update/:id
Метод: POST Параметры:
id (обязательный, строка)
Тело запроса:
value
type (обязательный, строка) — только один из поддерживаемых типов
service (обязательный, строка) — только один из поддерживаемых сервисов
Возвращаемое значение: { result: контактные данные }
или {err: 'ENOT_FOUND'}
.
/api/clients/person/contacts/delete/:id=
При вызове этого метода контактным данным устанавливается {status: 'deleted'}
Метод: POST Параметры:
id (обязательный)
Возвращаемое значение: {result: true}
или {err: 'ENOT_FOUND'}
.
Возвращаемые ответы и ошибки
Наш сервер возвращает следующие коды ответов:
Для некоторых методов при статусе 200 необходимо проверять возвращаемый объект {err}. Например, если при запросе на обновление контакта запись с указанным id не найдена, то HTTP Status = 200 и {err: 'ENOT_FOUND'}
Last updated