Справочники — Объекты строительства
Двусторонний обмен объектами строительства между 1С и Цифрой. Объекты могут создаваться как из 1С в Цифру через API, так и из Цифры в 1С через систему заданий.
Для создания или обновления объектов строительства в Цифре необходимо отправить запрос на метод API, передав массив объектов в поле Data.
Параметры запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
SecretKey |
string | Да | Секретный ключ |
Data |
array | Да | Массив объектов строительства для создания/обновления |
Логика работы
- Данные передаются в массиве
Data - Если объект с переданным
Guidуже существует в системе — он будет обновлён - Если объекта с таким
Guidнет — будет создан новый
Структура Data[]
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
Guid |
string | Да | Идентификатор объекта строительства в 1С |
Name |
string | Да | Наименование объекта строительства |
Company
|
Нет | Компания-заказчик | |
Managers
|
Нет | Массив контактных лиц | |
Addresses
|
Нет | Массив адресов объекта |
Примечания
- Если передана компания
Company, которой нет в системе, она будет автоматически создана - Менеджеры без полей
NameилиPhoneбудут пропущены - Адреса без поля
Addressбудут пропущены - Телефон менеджера должен быть в формате 79998887766 (с 7, без +, без пробелов)
- Не отправляйте за раз более 2000 объектов или более 1 МБ данных
Создание объектов строительства из Цифры в 1С происходит по стандартной системе заданий. При создании или обновлении объекта строительства в Цифре автоматически формируется задание для 1С.
Логика работы
- Данные объекта передаются в массиве
Paramsзадания - Если в данных заполнен
Guid— сущность необходимо обновить в 1С - Если
Guidпустой или отсутствует — необходимо создать новую сущность в 1С - После обработки задания необходимо вернуть результат через метод changeTaskStatus
Структура Params
| Поле | Тип | Описание |
|---|---|---|
Id |
integer | ID объекта строительства в Цифре (информативное поле) |
Name |
string | Наименование объекта строительства |
Guid |
string | Идентификатор в 1С. Если заполнен — обновить, если пуст — создать новый |
Company
|
Компания-заказчик | |
Managers
|
Массив контактных лиц | |
Addresses
|
Массив адресов объекта |
Примечания
- После обработки задания необходимо вернуть результат через метод changeTaskStatus
- Если в данных заполнен
Guid— сущность необходимо обновить в 1С - Если
Guidпустой или отсутствует — необходимо создать новую сущность - Структуры Company, Managers и Addresses аналогичны используемым при создании из 1С
Пример запроса Data
1С → Цифра
{
"SecretKey": "2akgzOCYsAxLwpNl",
"Data": [
{
"Guid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"Name": "ЖК Солнечный",
"Company": {
"Guid": "22db4291-154f-11ec-973e-244bfecb4e0a",
"Name": "ООО СтройИнвест",
"Inn": "7604377806"
},
"Managers": [
{
"Name": "Петров Петр Петрович",
"Phone": "79998887766"
}
],
"Addresses": [
{
"Address": "г. Москва, ул. Строителей, д. 15",
"Name": "Площадка 1",
"Latitude": "55.751244",
"Longitude": "37.618423"
}
]
}
]
}
Пример Params
Цифра → 1С
{
"Id": 42,
"Name": "ЖК Солнечный",
"Guid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"Company": {
"Id": 15,
"Name": "ООО СтройИнвест",
"Guid": "22db4291-154f-11ec-973e-244bfecb4e0a",
"Inn": "7604377806"
},
"Managers": [
{
"Name": "Петров Петр Петрович",
"Phone": "79998887766"
}
],
"Addresses": [
{
"Address": "г. Москва, ул. Строителей, д. 15",
"Name": "Площадка 1",
"Latitude": "55.751244",
"Longitude": "37.618423"
}
]
}
Ответы при создании из 1С в Цифре
Коды ответов
| Код | Описание |
|---|---|
| 201 | Успешное создание. Все данные обработаны без ошибок (success: true) |
| 207 | Частичный успех. Часть данных обработана, но есть ошибки (success: true) |
| 401 | Ошибка ключа. Секретный ключ не найден (success: false) |
| 422 | Ошибка валидации. Data должен быть массивом (success: false) |
| 500 | Ошибка сервера. Внутренняя ошибка обработки (success: false) |
Структура ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | Успешность операции |
message |
string | Сообщение об успешных операциях (объекты, компании, представители, адреса) |
data_id |
integer | ID записи в логе |
errors |
array | Массив ошибок (только при наличии ошибок) |
Примеры ответов
{
"success": true,
"message": "Создано объектов: 1. Создано компаний: 1. Создано представителей: 1. Создано адресов: 1",
"data_id": 123
}
{
"success": true,
"message": "Создано объектов: 1. Обновлено компаний: 1. Создано представителей: 2. Обновлено адресов: 1",
"data_id": 123,
"errors": [
"Объектов без GUID: 1",
"Объектов без названия: 2",
"Не удалось создать компанию (имя в стоп-листе: "ручной", "тест", "(не выбран)", "физ.лицо"): 1"
]
}
{
"success": false,
"message": "Секретный ключ не найден",
"data_id": null
}
{
"success": false,
"message": "Неверный тип данных",
"data_id": 123
}
{
"success": false,
"message": "Произошла ошибка: подробное описание ошибки",
"data_id": 123
}
Статусы заданий (из Цифры в 1С)
Обработка ошибок при создании объектов строительства из Цифры в 1С осуществляется через универсальный метод changeTaskStatus.
| Статус | Описание |
|---|---|
| work | Задание взято в работу. Устанавливается после получения задания из метода check |
| done | Задание выполнено успешно. Объект создан или обновлён в 1С |
| failed | Ошибка при выполнении задания. Объект не удалось создать или обновить в 1С |