Skip to content
ATI.SU MCP 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, для начала необходимо добавить груз.

Версия
Создать заявку на груз.
post /v2/cargos
Запрос
Модель
{...}

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

}
Пример запроса
curl 'https://api.ati.su/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":20}],"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 Заявка на груз успешно создана и опубликована.
Модель
{...}

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

}
Пример
{...}
"cargo_application":{...}
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"ABC1234",
"source":2,
"contacts":[...],
0
],
"distance":1794,
"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":{...},
"near_cities":[...],
0
],
"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_id":3611,
"city":{...},
"city_id":3611,
"region_id":21,
"country_id":1
},
"coordinates":{...},
"0":"?"
},
"address":"ул. Набережная, д. 12",
"organization":{...}
"0":"?"
}
},
"unloading":{...},
"near_cities":[...],
0
],
"dates":{...},
"0":"?"
},
"nearby_cities":[...],
{...}
"id":3611,
"distance":25
}
],
"city_id":3611,
"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_id":3611,
"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_with_vat":50000,
"rate_without_vat":50000,
"cash":50000,
"on_card":true,
"rates_with_vat":[...],
{...}
"rate_with_vat":50000,
"vat_percent":20
}
],
"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":[...],
{...}
"id":"9c6cce94-c0e3-eb11-bb99-002590fdcfdb",
"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. При этом он может быть поднят в поиске за счет приоритетного показа, который позволит привлечь больше внимания к грузу и увеличить охват. Метод для добавления и изменения параметров приоритетного показа:
Версия
put /gw/cargos-priority-view-api/v2/cargos/{cargoApplicationId}/priority-view
Запрос
Модель
{...}
}
Пример запроса
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}}'
Ответ
200 Success
Успешный ответ
  1. на Персональную площадку - тогда он будет виден только тем пользователям, которые добавлены на данную Площадку. Создать Площадку и пригласить на нее пользователей вы можете через интерфейс на сайте ATI.SU или через API.
Создать площадку
post /v2/boards/public/boards/create
Запрос
Модель
{...}
all_departments_allowed*: boolean

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

board_exchange_direction*: enum
[0, 1, 2]

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

  • exchange — Обмен грузами/машинами
  • input — Грузы/машины для владельца площадки
  • output - Грузы/машины от владельца площадки
  • 0 — Информация от участников к владельцу

  • 1 — Информация от владельца к участникам

  • 2 — Обмен между всеми участниками

board_type*: enum
[0, 1]

Тип содержимого на площадке

  • loads - Площадка с грузами
  • trucks - Площадка с машинами (зарезервировано, в данный момент такая возможность ещё не доступна)
  • 0 — Грузы

  • 1 — Машины

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":"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 Данные о площадке
Модель
{...}
all_departments_allowed*: boolean

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

available_for_contact*: boolean

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

board_exchange_direction*: enum
[0, 1, 2]

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

  • exchange — Обмен грузами/машинами
  • input — Грузы/машины для владельца площадки
  • output - Грузы/машины от владельца площадки
  • 0 — Информация от участников к владельцу

  • 1 — Информация от владельца к участникам

  • 2 — Обмен между всеми участниками

board_type*: enum
[0, 1]

Тип содержимого на площадке

  • loads - Площадка с грузами
  • trucks - Площадка с машинами (зарезервировано, в данный момент такая возможность ещё не доступна)
  • 0 — Грузы

  • 1 — Машины

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":"0",
"board_type":"0",
"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 Площадок.

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

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

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

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