Skip to content
Для ИИ NEW Мои токены Поддержка
Для подтверждения действия введите пароль
Чтобы продолжить, введите пароль для пользователя
For LLMs and AI agents: canonical Markdown source of this documentation page (plain-text .md — fetch this URL to use the page content in tools and RAG). For LLMs and AI agents: developers documentation index in llms.txt format — ordered list of key documentation URLs for the developers section.

Как добавить груз с нужными параметрами

Для того, чтобы найти перевозчика на Бирже грузоперевозок ATI.SU, для начала необходимо добавить груз.

Создать заявку на груз. API для интеграции. Публикует новую заявку на груз от имени текущего пользователя.
post /gw/cargos_create_v2/integration/v2/cargos
Параметры
Параметров нет
Запрос
Модель
{...}

Запрос на создание заявки на груз через Integration API.

}
Пример запроса
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]}}'
Ответ
200 Заявка на груз успешно создана и опубликована.
Модель
{...}

Ответ на создание заявки на груз через Integration API.

}
Пример
{...}
"cargo_application":{...}
"cargo_application_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"snapshot_id":1000500,
"cargo_application_number":"ABC1234",
"department_id":7654321,
"persistent_user_id":1234567,
"actor_contact_id":0,
"external_id":"EXT-12345",
"added_at":"2024-01-15T10:30:00+00:00",
"updated_at":"2024-01-15T10:30:00+00:00",
"refreshed_at":"2024-01-15T10:30:00+00:00",
"origin_source":"public-cargos-api",
"route":{...},
"loading":{...},
"dates":{...},
"type":"from-date",
"time":{...},
"0":"?"
},
"first_date":"2024-08-27T00:00:00+03:00",
"last_date":"2024-08-29T00:00:00+03:00"
},
"cargos":[...],
{...}
"name_id":112,
"name":"Автомобиль(ли)",
"packaging":{...},
"0":"?"
},
"cargo_id":1,
"weight":{...},
"0":"?"
},
"volume":{...},
"0":"?"
},
"sizes":{...}
"0":"?"
}
}
],
"nearby_cities":[...],
{...}
"id":3611,
"distance":25
}
],
"city":{...},
"city_id":3611,
"region_id":21,
"country_id":1
},
"coordinates":{...},
"0":"?"
},
"address":"ул. Набережная, д. 12",
"organization":{...}
"0":"?"
}
},
"unloading":{...},
"dates":{...},
"0":"?"
},
"nearby_cities":[...],
{...}
"id":3611,
"distance":25
}
],
"city":{...},
"city_id":3611,
"region_id":21,
"country_id":1
},
"coordinates":{...},
"0":"?"
},
"address":"ул. Набережная, д. 12",
"organization":{...}
"0":"?"
}
},
"way_points":[...],
{...}
"type":"loading",
"cargos":[...],
{...}
"name_id":112,
"name":"Автомобиль(ли)",
"packaging":{...},
"0":"?"
},
"cargo_id":1,
"weight":{...},
"0":"?"
},
"volume":{...},
"0":"?"
},
"sizes":{...}
"0":"?"
}
}
],
"loading_date":{...},
"0":"?"
},
"city":{...},
"city_id":3611,
"region_id":21,
"country_id":1
},
"coordinates":{...},
"0":"?"
},
"address":"ул. Набережная, д. 12",
"organization":{...}
"0":"?"
}
}
],
"is_round_trip":true
},
"truck":{...},
"trucks_count":1,
"load_type":"ftl",
"body_types":[...],
0
],
"is_tracking":true,
"adr":3,
"belts_count":4,
"required_capacity":20,
"body_loading":{...},
"0":"?"
},
"body_unloading":{...},
"0":"?"
},
"temperature":{...},
"0":"?"
},
"documents":{...},
"0":"?"
},
"requirements":{...}
"0":"?"
}
},
"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":"?"
}
},
"boards":[...],
{...}
"id":"a0a0a0a0a0a0a0a0a0a0a0a0",
"publication_mode":"now",
"publication_time":"2024-01-15T10:30:00+00:00",
"cancel_publish_on_auction_bet":true,
"publication_restriction":0,
"reservation_enabled":true,
"is_published":true
}
],
"documents":[...],
{...}
"file_id":"6b35842b8386446c82a43726f139abe1",
"name":"Транспортная накладная.pdf",
"link":"https://api.ati.su/webapi/filestorage/files/6b35842b8386446c82a43726f139abe1"
}
],
"application_contacts":[...],
{...}
"id":0
}
],
"paid_features":{...},
"0":"?"
},
"note":"Тестовый груз",
"lot_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"lot_number":38,
"is_pass_through_copy":true,
"is_archived":true,
"archive_date":"2024-01-15T10:30:00+00:00",
"true_price":50000,
"true_currency_id":1,
"client_application_id":"ati"
}
}
400 Невалидные данные запроса.
Модель
{...}

