Площадки ATI.SU
«Площадки ATI.SU — это сервис для распределения грузов между доверенными перевозчиками и экспедиторами. Создайте Площадку, пригласите на нее контрагентов и размещайте грузы. Никто, кроме участников Площадки не увидит ваш Заказ. Вы можете размещать грузы на одной или сразу на нескольких Площадках. Размещение груза на сайте ATI.SU для всех участников считается размещением на Общей Площадке.
Возможности Площадок
- Распределение грузов среди доверенных контрагентов.
- Автоматическое получение данных о перевозчике, водителе и машине без звонков при бронировании и создании Заказа;
- Проведение Торгов и Сквозных Торгов, а также их гибкая настройка.
- Разделение партнеров на группы. Создав разные Площадки, вы можете выбирать, какие партнеры увидят груз первыми, а какие — последними.
- Автоматическое перевыставление на Площадке грузов с Площадки партнера с учетом вашей маржи с помощью механизма Копирования грузов.
- Анализ эффективности работы с контрагентами с помощью множества отчетов.
- Копирование грузов из системы ATrucks.
- Тестирование. Если на Площадке нет участников, никто не увидит грузы размещенные на ней.
- Поиск новых партнеров. Создайте Открытую Площадку и дайте участникам ATI.SU возможность вступать на нее по вашему разрешению.
Типичный жизненный цикл Площадки
- Создание и выбор типа Площадки: публичная или закрытая.
- Настройка прав доступа: кто может видеть грузы, добавлять грузы, видеть список участников Площадки.
- Приглашение контрагентов на Площадку.
- Если Площадка открытая, вы будете получать заявки на вступление на Площадку.
- Добавление грузов на Площадку.
- Автоматическое оповещение участников Площадки о новых грузах.
- Удаление Площадки, если она больше не нужна.
API Площадок. Используемые термины
Площадка Board — пользователи, имеющие доступ к грузам или машинам Площадки;
Участие Participant, Participation — запись об участии пользователя на Площадке.
В списке приглашений Type=invited означает, что контрагент приглашён на Площадку.
После принятия приглашения он становится полноправным участником Type=user.
Возможности работы с Площадками через API:
- Создание и получение Площадок
- Добавление и настройка пользователей на Площадках
- Использование Площадок в грузах
Создание и получение Площадок
Создание
Фирма может создать до 100 Площадок. Контакт фирмы, создавший Площадку, считается ответственным за нее.
Важные параметры Площадки:
BoardTypeна текущий момент принимает только значениеloads— Площадки для грузов. В дальнейшем планируется запуск Площадок для машин.BoardExchangeDirection— направление обмена грузами на Площадке, определяет права доступа к участникам Площадки по умолчанию. Права можно перенастроить персонально для каждого.Input— грузы публикуются участниками Площадки для её владельца. Участники видят только свои грузы, а владелец Площадки видит всё.Output— владелец Площадки публикует грузы для участников. Участники видят опубликованные грузы, но не могут их добавлять.Exchange— участники Площадки могут добавлять и просматривать грузы.
Public.- На скрытые Площадки участник может попасть только по приглашению invite.
- На открытую Площадку участник ATI.SU может подать заявку на вступление Application, которую владелец может одобрить или отклонить.
Создание Площадки
Создать площадку post /v2/boards/public/boards/create
Площадка доступна всем подразделениям компании. Такую площадку могут видеть все сотрудники, независимо от их подразделения Если передано true, то DepartmentsIds должен быть null или пустым Пример: true
Направление обмена информацией на площадке. Передаётся строкой в camelCase и определяет права участников по умолчанию.
Выбор неверного направления из допустимых значений создаст площадку с неподходящими правами, а не вызовет отказ. Неизвестное направление вызывает ошибку. Числа и строки с числовым значением принимаются для совместимости.
input— Грузы и машины от участников к владельцу площадкиoutput— Грузы и машины от владельца площадки к участникамexchange— Обмен грузами и машинами между всеми участниками
Опциональный список требований к площадке.
Поддерживаемые требования:
- требуемые от участников файлы и сканы RequirementDocumentTypeDto
Пример: <br>[{<br> "type_id": null,<br> "type_name": "Сертификат партнера нашей компании",<br> "is_requirable": true<br>}]<br>
Список документов, требуемых к загрузке участниками площадки
Базовый тип документа, который площадка запрашивает у участников. Передаётся строкой в camelCase в поле base_type_id.
Для базового типа не задавайте custom_type_name. Для собственного типа оставьте base_type_id пустым и задайте custom_type_name. Неизвестный базовый тип вызывает ошибку валидации. Числа и строки с числовым значением принимаются для совместимости.
inn— Свидетельство о постановке на налоговый учет (ИНН)registrationCertificate— Свидетельство о регистрации юрлица или ИПconstituentDocuments— Учредительные документыrequisites— РеквизитыpriceList— Прайс-листcommercialOffer— Коммерческое предложение
Пользовательское имя типа документа, только для пользовательских типов
Данный тип файла обязателен к предоставлению
Правила площадки (можно использовать html-тэги "b", "i", "span", "u", "ul", "li", "br")
Тип содержимого площадки. Передаётся строкой в camelCase; тот же тип возвращается в board_type списка площадок.
Для создания площадки используйте loads. Другой тип приведёт к ошибке: площадки с машинами пока не поддерживаются. Числа и строки с числовым значением продолжают приниматься для совместимости; используйте строковое имя.
loads— Площадка с грузамиtrucks— Площадка с машинами (зарезервировано, создание пока не поддерживается)
Цвет плашки площадки
Пример: "#d8cfd0"
Перечень подразделений компании, которым доступна площадка.
В случае, если передан не пустой перечень значение AllDepartmentsAllowed должно быть false.
Ответственный контакт ResponsibleContactId должен состоять (принадлежать) хотя бы одному из указанных подразделений
Пример: [100302, 100303]
Описание площадки (можно использовать тэги "b", "i", "span", "u", "ul", "li", "br")
Пример: "Лучшая площадка из всех созданных"
Публичное имя, видимое участникам площадки (до 50 символов)
Пример: "Приходите, покупайте"
Имя, которое видит только владелец площадки (до 50 символов)
Пример: "Покупайте, приходите"
Открытая площадка или закрытая. На открытую может подать заявку на вступление любой пользователь. На закрытую можно
попасть только по приглашению владельца.
Пример: true
ID контакта ответственного пользователя
Пример: 1
Подписывать на уведомления новых участников.
Пример: true
curl 'https://api.ati.su/v2/boards/public/boards/create' \ -X 'POST' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json' \ --data-raw '{"all_departments_allowed":false,"board_exchange_direction":"input","board_requirements":{"requirement_document_types":[{"base_type_id":"inn","custom_type_name":"string","is_requirable":false}],"rules":"string"},"board_type":"loads","color":"string","departments_ids":[0],"description":"string","name_for_users":"string","private_name":"string","public":false,"responsible_contact_id":0,"subscribe_to_notifications":false}'Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("POST", "https://api.ati.su", "/v2/boards/public/boards/create", "{""all_departments_allowed"":false,""board_exchange_direction"":""input"",""board_requirements"":{""requirement_document_types"":[{""base_type_id"":""inn"",""custom_type_name"":""string"",""is_requirable"":false}],""rules"":""string""},""board_type"":""loads"",""color"":""string"",""departments_ids"":[0],""description"":""string"",""name_for_users"":""string"",""private_name"":""string"",""public"":false,""responsible_contact_id"":0,""subscribe_to_notifications"":false}"); 200 Данные о площадке
Площадка доступна всем подразделениям компании. Такую площадку могут видеть все сотрудники, независимо от их подразделения Пример: true
Площадка доступна для данного контакта
Пример: true
Направление обмена информацией на площадке. Передаётся строкой в camelCase и определяет права участников по умолчанию.
Выбор неверного направления из допустимых значений создаст площадку с неподходящими правами, а не вызовет отказ. Неизвестное направление вызывает ошибку. Числа и строки с числовым значением принимаются для совместимости.
input— Грузы и машины от участников к владельцу площадкиoutput— Грузы и машины от владельца площадки к участникамexchange— Обмен грузами и машинами между всеми участниками
Тип содержимого площадки. Передаётся строкой в camelCase; тот же тип возвращается в board_type списка площадок.
Для создания площадки используйте loads. Другой тип приведёт к ошибке: площадки с машинами пока не поддерживаются. Числа и строки с числовым значением продолжают приниматься для совместимости; используйте строковое имя.
loads— Площадка с грузамиtrucks— Площадка с машинами (зарезервировано, создание пока не поддерживается)
Цвет площадки
Пример: "#d8cfd0"
Время создания площадки (timestamp)
Пример: 1556201954901
Перечень подразделений компании, которым доступна площадка
Пример: [100302, 100303]
ID площадки (строка 24 символа)
Пример: "507f1f77bcf86cd799439011"
Название площадки
Пример: "Образцово-показательная площадка"
Код участника АТИ создавшего площадку
Пример: "1111111"
Код участника АТИ создавшего площадку
Пример: 1111111
Последнее время изменения площадки (Timestamp)
Пример: 1556201954901
Участник может видеть только свои грузы/машины
Пример: true
400 Ошибка валидации или другая
Код ошибки
Текст ошибки
Детали ошибки при валидации запроса.
Поле может отсутствовать в ответе, если для данного типа ошибки оно не предусмотрено
Список ошибок. Поле может отсутствовать в ответе, если для данного типа ошибки оно не предусмотрено
Получение заданной Площадки по её ID.
У каждой Площадки есть свой идентификатор. Идентификатор Площадки — строка из 24 символов.
Загрузить информацию по площадке get /v2/boards/public/boards/{id}
| Параметр | Тип | Расположение | Описание |
|---|---|---|---|
id
обязательный
| string | path | ID площадки Пример: 507f1f77bcf86cd799439011 |
curl 'https://api.ati.su/v2/boards/public/boards/{id}' \ -X 'GET' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json'Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("GET", "https://api.ati.su", "/v2/boards/public/boards/{id}"); 200 Данные о площадке
Площадка доступна всем подразделениям компании. Такую площадку могут видеть все сотрудники, независимо от их подразделения Пример: true
Площадка доступна для данного контакта
Пример: true
Направление обмена информацией на площадке. Передаётся строкой в camelCase и определяет права участников по умолчанию.
Выбор неверного направления из допустимых значений создаст площадку с неподходящими правами, а не вызовет отказ. Неизвестное направление вызывает ошибку. Числа и строки с числовым значением принимаются для совместимости.
input— Грузы и машины от участников к владельцу площадкиoutput— Грузы и машины от владельца площадки к участникамexchange— Обмен грузами и машинами между всеми участниками
Тип содержимого площадки. Передаётся строкой в camelCase; тот же тип возвращается в board_type списка площадок.
Для создания площадки используйте loads. Другой тип приведёт к ошибке: площадки с машинами пока не поддерживаются. Числа и строки с числовым значением продолжают приниматься для совместимости; используйте строковое имя.
loads— Площадка с грузамиtrucks— Площадка с машинами (зарезервировано, создание пока не поддерживается)
Цвет площадки
Пример: "#d8cfd0"
Время создания площадки (timestamp)
Пример: 1556201954901
Перечень подразделений компании, которым доступна площадка
Пример: [100302, 100303]
ID площадки (строка 24 символа)
Пример: "507f1f77bcf86cd799439011"
Название площадки
Пример: "Образцово-показательная площадка"
Код участника АТИ создавшего площадку
Пример: "1111111"
Код участника АТИ создавшего площадку
Пример: 1111111
Последнее время изменения площадки (Timestamp)
Пример: 1556201954901
Участник может видеть только свои грузы/машины
Пример: true
400 Ошибка валидации или другая
Код ошибки
Текст ошибки
Детали ошибки при валидации запроса.
Поле может отсутствовать в ответе, если для данного типа ошибки оно не предусмотрено
Список ошибок. Поле может отсутствовать в ответе, если для данного типа ошибки оно не предусмотрено
Получение списка всех актуальных Площадок
Данный метод возвращает все Площадки: созданные вами и те, где вы являетесь участником.
Список площадок, на которые пользователь может добавлять грузы или машины get /v2/boards/public/boards/list
curl 'https://api.ati.su/v2/boards/public/boards/list' \ -X 'GET' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json'Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("GET", "https://api.ati.su", "/v2/boards/public/boards/list"); 200 Список площадок с их данными
Площадка доступна всем подразделениям компании. Такую площадку могут видеть все сотрудники, независимо от их подразделения Пример: true
Площадка доступна для данного контакта
Пример: true
Направление обмена информацией на площадке. Передаётся строкой в camelCase и определяет права участников по умолчанию.
Выбор неверного направления из допустимых значений создаст площадку с неподходящими правами, а не вызовет отказ. Неизвестное направление вызывает ошибку. Числа и строки с числовым значением принимаются для совместимости.
input— Грузы и машины от участников к владельцу площадкиoutput— Грузы и машины от владельца площадки к участникамexchange— Обмен грузами и машинами между всеми участниками
Тип содержимого площадки. Передаётся строкой в camelCase; тот же тип возвращается в board_type списка площадок.
Для создания площадки используйте loads. Другой тип приведёт к ошибке: площадки с машинами пока не поддерживаются. Числа и строки с числовым значением продолжают приниматься для совместимости; используйте строковое имя.
loads— Площадка с грузамиtrucks— Площадка с машинами (зарезервировано, создание пока не поддерживается)
Цвет площадки
Пример: "#d8cfd0"
Время создания площадки (timestamp)
Пример: 1556201954901
Перечень подразделений компании, которым доступна площадка
Пример: [100302, 100303]
ID площадки (строка 24 символа)
Пример: "507f1f77bcf86cd799439011"
Название площадки
Пример: "Образцово-показательная площадка"
Код участника АТИ создавшего площадку
Пример: "1111111"
Код участника АТИ создавшего площадку
Пример: 1111111
Последнее время изменения площадки (Timestamp)
Пример: 1556201954901
Участник может видеть только свои грузы/машины
Пример: true
Количество содержимого (грузов) с аукционами на площадке
Пример: 5
Есть ли право добавлять грузы
Пример: false
Есть ли право просматривать грузы
Пример: true
Количество грузов или машин на площадке
Пример: 34
Количество участников площадки
Пример: 15
Количество тендеров на площадке
Пример: 2
Получение Площадок для добавления груза canAdd.
Этот метод предоставит список Площадок, на которые вы можете добавлять грузы.
Список площадок, на которые пользователь может добавлять грузы или машины get /v2/boards/public/boards/canAdd
curl 'https://api.ati.su/v2/boards/public/boards/canAdd' \ -X 'GET' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json'Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("GET", "https://api.ati.su", "/v2/boards/public/boards/canAdd"); 200 Список площадок с их данными
Площадка доступна всем подразделениям компании. Такую площадку могут видеть все сотрудники, независимо от их подразделения Пример: true
Площадка доступна для данного контакта
Пример: true
Направление обмена информацией на площадке. Передаётся строкой в camelCase и определяет права участников по умолчанию.
Выбор неверного направления из допустимых значений создаст площадку с неподходящими правами, а не вызовет отказ. Неизвестное направление вызывает ошибку. Числа и строки с числовым значением принимаются для совместимости.
input— Грузы и машины от участников к владельцу площадкиoutput— Грузы и машины от владельца площадки к участникамexchange— Обмен грузами и машинами между всеми участниками
Тип содержимого площадки. Передаётся строкой в camelCase; тот же тип возвращается в board_type списка площадок.
Для создания площадки используйте loads. Другой тип приведёт к ошибке: площадки с машинами пока не поддерживаются. Числа и строки с числовым значением продолжают приниматься для совместимости; используйте строковое имя.
loads— Площадка с грузамиtrucks— Площадка с машинами (зарезервировано, создание пока не поддерживается)
Цвет площадки
Пример: "#d8cfd0"
Время создания площадки (timestamp)
Пример: 1556201954901
Перечень подразделений компании, которым доступна площадка
Пример: [100302, 100303]
ID площадки (строка 24 символа)
Пример: "507f1f77bcf86cd799439011"
Название площадки
Пример: "Образцово-показательная площадка"
Код участника АТИ создавшего площадку
Пример: "1111111"
Код участника АТИ создавшего площадку
Пример: 1111111
Последнее время изменения площадки (Timestamp)
Пример: 1556201954901
Участник может видеть только свои грузы/машины
Пример: true
Получение Площадок для поиска груза canView.
Этот метод позволяет узнать, на каких Площадках вы можете видеть грузы.
Получает список площадок, на которых участник может видеть грузы/машины get /v2/boards/public/boards/canView
curl 'https://api.ati.su/v2/boards/public/boards/canView' \ -X 'GET' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json'Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("GET", "https://api.ati.su", "/v2/boards/public/boards/canView"); 200 Список площадок с их данными
Площадка доступна всем подразделениям компании. Такую площадку могут видеть все сотрудники, независимо от их подразделения Пример: true
Площадка доступна для данного контакта
Пример: true
Направление обмена информацией на площадке. Передаётся строкой в camelCase и определяет права участников по умолчанию.
Выбор неверного направления из допустимых значений создаст площадку с неподходящими правами, а не вызовет отказ. Неизвестное направление вызывает ошибку. Числа и строки с числовым значением принимаются для совместимости.
input— Грузы и машины от участников к владельцу площадкиoutput— Грузы и машины от владельца площадки к участникамexchange— Обмен грузами и машинами между всеми участниками
Тип содержимого площадки. Передаётся строкой в camelCase; тот же тип возвращается в board_type списка площадок.
Для создания площадки используйте loads. Другой тип приведёт к ошибке: площадки с машинами пока не поддерживаются. Числа и строки с числовым значением продолжают приниматься для совместимости; используйте строковое имя.
loads— Площадка с грузамиtrucks— Площадка с машинами (зарезервировано, создание пока не поддерживается)
Цвет площадки
Пример: "#d8cfd0"
Время создания площадки (timestamp)
Пример: 1556201954901
Перечень подразделений компании, которым доступна площадка
Пример: [100302, 100303]
ID площадки (строка 24 символа)
Пример: "507f1f77bcf86cd799439011"
Название площадки
Пример: "Образцово-показательная площадка"
Код участника АТИ создавшего площадку
Пример: "1111111"
Код участника АТИ создавшего площадку
Пример: 1111111
Последнее время изменения площадки (Timestamp)
Пример: 1556201954901
Участник может видеть только свои грузы/машины
Пример: true
Получение списка ID моих Площадок.
Этот метод покажет ID всех Площадок, которые были созданы вами.
Получает список ID площадок, принадлежащих участнику АТИ. get /v2/boards/public/boards/my
curl 'https://api.ati.su/v2/boards/public/boards/my' \ -X 'GET' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json'Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("GET", "https://api.ati.su", "/v2/boards/public/boards/my"); 200 Список ID площадок
Получение списка ID Площадок с вашим участием.
Этот метод покажет ID всех Площадок, на которых вы состоите.
Получает список ID площадок, на которых состоит участник АТИ. get /v2/boards/public/boards/participating
curl 'https://api.ati.su/v2/boards/public/boards/participating' \ -X 'GET' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json'Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("GET", "https://api.ati.su", "/v2/boards/public/boards/participating"); 200 Список ID площадок
Добавление и настройка пользователей на Площадках
Типы участия пользователей на Площадках
Каждая связь фирмы и Площадки является участием. У участия могут быть разные типы: владелец Площадки, приглашенный, участник. Некоторые типы можно поменять на другие, если это разрешено логикой приложения.
| Тип | Описание | Заметка |
|---|---|---|
| User | Пользователь | Полноценный пользователь Площадки |
| Revoked | Отозвано | Выславший приглашение отозвал его |
| Rejected | Отказ | Приглашённый отказался от вступления на Площадку |
| Invited | Приглашение | Пользователь приглашён на Площадку, но ещё не принял приглашение |
| InvitedViewed | Приглашение просмотрено | Один из контактов приглашённой фирмы просмотрел приглашение, но не ответил |
| RejectedViewed | Отказ просмотрен | Один из контактов приглашающей фирмы открывал страницу, на которой виден отказ от участия |
| Left | Участник покинул Площадку | Служебный статус |
| Deleted | Участник удалён с Площадки | Служебный статус |
| Owner | Владелец Площадки |
Приглашение участника ATI.SU на Площадку.
Чтобы участник ATI.SU смог пользоваться вашей Площадкой, вышлите ему приглашение.
Приглашение обрабатывается через заявки и отображается в списке приглашений с типом Type=invited.
После принятия приглашения контрагент становится участником Площадки с типом Type=user.
Пригласить участника АТИ на площадку post /v2/boards/public/participants/invite
код участника в АТИ
ID площадки
ID контакта
curl 'https://api.ati.su/v2/boards/public/participants/invite' \ -X 'POST' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json' \ --data-raw '{"ati_id":"string","board_id":"string","contact_id":0}'Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("POST", "https://api.ati.su", "/v2/boards/public/participants/invite", "{""ati_id"":""string"",""board_id"":""string"",""contact_id"":0}"); 200 ID приглашения
400 Ошибка валидации
Код ошибки
Текст ошибки
Детали ошибки при валидации запроса.
Поле может отсутствовать в ответе, если для данного типа ошибки оно не предусмотрено
Список ошибок. Поле может отсутствовать в ответе, если для данного типа ошибки оно не предусмотрено
Как посмотреть, кто приглашает вас на свои Площадки.
Метод возвращает список приглашений. Принятие и отклонение приглашений обрабатываются через заявки; метод модификации участия для этого не предназначен.
Получает список приглашений get /v2/boards/public/participants/invite/my
curl 'https://api.ati.su/v2/boards/public/participants/invite/my' \ -X 'GET' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json'Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("GET", "https://api.ati.su", "/v2/boards/public/participants/invite/my"); 200 Список приглашений
Информация о приглашении на площадку
Информация о площадке, на которую создано приглашение
Площадка доступна всем подразделениям компании. Такую площадку могут видеть все сотрудники, независимо от их подразделения Пример: true
Площадка доступна для данного контакта
Пример: true
Направление обмена информацией на площадке. Передаётся строкой в camelCase и определяет права участников по умолчанию.
Выбор неверного направления из допустимых значений создаст площадку с неподходящими правами, а не вызовет отказ. Неизвестное направление вызывает ошибку. Числа и строки с числовым значением принимаются для совместимости.
input— Грузы и машины от участников к владельцу площадкиoutput— Грузы и машины от владельца площадки к участникамexchange— Обмен грузами и машинами между всеми участниками
Тип содержимого площадки. Передаётся строкой в camelCase; тот же тип возвращается в board_type списка площадок.
Для создания площадки используйте loads. Другой тип приведёт к ошибке: площадки с машинами пока не поддерживаются. Числа и строки с числовым значением продолжают приниматься для совместимости; используйте строковое имя.
loads— Площадка с грузамиtrucks— Площадка с машинами (зарезервировано, создание пока не поддерживается)
Цвет площадки
Пример: "#d8cfd0"
Время создания площадки (timestamp)
Пример: 1556201954901
Перечень подразделений компании, которым доступна площадка
Пример: [100302, 100303]
ID площадки (строка 24 символа)
Пример: "507f1f77bcf86cd799439011"
Название площадки
Пример: "Образцово-показательная площадка"
Код участника АТИ создавшего площадку
Пример: "1111111"
Код участника АТИ создавшего площадку
Пример: 1111111
Последнее время изменения площадки (Timestamp)
Пример: 1556201954901
Участник может видеть только свои грузы/машины
Пример: true
Параметры участия на площадке
код в АТИ участника
ID площадки
Может ли добавлять грузы/машины на площадку
Дата вступления (приглашения) на площадку
ID контакта, ответственного за площадку
код в АТИ пригласившего (владельца площадки)
Тип участия фирмы на площадке. Передаётся строкой в camelCase; при изменении участия допустимость перехода зависит от текущего типа и прав пользователя.
В публичных запросах используйте перечисленные типы без отметки «Внутреннее состояние». Недопустимый переход при изменении участия вызывает ошибку. Для совместимости JSON допускает числа, числовые строки и комбинации флагов через запятую, например "user, owner" (1 | 8192 = 8193). В participants/list такая комбинация означает точное совпадение типа с 8193, а не выбор участников user или owner; для фильтрации используйте один тип.
user— Полноценный участник площадкиrevoked— Приглашение отозваноtempRejected— Внутреннее состояние: временный отказ от приглашения. Возвращается в participants/invite/my до завершения таймаута; не используйте для participants/modifyrejected— Отказ от приглашенияinvited— Участник приглашён на площадкуinvitedViewed— Приглашение просмотреноrejectedViewed— Отказ просмотренleft— Участник покинул площадкуdeleted— Участник удалён с площадкиfirmDeleted— Участник удалён из АТИowner— Владелец площадки
Время последней смены типа участия
Может ли видеть грузы/машины площадки
Может ли видеть других участников площадки
400 Ошибка валидации или другая
Возвращаемое значение в случае ошибок
В некоторых случаях (валидация) - ID ошибки, например ApplicationAlreadyCreated в случае "вы уже подали заявку на эту площадку"
Человекочитаемый текст ошибки
Получение списка участников Площадки.
ID — это идентификатор Площадки, а параметры offset и limit используются, чтобы разбить список на страницы. Эти два параметра можно не указывать, тогда все участники Площадки будут отображены без разбивки на страницы.
Получить список участников площадки post /v2/boards/public/participants/list
Отфильтровать по площадкам
Ограничение количества для постраничных запросов
Отступ для постраничных запросов
Показывать только свои участия
Тип участия фирмы на площадке. Передаётся строкой в camelCase; при изменении участия допустимость перехода зависит от текущего типа и прав пользователя.
В публичных запросах используйте перечисленные типы без отметки «Внутреннее состояние». Недопустимый переход при изменении участия вызывает ошибку. Для совместимости JSON допускает числа, числовые строки и комбинации флагов через запятую, например "user, owner" (1 | 8192 = 8193). В participants/list такая комбинация означает точное совпадение типа с 8193, а не выбор участников user или owner; для фильтрации используйте один тип.
user— Полноценный участник площадкиrevoked— Приглашение отозваноtempRejected— Внутреннее состояние: временный отказ от приглашения. Возвращается в participants/invite/my до завершения таймаута; не используйте для participants/modifyrejected— Отказ от приглашенияinvited— Участник приглашён на площадкуinvitedViewed— Приглашение просмотреноrejectedViewed— Отказ просмотренleft— Участник покинул площадкуdeleted— Участник удалён с площадкиfirmDeleted— Участник удалён из АТИowner— Владелец площадки
curl 'https://api.ati.su/v2/boards/public/participants/list' \ -X 'POST' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json' \ --data-raw '{"board_ids":["string"],"limit":0,"offset":0,"only_my":false,"type":"user"}'Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("POST", "https://api.ati.su", "/v2/boards/public/participants/list", "{""board_ids"":[""string""],""limit"":0,""offset"":0,""only_my"":false,""type"":""user""}"); 200 Список участий
Страница с результатами поиска
Массив результатов
код в АТИ участника
ID площадки
Может ли добавлять грузы/машины на площадку
Дата вступления (приглашения) на площадку
ID контакта, ответственного за площадку
код в АТИ пригласившего (владельца площадки)
Тип участия фирмы на площадке. Передаётся строкой в camelCase; при изменении участия допустимость перехода зависит от текущего типа и прав пользователя.
В публичных запросах используйте перечисленные типы без отметки «Внутреннее состояние». Недопустимый переход при изменении участия вызывает ошибку. Для совместимости JSON допускает числа, числовые строки и комбинации флагов через запятую, например "user, owner" (1 | 8192 = 8193). В participants/list такая комбинация означает точное совпадение типа с 8193, а не выбор участников user или owner; для фильтрации используйте один тип.
user— Полноценный участник площадкиrevoked— Приглашение отозваноtempRejected— Внутреннее состояние: временный отказ от приглашения. Возвращается в participants/invite/my до завершения таймаута; не используйте для participants/modifyrejected— Отказ от приглашенияinvited— Участник приглашён на площадкуinvitedViewed— Приглашение просмотреноrejectedViewed— Отказ просмотренleft— Участник покинул площадкуdeleted— Участник удалён с площадкиfirmDeleted— Участник удалён из АТИowner— Владелец площадки
Время последней смены типа участия
Может ли видеть грузы/машины площадки
Может ли видеть других участников площадки
Всего результатов, количество
400 Ошибка валидации или другая
Код ошибки
Текст ошибки
Детали ошибки при валидации запроса.
Поле может отсутствовать в ответе, если для данного типа ошибки оно не предусмотрено
Список ошибок. Поле может отсутствовать в ответе, если для данного типа ошибки оно не предусмотрено
Модификация участника Площадки.
Метод изменяет существующее участие. Владелец Площадки может изменить права участника или удалить его, а участник — покинуть Площадку. Принять приглашение этим методом нельзя.
Обязательные параметры — код участника ATI.SU и ID Площадки. Все остальные параметры — опциональны, и будут применены только если у пользователя, отправившего запрос, есть права на данное изменение.
Typeменяет тип участия.CanAddдает участнику право добавлять грузы на Площадку.ViewParticipantsдает право видеть других участников.ViewContentдает право видеть грузы других участников Площадки.
Поменять параметры участника площадки Меняет параметры существующего участия на площадке.
Не от всякого типа можно перейти к другому.
Например, удалённого пользователя участником не сделать, а участника площадки нельзя сделать обратно
приглашённым.
Не все поля можно поменять, например, права участия может менять только владелец площадки,
а не участник. ( `ViewParticipants`, `ViewContent`, `CanAdd` ). post /v2/boards/public/participants/modify
ID участника ATI
ID площадки
Может ли добавлять грузы/машины на площадку
Тип участия фирмы на площадке. Передаётся строкой в camelCase; при изменении участия допустимость перехода зависит от текущего типа и прав пользователя.
В публичных запросах используйте перечисленные типы без отметки «Внутреннее состояние». Недопустимый переход при изменении участия вызывает ошибку. Для совместимости JSON допускает числа, числовые строки и комбинации флагов через запятую, например "user, owner" (1 | 8192 = 8193). В participants/list такая комбинация означает точное совпадение типа с 8193, а не выбор участников user или owner; для фильтрации используйте один тип.
user— Полноценный участник площадкиrevoked— Приглашение отозваноtempRejected— Внутреннее состояние: временный отказ от приглашения. Возвращается в participants/invite/my до завершения таймаута; не используйте для participants/modifyrejected— Отказ от приглашенияinvited— Участник приглашён на площадкуinvitedViewed— Приглашение просмотреноrejectedViewed— Отказ просмотренleft— Участник покинул площадкуdeleted— Участник удалён с площадкиfirmDeleted— Участник удалён из АТИowner— Владелец площадки
Может ли видеть грузы/машины площадки
Может ли видеть других участников площадки
curl 'https://api.ati.su/v2/boards/public/participants/modify' \ -X 'POST' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json' \ --data-raw '{"ati_id":"string","board_id":"string","can_add":false,"type":"user","view_content":false,"view_participants":false}'Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("POST", "https://api.ati.su", "/v2/boards/public/participants/modify", "{""ati_id"":""string"",""board_id"":""string"",""can_add"":false,""type"":""user"",""view_content"":false,""view_participants"":false}"); 200 успешно/не успешно
400 Ошибка валидации или другая
Код ошибки
Текст ошибки
Детали ошибки при валидации запроса.
Поле может отсутствовать в ответе, если для данного типа ошибки оно не предусмотрено
Список ошибок. Поле может отсутствовать в ответе, если для данного типа ошибки оно не предусмотрено
Использование Площадок в грузах.
При добавлении груза необходимо указывать, на каких Площадок он должен быть опубликован. Есть два типа Плошадок:
- Общая площадка. Грузы на ней будут доступны всем участникам Биржи ATI.SU. Она имеет постоянный идентификатор
a0a0a0a0a0a0a0a0a0a0a0a0 - Персональная Площадка. На ней грузы доступны только для участников Площадки. Идентификаторы можно получить с помощью любого из методов получения Площадок