For the complete documentation index, see llms.txt. This page is also available as Markdown.

Управление клиентами

Полноценный 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