Как добавить груз с нужными параметрами
Для того, чтобы найти перевозчика на Бирже грузоперевозок ATI.SU, для начала необходимо добавить груз.
Создать заявку на груз. API для интеграции. Публикует новую заявку на груз от имени текущего пользователя. post /gw/cargos_create_v2/integration/v2/cargos
Запрос на создание заявки на груз через Integration API.
Заявка груза
Внешний номер груза или заказа Поле не должно содержать emoji-символы и emoji-последовательности
Маршрут
Основная точка загрузки — начало маршрута. Здесь задают даты загрузки и грузы, которые забирают в начале маршрута.
Даты загрузки. Обязательны, вид задаёт дискриминатор type.
Тип даты — готов к загрузке (ready).
Готов к загрузке сегодня и завтра
Время загрузки в пределах дня.
Время в пределах дня. Вид задаёт дискриминатор type. Часовой пояс времени задаётся полем offset и не связан со смещением в датах.
Тип времени — с/по (bounded).
Начало интервала в формате HH:mm.
Конец интервала в формате HH:mm.
Часовой пояс интервала в формате +HH:mm. Принимаются только смещения, существующие в базе часовых поясов. Без start или end указывать нельзя.
Первый день, когда груз можно забрать. Обязателен, отстоит от сегодняшнего дня не больше чем на 60 дней.
Последний день, когда груз можно забрать. Обязателен, не раньше first_date и не в прошлом.
Время загрузки в пределах дня.
Время в пределах дня. Вид задаёт дискриминатор type. Часовой пояс времени задаётся полем offset и не связан со смещением в датах.
Тип времени — с/по (bounded).
Начало интервала в формате HH:mm.
Конец интервала в формате HH:mm.
Часовой пояс интервала в формате +HH:mm. Принимаются только смещения, существующие в базе часовых поясов. Без start или end указывать нельзя.
Периодичность постоянной загрузки. Обязательна, другие значения отклоняются. - everyday — каждый день - workdays — по рабочим дням
Время загрузки в пределах дня.
Время в пределах дня. Вид задаёт дискриминатор type. Часовой пояс времени задаётся полем offset и не связан со смещением в датах.
Тип времени — с/по (bounded).
Начало интервала в формате HH:mm.
Конец интервала в формате HH:mm.
Часовой пояс интервала в формате +HH:mm. Принимаются только смещения, существующие в базе часовых поясов. Без start или end указывать нельзя.
Грузы заявки, хотя бы один. id груза сквозной по всей заявке: по нему точки разгрузки указывают, что снимают.
Наименование груза Поле не должно содержать emoji-символы и emoji-последовательности
Вес груза. Можно не указывать, если задан объём.
Вес груза.
Тип: - tons — тонны - kilos — килограммы
Количество от 10 kilos до 9999 tons
Объём груза. Можно не указывать, если задан вес.
Объём груза.
Количество
Упаковка
Упаковка груза.
Id типа упаковки. dict: GET /v1.0/dictionaries/packTypes → id
Количество
Габариты
Габариты груза.
Длина, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Высота, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Ширина, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Диаметр, метры
Номер груза, сквозной по всей заявке. Обязателен. По нему точки разгрузки указывают, какой именно груз снимают.
Ближайшие крупные города — не больше 10, без повторов. Нельзя указывать, если сам город точки является региональным центром. dict: GET /v1.0/dictionaries/cities/{cityId}/near → id
Id города. dict: GET /v1.0/dictionaries/cities → id
Адрес в населённом пункте, не длиннее 200 символов; в интеграторском API — не короче 5 символов. Поле не должно содержать emoji-символы и emoji-последовательности
Координаты точки. Должны лежать не дальше 80 км от центра города city_id.
Координаты.
Долгота
Широта
Расположение точки: город с адресом либо адрес из справочника организаций.
Тип расположения точки — ручное (manual).
Id города. dict: GET /v1.0/dictionaries/cities → id
Адрес в населённом пункте, не длиннее 200 символов; в интеграторском API — не короче 5 символов. Поле не должно содержать emoji-символы и emoji-последовательности
Координаты точки. Должны лежать не дальше 80 км от центра города city_id.
Координаты.
Долгота
Широта
Id организации. dict: GET /v1.2/catalogs/organizations → id
Id адреса. Адрес должен принадлежать организации organization_id. dict: GET /v1.2/catalogs/organizations/addresses → id
Основная точка разгрузки — конец маршрута.
Даты разгрузки. Поле необязательное.
Даты разгрузки. Значима календарная дата, а не момент времени: день определяется по смещению, которое прислал клиент. Даты в примерах условные: подставляйте актуальные, иначе запрос отклонят.
Первый день разгрузки. Не в прошлом. Обязателен, если задан last_date.
Последний день разгрузки. Не раньше first_date.
Время разгрузки в пределах дня.
Время в пределах дня. Вид задаёт дискриминатор type. Часовой пояс времени задаётся полем offset и не связан со смещением в датах.
Тип времени — с/по (bounded).
Начало интервала в формате HH:mm.
Конец интервала в формате HH:mm.
Часовой пояс интервала в формате +HH:mm. Принимаются только смещения, существующие в базе часовых поясов. Без start или end указывать нельзя.
Ближайшие крупные города — не больше 10, без повторов. Нельзя указывать, если сам город точки является региональным центром. dict: GET /v1.0/dictionaries/cities/{cityId}/near → id
Id города. dict: GET /v1.0/dictionaries/cities → id
Адрес в населённом пункте, не длиннее 200 символов; в интеграторском API — не короче 5 символов. Поле не должно содержать emoji-символы и emoji-последовательности
Координаты точки. Должны лежать не дальше 80 км от центра города city_id.
Координаты.
Долгота
Широта
Расположение точки: город с адресом либо адрес из справочника организаций.
Тип расположения точки — ручное (manual).
Id города. dict: GET /v1.0/dictionaries/cities → id
Адрес в населённом пункте, не длиннее 200 символов; в интеграторском API — не короче 5 символов. Поле не должно содержать emoji-символы и emoji-последовательности
Координаты точки. Должны лежать не дальше 80 км от центра города city_id.
Координаты.
Долгота
Широта
Id организации. dict: GET /v1.2/catalogs/organizations → id
Id адреса. Адрес должен принадлежать организации organization_id. dict: GET /v1.2/catalogs/organizations/addresses → id
Промежуточные точки между загрузкой и разгрузкой, не больше 15. Перечисляйте их в порядке проезда: по этому порядку сервис проверяет, что груз, снятый на промежуточной разгрузке, был загружен раньше.
Тип промежуточной точки — загрузка (loading).
Грузы, которые забирают в этой точке. id каждого груза уникален в пределах заявки.
Наименование груза Поле не должно содержать emoji-символы и emoji-последовательности
Вес груза. Можно не указывать, если задан объём.
Вес груза.
Тип: - tons — тонны - kilos — килограммы
Количество от 10 kilos до 9999 tons
Объём груза. Можно не указывать, если задан вес.
Объём груза.
Количество
Упаковка
Упаковка груза.
Id типа упаковки. dict: GET /v1.0/dictionaries/packTypes → id
Количество
Габариты
Габариты груза.
Длина, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Высота, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Ширина, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Диаметр, метры
Номер груза, сквозной по всей заявке. Обязателен. По нему точки разгрузки указывают, какой именно груз снимают.
Дата и время загрузки в этой точке.
Даты прибытия в промежуточную точку. Значима календарная дата, а не момент времени: день определяется по смещению, которое прислал клиент.
Первый день, когда машина может приехать в точку.
Последний день, когда машина может приехать в точку.
Время прибытия в пределах дня.
Время в пределах дня. Вид задаёт дискриминатор type. Часовой пояс времени задаётся полем offset и не связан со смещением в датах.
Тип времени — с/по (bounded).
Начало интервала в формате HH:mm.
Конец интервала в формате HH:mm.
Часовой пояс интервала в формате +HH:mm. Принимаются только смещения, существующие в базе часовых поясов. Без start или end указывать нельзя.
Id города. dict: GET /v1.0/dictionaries/cities → id
Адрес в населённом пункте, не длиннее 200 символов; в интеграторском API — не короче 5 символов. Поле не должно содержать emoji-символы и emoji-последовательности
Координаты точки. Должны лежать не дальше 80 км от центра города city_id.
Координаты.
Долгота
Широта
Расположение точки: город с адресом либо адрес из справочника организаций.
Тип расположения точки — ручное (manual).
Id города. dict: GET /v1.0/dictionaries/cities → id
Адрес в населённом пункте, не длиннее 200 символов; в интеграторском API — не короче 5 символов. Поле не должно содержать emoji-символы и emoji-последовательности
Координаты точки. Должны лежать не дальше 80 км от центра города city_id.
Координаты.
Долгота
Широта
Id организации. dict: GET /v1.2/catalogs/organizations → id
Id адреса. Адрес должен принадлежать организации organization_id. dict: GET /v1.2/catalogs/organizations/addresses → id
Грузы, которые снимают в этой точке. id ссылается на груз из route.loading.cargos либо из более ранней точки loading.
Снимаемая часть веса. Обязательна, если вес был задан при загрузке этого груза, и запрещена, если не был.
Вес груза.
Тип: - tons — тонны - kilos — килограммы
Количество от 10 kilos до 9999 tons
Снимаемая часть объёма. Обязательна, если объём был задан при загрузке этого груза, и запрещена, если не был.
Объём груза.
Количество
Снимаемое количество упаковок.
Снимаемая часть груза будет определена в ТТН.
Номер груза, сквозной по всей заявке. Обязателен. По нему точки разгрузки указывают, какой именно груз снимают.
Дата и время разгрузки в этой точке.
Даты прибытия в промежуточную точку. Значима календарная дата, а не момент времени: день определяется по смещению, которое прислал клиент.
Первый день, когда машина может приехать в точку.
Последний день, когда машина может приехать в точку.
Время прибытия в пределах дня.
Время в пределах дня. Вид задаёт дискриминатор type. Часовой пояс времени задаётся полем offset и не связан со смещением в датах.
Тип времени — с/по (bounded).
Начало интервала в формате HH:mm.
Конец интервала в формате HH:mm.
Часовой пояс интервала в формате +HH:mm. Принимаются только смещения, существующие в базе часовых поясов. Без start или end указывать нельзя.
Id города. dict: GET /v1.0/dictionaries/cities → id
Адрес в населённом пункте, не длиннее 200 символов; в интеграторском API — не короче 5 символов. Поле не должно содержать emoji-символы и emoji-последовательности
Координаты точки. Должны лежать не дальше 80 км от центра города city_id.
Координаты.
Долгота
Широта
Расположение точки: город с адресом либо адрес из справочника организаций.
Тип расположения точки — ручное (manual).
Id города. dict: GET /v1.0/dictionaries/cities → id
Адрес в населённом пункте, не длиннее 200 символов; в интеграторском API — не короче 5 символов. Поле не должно содержать emoji-символы и emoji-последовательности
Координаты точки. Должны лежать не дальше 80 км от центра города city_id.
Координаты.
Долгота
Широта
Id организации. dict: GET /v1.2/catalogs/organizations → id
Id адреса. Адрес должен принадлежать организации organization_id. dict: GET /v1.2/catalogs/organizations/addresses → id
Id города. dict: GET /v1.0/dictionaries/cities → id
Адрес в населённом пункте, не длиннее 200 символов; в интеграторском API — не короче 5 символов. Поле не должно содержать emoji-символы и emoji-последовательности
Координаты точки. Должны лежать не дальше 80 км от центра города city_id.
Координаты.
Долгота
Широта
Расположение точки: город с адресом либо адрес из справочника организаций.
Тип расположения точки — ручное (manual).
Id города. dict: GET /v1.0/dictionaries/cities → id
Адрес в населённом пункте, не длиннее 200 символов; в интеграторском API — не короче 5 символов. Поле не должно содержать emoji-символы и emoji-последовательности
Координаты точки. Должны лежать не дальше 80 км от центра города city_id.
Координаты.
Долгота
Широта
Id организации. dict: GET /v1.2/catalogs/organizations → id
Id адреса. Адрес должен принадлежать организации organization_id. dict: GET /v1.2/catalogs/organizations/addresses → id
Id города. dict: GET /v1.0/dictionaries/cities → id
Адрес в населённом пункте, не длиннее 200 символов; в интеграторском API — не короче 5 символов. Поле не должно содержать emoji-символы и emoji-последовательности
Координаты точки. Должны лежать не дальше 80 км от центра города city_id.
Координаты.
Долгота
Широта
Расположение точки: город с адресом либо адрес из справочника организаций.
Тип расположения точки — ручное (manual).
Id города. dict: GET /v1.0/dictionaries/cities → id
Адрес в населённом пункте, не длиннее 200 символов; в интеграторском API — не короче 5 символов. Поле не должно содержать emoji-символы и emoji-последовательности
Координаты точки. Должны лежать не дальше 80 км от центра города city_id.
Координаты.
Долгота
Широта
Id организации. dict: GET /v1.2/catalogs/organizations → id
Id адреса. Адрес должен принадлежать организации organization_id. dict: GET /v1.2/catalogs/organizations/addresses → id
Кругорейс
Транспорт
Количество машин
Загрузка: - ftl — отдельной машиной - ltl — догрузом - dont-care — отдельной машиной или догрузом
TypeId типов кузовов. Значение TypeId из словаря кузовов
Способы загрузки
Способы загрузки или разгрузки.
Id типа загрузки из словаря типов загрузок
Обязательны все выбранные
Способы разгрузки
Способы загрузки или разгрузки.
Id типа загрузки из словаря типов загрузок
Обязательны все выбранные
Температура
Температура.
От
До
Разрешения
Разрешения транспорта.
TIR todo ссылка на фак
CMR todo ссылка на фак
T1 todo ссылка на фак
Медкнижка
Требования
Требования к транспорту.
Коники
Сцепка
Пневмоход
Для груза необходимы два водителя
ADR
Количество ремней
Трекинг через АТИ Водитель
Требуемая грузоподъемность в тоннах
Оплата
Тип оплаты — возможен торг (with-bargaining).
Автоматическое приглашение на лучшее встречное предложение
Автоматическое приглашение на лучшее встречное предложение.
Период приема встречного предложения до автоматического приглашения (в формате 30m, 1h, 2d).
Период действия автоматического приглашения (в формате 30m, 1h, 2d).
Максимальное возможное отклонение от ставки для срабатывания автоматического приглашения
Архивировать заявку при срабатывании автоматического приглашения
Id валюты из словаря валют
Ставка безнал с НДС
Ставка безнал без НДС
Ставка наличными
Возможность отправлять наличные на карту
Безналичные ставки с НДС — не больше одной на процент
Ставка
НДС процент. Допустимые значения задаёт словарь валют — атрибут vat_percents
Встречные предложения видны только вам
Прямой договор
Предоплата
Предоплата.
Процент предоплаты
Предоплата топливом
Режим оплаты
Режим оплаты.
Тип режима оплаты — оплата на выгрузке (on-unloading).
Количество банковских дней
Id валюты из словаря валют
Ставка безнал с НДС
Ставка безнал без НДС
Ставка наличными
Возможность отправлять наличные на карту
Безналичные ставки с НДС — не больше одной на процент
Ставка
НДС процент. Допустимые значения задаёт словарь валют — атрибут vat_percents
Встречные предложения видны только вам
Прямой договор
Предоплата
Предоплата.
Процент предоплаты
Предоплата топливом
Режим оплаты
Режим оплаты.
Тип режима оплаты — оплата на выгрузке (on-unloading).
Количество банковских дней
Можно предлагать ставки безнал с НДС
Можно предлагать ставки безнал без НДС
Можно предлагать ставки наличными
Автоматическое приглашение на лучшее встречное предложение
Автоматическое приглашение на лучшее встречное предложение.
Период приема встречного предложения до автоматического приглашения (в формате 30m, 1h, 2d).
Период действия автоматического приглашения (в формате 30m, 1h, 2d).
Максимальное возможное отклонение от ставки для срабатывания автоматического приглашения
Архивировать заявку при срабатывании автоматического приглашения
Встречные предложения видны только вам
Прямой договор
Предоплата
Предоплата.
Процент предоплаты
Предоплата топливом
Режим оплаты
Режим оплаты.
Тип режима оплаты — оплата на выгрузке (on-unloading).
Количество банковских дней
Принимать ставки с НДС
Принимать ставки без НДС
Размер НДС, в процентах
Начальная ставка Торгов
Id валюты, в которой будут вестись Торги. Значение из словаря валют
Шаг ставок
Параметры длительности Торгов
Длительность торгов: - 30m — 30 минут - 1h — 1 час - 2h — 2 часа - 3h — 3 часа - 4h — 4 часа - 6h — 6 часов - 12h — 12 часов - 1d — 1 день - 2d — 2 дня - 3d — 3 дня - 4d — 4 дня - 5d — 5 дней
Отсчитывать длительность Торгов с момента первой ставки
Точные дата и время завершения Торгов
Параметры доступности встречных предложений во время проведения Торгов
Параметры доступности встречных предложений во время Торгов.
Принимать встречные предложения через: - 30m — 30 минут - 1h — 1 час - 2h — 2 часа - 3h — 3 часа - 4h — 4 часа - 6h — 6 часов - 12h — 12 часов
Принимать встречные предложения до первой ставки по Торгам
Параметры автопродления Торгов
Параметры автопродления Торгов.
Количество минут, на которые будут продливаться Торги
Максимальное время, на которое будут продливаться Торги (в минутах)
Опция Антиснайпер
Параметры повышения ставки Торгов при отсутствии ставок
Параметры повышения ставки Торгов при отсутствии ставок.
Периодичность повышения
Максимальное значение ставки Торгов
Критерий выбора победителя: - best-rate — по лучшей ставке - matching-date — с учётом даты загрузки и лучшей ставки
Время, за которое победитель обязан предоставить документы
Количество автоматических переназначений победителя Торгов, в случае отказа от груза
Параметры перезапуска Торгов в случае отсутствия ставок
Параметры перезапуска Торгов при отсутствии ставок.
Количество перезапусков
Длительность Торгов после перезапуска: - 30m — 30 минут - 1h — 1 час - 2h — 2 часа - 3h — 3 часа - 4h — 4 часа - 6h — 6 часов - 12h — 12 часов
Параметры повышения начальной ставки после перезапуска торгов.
Параметры повышения начальной ставки после перезапуска Торгов.
Тип повышения — абсолютное значение в валюте (currency).
Значение, на которое нужно повысить начальную ставку.
Значение, на которое нужно повысить начальную ставку.
Действие при окончательном завершении Торгов без победителя
Действие — переместить заявку в архив (archive).
Id валюты из словаря валют
Ставка безнал с НДС
Безналичные ставки с НДС — не больше одной на процент
Ставка
НДС процент. Допустимые значения задаёт словарь валют — атрибут vat_percents
Ставка безнал без НДС
Ставка наличными
Возможность отправлять наличные на карту
Автоматическое приглашение на лучшее встречное предложение
Автоматическое приглашение на лучшее встречное предложение.
Период приема встречного предложения до автоматического приглашения (в формате 30m, 1h, 2d).
Период действия автоматического приглашения (в формате 30m, 1h, 2d).
Максимальное возможное отклонение от ставки для срабатывания автоматического приглашения
Архивировать заявку при срабатывании автоматического приглашения
Можно предлагать ставки безнал с НДС
Можно предлагать ставки безнал без НДС
Можно предлагать ставки наличными
Автоматическое приглашение на лучшее встречное предложение
Автоматическое приглашение на лучшее встречное предложение.
Период приема встречного предложения до автоматического приглашения (в формате 30m, 1h, 2d).
Период действия автоматического приглашения (в формате 30m, 1h, 2d).
Максимальное возможное отклонение от ставки для срабатывания автоматического приглашения
Архивировать заявку при срабатывании автоматического приглашения
Сохранять ставки при редактировании груза
Встречные предложения видны только вам
Прямой договор
Предоплата
Предоплата.
Процент предоплаты
Предоплата топливом
Режим оплаты
Режим оплаты.
Тип режима оплаты — оплата на выгрузке (on-unloading).
Количество банковских дней
Фото груза и документов
Старый id документа
Новый id документа
Площадки груза
Id площадки
Опубликовать груз - now – сразу - 15m – через 15 минут - 30m – через 30 минут - 1h – через час - 3h – через 3 часа - 6h – через 6 часов - exact-time - в точное время
Точное время публикации груза, для publication_mode = 'exact-time'
Не публиковать груз при отложенной публикации, если появилась ставка по Торгам
Разрешить перевозчикам бронировать груз
Платные услуги: приоритетный показ, стелс
Приоритетный показ
Приоритетный показ.
Ставка за просмотр
Лимит на заявку
Суточный лимит
Показывать приоритетный груз только платным пользователям
Стэлс
Стелс.
Id списка фирм для скрытия
Минимальная дата регистрации фирм, которые будут видеть груза
Минимальное количество звёзд фирм, которые будут видеть груз
Примечание к заявке Поле не должно содержать emoji-символы и emoji-последовательности
Id контактов заявки
curl 'https://api.ati.su/gw/cargos_create_v2/integration/v2/cargos' \ -X 'POST' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json' \ --data-raw '{"cargo_application":{"external_id":"EXT-12345","route":{"loading":{"dates":{"type":"ready","is_available_tomorrow":true,"time":{"0":"?"}},"cargos":[{"name":"Автомобиль(ли)","weight":{"0":"?"},"volume":{"0":"?"},"packaging":{"0":"?"},"sizes":{"0":"?"},"id":1}],"near_cities":[0],"city_id":3611,"address":"Набережная","coordinates":{"0":"?"},"location":{"type":"manual","city_id":3611,"address":"Набережная","coordinates":{"0":"?"}}},"unloading":{"dates":{"0":"?"},"near_cities":[0],"city_id":3611,"address":"Набережная","coordinates":{"0":"?"},"location":{"type":"manual","city_id":3611,"address":"Набережная","coordinates":{"0":"?"}}},"way_points":[{"type":"loading","cargos":[{"name":"Автомобиль(ли)","weight":{"0":"?"},"volume":{"0":"?"},"packaging":{"0":"?"},"sizes":{"0":"?"},"id":1}],"loading_date":{"0":"?"},"city_id":3611,"address":"Набережная","coordinates":{"0":"?"},"location":{"type":"manual","city_id":3611,"address":"Набережная","coordinates":{"0":"?"}}}],"is_round_trip":true},"truck":{"trucks_count":1,"load_type":"ftl","body_types":[0],"body_loading":{"0":"?"},"body_unloading":{"0":"?"},"temperature":{"0":"?"},"documents":{"0":"?"},"requirements":{"0":"?"},"adr":3,"belts_count":4,"is_tracking":true,"required_capacity":20},"payment":{"type":"with-bargaining","auto_invites_settings":{"0":"?"},"currency_type":1,"rate_with_vat":50000,"rate_without_vat":50000,"cash":50000,"on_card":true,"rates_with_vat":[{"rate_with_vat":50000,"vat_percent":22}],"hide_counter_offers":true,"direct_offer":true,"prepayment":{"0":"?"},"payment_mode":{"0":"?"}},"documents":[{"id":"9c6cce94-c0e3-eb11-bb99-002590fdcfdb","file_id":"6b35842b8386446c82a43726f139abe1"}],"boards":[{"id":"a0a0a0a0a0a0a0a0a0a0a0a0","publication_mode":"now","publication_time":"2024-01-15T10:30:00+00:00","cancel_publish_on_auction_bet":true,"reservation_enabled":true}],"paid_features":{"priority_view":{"0":"?"},"stealth":{"0":"?"}},"note":"Тестовый груз","contacts":[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", "/gw/cargos_create_v2/integration/v2/cargos", "{""cargo_application"":{""external_id"":""EXT-12345"",""route"":{""loading"":{""dates"":{""type"":""ready"",""is_available_tomorrow"":true,""time"":{""0"":""?""}},""cargos"":[{""name"":""Автомобиль(ли)"",""weight"":{""0"":""?""},""volume"":{""0"":""?""},""packaging"":{""0"":""?""},""sizes"":{""0"":""?""},""id"":1}],""near_cities"":[0],""city_id"":3611,""address"":""Набережная"",""coordinates"":{""0"":""?""},""location"":{""type"":""manual"",""city_id"":3611,""address"":""Набережная"",""coordinates"":{""0"":""?""}}},""unloading"":{""dates"":{""0"":""?""},""near_cities"":[0],""city_id"":3611,""address"":""Набережная"",""coordinates"":{""0"":""?""},""location"":{""type"":""manual"",""city_id"":3611,""address"":""Набережная"",""coordinates"":{""0"":""?""}}},""way_points"":[{""type"":""loading"",""cargos"":[{""name"":""Автомобиль(ли)"",""weight"":{""0"":""?""},""volume"":{""0"":""?""},""packaging"":{""0"":""?""},""sizes"":{""0"":""?""},""id"":1}],""loading_date"":{""0"":""?""},""city_id"":3611,""address"":""Набережная"",""coordinates"":{""0"":""?""},""location"":{""type"":""manual"",""city_id"":3611,""address"":""Набережная"",""coordinates"":{""0"":""?""}}}],""is_round_trip"":true},""truck"":{""trucks_count"":1,""load_type"":""ftl"",""body_types"":[0],""body_loading"":{""0"":""?""},""body_unloading"":{""0"":""?""},""temperature"":{""0"":""?""},""documents"":{""0"":""?""},""requirements"":{""0"":""?""},""adr"":3,""belts_count"":4,""is_tracking"":true,""required_capacity"":20},""payment"":{""type"":""with-bargaining"",""auto_invites_settings"":{""0"":""?""},""currency_type"":1,""rate_with_vat"":50000,""rate_without_vat"":50000,""cash"":50000,""on_card"":true,""rates_with_vat"":[{""rate_with_vat"":50000,""vat_percent"":22}],""hide_counter_offers"":true,""direct_offer"":true,""prepayment"":{""0"":""?""},""payment_mode"":{""0"":""?""}},""documents"":[{""id"":""9c6cce94-c0e3-eb11-bb99-002590fdcfdb"",""file_id"":""6b35842b8386446c82a43726f139abe1""}],""boards"":[{""id"":""a0a0a0a0a0a0a0a0a0a0a0a0"",""publication_mode"":""now"",""publication_time"":""2024-01-15T10:30:00+00:00"",""cancel_publish_on_auction_bet"":true,""reservation_enabled"":true}],""paid_features"":{""priority_view"":{""0"":""?""},""stealth"":{""0"":""?""}},""note"":""Тестовый груз"",""contacts"":[0]}}"); 200 Заявка на груз успешно создана и опубликована.
Ответ на создание заявки на груз через Integration API.
Заявка груза
ID груза OBSOLETE используй поле CargoApplicationId
Номер груза, автоматически генерируемый ATI.SU OBSOLETE используй поле CargoApplicationNumber
OBSOLETE используй поле OriginSource
Контакты OBSOLETE используй поле ApplicationContacts
Дистанция, км
Id груза
Id состояния груза (меняется при каждом редактировании)
Номер груза, автоматически генерируемый ATI.SU
Подразделение, которому принадлежит заявка.
Идентификатор пользователя, разместившего заявку
Идентификатор контакта, разместившего заявку
Внешний номер груза или заказа
Время добавления груза, UTC
Время последнего изменения груза, UTC
Время последнего поднятия груза, UTC
Использованный api при создания груза: - web-cargos-api, - mobile-cargos-api, - public-cargos-api
Маршрут
Основная точка загрузки — начало маршрута. Здесь даты загрузки и грузы, которые забирают в начале маршрута.
Ближайшие города. Id города из словаря OBSOLETE используй поле NearbyCities
Даты загрузки. Вид задаёт дискриминатор type.
Тип даты — в промежутке дат (from-date).
Время загрузки в пределах дня.
Время в пределах дня. Вид задаёт дискриминатор type. Часовой пояс времени приходит полем offset и не связан со смещением в датах.
Тип времени — с ограничением (bounded).
Начало интервала в формате HH:mm.
Конец интервала в формате HH:mm.
Часовой пояс интервала в формате +HH:mm.
Первый день, когда груз можно забрать. Приходит при любом type, в том числе ready и permanent.
Последний день, когда груз можно забрать. Приходит при любом type, в том числе ready и permanent.
Готов к загрузке сегодня и завтра (TODO возможно убрать)
Время загрузки в пределах дня.
Время в пределах дня. Вид задаёт дискриминатор type. Часовой пояс времени приходит полем offset и не связан со смещением в датах.
Тип времени — с ограничением (bounded).
Начало интервала в формате HH:mm.
Конец интервала в формате HH:mm.
Часовой пояс интервала в формате +HH:mm.
Первый день, когда груз можно забрать. Приходит при любом type, в том числе ready и permanent.
Последний день, когда груз можно забрать. Приходит при любом type, в том числе ready и permanent.
Периодичность постоянной загрузки: - everyday — "каждый день" - workdays — "по рабочим дням"
Время загрузки в пределах дня.
Время в пределах дня. Вид задаёт дискриминатор type. Часовой пояс времени приходит полем offset и не связан со смещением в датах.
Тип времени — с ограничением (bounded).
Начало интервала в формате HH:mm.
Конец интервала в формате HH:mm.
Часовой пояс интервала в формате +HH:mm.
Первый день, когда груз можно забрать. Приходит при любом type, в том числе ready и permanent.
Последний день, когда груз можно забрать. Приходит при любом type, в том числе ready и permanent.
Первый день, когда груз можно забрать. Приходит при любом type, в том числе ready и permanent.
Последний день, когда груз можно забрать. Приходит при любом type, в том числе ready и permanent.
Грузы заявки. cargo_id сквозной по всей заявке: по нему точки разгрузки указывают, что снимают.
Id наименования груза. dict: GET /v1.0/dictionaries/cargoTypes → id
Наименование груза
Упаковка
Упаковка груза.
Id типа упаковки. dict: GET /v1.0/dictionaries/packTypes → id
Количество
Номер груза, сквозной по всей заявке. По нему точки разгрузки указывают, какой именно груз снимают.
Вес
Вес груза.
Тип: - tons — тонны - kilos — килограммы
Количество
Объём
Объём груза.
Количество
Габариты
Габариты груза.
Длина, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Высота, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Ширина, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Диаметр, метры
Ближайшие крупные города, не больше 10.
Id города. dict: GET /v1.0/dictionaries/cities → id
Расстояние от точки маршрута до этого города, километры.
Id города из словаря OBSOLETE используй поле City.CityId
Населённый пункт точки.
Id города. dict: GET /v1.0/dictionaries/cities → id
Id региона. dict: GET /v1.0/dictionaries/regions → id
Id страны. dict: GET /v1.0/dictionaries/countries → id
Координаты точки.
Координаты.
Долгота
Широта
Адрес в населённом пункте.
Организация из справочника, если адрес точки был взят оттуда. Иначе не заполнена.
Организация — грузоотправитель или грузополучатель. Её адрес указан в точке маршрута.
Id организации. dict: GET /v1.2/catalogs/organizations → id
Id адреса организации. dict: GET /v1.2/catalogs/organizations/addresses → id
Основная точка разгрузки — конец маршрута.
Ближайшие города. Id города из словаря OBSOLETE используй поле NearbyCities
Даты разгрузки. Могут быть не заданы.
Даты разгрузки. Значима календарная дата, а не момент времени: день определяется по смещению в значении.
Первый день разгрузки.
Последний день разгрузки.
Время разгрузки в пределах дня.
Время в пределах дня. Вид задаёт дискриминатор type. Часовой пояс времени приходит полем offset и не связан со смещением в датах.
Тип времени — с ограничением (bounded).
Начало интервала в формате HH:mm.
Конец интервала в формате HH:mm.
Часовой пояс интервала в формате +HH:mm.
Ближайшие крупные города, не больше 10.
Id города. dict: GET /v1.0/dictionaries/cities → id
Расстояние от точки маршрута до этого города, километры.
Id города из словаря OBSOLETE используй поле City.CityId
Населённый пункт точки.
Id города. dict: GET /v1.0/dictionaries/cities → id
Id региона. dict: GET /v1.0/dictionaries/regions → id
Id страны. dict: GET /v1.0/dictionaries/countries → id
Координаты точки.
Координаты.
Долгота
Широта
Адрес в населённом пункте.
Организация из справочника, если адрес точки был взят оттуда. Иначе не заполнена.
Организация — грузоотправитель или грузополучатель. Её адрес указан в точке маршрута.
Id организации. dict: GET /v1.2/catalogs/organizations → id
Id адреса организации. dict: GET /v1.2/catalogs/organizations/addresses → id
Промежуточные точки между загрузкой и разгрузкой, не больше 15, в порядке проезда.
Тип промежуточной точки — точка загрузки (loading).
Грузы, которые забирают в этой точке.
Id наименования груза. dict: GET /v1.0/dictionaries/cargoTypes → id
Наименование груза
Упаковка
Упаковка груза.
Id типа упаковки. dict: GET /v1.0/dictionaries/packTypes → id
Количество
Номер груза, сквозной по всей заявке. По нему точки разгрузки указывают, какой именно груз снимают.
Вес
Вес груза.
Тип: - tons — тонны - kilos — килограммы
Количество
Объём
Объём груза.
Количество
Габариты
Габариты груза.
Длина, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Высота, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Ширина, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Диаметр, метры
Дата и время загрузки в этой точке.
Даты прибытия в промежуточную точку. Значима календарная дата, а не момент времени: день определяется по смещению в значении.
Первый день, когда машина может приехать в точку.
Последний день, когда машина может приехать в точку.
Время прибытия в пределах дня.
Время в пределах дня. Вид задаёт дискриминатор type. Часовой пояс времени приходит полем offset и не связан со смещением в датах.
Тип времени — с ограничением (bounded).
Начало интервала в формате HH:mm.
Конец интервала в формате HH:mm.
Часовой пояс интервала в формате +HH:mm.
Id города из словаря OBSOLETE используй поле City.CityId
Населённый пункт точки.
Id города. dict: GET /v1.0/dictionaries/cities → id
Id региона. dict: GET /v1.0/dictionaries/regions → id
Id страны. dict: GET /v1.0/dictionaries/countries → id
Координаты точки.
Координаты.
Долгота
Широта
Адрес в населённом пункте.
Организация из справочника, если адрес точки был взят оттуда. Иначе не заполнена.
Организация — грузоотправитель или грузополучатель. Её адрес указан в точке маршрута.
Id организации. dict: GET /v1.2/catalogs/organizations → id
Id адреса организации. dict: GET /v1.2/catalogs/organizations/addresses → id
Грузы, которые снимают в этой точке.
Снимаемое количество упаковок.
Снимаемая часть груза будет определена в ТТН.
Номер груза, сквозной по всей заявке. По нему точки разгрузки указывают, какой именно груз снимают.
Вес
Вес груза.
Тип: - tons — тонны - kilos — килограммы
Количество
Объём
Объём груза.
Количество
Габариты
Габариты груза.
Длина, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Высота, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Ширина, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Диаметр, метры
Дата и время разгрузки в этой точке.
Даты прибытия в промежуточную точку. Значима календарная дата, а не момент времени: день определяется по смещению в значении.
Первый день, когда машина может приехать в точку.
Последний день, когда машина может приехать в точку.
Время прибытия в пределах дня.
Время в пределах дня. Вид задаёт дискриминатор type. Часовой пояс времени приходит полем offset и не связан со смещением в датах.
Тип времени — с ограничением (bounded).
Начало интервала в формате HH:mm.
Конец интервала в формате HH:mm.
Часовой пояс интервала в формате +HH:mm.
Id города из словаря OBSOLETE используй поле City.CityId
Населённый пункт точки.
Id города. dict: GET /v1.0/dictionaries/cities → id
Id региона. dict: GET /v1.0/dictionaries/regions → id
Id страны. dict: GET /v1.0/dictionaries/countries → id
Координаты точки.
Координаты.
Долгота
Широта
Адрес в населённом пункте.
Организация из справочника, если адрес точки был взят оттуда. Иначе не заполнена.
Организация — грузоотправитель или грузополучатель. Её адрес указан в точке маршрута.
Id организации. dict: GET /v1.2/catalogs/organizations → id
Id адреса организации. dict: GET /v1.2/catalogs/organizations/addresses → id
Id города из словаря OBSOLETE используй поле City.CityId
Населённый пункт точки.
Id города. dict: GET /v1.0/dictionaries/cities → id
Id региона. dict: GET /v1.0/dictionaries/regions → id
Id страны. dict: GET /v1.0/dictionaries/countries → id
Координаты точки.
Координаты.
Долгота
Широта
Адрес в населённом пункте.
Организация из справочника, если адрес точки был взят оттуда. Иначе не заполнена.
Организация — грузоотправитель или грузополучатель. Её адрес указан в точке маршрута.
Id организации. dict: GET /v1.2/catalogs/organizations → id
Id адреса организации. dict: GET /v1.2/catalogs/organizations/addresses → id
Id города из словаря OBSOLETE используй поле City.CityId
Населённый пункт точки.
Id города. dict: GET /v1.0/dictionaries/cities → id
Id региона. dict: GET /v1.0/dictionaries/regions → id
Id страны. dict: GET /v1.0/dictionaries/countries → id
Координаты точки.
Координаты.
Долгота
Широта
Адрес в населённом пункте.
Организация из справочника, если адрес точки был взят оттуда. Иначе не заполнена.
Организация — грузоотправитель или грузополучатель. Её адрес указан в точке маршрута.
Id организации. dict: GET /v1.2/catalogs/organizations → id
Id адреса организации. dict: GET /v1.2/catalogs/organizations/addresses → id
Кругорейс
Транспорт
Количество машин
Загрузка: - ftl — отдельной машиной - dont-care — не важно
TypeId типов кузовов. Значение TypeId из словаря кузовов
Трекинг через АТИ Водитель
ADR
Количество ремней
Требуемая грузоподъемность в тоннах
Способы загрузки
Способы загрузки или разгрузки.
Id типа загрузки из словаря типов загрузок
Обязательны все выбранные
Способы разгрузки
Способы загрузки или разгрузки.
Id типа загрузки из словаря типов загрузок
Обязательны все выбранные
Температура
Температура.
От
До
Разрешения
Разрешения транспорта.
TIR
CMR
T1
Медкнижка
Требования
Требования к транспорту.
Коники
Сцепка
Пневмоход
Для груза необходимы два водителя
Оплата
Тип оплаты — с возможностью торга (with-bargaining).
Настройки автоматического приглашения на лучшее встречное предложение
Настройки автоматического приглашения на встречные предложения.
Период приема встречного предложения до автоматического приглашения (в формате 30m, 1h, 2d).
Период действия автоматического приглашения (в формате 30m, 1h, 2d).
Архивировать заявку при срабатывании автоматического приглашения
Максимальное возможное отклонение от ставки для срабатывания автоматического приглашения
Id валюты из словаря валют
Ставка безнал с НДС
Ставка безнал без НДС
Ставка наличными
Возможность отправлять наличные на карту
Безналичные ставки с НДС — не больше одной на процент
Ставка
НДС процент. Допустимые значения задаёт словарь валют — атрибут vat_percents
Встречные предложения видны только вам
Прямой договор
Предоплата
Предоплата.
Процент предоплаты
Предоплата топливом
Режим оплаты
Режим оплаты.
Тип режима оплаты — через несколько дней (delayed-payment).
Количество банковских дней
Id валюты из словаря валют
Ставка безнал с НДС
Ставка безнал без НДС
Ставка наличными
Возможность отправлять наличные на карту
Безналичные ставки с НДС — не больше одной на процент
Ставка
НДС процент. Допустимые значения задаёт словарь валют — атрибут vat_percents
Встречные предложения видны только вам
Прямой договор
Предоплата
Предоплата.
Процент предоплаты
Предоплата топливом
Режим оплаты
Режим оплаты.
Тип режима оплаты — через несколько дней (delayed-payment).
Количество банковских дней
Можно предлагать ставки безнал с НДС
Можно предлагать ставки безнал без НДС
Можно предлагать ставки наличными
Настройки автоматического приглашения на лучшее встречное предложение
Настройки автоматического приглашения на встречные предложения.
Период приема встречного предложения до автоматического приглашения (в формате 30m, 1h, 2d).
Период действия автоматического приглашения (в формате 30m, 1h, 2d).
Архивировать заявку при срабатывании автоматического приглашения
Максимальное возможное отклонение от ставки для срабатывания автоматического приглашения
Встречные предложения видны только вам
Прямой договор
Предоплата
Предоплата.
Процент предоплаты
Предоплата топливом
Режим оплаты
Режим оплаты.
Тип режима оплаты — через несколько дней (delayed-payment).
Количество банковских дней
Id Торгов
Начальная ставка Торгов
Id валюты из словаря валют
Шаг ставки Торгов
Принимать ставки с НДС
Принимать ставки без НДС
Размер НДС, в процентах
Опция Антиснайпер
Время, за которое победитель обязан предоставить документы
Критерий выбора победителя: best-rate — по лучшей ставке matching-date — с учётом даты загрузки и лучшей ставки
Количество автоматических переназначений победителя Торгов, в случае отказа от груза
Параметры длительности Торгов
Может быть null, если есть значение у поля FinishUntil. Длительность проведения Торгов: 30m — 30 минут 1h — 1 час 2h — 2 часа 3h — 3 часа 4h — 4 часа 6h — 6 часов 12h — 12 часов 1d — 1 день 2d — 2 дня 3d — 3 дня 4d — 4 дня 5d — 5 дней
Отсчитывать длительность Торгов с момента первой ставки
Точные дата и время завершения Торгов
Действие при окончательном завершении Торгов без победителя
Действие — переместить заявку в архив (archive).
Id валюты из словаря валют
Ставка безнал с НДС
Ставка безнал без НДС
Ставка наличными
Возможность отправлять наличные на карту
Автоматическое приглашение на лучшее встречное предложение
Настройки автоматического приглашения на встречные предложения.
Период приема встречного предложения до автоматического приглашения (в формате 30m, 1h, 2d).
Период действия автоматического приглашения (в формате 30m, 1h, 2d).
Архивировать заявку при срабатывании автоматического приглашения
Максимальное возможное отклонение от ставки для срабатывания автоматического приглашения
Безналичные ставки с НДС — не больше одной на процент
Ставка
НДС процент. Допустимые значения задаёт словарь валют — атрибут vat_percents
Можно предлагать ставки безнал с НДС
Можно предлагать ставки безнал без НДС
Можно предлагать ставки наличными
Автоматическое приглашение на лучшее встречное предложение
Настройки автоматического приглашения на встречные предложения.
Период приема встречного предложения до автоматического приглашения (в формате 30m, 1h, 2d).
Период действия автоматического приглашения (в формате 30m, 1h, 2d).
Архивировать заявку при срабатывании автоматического приглашения
Максимальное возможное отклонение от ставки для срабатывания автоматического приглашения
Параметры доступности встречных предложений во время проведения Торгов
Параметры доступности встречных предложений во время Торгов.
Может быть null, в таком случае будем принимать встречные предложения сразу. Принимать встречные предложения через: - 30m — 30 минут - 1h — 1 час - 2h — 2 часа - 3h — 3 часа - 4h — 4 часа - 6h — 6 часов - 12h — 12 часов
Принимать встречные предложения до первой ставки по Торгам
Параметры автопродления Торгов
Параметры автопродления Торгов.
Количество минут, на которые будут продливаться Торги
Максимальное время, на которое будут продливаться Торги (в минутах)
Параметры повышения ставки Торгов при отсутствии ставок
Параметры повышения ставки Торгов при отсутствии ставок.
Периодичность повышения
Максимальное значение ставки Торгов
Параметры перезапуска Торгов в случае отсутствия ставок
Параметры перезапуска Торгов при отсутствии ставок.
Количество перезапусков
Длительность Торгов после перезапуска: 30m — 30 минут 1h — 1 час 2h — 2 часа 3h — 3 часа 4h — 4 часа 6h — 6 часов 12h — 12 часов
Параметры повышения начальной ставки после перезапуска торгов.
Параметры повышения начальной ставки после перезапуска Торгов.
Тип повышения — абсолютное значение в валюте (currency).
Значение, на которое нужно повысить начальную ставку.
Значение, на которое нужно повысить начальную ставку.
Встречные предложения видны только вам
Прямой договор
Предоплата
Предоплата.
Процент предоплаты
Предоплата топливом
Режим оплаты
Режим оплаты.
Тип режима оплаты — через несколько дней (delayed-payment).
Количество банковских дней
Площадки груза
Id площадки
Опубликовать груз: now – сразу 15m – через 15 минут 30m – через 30 минут 1h – через час 3h – через 3 часа 6h – через 6 часов exact-time - в точное время
Точное время публикации груза, для publication_mode = 'exact-time'
Не публиковать груз при отложенной публикации, если появилась ставка по Торгам
Стратегия ограничений публикации груза на площадке
Разрешить перевозчикам бронировать груз
Груз опубликован на площадке
Фото груза и документов
Старый id документа OBSOLETE используй поле FileID
Id документа в API Плюшкин (TODO ссылка)
Название документа
Ссылка на документ
Информация о контактах груза
Id контакта
Платные услуги
Платные услуги: приоритетный показ, стелс.
Приоритетный показ
Приоритетный показ.
Потрачено атисов за день OBSOLETE необходимо получать эту информацию из api приоритетного показа по грузам
Потрачено атисов на эту заявку OBSOLETE необходимо получать эту информацию из api приоритетного показа по грузам
Ставка за просмотр
Показывать приоритетный груз только платным пользователям
Лимит на заявку
Суточный лимит
Стэлс
Стелс.
Id списка фирм для скрытия
Минимальная дата регистрации фирм, которые будут видеть груза
Минимальное количество звёзд фирм, которые будут видеть груз
Примечание к грузу
Id Лота, к которому прикреплён данный груз
Номер Лота, к которому прикреплён данный груз
Является ли груз сквозной копией
Отправлен ли груз в архив
Время отправки груза в архив, UTC
Истинная ставка на груз после жалоб "Озвученная ставка"
Истинная валюта ставки на груз после жалоб "Озвученная ставка"
Идентификатор интегратора (клиентского приложения), через которое был создан груз
400 Невалидные данные запроса.
Ответ об ошибке при выполнении операции.
Код ошибки.
Сообщение об ошибке.
Дополнительные детали ошибки.
Список ошибок валидации.
402 Недостаточно средств на счёте для размещения.
Ответ об ошибке при выполнении операции.
Код ошибки.
Сообщение об ошибке.
Дополнительные детали ошибки.
Список ошибок валидации.
403 Нет прав на размещение или кошелёк заблокирован.
Ответ об ошибке при выполнении операции.
Код ошибки.
Сообщение об ошибке.
Дополнительные детали ошибки.
Список ошибок валидации.
404 Связанный ресурс не найден.
Ответ об ошибке при выполнении операции.
Код ошибки.
Сообщение об ошибке.
Дополнительные детали ошибки.
Список ошибок валидации.
409 Обнаружен дубликат заявки.
Ответ об ошибке при выполнении операции.
Код ошибки.
Сообщение об ошибке.
Дополнительные детали ошибки.
Список ошибок валидации.
417 Изменилась цена размещения.
Ответ об ошибке при выполнении операции.
Код ошибки.
Сообщение об ошибке.
Дополнительные детали ошибки.
Список ошибок валидации.
429 Достигнут ежедневный лимит публикации грузов.
Ответ об ошибке при выполнении операции.
Код ошибки.
Сообщение об ошибке.
Дополнительные детали ошибки.
Список ошибок валидации.
Груз может быть добавлен:
- на Общую площадку - тогда он будет виден всем пользователям ATI.SU. При этом он может быть поднят в поиске за счет приоритетного показа, который позволит привлечь больше внимания к грузу и увеличить охват. Метод для добавления и изменения параметров приоритетного показа:
Сохранение или обновление настроек приоритетного показа на груз put /gw/cargos-priority-view-api/v2/cargos/{cargoApplicationId}/priority-view
| Параметр | Тип | Расположение | Описание |
|---|---|---|---|
cargoApplicationId
обязательный
| string (uuid) | path | Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6 |
Конфигурация приоритетного показа
Ставка за просмотр
Суточный лимит списания по услуге
- Должен быть больше либо равен значению ViewRate или быть равным нулю (если ограничения нет)
- Должен быть равен 0 или отсутствовать, если параметр ViewRate отсутствует или равен 0
Лимит на заявку
- Должен быть больше либо равен значению ViewRate или быть равным нулю (если ограничения нет)
- Должен быть равен 0 или отсутствовать, если параметр ViewRate отсутствует или равен 0
Показывать приоритетный показ только платным пользователям
curl 'https://api.ati.su/gw/cargos-priority-view-api/v2/cargos/{cargoApplicationId}/priority-view' \ -X 'PUT' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json' \ --data-raw '{"priority_view":{"view_rate":0.5,"daily_limit":0.5,"order_limit":0.5,"is_for_paid_only":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Запрос("PUT", "https://api.ati.su", "/gw/cargos-priority-view-api/v2/cargos/{cargoApplicationId}/priority-view", "{""priority_view"":{""view_rate"":0.5,""daily_limit"":0.5,""order_limit"":0.5,""is_for_paid_only"":false}}"); 200 Success
- на Персональную площадку - тогда он будет виден только тем пользователям, которые добавлены на данную Площадку. Создать Площадку и пригласить на нее пользователей вы можете через интерфейс на сайте ATI.SU или через API.
Создать площадку post /v2/boards/public/boards/create
Площадка доступна всем подразделениям компании. Такую площадку могут видеть все сотрудники, независимо от их подразделения Если передано true, то DepartmentsIds должен быть null или пустым Пример: true
Направление обмена информацией на площадке (влияет на права доступа участников по умолчанию)
exchange— Обмен грузами/машинамиinput— Грузы/машины для владельца площадкиoutput- Грузы/машины от владельца площадки
0— Информация от участников к владельцу1— Информация от владельца к участникам2— Обмен между всеми участниками
Опциональный список требований к площадке.
Поддерживаемые требования:
- требуемые от участников файлы и сканы RequirementDocumentTypeDto
Пример: <br>[{<br> "type_id": null,<br> "type_name": "Сертификат партнера нашей компании",<br> "is_requirable": true<br>}]<br>
Список документов, требуемых к загрузке участниками площадки
Id базового типа документа
1- Свидетельство о постановке на налоговый учет (ИНН)2- Свидетельство о регистрации юрлица или ИП3- Учредительные документы4- Реквизиты5- Прайс-лист6- Коммерческое предложение
1— Свидетельство о постановке на налоговый учет (ИНН)2— Свидетельство о регистрации юрлица или ИП3— Учредительные документы4— Реквизиты5— Прайс-лист6— Коммерческое предложение
Пользовательское имя типа документа, только для пользовательских типов
Данный тип файла обязателен к предоставлению
Правила площадки (можно использовать html-тэги "b", "i", "span", "u", "ul", "li", "br")
Тип содержимого на площадке
loads- Площадка с грузамиtrucks- Площадка с машинами (зарезервировано, в данный момент такая возможность ещё не доступна)
0— Грузы1— Машины
Цвет плашки площадки
Пример: "#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":"0","board_requirements":{"requirement_document_types":[{"base_type_id":"1","custom_type_name":"string","is_requirable":false}],"rules":"string"},"board_type":"0","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"":""0"",""board_requirements"":{""requirement_document_types"":[{""base_type_id"":""1"",""custom_type_name"":""string"",""is_requirable"":false}],""rules"":""string""},""board_type"":""0"",""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
Направление обмена информацией на площадке (влияет на права доступа участников по умолчанию)
exchange— Обмен грузами/машинамиinput— Грузы/машины для владельца площадкиoutput- Грузы/машины от владельца площадки
0— Информация от участников к владельцу1— Информация от владельца к участникам2— Обмен между всеми участниками
Тип содержимого на площадке
loads- Площадка с грузамиtrucks- Площадка с машинами (зарезервировано, в данный момент такая возможность ещё не доступна)
0— Грузы1— Машины
Цвет площадки
Пример: "#d8cfd0"
Время создания площадки (timestamp)
Пример: 1556201954901
Перечень подразделений компании, которым доступна площадка
Пример: [100302, 100303]
ID площадки (строка 24 символа)
Пример: "507f1f77bcf86cd799439011"
Название площадки
Пример: "Образцово-показательная площадка"
Код участника АТИ создавшего площадку
Пример: "1111111"
Код участника АТИ создавшего площадку
Пример: 1111111
Последнее время изменения площадки (Timestamp)
Пример: 1556201954901
Участник может видеть только свои грузы/машины
Пример: true
400 Ошибка валидации или другая
Код ошибки
Текст ошибки
Детали ошибки при валидации запроса.
Поле может отсутствовать в ответе, если для данного типа ошибки оно не предусмотрено
Список ошибок. Поле может отсутствовать в ответе, если для данного типа ошибки оно не предусмотрено
Пригласить участника АТИ на площадку 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 Ошибка валидации
Код ошибки
Текст ошибки
Детали ошибки при валидации запроса.
Поле может отсутствовать в ответе, если для данного типа ошибки оно не предусмотрено
Список ошибок. Поле может отсутствовать в ответе, если для данного типа ошибки оно не предусмотрено
Полная документация API Площадок.
После того, как Площадка будет создана, вы сможете добавлять на неё грузы.
Добавляя груз, вы можете выбрать, каким образом будет сформирована итоговая ставка за перевозку:
- если опубликовать груз с запросом ставки, то перевозчики будут предлагать вам свои цены - встречные предложения, из которых вы сможете выбрать наиболее интересный для вас вариант;
- если опубликовать груз с фиксированной ставкой, но с возможностью торга, то перевозчики смогут сделать вам встречные предложения, опираясь на ту цену, которую изначально указали вы. И у вас также будет возможность выбрать наиболее интересный для вас вариант;
- если опубликовать груз с фиксированной ставкой, без возможности торга, то его смогут взять те перевозчики, которые будут согласны перевезти груз за указанную вами цену;
- если опубликовать груз с Торгами (Аукционом), то конечная ставка за перевозку будет сформирована после Торгов.
Безналичных ставок с НДС у груза может быть несколько — набор payment.rates_with_vat, не больше одной на процент. Какие проценты доступны для какой валюты — в разделе Ставки НДС.