Интеграция со СБИС

СБИС.ЗаписатьСотрудника

СБИС.ЗаписатьСотрудника

Команда СБИС.ЗаписатьСотрудника добавит нового сотрудника или обновит данные о существующем.

Адрес для выполнения запроса: https://online.sbis.ru/service/?srv=1

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

  • "Параметр"*: объект:
    • "Сотрудник"*: объект:
      • "Фамилия"**: строка
      • "Имя"**: строка
      • "Отчество": строка.
      • "ДоступВСистему": строка "Да"/"Нет"
      • "Логин": строка.
      • "Пароль": строка.
      • "ИдентификаторИС"**: строка, уникальный идентификатор в системе
      • "Идентификатор"**: строка, целое число
      • "ДатаУвольнения": строка, формат ДД.ММ.ГГГГ.
      • "ЛимитПодЗП"**: строка, лимит под зарплаты в месяц
      • "Пропуск": массив объектов:
        • "ТипПропуска"*: строка, тип пропуска. Допустимое значение "ProximityCard", список будет расширяться
        • "ПодТипПропуска"*: строка, подтип пропуска. Допустимое значение "Wiegand-26", список будет расширяться
        • "Идентификатор": строка (идентификатор пропуска)
        • "ДатаНачалаДействия"**: строка
        • "ДатаОкончанияДействия"**: строка
        • "Описание"**: строка
        • "Удалить"**: строка "Да"/"Нет"
    • "Должность": объект:
      • "Название": строка
    • "НашаОрганизация"**: объект, обязательный:
    • "Подразделение":
      • "Идентификатор": строка
    • "Права": объект:
      • "Роль": массив объектов.
        • "Название": строка
    • "Ограничение": объект:
      • "ПоПодразделениям": объект:
        • "БезОграничений": строка "Да"/"Нет"
        • "СвойОфис": строка "Да"/"Нет"
        • "Подразделение": массив объектов:
          • "Идентификатор": строка
    • "ПоОрганизациям": объект:

* — обязательные параметры.

** — необязательные параметры.

Комментарий

  • Для идентификации сотрудника используются поля «Идентификатор» и «ИдентификаторИС».
    • «Идентификатор» — уникальный номер карточки сотрудника в СБИС. Этот номер автоматически присвается карточке при создании сотрудника.
    • «ИдентификаторИС» — уникальный номер сотрудника в сторонней системе. Определяется вручную в карточке сотрудника.
    • В первую очередь идентификация сотрудника идет по полю «Идентификатор».
  • При создании сотрудника поля «Фамилия» и «Имя» обязательны.
  • Если в запросе указан праметр, которого нет в безе данных, например должность, код подразделения, наша организация, то метод «СБИС.ЗаписатьСотрудника» вернет ошибку и изменения не будут записаны.
  • Поиск по коду подразделения зависит от структуры, указанной в настройках структуры справочника сотрудников (юридической или управленческой).
  • Чтобы предоставить сотруднику доступ в систему, достаточно указать:
    • "ДоступВСистему": "Да";
    • "Логин";
    • "Пароль".

Результат запроса

  • "Сотрудник": массив объектов:
    • "Фамилия": строка
    • "Имя": строка
    • "Отчество": строка
    • "ИдентификаторИС": строка (идентификатор, уникальный в системе)
    • "ВнутреннийИдентификатор": строка
    • "Принят"
    • "Уволен"
    • "ЛимитПодЗП": строка
    • "Должность": объект:
      • "Название": строка
    • "Подразделение": объект:
      • "КодПодразделения": строка
      • "Название": строка
    • "Пропуск": массив объектов:
      • "ТипПропуска"*: строка, тип пропуска. Допустимое значение "ProximityCard", список будет расширяться
      • "ПодТипПропуска"*: строка, подтип пропуска. Допустимое значение "Wiegand-26", список будет расширяться
      • "Идентификатор": строка (идентификатор пропуска)
      • "ДатаНачалаДействия"**: строка
      • "ДатаОкончанияДействия"**: строка
      • "Описание"**: строка
      • "Удалить"**: строка "Да"/"Нет"
  • "Навигация":
    • "ЕстьЕще": строка "Да"/"Нет". Если "Да", то есть последующие страницы
    • "Страница"
    • "Размер страницы"

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

{
  "jsonrpc": "2.0",
  "method": "СБИС.ЗаписатьСотрудника",
  "params": {
    "Параметр": {
      "Сотрудник": {
        "Фамилия": "Иванов",
        "Имя": "Иван",
        "Отчество": "Александрович",
        "ДоступВСистему": "Да",
        "Логин": "ИвановЛогин1",
        "Пароль": "ИвановПароль1",
        "ИдентификаторИС": "ИвановИван1"
      },
      "Права": {
        "Роль": [
          {
            "Название": "Менеджер"
          }
        ]
      },
      "Должность": {
        "Название": "Менеджер"
      }
    }
  },
  "id": 1
}

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

{
  "jsonrpc": "2.0",
  "result": {
    "Права": {
      "Роли": [
        {
          "Название": "Менеджер"
        }
      ]
    },
    "Сотрудник": {
      "ИдентификаторИС": "ИвановИван1",
      "ДатаБлокировки": "",
      "Должность": {
        "Название": "менеджер"
      },
      "ДоступВСистему": "Да",
      "Идентификатор": "23612775",
      "Имя": "Иван",
      "Логин": "ивановлогин1",
      "Отчество": "Александрович",
      "Подразделение": {
        "КодПодразделения": "",
        "Название": ""
      },
      "ПоследняяАктивность": "",
      "Принят": "",
      "ТабельныйНомер": "",
      "Уволен": "",
      "Фамилия": "Иванов"
    }
  },
  "id": 1
}

Пример записи администратора системы

{
  "jsonrpc": "2.0",
  "method": "СБИС.ЗаписатьСотрудника",
  "params": {
    "Параметр": {
      "Сотрудник": {
        "Фамилия": "Александров",
        "Имя": "Сергей",
        "Отчество": "Георгиевич",
        "ДоступВСистему": "Да",
        "Логин": "Александров45",
        "Пароль": "Александров12345"
      },
      "Права": {
        "Роль": [
          {
            "Название": "Администратор системы"
          }
        ]
      }
    }
  },
  "id": 1
}

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

{
  "jsonrpc": "2.0",
  "result": {
    "Права": {
      "Роли": [
        {
          "Название": "Администратор системы"
        }
      ]
    },
    "Сотрудник": {
      "ДоступВСистему": "Да",
      "Идентификатор": "23666678",
      "Имя": "Сергей",
      "Логин": "александров45",
      "Отчество": "Георгиевич",
      "Фамилия": "Александров"
    }
  },
  "id": 1
}

Пример ответа (ошибка)

В случае, если пользователь с таким логином уже существует.

{
  "jsonrpc": "2.0",
  "error": {
    "code": -32000,
    "message": "Ошибка при записи данных по пользователю:Пользователь с логином \"Александров45\" уже существует! Попробуйте ввести другой логин.",
    "details": "Ошибка при вызове метода \"Пользователь.SafeWriteUser\" с сервиса \"admin-api\": Ошибка в обработчике \"ОбработчикНаПередЗаписатьПользователя\": Пользователь с логином \"Александров45\" уже существует! Попробуйте ввести другой логин.",
    "type": "warning",
    "data": {
      "classid": "{00000000-0000-0000-0000-1fa000001000}",
      "error_code": -1,
      "addinfo": null
    }
  },
  "id": 1
}