Ответ об ошибке при выполнении операции.

error_code*: null,string

Код ошибки.

reason*: null,string

Сообщение об ошибке.

details: {missing-type-info}

Дополнительные детали ошибки.

error_list:[{}]

Список ошибок валидации.

}
Пример
{...}
"error_code":"validation_error",
"reason":"Передан невалидный объект",
"details":"?",
"error_list":[...]
{}
]
}
402 Недостаточно средств на счёте для размещения.
Модель
{...}

Ответ об ошибке при выполнении операции.

error_code*: null,string

Код ошибки.

reason*: null,string

Сообщение об ошибке.

details: {missing-type-info}

Дополнительные детали ошибки.

error_list:[{}]

Список ошибок валидации.

}
Пример
{...}
"error_code":"validation_error",
"reason":"Передан невалидный объект",
"details":"?",
"error_list":[...]
{}
]
}
403 Нет прав на размещение или кошелёк заблокирован.
Модель
{...}

Ответ об ошибке при выполнении операции.

error_code*: null,string

Код ошибки.

reason*: null,string

Сообщение об ошибке.

details: {missing-type-info}

Дополнительные детали ошибки.

error_list:[{}]

Список ошибок валидации.

}
Пример
{...}
"error_code":"validation_error",
"reason":"Передан невалидный объект",
"details":"?",
"error_list":[...]
{}
]
}
404 Связанный ресурс не найден.
Модель
{...}

Ответ об ошибке при выполнении операции.

error_code*: null,string

Код ошибки.

reason*: null,string

Сообщение об ошибке.

details: {missing-type-info}

Дополнительные детали ошибки.

error_list:[{}]

Список ошибок валидации.

}
Пример
{...}
"error_code":"validation_error",
"reason":"Передан невалидный объект",
"details":"?",
"error_list":[...]
{}
]
}
409 Обнаружен дубликат заявки.
Модель
{...}

Ответ об ошибке при выполнении операции.

error_code*: null,string

Код ошибки.

reason*: null,string

Сообщение об ошибке.

details: {missing-type-info}

Дополнительные детали ошибки.

error_list:[{}]

Список ошибок валидации.

}
Пример
{...}
"error_code":"validation_error",
"reason":"Передан невалидный объект",
"details":"?",
"error_list":[...]
{}
]
}
417 Изменилась цена размещения.
Модель
{...}

Ответ об ошибке при выполнении операции.

error_code*: null,string

Код ошибки.

reason*: null,string

Сообщение об ошибке.

details: {missing-type-info}

Дополнительные детали ошибки.

error_list:[{}]

Список ошибок валидации.

}
Пример
{...}
"error_code":"validation_error",
"reason":"Передан невалидный объект",
"details":"?",
"error_list":[...]
{}
]
}
429 Достигнут ежедневный лимит публикации грузов.
Модель
{...}

Ответ об ошибке при выполнении операции.

error_code*: null,string

Код ошибки.

reason*: null,string

Сообщение об ошибке.

details: {missing-type-info}

Дополнительные детали ошибки.

error_list:[{}]

Список ошибок валидации.

}
Пример
{...}
"error_code":"validation_error",
"reason":"Передан невалидный объект",
"details":"?",
"error_list":[...]
{}
]
}

Груз может быть добавлен:

  1. на Общую площадку - тогда он будет виден всем пользователям 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.

priority_view*:

Конфигурация приоритетного показа: ставка за просмотр и лимиты списания.

ONE-OF
null
}
Пример запроса
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":"?"}}'
Ответ
200 Приоритетный показ сохранён. Тело пустое.
Успешный ответ
400 Невалидные параметры, нет права на операцию, объект не найден, груз не на Общей площадке или создан из лота.
Модель
{...}

Тело ошибки HTTP-метода.

error_code*: string

Машинный код ошибки.

reason*: string

Человекочитаемое описание ошибки.

details: {missing-type-info}

