Интеграция с внешними системами

Создайте ключ API

Примечание

Для интеграции с внешними системами, создайте ключ API в Коман. Созданный ключ (Bearer token) нужен для авторизации при передаче данных в Коман по средствам API.

Документы

Создание документа

Метод используется для создания документа в Коман. Если пользователь, переданный в массиве подписантов, существует, то его данные будут обновлены. Если пользователь не существует, то будет создан. Чтобы пользователь был создан или обновлен, необходимо передавать данные о пользователе аналогично методу "Изменение пользователей".

Описание метода

Метод

URL

Headers

POST

https://coman.app/api/doc/create

`Authorization: Bearer `

`Content-Type: multipart/form-data; boundary= `

Тело запроса

Поле

Тип

Обяз.

Описание

key_1

Файл

Да

Файл, прикрепляемый к документу

key_n

Файл

Нет

Файл, прикрепляемый к документу

body

Файл

Да

Тело запроса в формате JSON. Описание полей см. в разделе Параметры запроса.

Параметры запроса (в файле, который указан в body)

Поле

Тип

Обяз.

Комментарий

fileNames

Массив

Да

Файлы, прикреплённые к документу.

В массив передаётся список значений key_1 … key_n из тела запроса. Значения key должны быть уникальными в разрезе запроса (т.е. один key нельзя использовать в нескольких fileNames).

name

Текст(500)

Нет

Имя документа.

Если значение не передано, будет записано первое значение из массива fileNames.

externalSeq

Текст(500)

Нет

Внешний номер последовательности.

Если значение передано, то в ответе вернётся аналогичный тег со значением.

externalDocNum

Текст(500)

Нет

Внешний номер документа.

externalDocDate

Дата

Нет

Внешняя дата документа.
Формат даты: DD.MM.YYYY.
Если значение не передано, будет записана текущая дата.

inn

Текст(20)

Да

ИНН организации.

kpp

Текст(20)

Нет

КПП организации.

entityExtCode

Текст(40)

Нет

Внешний код организации.

entityFullName

Текст(255)

Нет

Наименование организации.

documentType

Текст(10)

Нет

Код документа по справочнику МинТруда

vacationScheduleUuid

Текст(36)

Нет

UUID Графика отпусков в Коман. Указывается, для связки отправляемого документа со сбором Графика отпусков Коман.

stages

Массив

Усл.**

Массив этапов подписания.

name

Текст(500)

Нет

Имя этапа.

Если значение не передано, имя этапа будет пустым.

daysToSign

Текст (36)

Нет

Срок подписания. Количество дней до окончания срока подписания.

rejectForbidden

Логический тип

Нет

Признак "Только ознакомиться".

Если значение не передано, будет использован параметр "По умолчанию этап создается с признаком "Только ознакомление".

facsimileDisabled

Логический тип

Нет

Признак "Факсимиле не требуется".

Если значение не передано, будет использован параметр "По умолчанию этап создается с признаком "Факсимиле не требуется"

signOrder

Текст (36)

Нет

Порядковый номер этапа.

Если значение не передано, будет записан порядок этапов такой, как пришел во входящем запросе.

signers

Массив

Да

Массив с данными о подписантах в этапе

phone

Текст(12)

Усл.*

Телефон пользователя.

Формат: +73332221100

firstName

Текст(255)

Да

Имя пользователя.

middleName

Текст(255)

Нет

Отчество пользователя.

lastName

Текст(255)

Да

Фамилия пользователя.

email

Текст(255)

Усл.*

Email пользователя.

snils

Текст(11)

Да

СНИЛС пользователя.

passportType

Текст(1)

Нет

Тип документа: 1 – паспорт РФ, 2 – иное.

Если не передан, то по умолчанию 1 пользователя.

passportBatch

Текст(4)

Нет

Серия паспорта пользователя.

passportNumber

Текст(9)

Нет

Номер паспорта пользователя.

passportIssuingCenter

Текст(50)

Нет

Кем выдан паспорт пользователя.

passportIssueDate

Дата

Нет

Дата выдачи паспорта пользователя.

Формат даты: YYYY-MM-DD

passportInfo

Текст(500)

Нет

Информация о документе. Передается, если тип документа - иное (passportType = 2)

registrationAddress

Текст(500)

Нет

Адрес регистрации

qualified

Логический тип

Нет

Подпись УКЭП.

Значение по умолчанию false.

targetSigner

Логический тип

Да

Сотрудник документа.

true - сотрудник документа (документ в отношении этого пользователя)

false - просто подписант

entities

Массив

Да

Массив организаций.

inn

Текст(20)

Да

ИНН организации.

kpp

Текст(20)

Нет

КПП организации.

gphContract

Логический тип

Нет

Устроен по договору ГПХ

Значение по умолчанию false.

extCode

Текст(40)

Нет

Внешний код организации.

maxVacationDays

Число

Нет

Количество доступных дней отпуска в организации (Целое число)

managerSnils

Текст(255)

Нет

СНИЛС руководителя пользователя

positions

Массив

Нет

Массив должностей в организации

departmentName

Текст(255)

Нет

Название отдела (подразделения)

positionName

Текст(255)

Нет

Должность сотрудника

personnelNumber

Текст(255)

Нет

Табельный номер сотрудника

*Обязательно передавать одно из полей. Не допускается одновременная передача двух полей.
**Обязательно передавать одно из полей. Не допускается одновременная передача двух полей.

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

Тело запроса (body) с массивом **signers**
[
    {
        "externalSeq": "1",
        "fileNames": [
            "1",
            "2"
        ],
        "externalDocNum": "Приказ о приёме на работу Иванов АВ",
        "externalDocDate": "21.05.2021",
        "documentType": "02.001",
        "inn": "9729003736",
        "kpp": "773401001",
        "entityExtCode": "ООО Калитеро",
        "entityFullName": "Общество с ограниченной ответственностью Калитеро",
        "signers": [
            {
                "phone": "+79160733304",
                "firstName": "Алексей",
                "middleName": "Васильевич",
                "lastName": "Иванов",
                "email": "av.ivanov@protonmail.com",
                "snils": "11144444651",
                "passportBatch": "1612",
                "passportNumber": "107404",
                "passportIssuingCenter": "130007",
                "passportIssueDate": "13.01.2005"
            },
            {
                "phone": "+79252947870",
                "firstName": "Петр",
                "middleName": "Васильевич",
                "lastName": "Иванов",
                "email": "pv.ivanov@protonmail.com",
                "snils": "21144444651",
                "passportBatch": "2612",
                "passportNumber": "307404",
                "passportIssuingCenter": "330007",
                "passportIssueDate": "23.01.2005",
                "qualified": true
            },
            {
                "phone": "+79160733304", 
                "firstName": "Дмитрий",
                "middleName": "Васильевич",
                "lastName": "Иванов",
                "email": "dv.ivanov@protonmail.com",
                "snils": "31144444651",
                "passportBatch": "3612",
                "passportNumber": "307404",
                "passportIssuingCenter": "330007",
                "passportIssueDate": "2005-02-12"
            }
        ]
    },
    {
        "fileNames": [
            "3"
        ],
        "inn": "1729003736",
        "signers": [
            {
                "phone": "+78160733304"
            },
            {
                "snils": "31144444651"
            }
        ]
    }
]
Тело запроса (body) с массивом **stages**
[
   {
      "fileNames":[
         "key_1"
      ],
      "inn":"9729003736",
      "kpp":"773401001",
      "documentType":"02.001",
      "stages":[
         {
            "facsimileDisabled":true,
            "name":"Этап 1",
            "rejectForbidden":true,
            "signOrder":1,
            "signers":[
               {
                  "phone":"+79160733304",
                  "firstName":"Дмитрий",
                  "middleName":"Васильевич",
                  "lastName":"Иванов",
                  "email":"dv.ivanov@protonmail.com",
                  "snils":"31144444651",
                  "passportBatch":"3612",
                  "passportNumber":"307404",
                  "passportIssuingCenter":"330007",
                  "passportIssueDate":"2005-02-12",
                  "entities":[
                     {
                        "inn":"7707083893",
                        "kpp":"773601001",
                        "positions":[
                           {
                              "positionName":"Главный бухгалтер"
                           }
                        ]
                     },
                     {
                        "facsimileDisabled":false,
                        "name":"Этап 2",
                        "rejectForbidden":false,
                        "signOrder":2,
                        "signers":[
                           {
                              "phone":"+79160733304",
                              "firstName":"Алексей",
                              "middleName":"Васильевич",
                              "lastName":"Иванов",
                              "email":"av.ivanov@protonmail.com",
                              "snils":"11144444651",
                              "passportBatch":"1612",
                              "passportNumber":"107404",
                              "passportIssuingCenter":"130007",
                              "passportIssueDate":"13.01.2005",
                              "registrationAddress":"400131, Волгоградская обл, Волгоград г, Советская ул, дом № 3, квартира 30",
                              "entities":[
                                 {
                                    "inn":"7707083893",
                                    "kpp":"773601001",
                                    "positions":[
                                       {
                                          "positionName":"Главный бухгалтер"
                                       }
                                    ]
                                 }
                              ]
                           }
                        ]
                     }
                  ]
               }
            ]
         }
      ]
   }
]

