Как добавить груз с нужными параметрами
Для того, чтобы найти перевозчика на Бирже грузоперевозок 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 — по рабочим дням Не путать с payment.rate_rise.periodicity: там целое число минут.
Время загрузки в пределах дня.
Время в пределах дня. Вид задаёт дискриминатор type. Часовой пояс времени задаётся полем offset и не связан со смещением в датах.
Тип времени — с/по (bounded).
Начало интервала в формате HH:mm.
Конец интервала в формате HH:mm.
Часовой пояс интервала в формате +HH:mm. Принимаются только смещения, существующие в базе часовых поясов. Без start или end указывать нельзя.
Грузы заявки, хотя бы один. id груза сквозной по всей заявке: по нему точки разгрузки указывают, что снимают.
Наименование груза Поле не должно содержать emoji-символы и emoji-последовательности
Вес груза. Можно не указывать, если задан объём.
Вес груза.
Тип: - tons — тонны - kilos — килограммы
Количество от 10 kilos до 9999 tons
Объём груза. Можно не указывать, если задан вес.
Объём груза.
Количество
Упаковка
Упаковка груза.
Id типа упаковки. dict: GET /gw/marshak/v1/dictionaries/pack_types → dictionary_item_id
Количество
Габариты
Габариты груза.
Длина, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Высота, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Ширина, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Диаметр, метры
Номер груза, сквозной по всей заявке. Обязателен. По нему точки разгрузки указывают, какой именно груз снимают.
Ближайшие крупные города — не больше 10, без повторов. Нельзя указывать, если сам город точки является региональным центром. dict: GET /v1.0/dictionaries/cities/{cityId}/near → id
Deprecated: Используйте поле location(type=manual).
Id города. dict: GET /v1.0/dictionaries/cities → id
Deprecated: Используйте поле location(type=manual).
Адрес в населённом пункте, не длиннее 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
Deprecated: Используйте поле location(type=manual).
Id города. dict: GET /v1.0/dictionaries/cities → id
Deprecated: Используйте поле location(type=manual).
Адрес в населённом пункте, не длиннее 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 /gw/marshak/v1/dictionaries/pack_types → dictionary_item_id
Количество
Габариты
Габариты груза.
Длина, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Высота, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Ширина, метры
Габаритный размер.
Значение
Выделить значение цветом в результатах поиска
Диаметр, метры
Номер груза, сквозной по всей заявке. Обязателен. По нему точки разгрузки указывают, какой именно груз снимают.
Дата и время загрузки в этой точке.
Даты прибытия в промежуточную точку. Значима календарная дата, а не момент времени: день определяется по смещению, которое прислал клиент.
Первый день, когда машина может приехать в точку.
Последний день, когда машина может приехать в точку.
Время прибытия в пределах дня.
Время в пределах дня. Вид задаёт дискриминатор type. Часовой пояс времени задаётся полем offset и не связан со смещением в датах.
Тип времени — с/по (bounded).
Начало интервала в формате HH:mm.
Конец интервала в формате HH:mm.
Часовой пояс интервала в формате +HH:mm. Принимаются только смещения, существующие в базе часовых поясов. Без start или end указывать нельзя.
Deprecated: Используйте поле location(type=manual).
Id города. dict: GET /v1.0/dictionaries/cities → id
Deprecated: Используйте поле location(type=manual).
Адрес в населённом пункте, не длиннее 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 указывать нельзя.
Deprecated: Используйте поле location(type=manual).
Id города. dict: GET /v1.0/dictionaries/cities → id
Deprecated: Используйте поле location(type=manual).
Адрес в населённом пункте, не длиннее 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
Deprecated: Используйте поле location(type=manual).
Id города. dict: GET /v1.0/dictionaries/cities → id
Deprecated: Используйте поле location(type=manual).
Адрес в населённом пункте, не длиннее 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
Deprecated: Используйте поле location(type=manual).
Id города. dict: GET /v1.0/dictionaries/cities → id
Deprecated: Используйте поле location(type=manual).
Адрес в населённом пункте, не длиннее 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 — отдельной машиной или догрузом Тот же набор значений возвращается в ответе. Это не словарь load_type: способы загрузки кузова передают в body_loading и body_unloading.
Типы кузова. dict: GET /gw/marshak/v1/dictionaries/cartypes → dictionary_item_id Значения совпадают с TypeId из GET /v1.0/dictionaries/carTypes.
Способы загрузки
Способы загрузки или разгрузки.
Способы загрузки или разгрузки списком id. dict: GET /gw/marshak/v1/dictionaries/load_type → dictionary_item_id
Обязательны все выбранные
Способы разгрузки
Способы загрузки или разгрузки.
Способы загрузки или разгрузки списком id. dict: GET /gw/marshak/v1/dictionaries/load_type → dictionary_item_id
Обязательны все выбранные
Температура
Температура.
От
До
Разрешения
Разрешения транспорта.
TIR todo ссылка на фак
CMR todo ссылка на фак
T1 todo ссылка на фак
Медкнижка
Требования
Требования к транспорту.
Коники
Сцепка
Пневмоход
Для груза необходимы два водителя
ADR
Количество ремней
Трекинг через АТИ Водитель
Требуемая грузоподъемность в тоннах
Оплата
Тип оплаты — возможен торг (with-bargaining).
Автоматическое приглашение на лучшее встречное предложение
Автоматическое приглашение на лучшее встречное предложение.
Период приема встречного предложения до автоматического приглашения (в формате 30m, 1h, 2d).
Период действия автоматического приглашения (в формате 30m, 1h, 2d).
Максимальное возможное отклонение от ставки для срабатывания автоматического приглашения
Архивировать заявку при срабатывании автоматического приглашения
Id валюты из словаря валют
Deprecated: Использовать поле RatesWithVat
Ставка безнал с НДС
Ставка безнал без НДС
Ставка наличными
Возможность отправлять наличные на карту
Безналичные ставки с НДС — не больше одной на процент
Ставка
НДС процент. Допустимые значения задаёт словарь валют — атрибут vat_percents
Встречные предложения видны только вам
Прямой договор
Предоплата
Предоплата.
Процент предоплаты
Предоплата топливом
Режим оплаты
Режим оплаты.
Тип режима оплаты — оплата на выгрузке (on-unloading).
Количество банковских дней
Id валюты из словаря валют
Deprecated: Использовать поле RatesWithVat
Ставка безнал с НДС
Ставка безнал без НДС
Ставка наличными
Возможность отправлять наличные на карту
Безналичные ставки с НДС — не больше одной на процент
Ставка
НДС процент. Допустимые значения задаёт словарь валют — атрибут 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 часов
Принимать встречные предложения до первой ставки по Торгам
Параметры автопродления Торгов
Параметры автопродления Торгов.
Количество минут, на которые будут продливаться Торги
Максимальное время, на которое будут продливаться Торги (в минутах)
Опция Антиснайпер
Параметры повышения ставки Торгов при отсутствии ставок
Параметры повышения ставки Торгов при отсутствии ставок.
Интервал автоматического повышения ставки в минутах, целое число больше 0. Не путать с периодичностью загрузки route.loading.dates.periodicity.
Максимальное значение ставки Торгов
Критерий выбора победителя Торгов, строка: - best-rate — по лучшей ставке - matching-date — с учётом даты загрузки и лучшей ставки
Время, за которое победитель обязан предоставить документы
Количество автоматических переназначений победителя Торгов, в случае отказа от груза
Параметры перезапуска Торгов в случае отсутствия ставок
Параметры перезапуска Торгов при отсутствии ставок.
Количество перезапусков
Длительность Торгов после перезапуска: - 30m — 30 минут - 1h — 1 час - 2h — 2 часа - 3h — 3 часа - 4h — 4 часа - 6h — 6 часов - 12h — 12 часов
Параметры повышения начальной ставки после перезапуска торгов.
Параметры повышения начальной ставки после перезапуска Торгов.
Тип повышения — абсолютное значение в валюте (currency).
Значение, на которое нужно повысить начальную ставку.
Значение, на которое нужно повысить начальную ставку.
Действие при окончательном завершении Торгов без победителя
Действие — переместить заявку в архив (archive).
Id валюты из словаря валют
Deprecated: Использовать поле RatesWithVat
Ставка безнал с НДС
Безналичные ставки с НДС — не больше одной на процент
Ставка
НДС процент. Допустимые значения задаёт словарь валют — атрибут 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],"coordinates":{"0":"?"},"location":{"type":"manual","city_id":3611,"address":"Набережная","coordinates":{"0":"?"}}},"unloading":{"dates":{"0":"?"},"near_cities":[0],"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":"?"},"coordinates":{"0":"?"},"location":{"type":"manual","city_id":3611,"address":"Набережная","coordinates":{"0":"?"}}}]},"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_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":[{"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],""coordinates"":{""0"":""?""},""location"":{""type"":""manual"",""city_id"":3611,""address"":""Набережная"",""coordinates"":{""0"":""?""}}},""unloading"":{""dates"":{""0"":""?""},""near_cities"":[0],""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"":""?""},""coordinates"":{""0"":""?""},""location"":{""type"":""manual"",""city_id"":3611,""address"":""Набережная"",""coordinates"":{""0"":""?""}}}]},""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_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"":[{""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 /gw/marshak/v1/dictionaries/cargo_typ → dictionary_item_id Для груза, созданного через API, сервис подбирает id по name. Нет совпадения — приходит 59 «Другой».
Наименование груза
Упаковка
Упаковка груза.
Id типа упаковки. dict: GET /gw/marshak/v1/dictionaries/pack_types → dictionary_item_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 /gw/marshak/v1/dictionaries/cargo_typ → dictionary_item_id Для груза, созданного через API, сервис подбирает id по name. Нет совпадения — приходит 59 «Другой».
Наименование груза
Упаковка
Упаковка груза.
Id типа упаковки. dict: GET /gw/marshak/v1/dictionaries/pack_types → dictionary_item_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 — отдельной машиной - ltl — догрузом - dont-care — отдельной машиной или догрузом Значение можно без преобразования передать в truck.load_type запроса.
Типы кузова. dict: GET /gw/marshak/v1/dictionaries/cartypes → dictionary_item_id Значения совпадают с TypeId из GET /v1.0/dictionaries/carTypes.
Трекинг через АТИ Водитель
ADR
Количество ремней
Требуемая грузоподъемность в тоннах
Способы загрузки
Способы загрузки или разгрузки.
Способы загрузки или разгрузки списком id. dict: GET /gw/marshak/v1/dictionaries/load_type → dictionary_item_id
Обязательны все выбранные
Способы разгрузки
Способы загрузки или разгрузки.
Способы загрузки или разгрузки списком id. dict: GET /gw/marshak/v1/dictionaries/load_type → dictionary_item_id
Обязательны все выбранные
Температура
Температура.
От
До
Разрешения
Разрешения транспорта.
TIR
CMR
T1
Медкнижка
Требования
Требования к транспорту.
Коники
Сцепка
Пневмоход
Для груза необходимы два водителя
Оплата
Тип оплаты — с возможностью торга (with-bargaining).
Настройки автоматического приглашения на лучшее встречное предложение
Настройки автоматического приглашения на встречные предложения.
Период приема встречного предложения до автоматического приглашения (в формате 30m, 1h, 2d).
Период действия автоматического приглашения (в формате 30m, 1h, 2d).
Архивировать заявку при срабатывании автоматического приглашения
Максимальное возможное отклонение от ставки для срабатывания автоматического приглашения
Id валюты из словаря валют
Deprecated: Использовать поле RatesWithVat
Ставка безнал с НДС
Ставка безнал без НДС
Ставка наличными
Возможность отправлять наличные на карту
Безналичные ставки с НДС — не больше одной на процент
Ставка
НДС процент. Допустимые значения задаёт словарь валют — атрибут vat_percents
Встречные предложения видны только вам
Прямой договор
Предоплата
Предоплата.
Процент предоплаты
Предоплата топливом
Режим оплаты
Режим оплаты.
Тип режима оплаты — через несколько дней (delayed-payment).
Количество банковских дней
Id валюты из словаря валют
Deprecated: Использовать поле RatesWithVat
Ставка безнал с НДС
Ставка безнал без НДС
Ставка наличными
Возможность отправлять наличные на карту
Безналичные ставки с НДС — не больше одной на процент
Ставка
НДС процент. Допустимые значения задаёт словарь валют — атрибут 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 валюты из словаря валют
Deprecated: Использовать поле RatesWithVat
Ставка безнал с НДС
Ставка безнал без НДС
Ставка наличными
Возможность отправлять наличные на карту
Автоматическое приглашение на лучшее встречное предложение
Настройки автоматического приглашения на встречные предложения.
Период приема встречного предложения до автоматического приглашения (в формате 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. При этом он может быть поднят в поиске за счет приоритетного показа, который позволит привлечь больше внимания к грузу и увеличить охват. Метод для добавления и изменения параметров приоритетного показа:
Сохранить приоритетный показ на груз. API для интеграции. Сохраняет настройку приоритетного показа от имени текущего пользователя. Деньги при сохранении не списываются: сервис проверяет, что кошелёк первого контакта, указанного в заявке, не заблокирован и на нём хватает средств на один просмотр по заданной ставке. Списание идёт при просмотре груза — с того же кошелька. Настройка сохраняется целиком: поля, которых нет в запросе, сбрасываются, а ранее выключенный показ снова включается. put /gw/cargos-priority-view-api/integration/v2/cargos/{cargoApplicationId}/priority-view
| Параметр | Тип | Расположение | Описание |
|---|---|---|---|
cargoApplicationId
обязательный
| string (uuid) | path | Идентификатор заявки на груз, для которой задаётся приоритетный показ. Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6 |
Запрос на сохранение или обновление приоритетного показа на груз через Integration API.
Конфигурация приоритетного показа: ставка за просмотр и лимиты списания.
Конфигурация приоритетного показа груза: ставка за просмотр и лимиты списания.
Ставка за просмотр в рублях. Обязательное поле. Кратна 0,5, не больше двух знаков после запятой, не меньше минимальной ставки, заданной настройкой платформы.
Суточный лимит списания по услуге в рублях. Не больше двух знаков после запятой. Ноль или отсутствие поля — без ограничения, иначе значение не меньше ставки за просмотр.
Лимит списания на одну заявку в рублях. Не больше двух знаков после запятой. Ноль или отсутствие поля — без ограничения, иначе значение не меньше ставки за просмотр.
Показывать приоритетный показ только платным пользователям.
curl 'https://api.ati.su/gw/cargos-priority-view-api/integration/v2/cargos/{cargoApplicationId}/priority-view' \ -X 'PUT' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json' \ --data-raw '{"priority_view":{"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Запрос("PUT", "https://api.ati.su", "/gw/cargos-priority-view-api/integration/v2/cargos/{cargoApplicationId}/priority-view", "{""priority_view"":{""0"":""?""}}"); 200 Приоритетный показ сохранён. Тело пустое.
400 Невалидные параметры, нет права на операцию, объект не найден, груз не на Общей площадке или создан из лота.
Тело ошибки HTTP-метода.
Машинный код ошибки.
Человекочитаемое описание ошибки.
Дополнительные детали ошибки. Может отсутствовать.
Список ошибок валидации полей.
Код ошибки поля.
Описание ошибки поля.
402 На кошельке не хватает средств на один просмотр по заданной ставке.
Тело ошибки HTTP-метода.
Машинный код ошибки.
Человекочитаемое описание ошибки.
Дополнительные детали ошибки. Может отсутствовать.
Список ошибок валидации полей.
Код ошибки поля.
Описание ошибки поля.
403 Нет прав на оплату услуг: кошелёк заблокирован.
Тело ошибки HTTP-метода.
Машинный код ошибки.
Человекочитаемое описание ошибки.
Дополнительные детали ошибки. Может отсутствовать.
Список ошибок валидации полей.
Код ошибки поля.
Описание ошибки поля.
- на Персональную площадку - тогда он будет виден только тем пользователям, которые добавлены на данную Площадку. Создать Площадку и пригласить на нее пользователей вы можете через интерфейс на сайте ATI.SU или через API.
Создать площадку 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 Ошибка валидации или другая
Код ошибки
Текст ошибки
Детали ошибки при валидации запроса.
Поле может отсутствовать в ответе, если для данного типа ошибки оно не предусмотрено
Список ошибок. Поле может отсутствовать в ответе, если для данного типа ошибки оно не предусмотрено
Пригласить участника АТИ на площадку 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, не больше одной на процент. Какие проценты доступны для какой валюты — в разделе Ставки НДС.