Дополнительные детали ошибки. Может отсутствовать.

}
Пример
{...}
"error_code":"validation_error",
"reason":"Передан невалидный объект.",
"details":"?",
"errors_list":[...]
{...}
"error":"required",
"reason":"Поле priority_view является обязательным."
}
]
}
402 На кошельке не хватает средств на один просмотр по заданной ставке.
Модель
{...}

Тело ошибки HTTP-метода.

error_code*: string

Машинный код ошибки.

reason*: string

Человекочитаемое описание ошибки.

details: {missing-type-info}

Дополнительные детали ошибки. Может отсутствовать.

}
Пример
{...}
"error_code":"validation_error",
"reason":"Передан невалидный объект.",
"details":"?",
"errors_list":[...]
{...}
"error":"required",
"reason":"Поле priority_view является обязательным."
}
]
}
403 Нет прав на оплату услуг: кошелёк заблокирован.
Модель
{...}

Тело ошибки HTTP-метода.

error_code*: string

Машинный код ошибки.

reason*: string

Человекочитаемое описание ошибки.

details: {missing-type-info}

Дополнительные детали ошибки. Может отсутствовать.

}
Пример
{...}
"error_code":"validation_error",
"reason":"Передан невалидный объект.",
"details":"?",
"errors_list":[...]
{...}
"error":"required",
"reason":"Поле priority_view является обязательным."
}
]
}
  1. на Персональную площадку - тогда он будет виден только тем пользователям, которые добавлены на данную Площадку. Создать Площадку и пригласить на нее пользователей вы можете через интерфейс на сайте ATI.SU или через API.
Создать площадку
post /v2/boards/public/boards/create
Параметры
Параметров нет
Запрос
Модель
{...}
all_departments_allowed*: boolean

Площадка доступна всем подразделениям компании. Такую площадку могут видеть все сотрудники, независимо от их подразделения Если передано true, то DepartmentsIds должен быть null или пустым Пример: true

board_exchange_direction*: enum
[input, output, exchange]

Направление обмена информацией на площадке. Передаётся строкой в camelCase и определяет права участников по умолчанию.

Выбор неверного направления из допустимых значений создаст площадку с неподходящими правами, а не вызовет отказ. Неизвестное направление вызывает ошибку. Числа и строки с числовым значением принимаются для совместимости.

  • input — Грузы и машины от участников к владельцу площадки
  • output — Грузы и машины от владельца площадки к участникам
  • exchange — Обмен грузами и машинами между всеми участниками
board_type*: enum
[loads, trucks]

Тип содержимого площадки. Передаётся строкой в camelCase; тот же тип возвращается в board_type списка площадок.

Для создания площадки используйте loads. Другой тип приведёт к ошибке: площадки с машинами пока не поддерживаются. Числа и строки с числовым значением продолжают приниматься для совместимости; используйте строковое имя.

  • loads — Площадка с грузами
  • trucks — Площадка с машинами (зарезервировано, создание пока не поддерживается)
color: string

Цвет плашки площадки Пример: "#d8cfd0"

departments_ids: [int32]

Перечень подразделений компании, которым доступна площадка. В случае, если передан не пустой перечень значение AllDepartmentsAllowed должно быть false. Ответственный контакт ResponsibleContactId должен состоять (принадлежать) хотя бы одному из указанных подразделений Пример: [100302, 100303]

description: string

Описание площадки (можно использовать тэги "b", "i", "span", "u", "ul", "li", "br") Пример: "Лучшая площадка из всех созданных"

name_for_users: string

Публичное имя, видимое участникам площадки (до 50 символов) Пример: "Приходите, покупайте"

private_name: string

Имя, которое видит только владелец площадки (до 50 символов) Пример: "Покупайте, приходите"

public*: boolean

Открытая площадка или закрытая. На открытую может подать заявку на вступление любой пользователь. На закрытую можно попасть только по приглашению владельца. Пример: true

responsible_contact_id: int32

ID контакта ответственного пользователя Пример: 1

subscribe_to_notifications: boolean

Подписывать на уведомления новых участников. Пример: 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}'
Ответ
200 Данные о площадке
Модель
{...}
all_departments_allowed*: boolean

Площадка доступна всем подразделениям компании. Такую площадку могут видеть все сотрудники, независимо от их подразделения Пример: true

available_for_contact*: boolean

Площадка доступна для данного контакта Пример: true

board_exchange_direction*: enum
[input, output, exchange]