Формат ответа

Ответ в случае успешной обработки запроса
{
  "code": "OK",
  "responseList": [
    {
      "code": "OK",
      "id": 131,
      "requestUuid": "79edd9e1-21ba-4d5c-a907-01e6a955400a",
      "success": true,
      "uuid": "69701124-d06c-4505-95d0-b41eb01bbba3",
      "newObject": {
        "id": 131,
        "datcre": "2023-01-26T18:46:15.519+03:00",
        "usercre": "/api/doc/create--79edd9e1-21ba-4d5c-a907-01e6a9554",
        "inEnvelopeId": 131,
        "clientId": 2,
        "clientTokenId": 103,
        "uuid": "69701124-d06c-4505-95d0-b41eb01bbba3",
        "importUuid": "79edd9e1-21ba-4d5c-a907-01e6a955400a",
        "status": 0,
        "name": "Приказ_введении положения об ЭДО.docx",
        "inn": "9729003736",
        "kpp": "773401001",
        "autoSend": false,
        "fileNames": [
          "key_1"
        ],
        "signers": [],
        "stages": [
          {
            "name": "Этап 1",
            "signOrder": 1,
            "rejectForbidden": true,
            "facsimileDisabled": true,
            "signers": [
              {
                "id": 182,
                "datcre": "2023-01-26T18:46:15.805+03:00",
                "usercre": "/api/doc/create--79edd9e1-21ba-4d5c-a907-01e6a9554",
                "inEnvelopeSignerId": 182,
                "inEnvelopeStageId": 59,
                "inEnvelopeId": 131,
                "phone": "+79998406909",
                "firstName": "Михаил",
                "middleName": "Дмитриевич",
                "lastName": "Иванов",
                "snils": "91753552929",
                "qualified": false,
                "parentId": 131,
                "headerId": 131,
                "new": true
              }
            ],
            "new": false
          },
          {
            "name": "Этап 2",
            "signOrder": 2,
            "rejectForbidden": false,
            "facsimileDisabled": false,
            "signers": [
              {
                "id": 183,
                "datcre": "2023-01-26T18:46:16.055+03:00",
                "usercre": "/api/doc/create--79edd9e1-21ba-4d5c-a907-01e6a9554",
                "inEnvelopeSignerId": 183,
                "inEnvelopeStageId": 60,
                "inEnvelopeId": 131,
                "snils": "25360189969",
                "qualified": true,
                "parentId": 131,
                "headerId": 131,
                "new": true
              }
            ],
            "new": false
          }
        ],
        "importMaster": false,
        "completed": false,
        "inProcess": true,
        "new": true
      }
    },
    {
      "code": "OK",
      "id": 130,
      "requestUuid": "670892d9-716d-4c7e-a7a9-0e8296ca77d9",
      "success": true,
      "uuid": "8c5a2e74-ee15-409a-8143-4733d520c9f0",
      "newObject": {
        "id": 130,
        "datcre": "2023-01-26T18:45:12.203+03:00",
        "usercre": "/api/doc/create--670892d9-716d-4c7e-a7a9-0e8296ca7",
        "inEnvelopeId": 130,
        "clientId": 2,
        "clientTokenId": 103,
        "uuid": "8c5a2e74-ee15-409a-8143-4733d520c9f0",
        "importUuid": "670892d9-716d-4c7e-a7a9-0e8296ca77d9",
        "status": 0,
        "name": "Уведомление о переходе на ЭДО.docx",
        "externalDocNum": "Приказ о приёме на работу Иванов АВ",
        "externalDocDate": "19.01.2023",
        "inn": "9729003736",
        "kpp": "773401001",
        "entityExtCode": "ООО Калитеро",
        "autoSend": false,
        "fileNames": [
          "key_1"
        ],
        "signers": [
          {
            "id": 181,
            "datcre": "2023-01-26T18:45:12.439+03:00",
            "usercre": "/api/doc/create--670892d9-716d-4c7e-a7a9-0e8296ca7",
            "inEnvelopeSignerId": 181,
            "inEnvelopeId": 130,
            "phone": "+79998406909",
            "firstName": "Михаил",
            "middleName": "Дмитриевич",
            "lastName": "Иванов",
            "snils": "91753552929",
            "qualified": false,
            "parentId": 130,
            "headerId": 130,
            "new": true
          }
        ],
        "stages": [],
        "extCode": "ООО Калитеро",
        "importMaster": false,
        "completed": false,
        "inProcess": true,
        "new": true
      }
    }
  ],
  "importUuid": "d5414092-68b8-4fcd-b920-71083dfbe1fe",
  "importLink": "https://coman.app/import/d5414092-68b8-4fcd-b920-71083dfbe1fe"

Ответ в случае ошибки обработки
{
  "code": "OK",
  "responseList": [
    {
      "code": "FIELD_IS_EMPTY",
      "description": "inn can't be empty;.signers(0) should have at least one of fields: phone,snils ",
      "translation": "{fieldIsEmpty}",
      "errors": {
        "error": [
          "inn can't be empty",
          ".signers(0) should have at least one of fields: phone,snils "
        ]
      },
      "detailedCode": "COMAN_003",
      "requestUuid": "d052768a-08be-46fe-b9fe-0e0430af6fc5",
      "externalSeq": "1"
    },
    {
      "code": "EMPTY_FILE_NAMES",
      "translation": "{emptyFileNames}",
      "requestUuid": "d052768a-08be-46fe-b9fe-0e0430af6fc5",
      "externalSeq": "2"
    }
  ],
  "importUuid": "944a580a-40cb-4ff5-bb63-b2569fe81f54"
}

Перечень возможных кодов ошибок

Возможные значения поля "code", внутри массива "responseList":

Комментарии

FIELD_IS_EMPTY

Не заполнены обязательные поля

EMPTY_FILE_NAMES

Массив fileNames пустой

REQUEST_IS_EMPTY

Отправлен пустой запрос

NO_FILE

Отсутствуют загружаемые файлы, указанные в массиве fileNames

DUPLICATE_FILE

В массиве fileNames найдены повторяющиеся ключи

LENGTH_IS_WRONG

Некорректная длина поля

WRONG_FORMAT

Неверный формат поля

Запрос информации о документах

Метод используется для запроса информации о документах в КОМАН.

Описание метода

Метод

URL

Headers

POST

https://coman.app/api/doc/search

`Authorization: Bearer `

`Content-Type: application/json`

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

Поле

Тип

Обяз.

Комментарий

importUuid

Текст(36)

Усл.*

UUID импорта документа

uuid

Текст(36)

Усл.*

UUID документа

*Обязательно передавать одно из полей. Не допускается одновременная передача двух полей.

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

Тело запроса (body)
{
    "importUuid": "51479df2-3890-4179-b02e-fc024b6c135a"
}

Формат ответа

Ответ в случае успешной обработки запроса
[
  {
    "importUuid": "51479df2-3890-4179-b02e-fc024b6c135a",
    "uuid": "a67a97d4-6927-48e7-8f82-95d6171d88c5",
    "name": "21110516230401-29.12.2021__14_41_49.xlsx",
    "status": 50
  },
  {
    "importUuid": "51479df2-3890-4179-b02e-fc024b6c135a",
    "uuid": "a67a97d4-6927-48e7-8f82-95d6171d88c4",
    "name": "1",
    "status": 10
  }
]
Ответ в случае, если документ не найден
{
  "code": "DOCUMENT_NOT_FOUND",
  "translation": "{documentNotFound}",
  "detailedCode": "COMAN_001",
  "requestUuid": "c49bacc9-be0d-44be-ac6c-4f4d3664521c"
}
Ответ в случае ошибки обработки
{
  "code": "TOO_MUCH_VALUES",
  "description": " can have only one of fields: importUuid,uuid ",
  "translation": "{tooMuchValues}",
  "errors": {
    "error": [
      " can have only one of fields: importUuid,uuid "
    ]
  },
  "requestUuid": "6773a41f-2652-4900-b4a5-8ea230e24d6f"
}

Перечень статусов документа

Статус

Комментарии

0

Документ в статусе “В обработке” в интерфейсной таблице

10

Документ в статусе “Мастер импорта” в интерфейсной таблице

20

Документ в статусе “Черновик” в рабочей таблице

40

Документ в статусе “В процессе подписания” в рабочей таблице

50

Документ в статусе “Отклонено” в рабочей таблице

60

Документ в статусе “Удалено” в рабочей таблице

98

Документ в статусе “Ошибка” в интерфейсной таблице

99

Документ в статусе “Ошибка” в рабочей таблице

100

Документ в статусе “Завершено” в рабочей таблице

Перечень возможных кодов ошибок

Возможные значения поля "code", внутри массива "responseList":

Комментарии

FIELD_IS_EMPTY

Не заполнены обязательные поля

DOCUMENT_NOT_FOUND

Не найдено ни одного документа

TOO_MUCH_VALUES

Нарушена условная обязательность передаваемых полей

Запрос архива документа

Метод используется для запроса архива, содержащего оригинал документа и открепленные подписи в КОМАН

Описание метода

Метод

URL

Headers

GET

https://coman.app/api/doc/get_archive/{document_UUID}

`Authorization: Bearer `
`Content-Type: application/json`

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

Поле

Тип

Обяз.

Комментарий

document_uuid

Текст(36)

Да

UUID документа

Формат ответа

Заголовок

Код состояния

Пример содержимого

Location

302 (REDIRECT)

https://coman.storage.yandexcloud.net/documents/57a172d0-e518-4a39-add5-04ac549b1035/final/final_archive.zip?response-content-disposition=attachment%3B%20filename%3DComan_Archive_458_1641912763892.zip&X-Adz-Algorithm=AWS4-HMAC-SHA256&X-Adz-Date=20220111T145243Z&X-Adz-SignedHeaders=host&X-Adz-Expires=29&X-Adz-Credential=_v_akaJsZO83XYEz5h-G%2F20220111%2Fru-central1%2Fs3%2Faws4_request&X-Adz-Signature=4f5979de709cc754209c1cf13fc4fd4ed0c42f3b0d154e4e8ea3ea75a1078f87

Ответ в случае, если документ не найден
{
  "code": "DOCUMENT_NOT_FOUND",
  "translation": "{documentNotFound}",
  "detailedCode": "COMAN_001",
  "requestUuid": "c49bacc9-be0d-44be-ac6c-4f4d3664521c"
}

Перечень возможных кодов ошибок

Возможные значения поля "code", внутри массива "responseList":

Комментарии

DOCUMENT_NOT_FOUND

Не найдено ни одного документа

WRONG_STATUS

Некорректный статус документа. Выгрузка архива доступна только в статусах “В процессе подписания”, “Отклонено”, “Завершено”

Запрос информации о документах по фильтрам

Метод используется для запроса информации о документах в КОМАН.

Описание метода

Метод

URL

Headers

POST

https://coman.app/api/doc/list

`Authorization: Bearer `
`Content-Type: application/json`

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

Поле

Тип

Обяз.

Комментарий

inn

Текст(36)

Нет

ИНН

kpp

Текст(36)

Нет

КПП

extCode

Текст(36)

Нет

Внешний код организации

entityId

Текст(36)

Нет

ID организации в Коман

status

Текст(36)

Нет

Статус документа

name

Текст(36)

Нет

Название документа

uuid

Текст(36)

Нет

UUID документа

importUuid

Текст(36)

Нет

UUID импорта документа

forMeToSign

Логический тип

Нет

Документы на подпись для внешней системы

changedAfter

Дата и время

Нет

2024-01-26T13:40:24.332+03:00
Показывает документы, в которых произошло изменение позднее переданного значения

createdByApi

Логический тип

Нет

true - показывает документы, созданные через интеграцию
false - показывает документы, созданные в Коман

не передан - показывает все документы

createdFromForm

Логический тип

Нет

true - показывает документы, созданные из "Шаблона" (см. Шаблоны документов )

false - показывает документы, созданные НЕ из "Шаблона"

не передан - показывает все документы

limit

Текст(36)

Да

Кол-во возвращаемых записей

offset

Текст(36)

Да

отступ в возвращаемых записях

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

Тело запроса (body)
{
    "forMeToSign": false,
    "changedAfter": "2024-01-26T13:40:24.332+03:00",
    "limit": 150,
    "offset": 0,
    "createdByApi": false,
    "createdFromForm": false
}

Формат ответа

Ответ в случае успешной обработки запроса
{
    "count": 2,
    "data": [
        {
            "id": 15578,
            "envelopeId": 15578,
            "creatorUserId": 1,
            "creatorUserName": "Чугреев Владимир Сергеевич",
            "entityId": 153,
            "entityName": "ООО \"Калитеро\"",
            "inn": "7707083893",
            "kpp": "773601001",
            "clientId": 52,
            "uuid": "018d5a59-1fee-7835-8a50-71f6bbd38546",
            "status": 0,
            "statusName": "Черновик",
            "name": "Шаблон_плейсхолдеры (1).docx",
            "pageCount": 1,
            "datcre": "2024-01-30T15:30:06.830+03:00",
            "datmod": "2024-01-30T15:30:14.645+03:00",
            "lastChanged": "2024-01-30T15:30:14.645+03:00",
            "createdByApi": false,
            "createdFromForm": false,
            "new": false
        },
        {
            "id": 15571,
            "envelopeId": 15571,
            "entityId": 188,
            "entityName": "тест",
            "inn": "340958340958",
            "kpp": "349054395",
            "clientId": 52,
            "uuid": "018d5985-32a0-7be3-9b51-05ddc8ce8894",
            "importUuid": "018d5985-325a-704a-aa38-2e8b4033593c",
            "status": 100,
            "statusName": "Подписан",
            "name": "Сценарий.txt",
            "pageCount": 1,
            "datcre": "2024-01-30T11:38:41.669+03:00",
            "datmod": "2024-01-30T11:41:43.280+03:00",
            "lastChanged": "2024-01-30T11:41:43.280+03:00",
            "documentType": "01.010",
            "documentTypeName": "Ознакомление с локальным нормативным актом, непосредственно связанным с трудовой деятельностью",
            "createdByApi": true,
            "createdFromForm": false,
            "new": false
        },
    ],
    "requestUuid": "018d5ab8-903f-70de-a391-e6cd420ebc05"
}
Ответ в случае, если документ не найден
{
  "count": 0,
  "requestUuid": "38ca0bf1-e23b-40d8-80f8-57ff682e3415"
}

Запрос полной информации по документу

Метод используется для запроса документа

Описание метода

Метод

URL

Headers

GET

https://coman.app/api/doc/{document_UUID}

`Authorization: Bearer `
`Content-Type: application/json`

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

Поле

Тип

Обяз.

Комментарий

document_uuid

Текст(36)

Да

UUID документа

Формат ответа

Ответ в случае успешной обработки запроса
[
  {
    "clientId": 1,
    "datcre": "2022-04-05T15:37:29.508+03:00",
    "datmod": "2022-04-05T15:39:22.701+03:00",
    "entityId": 1,
    "entityName": "ООО «Калитеро»",
    "envelopeId": 342,
    "files": [
      {
        "contentType": "application/pdf",
        "fileName": "certificate_221989260.pdf",
        "fileOrder": 1,
        "pageCount": 1
      }
    ],
    "id": 342,
    "importUuid": "3c954828-5c8c-45bc-baff-1c0d89652b4d",
    "inn": "9729003736",
    "kpp": "773401001",
    "name": "certificate_221989260.pdf",
    "new": false,
    "pageCount": 1,
    "stages": [
      {
        "allUsers": false,
        "signOrder": 1,
        "signers": [
          {
            "status": 2,
            "statusName": "Отказ",
            "userId": 1,
            "lastName": "Чугреев",
            "firstName": "Владимир",
            "middleName": "Сергеевич",
            "snils": "42353252234",
            "qualified": false,
            "initials": "В.С.",
            "initialsAndLastName": "В.С. Чугреев",
            "lastNameAndInitials": "Чугреев В.С."
          }
        ]
      }
    ],
    "status": 40,
    "statusName": "Отклонено",
    "uuid": "a45b8641-609f-4746-a259-f53c1263bc9e"
  }
]
Ответ в случае, если документ не найден
{
  "code": "DOCUMENT_NOT_FOUND",
  "translation": "{documentNotFound}",
  "detailedCode": "COMAN_001",
  "requestUuid": "c49bacc9-be0d-44be-ac6c-4f4d3664521c"
}

Подписание документа

Метод используется для подписания документа внешней системой в КОМАН.

Описание метода

Метод

URL

Headers

POST

https://coman.app/api/doc/sign/accept

`Authorization: Bearer `
`Content-Type: application/json`

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

Поле

Тип

Обяз.

Комментарий

uuid

Текст(36)

Да

UUID документа

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

Тело запроса (body)
{
  "uuid": "41765df6-d757-4658-9da3-3af3615c3afb"
}

Формат ответа

Ответ в случае успешной обработки запроса
{
  "requestUuid": "d40415a0-ffe4-481f-95bc-cb13886d74e8",
  "success": true
}
Ответ в случае, если документ не найден
{
  "code": "DOCUMENT_NOT_FOUND",
  "translation": "{documentNotFound}",
  "detailedCode": "COMAN_001",
  "requestUuid": "35e827b0-b0d4-476d-8d50-f80af2fd94ce",
  "success": false
}

Отклонение документа

Метод используется для отклонения документа внешней системой в КОМАН.

Описание метода

Метод

URL

Headers

POST

https://coman.app/api/doc/sign/reject

`Authorization: Bearer `
`Content-Type: application/json`

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

Поле

Тип

Обяз.

Комментарий

uuid

Текст(36)

Да

UUID документа

comment

Текст(200)

Нет

Причина отклонения

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

Тело запроса (body)
{
  "uuid": "41765df6-d757-4658-9da3-3af3615c3afb"
}

Формат ответа

Ответ в случае успешной обработки запроса
{
  "requestUuid": "d40415a0-ffe4-481f-95bc-cb13886d74e8",
  "success": true
}
Ответ в случае, если документ не найден
{
  "code": "DOCUMENT_NOT_FOUND",
  "translation": "{documentNotFound}",
  "detailedCode": "COMAN_001",
  "requestUuid": "35e827b0-b0d4-476d-8d50-f80af2fd94ce",
  "success": false
}

Удаление документа

Метод используется для удаления документа внешней системой в КОМАН.

Описание метода

Метод

URL

Headers

POST

https://coman.app/api/doc/delete

`Authorization: Bearer `
`Content-Type: application/json`

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

Поле

Тип

Обяз.

Комментарий

documents

массив

Да

Массив документов для удаления

uuid

Текст(36)

Да

UUID документа

comment

Текст(200)

Нет

Причина удаления

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

Тело запроса (body)
{
   "documents":[
        {
            "uuid":"f531f4cd-e6e1-4573-aa72-a0c3e1ec8f8a",
            "comment":"Причина удаления 1"
        },
        {
            "uuid":"51db09ba-9f07-4411-a0e9-6faa4c3967bb",
            "comment":"Причина удаления 2"
        }
   ]
}  

Формат ответа

Ответ в случае успешной обработки запроса
{
    "code": "OK",
    "responseList": [
        {
            "code": "OK",
            "requestUuid": "4c22f6fa-5ec2-49c7-b373-b51399e93e56",
            "success": true        },
        {
            "code": "OK",
            "requestUuid": "4c22f6fa-5ec2-49c7-b373-b51399e93e56",
            "success": true
        }
    ]
}  
Ответ в случае ошибок
{
    "code": "OK",
    "responseList": [
        {
            "code": "WRONG_STATUS",
            "translation": "{wrongStatus}",
            "requestUuid": "621e2d10-ed13-483f-a32a-97675619f0d5",
            "success": false
        },
        {
            "code": "DOCUMENT_NOT_FOUND",
            "translation": "{documentNotFound}",
            "detailedCode": "COMAN_001",
            "requestUuid": "621e2d10-ed13-483f-a32a-97675619f0d5",
            "success": false
        }
    ]
}  

Пользователи

Добавление пользователей

Метод используется для добавления пользователей в Коман. Метод принимает массив элементов, описанных в разделе Параметры запроса.

Описание метода

Метод

URL

Headers

POST

https://coman.app/api/user/

`Authorization: Bearer `
`Content-Type: application/json`

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

Поле

Тип

Обяз.

Комментарий

phone

Текст(12)

Усл.*

Телефон пользователя.
Формат: +73332221100

firstName

Текст(255)

Да

Имя пользователя.

middleName

Текст(255)

Нет

Отчество пользователя.

lastName

Текст(255)

Да

Фамилия пользователя.

email

Текст(255)

Усл.*

Email пользователя.

snils

Текст(11)

Да

СНИЛС пользователя.

passportType

Текст(1)

Нет

Тип документа: 1 – паспорт РФ, 2 – иной документ.
Если не передан, то по умолчанию 1.

passportBatch

Текст(4)

Нет

Серия паспорта пользователя.

passportNumber

Текст(9)

Нет

Номер паспорта пользователя.

passportIssuingCenter

Текст(50)

Нет

Кем выдан паспорт пользователя.

passportIssueDate

Дата

Нет

Дата выдачи паспорта пользователя.
Формат даты: YYYY-MM-DD

passportInfo

Текст(500)

Нет

Информация о документе. Передается, если тип документа - иное (passportType = 2)

registrationAddress

Текст(500)

Нет

Адрес регистрации

entities

Массив

Да

Массив организаций.

inn

Текст(20)

Усл.**

ИНН организации.

kpp

Текст(20)

Нет

КПП организации.

gphContract

Логический тип

Нет

Устроен по договору ГПХ

Значение по умолчанию false.

extCode

Текст(40)

Усл.**

Внешний код организации.

managerSnils

Текст(255)

Нет

СНИЛС руководителя пользователя

maxVacationDays

Число

Нет

Количество доступных дней отпуска в организации (Целое число)

positions

Массив

Нет

Массив должностей в организации

positionName

Текст(255)

Нет

Должность сотрудника

departmentName

Текст(255)

Нет

Название отдела (подразделения)

personnelNumber

Текст(255)

Нет

Табельный номер сотрудника

*Обязательно передавать хотя бы одно из полей.
**Обязательно передавать хотя бы одно из полей.

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

Тело запроса (body)
[
    {
        "firstName": "Иван",
        "middleName": "Иванович",
        "lastName": "Иванов",
        "phone": "+79999888888",
        "snils": "67866037659",
        "email": "email@kalite.ro",
        "passportBatch": "8090",
        "passportNumber": "790123",
        "passportIssuingCenter": "УВД г. Москвы",
        "passportIssueDate": "2022-05-18",
        "registrationAddress":"Г. Москва, ул. Маршала Рыбалко, д.2, корп.8, оф. 304",
        "entities": [
            {
                "inn": "9729003736",
                "kpp": "773401001",
                "gphContract": true,
                "managerSnils": "68867037650",
                "positions":[
                {
                  "positionName":"Консультант"
                }  
            }
        ]
    }
]

Формат ответа

Ответ в случае успешной обработки запроса
{
  "code": "OK",
  "responseList": [
    {
      "code": "OK",
      "id": 147,
      "requestUuid": "cc39593c-96fa-4e22-9a62-8664703f1145",
      "success": true,
      "uuid": "266d1d9f-26e6-4496-95b6-07a2c7e67882",
      "newObject": {
        "id": 147,
        "datcre": "2023-02-02T10:57:15.529+03:00",
        "usercre": "/api/user/--cc39593c-96fa-4e22-9a62-8664703f1145",
        "inCUserId": 147,
        "clientId": 2,
        "clientTokenId": 105,
        "uuid": "266d1d9f-26e6-4496-95b6-07a2c7e67882",
        "phone": "+75090010132",
        "firstName": "Никита",
        "middleName": "Николаевич",
        "lastName": "Теврюков",
        "snils": "***********",
        "email": "tevryukov@gmail.com",
        "passportBatch": "****",
        "passportNumber": "982374",
        "passportIssuingCenter": "УВД г. Москвы",
        "passportIssueDate": "2022-05-18",
        "importUuid": "498fa3d4-1967-4bd7-8806-6bfe092e4a89",
        "entities": [
          {
            "id": 40,
            "datcre": "2023-02-02T10:57:15.725+03:00",
            "usercre": "/api/user/--cc39593c-96fa-4e22-9a62-8664703f1145",
            "inCUserEntityId": 40,
            "inn": "9729003736",
            "kpp": "773401001",
            "managerSnils": "42455766800",
            "new": true
          }
        ],
        "processed": false,
        "inProcess": true,
        "new": true
      }
    }
  ],
  "importUuid": "498fa3d4-1967-4bd7-8806-6bfe092e4a89"
}
Ответ в случае ошибки обработки
{
    "responseList": [
        {
            "code": "FIELD_IS_EMPTY",
            "description": "snils can't be empty",
            "translation": "{snilsIsEmpty}",
            "errors": {
                "error": [
                    "snils can't be empty"
                ]
            },
            "detailedCode": "COMAN_003",
            "requestUuid": "2a5ee7e3-9e85-4ac2-a90d-dfb3e31652a8",
            "success": false
        }
    ],
    "importUuid": "99babd21-5d5f-44f4-bfeb-2133586f52a0"
}

Перечень возможных кодов ошибок

Возможные значения поля "code", внутри массива "responseList":

Комментарии

FIELD_IS_EMPTY

Не заполнены обязательные поля

REQUEST_IS_EMPTY

Отправлен пустой запрос

LENGTH_IS_WRONG

Некорректная длина поля

WRONG_FORMAT

Неверный формат поля

Обновление/изменение пользователей

Метод используется для изменения пользователей в Коман. Если пользователь, переданный в сообщении, существует, то его данные будут обновлены. Если пользователь не существует, то будет создан. Метод принимает массив элементов, описанных в разделе Параметры запроса.

Описание метода

Метод

URL

Headers

PUT

https://coman.app/api/user/

`Authorization: Bearer `
`Content-Type: application/json`

или

POST

https://coman.app/api/user/change

`Authorization: Bearer `
`Content-Type: application/json`

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

Поле

Тип

Обяз.

Комментарий

phone

Текст(12)

Усл.*

Телефон пользователя.
Формат: +73332221100

firstName

Текст(255)

Да

Имя пользователя.

middleName

Текст(255)

Нет

Отчество пользователя.

lastName

Текст(255)

Да

Фамилия пользователя.

email

Текст(255)

Усл.*

Email пользователя.

snils

Текст(11)

Да

СНИЛС пользователя.

passportType

Текст(1)

Нет

Тип документа: 1 – паспорт РФ, 2 – иной документ.
Если не передан, то по умолчанию 1.

passportBatch

Текст(4)

Нет

Серия паспорта пользователя.

passportNumber

Текст(9)

Нет

Номер паспорта пользователя.

passportIssuingCenter

Текст(50)

Нет

Кем выдан паспорт пользователя.

passportIssueDate

Дата

Нет

Дата выдачи паспорта пользователя.
Формат даты: YYYY-MM-DD

passportInfo

Текст(500)

Нет

Информация о документе. Передается, если тип документа - иное (passportType = 2)

registrationAddress

Текст(500)

Нет

Адрес регистрации

entities

Массив

Да

Массив организаций.

inn

Текст(20)

Усл.

ИНН организации.

kpp

Текст(20)

Нет

КПП организации.

gphContract

Логический тип

Нет

Устроен по договору ГПХ

Значение по умолчанию false.

extCode

Текст(40)

Усл.

Внешний код организации.

managerSnils

Текст(255)

Нет

СНИЛС руководителя пользователя

maxVacationDays

Число

Нет

Количество доступных дней отпуска в организации (Целое число)

positions

Массив

Нет

Массив должностей в организации

positionName

Текст(255)

Нет

Должность сотрудника

departmentName

Текст(255)

Нет

Название отдела (подразделения)

personnelNumber

Текст(255)

Нет

Табельный номер сотрудника

*Обязательно передавать хотя бы одно из полей.

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

Тело запроса (body)

[
    {
        "firstName": "Иван",
        "middleName": "Иванович",
        "lastName": "Иванов",
        "phone": "+79999888888",
        "snils": "67866037659",
        "email": "email@kalite.ro",
        "passportBatch": "8090",
        "passportNumber": "790123",
        "passportIssuingCenter": "УВД г. Москвы",
        "passportIssueDate": "2022-05-18",
        "registrationAddress":"Г. Москва, ул. Маршала Рыбалко, д.2, корп.8, оф. 304",
        "entities": [
            {
                "inn": "9729003736",
                "kpp": "773401001",
                "managerSnils": "68867037650",
                "positions":[
                {
                  "positionName":"Консультант"
                }  
            }
        ]
    }
]

Формат ответа

Ответ в случае успешной обработки запроса
{
    "responseList": [
        {
            "id": 61,
            "requestUuid": "cc7506c7-25fc-4dd3-9ea6-3c9108b2f8e7",
            "success": true,
            "uuid": "02a3864e-c73b-43a1-ab18-18e5b271cb54"
        }
    ],
    "importUuid": "ed55ff72-c42c-42fa-ac5a-64e9de88131e"
}
Ответ в случае ошибки обработки
{
    "responseList": [
        {
            "code": "FIELD_IS_EMPTY",
            "description": "snils can't be empty",
            "translation": "{snilsIsEmpty}",
            "errors": {
                "error": [
                    "snils can't be empty"
                ]
            },
            "detailedCode": "COMAN_003",
            "requestUuid": "2a5ee7e3-9e85-4ac2-a90d-dfb3e31652a8",
            "success": false
        }
    ],
    "importUuid": "99babd21-5d5f-44f4-bfeb-2133586f52a0"
}

Перечень возможных кодов ошибок

Возможные значения поля "code", внутри массива "responseList":

Комментарии

FIELD_IS_EMPTY

Не заполнены обязательные поля

REQUEST_IS_EMPTY

Отправлен пустой запрос

LENGTH_IS_WRONG

Некорректная длина поля

WRONG_FORMAT

Неверный формат поля

Удаление пользователей

Метод используется для удаления пользователей из Коман (увольнения из организации). Метод принимает массив элементов, описанных в разделе Параметры запроса.

Описание метода

Метод

URL

Headers

POST

https://coman.app/api/user/delete

`Authorization: Bearer `
`Content-Type: application/json`

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

Поле

Тип

Обяз.

Комментарий

snils

Текст(11)

Усл.*

СНИЛС пользователя.

email

Текст(36)

Усл.*

Email пользователя.

phone

Текст(12)

Усл.*

Телефон пользователя.

entities

Массив

Да

Массив организаций.

inn

Текст(20)

Усл.**

ИНН организации.

kpp

Текст(20)

Нет

КПП организации.

extCode

Текст(40)

Усл.**

Внешний код организации.

*Обязательно передавать хотя бы одно из полей.
**Обязательно передавать хотя бы одно из полей.

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

Тело запроса (body)
[
    {
        "snils": "67866037659",
        "entities": [
            {
                "inn": "9729003736",
                "kpp": "773401001"
            }
        ]
    }
]

Формат ответа

Ответ в случае успешной обработки запроса
{
    "responseList": [
        {
            "id": 61,
            "requestUuid": "cc7506c7-25fc-4dd3-9ea6-3c9108b2f8e7",
            "success": true,
            "uuid": "02a3864e-c73b-43a1-ab18-18e5b271cb54"
        }
    ],
    "importUuid": "ed55ff72-c42c-42fa-ac5a-64e9de88131e"
}

Ответ в случае ошибки обработки
{
    "responseList": [
        {
            "code": "FIELD_IS_EMPTY",
            "description": "snils can't be empty",
            "translation": "{snilsIsEmpty}",
            "errors": {
                "error": [
                    "snils can't be empty"
                ]
            },
            "detailedCode": "COMAN_003",
            "requestUuid": "2a5ee7e3-9e85-4ac2-a90d-dfb3e31652a8",
            "success": false
        }
    ],
    "importUuid": "99babd21-5d5f-44f4-bfeb-2133586f52a0"
}

Перечень возможных кодов ошибок

Возможные значения поля "code", внутри массива "responseList":

Комментарии

FIELD_IS_EMPTY

Не заполнены обязательные поля

REQUEST_IS_EMPTY

Отправлен пустой запрос

LENGTH_IS_WRONG

Некорректная длина поля

WRONG_FORMAT

Неверный формат поля

Запрос информации о пользователях по фильтрам

Метод используется для запроса информации о пользователях в КОМАН.

Описание метода

Метод

URL

Headers

POST

https://coman.app/api/user/list

`Authorization: Bearer `
`Content-Type: application/json`

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

Поле

Тип

Обяз.

Комментарий

inn

Текст(36)

Нет

ИНН

kpp

Текст(36)

Нет

КПП

extCode

Текст(36)

Нет

Внешний код организации

status

Текст(36)

Нет

Статус пользователя

changedAfter

Дата и время

Нет

2024-01-26T13:40:24.332+03:00
Показывает пользователей, в которых произошло изменение позднее переданного значения

createdByApi

Логический тип

Нет

true - показывает пользователей, созданных через интеграцию
false - показывает пользователей, созданных в Коман

не передан - показывает всех пользователей

limit

Текст(36)

Да

Кол-во возвращаемых записей

offset

Текст(36)

Да

отступ в возвращаемых записях

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

Тело запроса (body)

{

"inn": "7707083893",

"kpp":"773601001",

"changedAfter":"2023-01-26T13:40:24.332+03:00"

}

Формат ответа

Ответ в случае успешной обработки

{

"count": 4,

"requestedLimit": 50,

"requestedOffset": 0,

"maxLimit": 10000,

"data": [

{

"id": 8119,

"userId": 8119,

"uuid": "01907897-f509-7c10-867c-e42c3c81cdc3",

"importUuid": "01907897-f4f8-7f0c-88ec-30797da83cc0",

"clientId": 89,

"status": 20,

"statusName": "Требуется исправление личных данных пользователя",

"rejectionComment": "",

"phone": "+72951502889",

"firstName": "Трубецкой",

"lastName": "Ляпис",

"middleName": "",

"snils": "97477889215",

"passportType": 2,

"passportInfo": "AB, 1273829, IS546, 02.11.2023, 03.11.2033",

"registrationAddress": "РОССИЯ, Москва г, пр-кт Ленинский, д. 15, к. 2, кв. 16",

"createdByApi": true,

"lastChanged": "2024-07-09T13:27:13.001+03:00",

"new": false

},

{

"id": 8060,

"userId": 8060,

"uuid": "018cf8da-21af-75c8-96d6-d2fb39e95998",

"clientId": 89,

"status": 100,

"statusName": "Активный",

"phone": "+72951502887",

"firstName": "Инна",

"lastName": "Волынец",

"middleName": "Борисовна",

"snils": "55654491828",

"passportType": 2,

"passportBatch": "4519",

"passportNumber": "848828",

"passportIssuingCenter": "УВД по г. Москве",

"passportIssueDate": "2019-05-17",

"passportInfo": "AB, 0065691, АГУ, 04.04.2018, 04.04.2025",

"registrationAddress": "РОССИЯ, Москва г, рыбалко Маршала, д. 2, к. 8, офис 408",

"createdByApi": true,

"lastChanged": "2024-01-11T17:25:53.731+03:00",

"new": false

},

{

"id": 704,

"userId": 704,

"uuid": "af205b5f-998c-49e0-859a-73bc8079794b",

"clientId": 89,

"status": 100,

"statusName": "Активный",

"phone": "+72951502890",

"firstName": "Михаил",

"lastName": "Иванов",

"middleName": "Александрович",

"snils": "73998551988",

"passportType": 1,

"passportBatch": "4515",

"passportNumber": "439564",

"passportIssuingCenter": "Отделением УФМС",

"passportIssueDate": "2014-12-09",

"registrationAddress": "РОССИЯ, Москва г, рыбалко Маршала, д. 2",

"createdByApi": true,

"lastChanged": "2024-01-12T01:00:49.314+03:00",

"new": false

},

{

"id": 365,

"userId": 365,

"uuid": "818cf87a-f7d6-405c-94fd-6816768f23df",

"clientId": 89,

"status": 100,

"statusName": "Активный",

"phone": "+72951502886",

"firstName": "Никита",

"lastName": "Веселов",

"middleName": "Дмитриевич",

"snils": "83770817741",

"passportType": 1,

"passportBatch": "4522",

"passportNumber": "347733",

"passportIssuingCenter": "ОУФМС",

"passportIssueDate": "2019-01-31",

"registrationAddress": "РОССИЯ, Москва г, Рыбалко Маршала, д. 2, к. 8, офис 406",

"createdByApi": false,

"lastChanged": "2024-07-15T17:32:49.917+03:00",

"new": false

}

],

"requestUuid": "0190b85f-5709-747b-85e2-44ecf6fac23b"

}

Согласование кандидата

Метод используется для согласования Кандидата и перевода его в статус "Согласован"

Описание метода

Метод

URL

Headers

POST

https://coman.app/api/user/invite/accept

`Authorization: Bearer `
`Content-Type: application/json`

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

Поле

Тип

Обяз.

Комментарий

userUuid

Текст(36)

Да

UUID кандидата

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

Тело запроса (body)
{
  "userUuid": "41765df6-d757-4658-9da3-3af3615c3afb"
}

Формат ответа

Ответ в случае успешной обработки запроса
{
  "requestUuid": "d40415a0-ffe4-481f-95bc-cb13886d74e8",
  "success": true
}
Ответ в случае, если документ не найден
{
  "code": "DOCUMENT_NOT_FOUND",
  "translation": "{documentNotFound}",
  "detailedCode": "COMAN_001",
  "requestUuid": "35e827b0-b0d4-476d-8d50-f80af2fd94ce",
  "success": false
}

Отклонение кандидата

Метод используется для отклонения Кандидата и преевода его в статус "Отклонен"

Описание метода

Метод

URL

Headers

POST

https://coman.app/api/user/invite/reject

`Authorization: Bearer `
`Content-Type: application/json`

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

Поле

Тип

Обяз.

Комментарий

userUuid

Текст(36)

Да

UUID кандидата

comment

Текст(200)

Нет

Причина отклонения

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

Тело запроса (body)
{
  "userUuid": "41765df6-d757-4658-9da3-3af3615c3afb",
  "comment": "Некорректный снилс"
}

Формат ответа

Ответ в случае успешной обработки запроса
{
  "requestUuid": "d40415a0-ffe4-481f-95bc-cb13886d74e8",
  "success": true
}
Ответ в случае, если документ не найден
{
  "code": "DOCUMENT_NOT_FOUND",
  "translation": "{documentNotFound}",
  "detailedCode": "COMAN_001",
  "requestUuid": "35e827b0-b0d4-476d-8d50-f80af2fd94ce",
  "success": false

Проверка статуса обработки запроса на добавление/обновление/удаление/изменение пользователей

Метод используется для получения данных о пользователях и запросах на их добавление/обновление/удаление/изменение в Коман.

Описание метода

Метод

URL

Headers

POST

https://coman.app/api/user/search/

`Authorization: Bearer `
`Content-Type: application/json`

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

Поле

Тип

Обяз.

Комментарий

uuid

Текст(36)

Усл.*

UUID пользователя пользователя.

importUuid

Текст(36)

Усл.*

UUID импорта

snils

Текст(11)

Усл.*

СНИЛС пользователя.

*Обязательно передавать только одно из полей.

Формат ответа

Ответ в случае успешной обработки запроса
[
    {
        "importUuid": "c7e94d94-bed6-4c16-8ccc-79834bb96a3f",
        "uuid": "322d53f8-d403-4edd-9952-f604bbebf506",
        "status": 100,
        "statusName": "Активный",
        "phone": "+79999888888",
        "firstName": "Иван",
        "middleName": "Иванович",
        "lastName": "Иванова",
        "snils": "67866037659",
        "passportType": 1,
        "passportTypeName": "",
        "passportBatch": "8090",
        "passportNumber": "790123",
        "passportIssuingCenter": "УВД г. Москвы",
        "passportIssueDate": "2022-05-18T00:00:00.000+03:00",
        "errCode": "",
        "errComm": "",
        "entities": [
            {
                "inn": "9729003736",
                "kpp": "773401001"
            }
        ]
    },
    {
        "importUuid": "c7e94d94-bed6-4c16-8ccc-79834bb96a3f",
        "uuid": "e070d524-797c-4bf7-8c7f-3b592204d46c",
        "status": 100,
        "statusName": "Активный",
        "phone": "+79999888888",
        "firstName": "Иван",
        "middleName": "Иванович",
        "lastName": "Иванова",
        "snils": "67866037659",
        "passportType": 1,
        "passportTypeName": "",
        "passportBatch": "8090",
        "passportNumber": "790123",
        "passportIssuingCenter": "УВД г. Москвы",
        "passportIssueDate": "2022-05-18T00:00:00.000+03:00",
        "errCode": "",
        "errComm": "",
        "entities": [
            {
                "inn": "9729003736",
                "kpp": "773401001"
            }
        ]
    }
]

Перечень статусов пользователя

Статус

Комментарии

0

Пользователь в статусе “В обработке” в интерфейсной таблице

10

Пользователь в статусе “Требуется проверка личных данных пользователем” в рабочей таблице

20

Пользователь в статусе “Требуется исправление личных данных пользователя” в рабочей таблице

30

Пользователь в статусе “Создается УНЭП” в рабочей таблице

40

Пользователь в статусе “Требуется предварительная проверка личных данных пользователя” в рабочей таблице

50

Пользователь в статусе “Персональные данные не введены” в рабочей таблице

98

Пользователь в статусе “Ошибка” в интерфейсной таблице

100

Пользователь в статусе “Активный” в рабочей таблице

Ответ в случае ошибки обработки
{
    "code": "DOCUMENT_NOT_FOUND",
    "translation": "{documentNotFound}",
    "detailedCode": "COMAN_001",
    "requestUuid": "36ae3cf9-e7b0-4fa6-8e49-bfda89cf3c9d",
    "success": false
}

Перечень возможных кодов ошибок

Возможные значения поля "code", внутри массива "responseList":

Комментарии

USER_NOT_FOUND

Пользователь не найден

FIELD_IS_EMPTY

Переданы не все обязательные поля

TOO_MUCH_VALUES

Переданы больше одного поля

График отпусков

Создание сбора информации для Графика отпусков

Метод используется для создания сбора планируемых дат отпуска для "Графика отпусков" в Коман.

Описание метода

Метод

URL

Headers

POST

https://coman.app/api/vacation/create

`Authorization: Bearer `
`Content-Type: application/json`

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

Поле

Тип

Обяз.

Комментарий

inn

Текст(20)

Да

ИНН организации

kpp

Текст(20)

Нет

КПП организации

collectByDate

Дата

Да

Дата окончания сбора

Дата, до которой сотрудники должны внести даты отпуска
Формат даты: YYYY-MM-DD

approveByDate

Дата

Да

Дата окончания согласования

Дата, до которой руководители и ответственные лица должны согласовать даты отпусков сотрудников
Формат даты: YYYY-MM-DD

year

Текст(4)

Нет

Год графика отпусков

users

Массив

Нет

Массив сотрудников, которых необходимо включить в график отпусков. Если не передан, Коман автоматически создаст сбор на всех сотрудников организации*

snils

Текст(11)

Нет

СНИЛС сотрудника

* Сотрудники, оформленные по ГПХ в графике отпусков не учитываются

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

Тело запроса (body)
{
   "inn":"340958340958",
   "kpp":"349054395",
   "collectByDate":"2024-12-01",
   "approveByDate":"2024-12-15",
   "year":"2025",
   "users":[
      {
         "snils":"83770817741"
      },
      {
         "snils":"55654491828"
      }
   ]
}

Формат ответа

Ответ в случае успешной обработки запроса
{
    "code": "OK",
    "id": 6,
    "requestUuid": "018d5b06-a64b-7732-9363-5b825cf44739",
    "success": true,
    "uuid": "018d5b06-a739-70fc-bd65-e32609fbc1f8",
    "newObject": {
        "id": 6,
        "datcre": "2024-01-30T18:39:39.193+03:00",
        "usercre": "/api/vacation/create--018d5b06-a64b-7732-9363-5b82",
        "vacationScheduleId": 6,
        "clientId": 52,
        "entityId": 188,
        "uuid": "018d5b06-a739-70fc-bd65-e32609fbc1f8",
        "status": 1,
        "year": 2027,
        "collectByDate": "2024-01-31T00:00:00.000+03:00",
        "approveByDate": "2024-01-31T00:00:00.000+03:00",
        "clientTokenId": 213,
        "new": true
    }
}
Пример ответа в случае ошибки обработки
{
    "code": "LENGTH_IS_WRONG",
    "description": "value length of field .users(1)snils is 10, but should be 11;value length of field users.jList(1)snils is 10, but should be 11",
    "translation": "{lengthIsWrong}",
    "errors": {
        "error": [
            "value length of field .users(1)snils is 10, but should be 11",
            "value length of field users.jList(1)snils is 10, but should be 11"
        ]
    },
    "requestUuid": "018d5b07-557f-7dbf-9e29-5661e6e7a79c",
    "success": false,
    "detailedError": {
        "wrongSizeFields": [
            {
                "fieldName": "snils",
                "minSize": 11.0,
                "maxSize": 11.0,
                "length": 10.0
            },
            {
                "fieldName": "snils",
                "minSize": 11.0,
                "maxSize": 11.0,
                "length": 10.0
            }
        ]
    },
    "errorObjects": []
}

Перечень возможных кодов ошибок

Возможные значения поля "code" в ответе

Комментарии

COLLECT_BY_DATE_SHOULD_BE_IN_FUTURE

Дата окончания сбора должна быть больше текущей

APPROVE_BY_DATE_SHOULD_BE_BEFORE_LAST_POSSIBLE_DATE

Дата окончания согласования должна быть не позже 31 декабря текущего года

ENTITY_NOT_FOUND

Организация не найдена

WRONG_FORMAT

Некорректный формат данных

WRONG_USER_DATA

Ошибка в данных сотрудников

ALREADY_EXISTS

Сбор данных для этой организации и на указанный год уже существует в Коман

CEO_USER_ID_IS_EMPTY

У Организации в Коман не указан руководитель. Добавьте руководителя и повторите

Возможные значения поля "code" в массиве users при получении ошибки WRONG_USER_DATA

MAX_VACATION_DAYS_IS_EMPTY

У сотрудника не заполнено доступное количество дней отпуска

USER_NOT_FOUND

Сотрудник не найден

Запрос информации о Графиках отпусков по фильтрам (Запрос статуса графика отпусков)

Метод используется для запроса информации о Графике отпусков в КОМАН.

Описание метода

Метод

URL

Headers

POST

https://coman.app/api/ vacation/list

`Authorization: Bearer `
`Content-Type: application/json`

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

Поле

Тип

Обяз.

Комментарий

inn

Текст(36)

Нет

ИНН

kpp

Текст(36)

Нет

КПП

uuid

Текст(36)

Нет

UUID документа

changedAfter

Дата и время

Нет

2024-01-26T13:40:24.332+03:00
Показывает документы, в которых произошло изменение позднее переданного значения

limit

Текст(36)

Да

Кол-во возвращаемых записей

offset

Текст(36)

Да

отступ в возвращаемых записях

Перечень статусов документа

Статус

Комментарии

0

Удален

1

Сбор данных

2

Согласование

3

Согласован

4

Готов к подписанию

5

Подписание

6

Подписан

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

Тело запроса (body)
{
    "uuid": "UUID документа",
    "changedAfter": "2024-01-26T13:40:24.332+03:00 ",
    "limit": 150,
    "offset": 0
}

Формат ответа

Ответ в случае успешной обработки запроса
{
    "count": 6,
    "data": [
        {
            "id": 6,
            "vacationScheduleId": 6,
            "clientId": 52,
            "entityId": 188,
            "uuid": "018d5b06-a739-70fc-bd65-e32609fbc1f8",
            "status": 1,
            "year": 2027,
            "collectByDate": "2024-01-31T00:00:00.000+03:00",
            "approveByDate": "2024-01-31T00:00:00.000+03:00",
            "entityName": "Калитеро",
            "inn": "340958340958",
            "kpp": "349054395",
            "statusName": "Сбор данных",
            "lastChanged": "2024-01-30T18:39:39.193+03:00",
            "new": false
        }
    ],
    "requestUuid": "018d5c20-4241-7594-b146-6efeca7c506a"
}
Ответ в случае, если документ не найден
{
  "count": 0,
  "requestUuid": "38ca0bf1-e23b-40d8-80f8-57ff682e3415"
}

Запрос информации о Графике отпусков

Метод используется для запроса данных Графика отпусков

Описание метода

Метод

URL

Headers

GET

https://coman.app/api/vacation/{document_UUID}

`Authorization: Bearer `
`Content-Type: application/json`

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

Поле

Тип

Обяз.

Комментарий

document_uuid

Текст(36)

Да

UUID документа Графика отпусков

Формат ответа

Ответ в случае успешной обработки запроса
{
    "id": 4,
    "vacationScheduleId": 4,
    "clientId": 52,
    "entityId": 188,
    "uuid": "018d597d-0bb8-7cb5-bb4c-880f748f68b6",
    "status": 6,
    "year": 2026,
    "collectByDate": "2024-01-31T00:00:00.000+03:00",
    "approveByDate": "2024-01-31T00:00:00.000+03:00",
    "entityName": "тест",
    "inn": "340958340958",
    "kpp": "349054395",
    "statusName": "Подписан",
    "lastChanged": "2024-01-30T11:41:48.870+03:00",
    "users": [
        {
            "id": 4,
            "vacationScheduleUserId": 4,
            "vacationScheduleId": 4,
            "userId": 336,
            "userUuid": "07357647-0f15-4e0b-84c6-dfddec1987e8",
            "entityName": "тест",
            "status": 3,
            "statusName": "Согласован",
            "vacationScheduleStatus": 6,
            "clientId": 52,
            "entityId": 188,
            "year": 2026,
            "collectByDate": "2024-01-31T00:00:00.000+03:00",
            "approveByDate": "2024-01-31T00:00:00.000+03:00",
            "maxVacationDays": 14,
            "firstName": "Никита",
            "middleName": "Дмитриевич",
            "lastName": "Веселов",
            "periods": [
                {
                    "id": 4,
                    "datcre": "2024-01-30T11:30:45.486+03:00",
                    "usercre": "/rest/vacation_schedule/change_periods--018d597d-f",
                    "vacationScheduleUserPeriodId": 4,
                    "vacationScheduleId": 4,
                    "vacationScheduleUserId": 4,
                    "status": 1,
                    "startDate": "2026-01-01",
                    "endDate": "2026-01-14",
                    "parentId": 4,
                    "new": false
                }
            ],
            "userIdWithUrl": 336,
            "parentId": 4,
            "fullName": "Веселов Никита Дмитриевич",
            "initials": "Н.Д.",
            "lastNameAndInitials": "Веселов Н.Д.",
            "initialsAndLastName": "Н.Д. Веселов",
            "new": false
        },
        {
            "id": 5,
            "vacationScheduleUserId": 5,
            "vacationScheduleId": 4,
            "userId": 963,
            "userUuid": "6b2a59a8-dcdc-4f5d-bd52-ad612140c0ff",
            "entityName": "тест",
            "status": 3,
            "statusName": "Согласован",
            "vacationScheduleStatus": 6,
            "clientId": 52,
            "entityId": 188,
            "year": 2026,
            "collectByDate": "2024-01-31T00:00:00.000+03:00",
            "approveByDate": "2024-01-31T00:00:00.000+03:00",
            "maxVacationDays": 14,
            "firstName": "Инна",
            "middleName": "Борисовна",
            "lastName": "Волынец",
            "periods": [
                {
                    "id": 5,
                    "datcre": "2024-01-30T11:33:32.735+03:00",
                    "usercre": "/rest/vacation_schedule/change_periods--018d5980-8",
                    "vacationScheduleUserPeriodId": 5,
                    "vacationScheduleId": 4,
                    "vacationScheduleUserId": 5,
                    "status": 1,
                    "startDate": "2026-02-01",
                    "endDate": "2026-02-14",
                    "parentId": 5,
                    "new": false
                }
            ],
            "userIdWithUrl": 963,
            "parentId": 4,
            "fullName": "Волынец Инна Борисовна",
            "initials": "И.Б.",
            "lastNameAndInitials": "Волынец И.Б.",
            "initialsAndLastName": "И.Б. Волынец",
            "new": false
        }
    ],
    "new": false
}
Ответ в случае, если документ не найден
{
    "code": "DOCUMENT_NOT_FOUND",
    "translation": "{documentNotFound}",
    "detailedCode": "COMAN_001",
    "requestUuid": "018d5c2e-51b0-7d1a-a651-e96d94f882d5",
    "success": false
}

Изменение текущего остатка отпуска

Метод используется для изменения текущего остатка отпуска сотрудника.

Описание метода

POST

https://coman.app/api/vacation/change_current_vacation_days

`Authorization: Bearer `
`Content-Type: application/json`

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

Поле

Тип

Обяз.

Комментарий

snils

Текст(11)

Да

СНИЛС пользователя.

entities

Массив

Да

Массив организаций.

inn

Текст(20)

Усл.

ИНН организации.

kpp

Текст(20)

Нет

КПП организации.

extCode

Текст(40)

Усл.

Внешний код организации.

positions

Массив

Нет

Массив должностей в организации

positionName

Текст(255)

Нет

Должность сотрудника

departmentName

Текст(255)

Нет

Название отдела (подразделения)

currenVacationDays

Число

Нет

Текущий остаток отпуска сотрудника

*Обязательно передавать хотя бы одно из полей.

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

Тело запроса (body)
{
    "snils": "45221993176",
    "entities": [
             {
                 "inn": "7218648176",
                 "kpp": "238957928",
                 "positions":[
                               {
                                  "positionName":"Менеджер",
                                  "departmentName":"Продажи",
                                  "currenVacationDays": 16
                               }
                             ]
               }
             ]
}

Формат ответа

Ответ в случае успешной обработки запроса
{
    "code": "OK",
    "requestUuid": "01954cb6-f8c6-775c-9ab3-8325445e0f79",
    "success": true
}
Ответ в случае ошибки обработки
{
    "code": "FIELD_IS_EMPTY",
    "description": ".entities(0).positions(0).currenVacationDays can't be empty;positions.jList(0).currenVacationDays can't be empty;entities.jList(0).positions(0).currenVacationDays can't be empty;positions.jList(0).currenVacationDays can't be empty",
    "translation": "{.entities(0).positions(0).currenVacationDaysIsEmpty},{positions.jList(0).currenVacationDaysIsEmpty},{entities.jList(0).positions(0).currenVacationDaysIsEmpty},{positions.jList(0).currenVacationDaysIsEmpty}",
    "errors": {
        "error": [
            ".entities(0).positions(0).currenVacationDays can't be empty",
            "positions.jList(0).currenVacationDays can't be empty",
            "entities.jList(0).positions(0).currenVacationDays can't be empty",
            "positions.jList(0).currenVacationDays can't be empty"
        ]
    },
    "detailedCode": "003",
    "requestUuid": "01954cb7-b7dc-7135-b553-98419cf0b844",
    "success": false,
    "detailedError": {
        "emptyFields": [
            {
                "fieldName": "currenVacationDays"
            }
        ]
    },
    "errorObjects": []
}

Перечень возможных кодов ошибок

Возможные значения поля "code":

Комментарии

FIELD_IS_EMPTY

Не заполнены обязательные поля

ENTITY_NOT_FOUND

Организация не найдена

POSITION_NOT_FOUND

Должность не найдена

WRONG_FORMAT

Неверный формат поля