# Объект Профиля

На этой странице описывается схема профиля JSON и то, как ее использовать для создания, редактирования профиля или просто чтения. Если вас интересует какая-либо из этих операций, сначала ознакомьтесь с соответствующими запросами в нашем Справочнике по API.

Обсудим поля профиля, их значение, как их сгенерировать самостоятельно и как можно применить эти знания в вашем приложении. Но прежде чем углубиться в это, сначала нам нужно определить, с какими типами полей вы можете столкнуться:

  1. Только для чтения Эти поля нельзя изменить, поэтому вы не можете включить их в тело запроса при создании или редактировании профилей. Хотя сервер всегда будет включать их в полезную нагрузку ответа при его передаче, независимо от того, является ли это ответом на запрос GET при получении списка профилей или на запрос POST для создание профиля.
    Пример: профиль _id не может быть изменен, поэтому вы не можете включать его в запросы на создание/редактирование, но он всегда присутствует, когда сервер отвечает объектом профиля.

  2. Только для записи Эти поля могут присутствовать только в запросах при создании или редактировании профилей.
    Пример: parentId профиля используется для установки прямого родительского контейнера профиля при создании или редактировании. Но вместо этого каждый запрос GET будет иметь поле path, чтобы показать полный путь к профилю.

  3. Если поле не помечено ни только для чтения , ни Только для записи , тогда поле доступно как для чтения, так и для записи. Оно будет присутствовать в ответах сервера, а также вы сможете использовать его при создании или редактировании профиля.

  4. Nullable Указывает, что поле имеет значение NULL и может отсутствовать в ответе сервера, а так же запросах на создание. Примечание: это не относится к редактированию профилей. (Подробнее об этом позже)

# Профиль

Object

Объект профиля со следующей схемой:

  • _id String Только для чтения - идентификатор профиля.
  • ownerId String - ID пользователя, которому принадлежит профиль. При создании профиля инициализируется идентификатором пользователя, создавшего его.
  • clusterId String только для чтения - идентификатор кластера, к которому принадлежит профиль.
  • path Array<String> Только для чтения - Массив с идентификаторами, образующими полный путь к профилю вплоть до прямого родителя. Первый элемент всегда равен clusterId. Может содержать идентификаторы несуществующих групп.
  • parentId String Только для записи - идентификатор прямого родителя, которому вы хотите переместить профиль. Должна быть либо группой кластера, либо самим кластером. Вы не можете переместить профиль в другой кластер.
  • proxyId String Nullable - ID прокси из списка прокси. Имеет приоритет над полем proxy, если оба присутствуют.
  • proxy Object Nullable - Мануальный объект прокси со следующей схемой:
    • type String - возможные значения: socks5, http, https, ssh
    • host String
    • port Int - число в диапазоне 1-65535
    • username String Nullable
    • password String Nullable
    • ipChangeUrl String Nullable - мы рекомендуем включать протокол в URL(http/https)
  • name String Nullable - Имя профиля. Вы могли видеть, что приложение Surfinite показывает идентификатор профиля, если имя равно null, но объект на самом деле содержит значение null и не устанавливает идентификатор автоматически.
  • description String Nullable
  • metadata Object Только для чтения - Объект метаданных, содержащий информацию об ОС профиля и экране с t:
    • osType String Nullable - тип ОС, возможные значения: windows, macos, linux
    • osName String Nullable - Версия ОС, например Windows 11, Monterey, Big Sur
    • screen Int Nullable - размеры экрана вида <width> x <height>
      Если поле равно нулю — это означает, что подмена отключена.
  • deletedOn Long только для чтения Nullable - Временная метка Unix, когда профиль был удален. Если это поле не пустое – это означает, что профиль в настоящее время находится в корзине.
  • deletedBy String только для чтения Nullable - ID пользователя, который удалил профиль.
  • createdOn Long Только для чтения - Временная метка Unix, когда был создан профиль.
  • lastLaunched Long только для чтения Nullable - Unix-временная метка последнего запуска этого профиля.
  • categoryId String Nullable - ID категории, присвоенной этому профилю.
  • statusId String Nullable - ID статуса, присвоенного этому профилю.
  • clusterBookmarks Array<String> - Массив идентификаторов закладок, назначенных этому профилю.
  • manualBookmarks Array<Object> - Массив объектов-закладок. Схема закладки:
    • name String
    • url String - если вы опустите протокол URL, будет использоваться https
  • clusterExtensions Array<String> - Массив идентификаторов расширений. Эти идентификаторы взяты из Chrome Web Store.
  • manualExtensions Array<String> - Массив идентификаторов расширений. Эти идентификаторы взяты из Chrome Web Store.
  • tags Array<String> - Массив тегов.
  • fingerprint Object Nullable - Объект, содержащий поля отпечатков пальцев. В следующем разделе они будут описаны.