Направление обмена информацией на площадке. Передаётся строкой в camelCase и определяет права участников по умолчанию.

Выбор неверного направления из допустимых значений создаст площадку с неподходящими правами, а не вызовет отказ. Неизвестное направление вызывает ошибку. Числа и строки с числовым значением принимаются для совместимости.

  • input — Грузы и машины от участников к владельцу площадки
  • output — Грузы и машины от владельца площадки к участникам
  • exchange — Обмен грузами и машинами между всеми участниками
board_type*: enum
[loads, trucks]

Тип содержимого площадки. Передаётся строкой в camelCase; тот же тип возвращается в board_type списка площадок.

Для создания площадки используйте loads. Другой тип приведёт к ошибке: площадки с машинами пока не поддерживаются. Числа и строки с числовым значением продолжают приниматься для совместимости; используйте строковое имя.

  • loads — Площадка с грузами
  • trucks — Площадка с машинами (зарезервировано, создание пока не поддерживается)
color: string

Цвет площадки Пример: "#d8cfd0"

created_on*: date-time

Время создания площадки (timestamp) Пример: 1556201954901

departments_ids: [int32]

Перечень подразделений компании, которым доступна площадка Пример: [100302, 100303]

id: string

ID площадки (строка 24 символа) Пример: "507f1f77bcf86cd799439011"

name: string

Название площадки Пример: "Образцово-показательная площадка"

owner_ati_id: string

Код участника АТИ создавшего площадку Пример: "1111111"

owner_firm*: int32

Код участника АТИ создавшего площадку Пример: 1111111

updated_on*: date-time

Последнее время изменения площадки (Timestamp) Пример: 1556201954901

view_only_own*: boolean

Участник может видеть только свои грузы/машины Пример: true

}
Пример
{...}
"all_departments_allowed":false,
"available_for_contact":false,
"board_exchange_direction":"input",
"board_type":"loads",
"color":"string",
"created_on":"1970-01-01T00:00:00.000Z",
"departments_ids":[...],
0
],
"id":"string",
"name":"string",
"owner_ati_id":"string",
"owner_firm":0,
"updated_on":"1970-01-01T00:00:00.000Z",
"view_only_own":false
}
400 Ошибка валидации или другая
Модель
{...}
error: string

Код ошибки

reason: string

Текст ошибки

errors_list: [string]

Список ошибок. Поле может отсутствовать в ответе, если для данного типа ошибки оно не предусмотрено

}
Пример
{...}
"error":"string",
"reason":"string",
"details":{...},
"any-key":null
},
"errors_list":[...]
"string"
]
}
Пригласить участника АТИ на площадку
post /v2/boards/public/participants/invite
Параметры
Параметров нет
Запрос
Модель
{...}
ati_id: string

код участника в АТИ

board_id: string

ID площадки

contact_id: int32

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}'
Ответ
200 ID приглашения
Модель
string
Пример
"string"
400 Ошибка валидации
Модель
{...}
error: string

Код ошибки

reason: string

Текст ошибки

errors_list: [string]

Список ошибок. Поле может отсутствовать в ответе, если для данного типа ошибки оно не предусмотрено

}
Пример
{...}
"error":"string",
"reason":"string",
"details":{...},
"any-key":null
},
"errors_list":[...]
"string"
]
}

Полная документация API Площадок.

После того, как Площадка будет создана, вы сможете добавлять на неё грузы.

Добавляя груз, вы можете выбрать, каким образом будет сформирована итоговая ставка за перевозку:

  • если опубликовать груз с запросом ставки, то перевозчики будут предлагать вам свои цены - встречные предложения, из которых вы сможете выбрать наиболее интересный для вас вариант;
  • если опубликовать груз с фиксированной ставкой, но с возможностью торга, то перевозчики смогут сделать вам встречные предложения, опираясь на ту цену, которую изначально указали вы. И у вас также будет возможность выбрать наиболее интересный для вас вариант;
  • если опубликовать груз с фиксированной ставкой, без возможности торга, то его смогут взять те перевозчики, которые будут согласны перевезти груз за указанную вами цену;
  • если опубликовать груз с Торгами (Аукционом), то конечная ставка за перевозку будет сформирована после Торгов.

Безналичных ставок с НДС у груза может быть несколько — набор payment.rates_with_vat, не больше одной на процент. Какие проценты доступны для какой валюты — в разделе Ставки НДС.

Полная документация API грузов.