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.

Опубликованные грузы

Методы для работы с грузами

Добавление груза

Добавляемый груз проверяется на дублирование: если такой груз уже опубликован, новый не добавится и вернётся ошибка 409 Conflict с кодом duplicate_error.

Безналичную ставку с НДС передавайте набором payment.rates_with_vat — в нём может быть несколько ставок с разными процентами НДС. Допустимые проценты зависят от валюты груза — см. Ставки НДС. Одиночное поле rate_with_vat устарело. Метод v1.0 проценты НДС не поддерживает.

Ограничения метода

Ограничение частоты: не более 500 запросов на создание грузов за 24 часа на один контакт. Лимит обнуляется ежедневно в 00:00.
Общий лимит для фирмы рассчитывается так: количество контактов × 500 — это суточный суммарный лимит на все операции всех контактов.
При достижении лимита сервер возвращает статус-код 429 Too Many Requests. Новые запросы будут отклоняться до следующего обнуления в 00:00.

Пример. У фирмы 3 контакта — общий лимит 3 × 500 = 1500 операций в сутки. После достижения 1500 операций все последующие запросы на выполнение операции до 00:00 будут отклоняться сервером с кодом 429 Too Many Requests.

Версия
Создать заявку на груз. 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],"city_id":3611,"address":"Набережная","coordinates":{"0":"?"},"location":{"type":"manual","city_id":3611,"address":"Набережная","coordinates":{"0":"?"}}},"unloading":{"dates":{"0":"?"},"near_cities":[0],"city_id":3611,"address":"Набережная","coordinates":{"0":"?"},"location":{"type":"manual","city_id":3611,"address":"Набережная","coordinates":{"0":"?"}}},"way_points":[{"type":"loading","cargos":[{"name":"Автомобиль(ли)","weight":{"0":"?"},"volume":{"0":"?"},"packaging":{"0":"?"},"sizes":{"0":"?"},"id":1}],"loading_date":{"0":"?"},"city_id":3611,"address":"Набережная","coordinates":{"0":"?"},"location":{"type":"manual","city_id":3611,"address":"Набережная","coordinates":{"0":"?"}}}],"is_round_trip":true},"truck":{"trucks_count":1,"load_type":"ftl","body_types":[0],"body_loading":{"0":"?"},"body_unloading":{"0":"?"},"temperature":{"0":"?"},"documents":{"0":"?"},"requirements":{"0":"?"},"adr":3,"belts_count":4,"is_tracking":true,"required_capacity":20},"payment":{"type":"with-bargaining","auto_invites_settings":{"0":"?"},"currency_type":1,"rate_with_vat":50000,"rate_without_vat":50000,"cash":50000,"on_card":true,"rates_with_vat":[{"rate_with_vat":50000,"vat_percent":22}],"hide_counter_offers":true,"direct_offer":true,"prepayment":{"0":"?"},"payment_mode":{"0":"?"}},"documents":[{"id":"9c6cce94-c0e3-eb11-bb99-002590fdcfdb","file_id":"6b35842b8386446c82a43726f139abe1"}],"boards":[{"id":"a0a0a0a0a0a0a0a0a0a0a0a0","publication_mode":"now","publication_time":"2024-01-15T10:30:00+00:00","cancel_publish_on_auction_bet":true,"reservation_enabled":true}],"paid_features":{"priority_view":{"0":"?"},"stealth":{"0":"?"}},"note":"Тестовый груз","contacts":[0]}}'
Ответ
200 Заявка на груз успешно создана и опубликована.
Модель
{...}

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

}
Пример
{...}
"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":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":[...],
{...}
"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":[...]
{}
]
}

Редактирование груза

Отредактированный груз проверяется на дублирование: если такой груз уже опубликован, изменения не сохранятся и вернётся ошибка 409 Conflict с кодом duplicate_error.
При редактировании груза, как и при добавлении, нужно указывать все необходимые параметры, а не только изменяемые.
Набор payment.rates_with_vat тоже передаётся целиком: груз сохранит ровно те ставки, которые пришли в запросе.

Ограничения метода

Ограничение частоты: не более 5000 запросов за 24 часа на один контакт. При достижении лимита сервер возвращает 429 Too Many Requests в течение 24 часов.

Версия
Редактировать опубликованную заявку на груз. API для интеграции. Редактирует опубликованную заявку от имени текущего пользователя.
put /gw/cargos_create_v2/integration/v2/cargos/{cargoApplicationId}
Параметры
Параметр Тип Расположение Описание
cargoApplicationId обязательный string (uuid) path
Идентификатор редактируемой заявки на груз. Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Модель
{...}

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

}
Пример запроса
curl 'https://api.ati.su/gw/cargos_create_v2/integration/v2/cargos/{cargoApplicationId}' \
-X 'PUT' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"cargo_application":{"external_id":"EXT-12345","route":{"loading":{"dates":{"type":"ready","is_available_tomorrow":true,"time":{"0":"?"}},"cargos":[{"name":"Автомобиль(ли)","weight":{"0":"?"},"volume":{"0":"?"},"packaging":{"0":"?"},"sizes":{"0":"?"},"id":1}],"near_cities":[0],"city_id":3611,"address":"Набережная","coordinates":{"0":"?"},"location":{"type":"manual","city_id":3611,"address":"Набережная","coordinates":{"0":"?"}}},"unloading":{"dates":{"0":"?"},"near_cities":[0],"city_id":3611,"address":"Набережная","coordinates":{"0":"?"},"location":{"type":"manual","city_id":3611,"address":"Набережная","coordinates":{"0":"?"}}},"way_points":[{"type":"loading","cargos":[{"name":"Автомобиль(ли)","weight":{"0":"?"},"volume":{"0":"?"},"packaging":{"0":"?"},"sizes":{"0":"?"},"id":1}],"loading_date":{"0":"?"},"city_id":3611,"address":"Набережная","coordinates":{"0":"?"},"location":{"type":"manual","city_id":3611,"address":"Набережная","coordinates":{"0":"?"}}}],"is_round_trip":true},"truck":{"trucks_count":1,"load_type":"ftl","body_types":[0],"body_loading":{"0":"?"},"body_unloading":{"0":"?"},"temperature":{"0":"?"},"documents":{"0":"?"},"requirements":{"0":"?"},"adr":3,"belts_count":4,"is_tracking":true,"required_capacity":20},"payment":{"type":"with-bargaining","auto_invites_settings":{"0":"?"},"currency_type":1,"rate_with_vat":50000,"rate_without_vat":50000,"cash":50000,"on_card":true,"rates_with_vat":[{"rate_with_vat":50000,"vat_percent":22}],"hide_counter_offers":true,"direct_offer":true,"prepayment":{"0":"?"},"payment_mode":{"0":"?"}},"documents":[{"id":"9c6cce94-c0e3-eb11-bb99-002590fdcfdb","file_id":"6b35842b8386446c82a43726f139abe1"}],"boards":[{"id":"a0a0a0a0a0a0a0a0a0a0a0a0","publication_mode":"now","publication_time":"2024-01-15T10:30:00+00:00","cancel_publish_on_auction_bet":true,"reservation_enabled":true}],"paid_features":{"priority_view":{"0":"?"},"stealth":{"0":"?"}},"note":"Тестовый груз","contacts":[0]}}'
Ответ
200 Заявка на груз успешно обновлена.
Модель
{...}

Ответ на обновление заявки на груз через Integration 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":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":[...],
{...}
"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":[...]
{}
]
}
423 Слишком рано для повторного редактирования.
Модель
{...}

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

error_code*: null,string

Код ошибки.

reason*: null,string

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

details: {missing-type-info}

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

error_list:[{}]

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

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

Получение одного груза

Версия
Получить опубликованную заявку на груз. API для интеграции. Возвращает опубликованную заявку на груз текущего пользователя.
get /gw/cargos_create_v2/integration/v2/cargos/{cargoApplicationId}
Параметры
Параметр Тип Расположение Описание
cargoApplicationId обязательный string (uuid) path
Идентификатор заявки на груз. Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargos_create_v2/integration/v2/cargos/{cargoApplicationId}' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Заявка на груз найдена и возвращена.
Модель
{...}

Контракт заявки груза, ожидаемый в ответах integration http методов работы с грузами

cargo_id: uuid

ID груза OBSOLETE используй поле CargoApplicationId

cargo_number: string

Номер груза, автоматически генерируемый ATI.SU OBSOLETE используй поле CargoApplicationNumber

source: int32

OBSOLETE используй поле OriginSource

contacts: [int32]

Контакты OBSOLETE используй поле ApplicationContacts

distance: int32

Дистанция, км

cargo_application_id*: uuid

Id груза

snapshot_id*: int64

Id состояния груза (меняется при каждом редактировании)

cargo_application_number*: string

Номер груза, автоматически генерируемый ATI.SU

department_id*: int32

Подразделение, которому принадлежит заявка.

persistent_user_id*: int32

Идентификатор пользователя, разместившего заявку

actor_contact_id: int32

Идентификатор контакта, разместившего заявку

external_id: null,string

Внешний номер груза или заказа

added_at*: date-time

Время добавления груза, UTC

updated_at*: date-time

Время последнего изменения груза, UTC

refreshed_at: date-time

Время последнего поднятия груза, UTC

origin_source*: string

Использованный api при создания груза: - web-cargos-api, - mobile-cargos-api, - public-cargos-api

paid_features:

Платные услуги

ONE-OF
null
note: null,string

Примечание к грузу

lot_id: uuid

Id Лота, к которому прикреплён данный груз

lot_number: int32

Номер Лота, к которому прикреплён данный груз

is_pass_through_copy: null,boolean

Является ли груз сквозной копией

is_archived: null,boolean

Отправлен ли груз в архив

archive_date: date-time

Время отправки груза в архив, UTC

true_price: int32

Истинная ставка на груз после жалоб "Озвученная ставка"

true_currency_id: int32

Истинная валюта ставки на груз после жалоб "Озвученная ставка"

client_application_id: null,string

Идентификатор интегратора (клиентского приложения), через которое был создан груз

}
Пример
{...}
"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":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":[...],
{...}
"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"
}
404 Заявка на груз не найдена.
Модель
{...}

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

error_code*: null,string

Код ошибки.

reason*: null,string

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

details: {missing-type-info}

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

error_list:[{}]

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

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

Получение всех своих грузов

Доступен фильтр по контакту. При передаче значения в contactId будут получены только те грузы, у которых ContactId1 == contactId либо ContactId2 == contactId.
Получать этим методом чужие грузы с общей площадки нельзя. Метод предназначен для работы со своими грузами.

Получение всех грузов фирмы. API для интеграции. Отдаются только опубликованные грузы фирмы, от имени которой выпущен токен; архивные лежат в unpublished-loads. Без contactId возвращаются грузы всех контактов фирмы.
get /v1.0/loads
Параметры
Параметр Тип Расположение Описание
contactId integer (int32) query
Идентификатор контакта. Пример: 0
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/loads' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Грузы фирмы.
Модель
[{...}]

Груз в ответе: поля публикации и вычисляемые сервисом.

LoadMeta:

Метаданные публикации: по их идентификатору можно получить все грузы, размещённые одной публикацией

ONE-OF
ContactId1*: int32

Идентификатор первого выбранного контакта. dict: GET https://api.ati.su/firms/v1.0/contacts → id. Список всех контактов и их идентификаторы можно получить с помощью API для работы с фирмами. Контакт должен быть виден для остальных участников АТИ

ContactId2: int32 (nullable)

Идентификатор второго выбранного контакта, если не выбрано, то null. Контакт должен быть виден для остальных участников АТИ

Note: string

Примечание к грузу. Ограничение по длине: 1000 символов

FirstDate: date-time

Дата, начиная с которой груз актуален, в формате UTC. Минимальное значение равно текущей дате. При значении параметра DateType равным 0, допустимое значение поля - текущая дата. При значении параметра DateType равным 1, допустимое значение поля - от текущей даты до 2 месяцев вперед. При значении параметра DateType равным 2, допустимое значение поля - текущая дата. При значении параметра DateType равным 3, FirstDate должен принимать значение текущей даты или отсутствовать

LastDate: date-time

Дата, после которой груз не актуален, в формате UTC. Минимальное значение равно значению параметра FirstDate. При значении параметра DateType равным 0, допустимое значение поля - от текущей даты до 1 дня вперед. При значении параметра DateType равным 1, допустимое значение поля - от даты в параметре FirstDate до 9 дней вперед. При значении параметра DateType равным 2, сервис вычисляет поле как FirstDate + 2 месяца, передаваемое значение игнорируется. При значении параметра DateType равным 3, LastDate автоматически устанавливается на значение + 2 дня от текущей даты, передаваемое значение игнорируется

DateType: int32

Тип готовности груза к перевозке, по умолчанию 0

  • 0 - Готов к загрузке
  • 1 - в период с FirstDate по LastDate
  • 2 - постоянно
  • 3 - груза нет, запрос ставки
PeriodicityId: int32

Периодичность загрузки. Если параметр DateType не равен 2, PeriodicityId равен 0. Иначе PeriodicityId может принимать следующие значения:

  • 1 - ежедневно
  • 100 - по рабочим дням
OrderNumber: string

Номер заказа. Ограничение по длине: 250 символов

Krugoreis: boolean

Включён ли кругорейс

Loading*:

Точка погрузки

ONE-OF
Unloading*:

Точка выгрузки

ONE-OF
Cargo*:

Что везём: наименование, вес, объём, упаковка

ONE-OF
Transport*:

Требования к транспорту: кузов, варианты загрузки и выгрузки

ONE-OF
Payment*:

Условия оплаты и ставка

ONE-OF
InviteSettings:

Настройки автоприглашений

ONE-OF
PriorityView:

Приоритетный показ

ONE-OF
Stealth:

Настройки показа груза

ONE-OF
Deal:

Сделка, в рамках которой размещён груз

ONE-OF
UnloadFirstDate: date-time (nullable)

Дата начала разгрузки, в формате UTC. Может иметь значение null. Минимальное значение равно текущей дате. Не указывается при значении параметра DateType равным 3

UnloadLastDate: date-time (nullable)

Дата окончания разгрузки, в формате UTC. Может иметь значение null. Если нет даты начала разгрузки UnloadFirstDate, должна отсутствовать дата окончания разгрузки UnloadLastDate. Не указывается при значении параметра DateType равным 3

ArchiveDate: date-time (nullable)

Дата и время переноса в архив

ArchiveReason:

Причина переноса в архив

ONE-OF

(nullable)

enum
[Unknown, System, Manual, Complaints, UnwantedContent, DeleteCsvLoad, MergeLoadsAfterEdit, ContactDoesNotHaveAccessToVirtualPayments, VerticesLoadDelete, StealthStatisticError, CheckDuplicateComplaints, DeleteContact, DeleteFirm, CleanOldLoadsJob]

Причина, по которой груз оказался в архиве.

  • VerticesLoadDelete - Снят при сквозной передаче груза
  • StealthStatisticError - Снят из-за ошибки при подсчёте статистики Стелса
  • CheckDuplicateComplaints - Снят при проверке дублирующих жалоб
  • DeleteContact - Удалён контакт
  • DeleteFirm - Удалена фирма
  • CleanOldLoadsJob - Истёк срок актуальности
  • Unknown - Причина не определена
  • System - Снят системой
  • Manual - Снят с публикации владельцем
  • Complaints - Снят по жалобам
  • UnwantedContent - Снят за недопустимое содержимое
  • DeleteCsvLoad - Удалён вместе с CSV-загрузкой
  • MergeLoadsAfterEdit - Объединён с другим грузом после редактирования
  • ContactDoesNotHaveAccessToVirtualPayments - Снят: у контакта нет права оплачивать услугу со счёта фирмы
TruePrice: int32

Озвученная ставка

TrueCurrencyId: int32

Идентификатор валюты озвученной ставки. dict: GET /v1.0/dictionaries/currencyTypes → Id

ResponseCount: int32

Количество отзывов о грузе (без встречных предложений)

OfferCount: int32

Количество встречных предложений (остальные отзывы не учитываются)

CanBeDeleted: boolean

Можно ли снять груз с публикации

HasPermissionsToLoad: boolean

Есть ли у текущего контакта доступ к грузу: контакт указан в грузе или имеет доступ к его подразделению

CanBeEdited: boolean

Можно ли редактировать груз

CanBeRenewed: boolean

Можно ли обновить груз

CanBeRestored: boolean

Можно ли восстановить груз из архива

EditRestriction:

Причина отказа в редактировании груза, 0 — доступ есть. dict: GET /v1.0/dictionaries/load_access_denied_reasons → ключ

ONE-OF
enum
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

Причина отказа в доступе к грузу.

  • 0 - Вы имеете доступ к работе с грузом
  • 1 - Ваша фирма больше не может размещать грузы из-за нарушения правил АТИ
  • 2 - Груз зарезервирован или взят, операции с грузом запрещены
  • 3 - Превышен лимит актуальных грузов
  • 4 - Вы пытаетесь работать с грузами под общим пользователем, недостаточно прав
  • 5 - У вашего контакта недостаточно прав для работы с данным грузом
  • 6 - Груз имеет завершённые торги, операции с грузом запрещены
  • 7 - Сервис сделок временно недоступен
  • 8 - Нельзя изменять или удалять груз из сквозных торгов
  • 9 - У вашего контакта недостаточно прав для создания грузов
  • 10 - У вашего контакта недостаточно прав для работы с виртуальными кошельками
  • 11 - У вашего контакта недостаточно прав для работы с грузами на общей площадке
  • 12 - У вашего контакта недостаточно прав для работы с грузами на персональных площадках
  • 13 - У вашего контакта нет доступа к одной или нескольким персональным площадкам, указанным в грузе
  • 14 - У вашего контакта нет доступа к подразделению груза
  • 15 - Ваш контакт должен быть указан первым в грузе
  • 16 - Груз не опубликован ни на одной площадке
DeleteRestriction:

Причина отказа в снятии груза с публикации, 0 — доступ есть. dict: GET /v1.0/dictionaries/load_access_denied_reasons → ключ

ONE-OF
enum
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

Причина отказа в доступе к грузу.

  • 0 - Вы имеете доступ к работе с грузом
  • 1 - Ваша фирма больше не может размещать грузы из-за нарушения правил АТИ
  • 2 - Груз зарезервирован или взят, операции с грузом запрещены
  • 3 - Превышен лимит актуальных грузов
  • 4 - Вы пытаетесь работать с грузами под общим пользователем, недостаточно прав
  • 5 - У вашего контакта недостаточно прав для работы с данным грузом
  • 6 - Груз имеет завершённые торги, операции с грузом запрещены
  • 7 - Сервис сделок временно недоступен
  • 8 - Нельзя изменять или удалять груз из сквозных торгов
  • 9 - У вашего контакта недостаточно прав для создания грузов
  • 10 - У вашего контакта недостаточно прав для работы с виртуальными кошельками
  • 11 - У вашего контакта недостаточно прав для работы с грузами на общей площадке
  • 12 - У вашего контакта недостаточно прав для работы с грузами на персональных площадках
  • 13 - У вашего контакта нет доступа к одной или нескольким персональным площадкам, указанным в грузе
  • 14 - У вашего контакта нет доступа к подразделению груза
  • 15 - Ваш контакт должен быть указан первым в грузе
  • 16 - Груз не опубликован ни на одной площадке
RestoreRestriction:

Причина отказа в восстановлении груза из архива, 0 — доступ есть. dict: GET /v1.0/dictionaries/load_access_denied_reasons → ключ

ONE-OF
enum
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

Причина отказа в доступе к грузу.

  • 0 - Вы имеете доступ к работе с грузом
  • 1 - Ваша фирма больше не может размещать грузы из-за нарушения правил АТИ
  • 2 - Груз зарезервирован или взят, операции с грузом запрещены
  • 3 - Превышен лимит актуальных грузов
  • 4 - Вы пытаетесь работать с грузами под общим пользователем, недостаточно прав
  • 5 - У вашего контакта недостаточно прав для работы с данным грузом
  • 6 - Груз имеет завершённые торги, операции с грузом запрещены
  • 7 - Сервис сделок временно недоступен
  • 8 - Нельзя изменять или удалять груз из сквозных торгов
  • 9 - У вашего контакта недостаточно прав для создания грузов
  • 10 - У вашего контакта недостаточно прав для работы с виртуальными кошельками
  • 11 - У вашего контакта недостаточно прав для работы с грузами на общей площадке
  • 12 - У вашего контакта недостаточно прав для работы с грузами на персональных площадках
  • 13 - У вашего контакта нет доступа к одной или нескольким персональным площадкам, указанным в грузе
  • 14 - У вашего контакта нет доступа к подразделению груза
  • 15 - Ваш контакт должен быть указан первым в грузе
  • 16 - Груз не опубликован ни на одной площадке
RenewRestriction: string

Причина отказа в обновлении груза. Пустая строка, если обновление доступно

Id: guid

Идентификатор груза

LoadNumber: string

Номер груза

UpdatedAt: date-time

Дата последнего изменения груза в UTC

AddedAt: date-time

Дата публикации груза в UTC

RefreshedAt: date-time

Дата последнего обновления груза в выдаче, в UTC

Distance: int32

Расстояние по дорогам в километрах

PlatonRoadsLength: int32

Протяжённость участков маршрута, за которые взимается плата по системе «Платон», в километрах

TollRoadsLength: int32

Протяжённость платных дорог на маршруте в километрах

TravelTime: string

Расчётное время в пути в формате [d.]hh:mm:ss

Zimnik: boolean

Учитывать ли зимники при построении маршрута

Ferries: boolean

Учитывать ли паромные переправы при построении маршрута

FirmId: string

Идентификатор фирмы

AuctionId: guid (nullable)

Идентификатор аукциона по грузу

}]
Пример
[...]
{...}
"LoadMeta":{...},
"LoadMetaId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"MetaData":"import-2026-09"
},
"ContactId1":1234567,
"ContactId2":1234568,
"Note":"Погрузка с 9 до 18, пропуск заказывать заранее",
"FirstDate":"2026-09-08T00:00:00.000Z",
"LastDate":"2026-09-10T00:00:00.000Z",
"DateType":1,
"PeriodicityId":0,
"OrderNumber":"ЗК-2026-0917",
"Krugoreis":false,
"Loading":{...},
"CityId":1,
"Latitude":59.939095,
"Longitude":30.315868,
"Street":"ул. Салова, 57",
"OrganizationId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"AddressId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"TimeStart":"2026-09-08T09:00:00.000Z",
"TimeEnd":"2026-09-08T18:00:00.000Z",
"IsRoundTheClock":false,
"LargeCities":[...],
0
],
"LoadingCargos":[...]
{...}
"CargoId":1,
"NameId":1,
"Name":"Продукты питания",
"PackagingType":1,
"PackagingQuantity":20,
"Weight":20,
"Volume":82,
"Sizes":{...}
"Length":13.6,
"Width":2.45,
"Height":2.7,
"Diameter":1.2,
"LengthHighlight":false,
"WidthHighlight":false,
"HeightHighlight":false
}
}
]
},
"ExtraPoints":[...],
{...}
"CityId":1,
"PointType":2,
"Latitude":59.939095,
"Longitude":30.315868,
"Street":"пр. Ленина, 10",
"OrganizationId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"AddressId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"OrdinalId":1,
"IsRoundTheClock":false,
"LoadingDateStart":"2026-09-09T00:00:00.000Z",
"LoadingDateEnd":"2026-09-09T00:00:00.000Z",
"LoadingTimeStart":"09:00:00",
"LoadingTimeEnd":"18:00:00",
"LoadingCargos":[...],
{...}
"CargoId":1,
"NameId":1,
"Name":"Продукты питания",
"PackagingType":1,
"PackagingQuantity":20,
"Weight":20,
"Volume":82,
"Sizes":{...}
"Length":13.6,
"Width":2.45,
"Height":2.7,
"Diameter":1.2,
"LengthHighlight":false,
"WidthHighlight":false,
"HeightHighlight":false
}
}
],
"UnloadingCargos":[...]
{...}
"CargoId":1,
"Weight":10,
"Volume":40,
"PackagingQuantity":10,
"IsDefinedByTtn":false
}
]
}
],
"Unloading":{...},
"CityId":1,
"Latitude":59.939095,
"Longitude":30.315868,
"Street":"ул. Салова, 57",
"OrganizationId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"AddressId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"TimeStart":"2026-09-08T09:00:00.000Z",
"TimeEnd":"2026-09-08T18:00:00.000Z",
"IsRoundTheClock":false,
"LargeCities":[...],
0
],
"LoadingCargos":[...]
{...}
"CargoId":1,
"NameId":1,
"Name":"Продукты питания",
"PackagingType":1,
"PackagingQuantity":20,
"Weight":20,
"Volume":82,
"Sizes":{...}
"Length":13.6,
"Width":2.45,
"Height":2.7,
"Diameter":1.2,
"LengthHighlight":false,
"WidthHighlight":false,
"HeightHighlight":false
}
}
]
},
"Cargo":{...},
"Weight":20,
"Volume":82,
"ADR":0,
"CargoTypeId":59,
"CargoType":"Стройматериалы",
"PackType":1,
"PalletCount":33,
"BeltCount":0,
"DogruzType":1,
"SborGruz":false,
"Size":{...}
"Length":13.6,
"Width":2.45,
"Height":2.7,
"Diameter":1.2,
"LengthHighlight":false,
"WidthHighlight":false,
"HeightHighlight":false
}
},
"Transport":{...},
"CarType":5,
"CarTypeString":"5",
"LoadingType":3,
"LoadingLogicalOperator":"OR",
"UnloadingType":3,
"UnloadingLogicalOperator":"OR",
"TrucksQuantity":1,
"TemperatureFrom":-18,
"TemperatureTo":4,
"Stsepka":false,
"Pnevmohod":false,
"Koniki":false,
"TIR":false,
"CMR":false,
"T1":false,
"SanPassport":false,
"IsTracking":false,
"RequiredCapacity":20
},
"Payment":{...},
"CurrencyId":1,
"MoneyType":22,
"RateSum":85000,
"SumWithNDS":102000,
"SumWithoutNDS":85000,
"PrepayPercent":30,
"PrepayPercentEnabled":true,
"PayDays":5,
"PayDaysEnabled":true,
"FixedRate":true,
"Torg":false,
"DirectContract":false,
"InFuel":false,
"OnUnloading":false,
"HideResponses":false,
"AcceptPaymentTypes":0
},
"InviteSettings":{...},
"InviteDelayInSeconds":600,
"InviteDurationInSeconds":3600,
"MaxPercentDeviation":10,
"NeedArchiveOnInvite":false
},
"PriorityView":{...},
"DailyLimit":500,
"IsForPayedOnly":false,
"OrderLimit":100,
"ViewRate":1.5,
"MoneySpentPerDay":12,
"MoneySpentPerOrder":45
},
"Stealth":{...},
"ListIdToHide":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"FirmRegDateToHide":"2024-01-01T00:00:00.000Z",
"ScoreToHide":3
},
"LoadFiles":[...],
{...}
"FileId":"a1b2c3d4e5f6a7b8c9d0e1f2",
"FileType":1,
"Attributes":0,
"Name":"Договор.pdf",
"Link":"https://api.ati.su/gw/plyushkin/v1/a1b2c3d4e5f6a7b8c9d0e1f2",
"Size":-1
}
],
"Deal":{...},
"Auction":{...}
"StartRate":50000,
"Currency":1,
"Step":500,
"PaymentType":0,
"AcceptSecondPayType":false,
"StartDate":"2026-09-08T09:00:00.000Z",
"EndDate":"2026-09-08T12:00:00.000Z",
"EndDateBoundary":"2026-09-09T09:00:00.000Z",
"Nds":20,
"TimeToProvideDocuments":4,
"AutoRenew":true,
"RenewTime":5,
"MaxRenewTime":30,
"RaiseBid":false,
"MaxRate":60000,
"RaiseBidInterval":30,
"ResponseInMinutes":15,
"Duration":180,
"StartSinceFirstBet":false,
"AuctionRestartParameters":{...},
"AuctionFinishAction":0,
"InitRestartCount":1,
"InitChangeWinnerCount":1,
"DurationAfterRestart":120,
"RateIncrease":500,
"RateIncreaseOption":1
},
"AcceptCounterOffersOnlyBeforeFirstBet":false,
"WinnerCriterion":0,
"Source":0,
"AuctionId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ActiveDealId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"State":0,
"Finished":false,
"WinDate":"2026-09-08T12:05:00.000Z",
"AuctionRates":[...]
{...}
"AuctionRateId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"AddedAt":"2026-09-08T10:15:30.000Z",
"RateFirm":{...},
"Score":4.5,
"Status":0,
"Name":"ООО «Перевозчик»",
"ContactName":"Иван Петров",
"AtiId":"1234567"
},
"Rate":48000,
"State":0,
"LoadingDate":"2026-09-09T00:00:00.000Z",
"FirmId":7654321,
"ContactId":0
}
]
}
},
"Boards":[...],
{...}
"BoardId":"a0a0a0a0a0a0a0a0a0a0a0a0",
"PublicationTime":"2026-09-08T12:00:00.000Z",
"IsReservationEnabled":false,
"PublicationOption":0,
"IsPublished":true,
"IsCommonBoard":true
}
],
"UnloadFirstDate":"2026-09-11T00:00:00.000Z",
"UnloadLastDate":"2026-09-12T00:00:00.000Z",
"ArchiveDate":"2026-09-07T10:15:30.000Z",
"ArchiveReason":"Unknown",
"TruePrice":85000,
"TrueCurrencyId":1,
"ResponseCount":3,
"OfferCount":2,
"CanBeDeleted":true,
"HasPermissionsToLoad":true,
"CanBeEdited":true,
"CanBeRenewed":true,
"CanBeRestored":false,
"EditRestriction":0,
"DeleteRestriction":0,
"RestoreRestriction":0,
"RenewRestriction":"Груз можно обновить не ранее чем через 40 минут",
"Id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadNumber":"12345678",
"UpdatedAt":"2026-09-07T10:15:30.000Z",
"AddedAt":"2026-09-05T08:00:00.000Z",
"RefreshedAt":"2026-09-07T09:00:00+00:00",
"Distance":712,
"PlatonRoadsLength":540,
"TollRoadsLength":120,
"TravelTime":"10:30:00",
"Zimnik":false,
"Ferries":false,
"FirmId":"1234567",
"AuctionId":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
]
404 Контакт не найден в фирме.
Модель
{...}

Ошибка вместо результата: машинный ключ и пояснение для пользователя.

Reason: string

Причина ошибки

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"Контакт не существует",
"Error":"contact_not_found_error"
}

Обновление одного груза

Версия
Обновить заявку на груз. API для интеграции. Поднимает в поисковой выдаче одну опубликованную заявку.
put /gw/cargos_create_v2/integration/v2/cargos/{requestedCargoApplicationId}/refresh
Параметры
Параметр Тип Расположение Описание
requestedCargoApplicationId обязательный string (uuid) path
Идентификатор обновляемой заявки на груз. Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargos_create_v2/integration/v2/cargos/{requestedCargoApplicationId}/refresh' \
-X 'PUT' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Заявка на груз успешно обновлена.
Успешный ответ
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":[...]
{}
]
}
423 Слишком рано для повторного обновления.
Модель
{...}

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

error_code*: null,string

Код ошибки.

reason*: null,string

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

details: {missing-type-info}

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

error_list:[{}]

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

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

Обновление нескольких грузов

Версия
Обновить несколько заявок на груз. API для интеграции. Поднимает в поисковой выдаче указанные опубликованные заявки. Максимум — 100 идентификаторов за один запрос.
put /gw/cargos_create_v2/integration/v2/cargos/refresh
Параметры
Параметров нет
Запрос
Модель
[uuid]
Пример запроса
curl 'https://api.ati.su/gw/cargos_create_v2/integration/v2/cargos/refresh' \
-X 'PUT' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '["3fa85f64-5717-4562-b3fc-2c963f66afa6"]'
Ответ
200 Результат обновления по каждой заявке.
Модель
{...}

Ответ на обновление (refresh) заявок на груз через Integration API.

refresh_operation_responses*: null,object

Результаты обновления грузов. Ключ — id заявки, значение — результат операции.

}
Пример
{...}
"refresh_operation_responses":{...}
"any-key":{...}
"type":"success",
"error_code":"validation_error",
"reason":"Передан невалидный объект",
"details":"?",
"error_list":[...]
{}
]
}
}
}
400 Превышен лимит количества грузов в запросе.
Модель
{...}

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

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":[...]
{}
]
}
423 Слишком рано для повторного обновления.
Модель
{...}

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

error_code*: null,string

Код ошибки.

reason*: null,string

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

details: {missing-type-info}

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

error_list:[{}]

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

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

Архивация одного груза

В API v2 для архивации одного груза передайте его идентификатор в массиве cargo_application_ids.

Версия
Отправить несколько заявок на груз в архив. API для интеграции. Снимает опубликованные заявки с площадок и переводит их в архив. Максимум — 100 идентификаторов за один запрос.
put /gw/cargos_create_v2/integration/v2/cargos/archive
Параметры
Параметров нет
Запрос
Модель
{...}

Запрос на архивацию нескольких заявок на груз через Integration API.

cargo_application_ids*: [uuid]

Идентификаторы заявок на груз для архивации.

}
Пример запроса
curl 'https://api.ati.su/gw/cargos_create_v2/integration/v2/cargos/archive' \
-X 'PUT' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"cargo_application_ids":["3fa85f64-5717-4562-b3fc-2c963f66afa6"]}'
Ответ
200 Результат архивации по каждой заявке.
Модель
{...}

Ответ на архивацию заявок на груз через Integration API.

cargo_application_ids*: null,object

Результаты архивации грузов. Ключ — id заявки, значение — результат операции.

}
Пример
{...}
"cargo_application_ids":{...}
"any-key":{...}
"type":"success",
"error_code":"validation_error",
"reason":"Передан невалидный объект",
"details":"?",
"error_list":[...]
{}
]
}
}
}
400 Пустой массив id или превышен лимит количества грузов в запросе.
Модель
{...}

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

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":[...]
{}
]
}

Архивация нескольких грузов

Версия
Отправить несколько заявок на груз в архив. API для интеграции. Снимает опубликованные заявки с площадок и переводит их в архив. Максимум — 100 идентификаторов за один запрос.
put /gw/cargos_create_v2/integration/v2/cargos/archive
Параметры
Параметров нет
Запрос
Модель
{...}

Запрос на архивацию нескольких заявок на груз через Integration API.

cargo_application_ids*: [uuid]

Идентификаторы заявок на груз для архивации.

}
Пример запроса
curl 'https://api.ati.su/gw/cargos_create_v2/integration/v2/cargos/archive' \
-X 'PUT' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"cargo_application_ids":["3fa85f64-5717-4562-b3fc-2c963f66afa6"]}'
Ответ
200 Результат архивации по каждой заявке.
Модель
{...}

Ответ на архивацию заявок на груз через Integration API.

cargo_application_ids*: null,object

Результаты архивации грузов. Ключ — id заявки, значение — результат операции.

}
Пример
{...}
"cargo_application_ids":{...}
"any-key":{...}
"type":"success",
"error_code":"validation_error",
"reason":"Передан невалидный объект",
"details":"?",
"error_list":[...]
{}
]
}
}
}
400 Пустой массив id или превышен лимит количества грузов в запросе.
Модель
{...}

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

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":[...]
{}
]
}

Изменение приоритетного показа

Версия
Сохранение или обновление настроек приоритетного показа на груз
put /gw/cargos-priority-view-api/v2/cargos/{cargoApplicationId}/priority-view
Параметры
Параметр Тип Расположение Описание
cargoApplicationId обязательный string (uuid) path
Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Модель
{...}
}
Пример запроса
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
Успешный ответ

Удаление приоритетного показа

Версия
Удаление настроек приоритетного показа с груза
delete /gw/cargos-priority-view-api/v2/cargos/{cargoApplicationId}/priority-view
Параметры
Параметр Тип Расположение Описание
cargoApplicationId обязательный string (uuid) path
Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargos-priority-view-api/v2/cargos/{cargoApplicationId}/priority-view' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Success
Успешный ответ

Методы для работы с комментариями к грузам

Получение всех комментариев ко всем грузам для текущей фирмы

Ответ будет представлен в виде словаря, где ключ - это id груза, а значение - массив структуры “комментарий”.

Получение всех комментариев фирмы ко всем грузам. API для интеграции. Возвращаются комментарии вашей фирмы ко всем её опубликованным грузам.
get /v1.0/loads/comments
Параметры
Параметров нет
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/loads/comments' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Комментарии фирмы по грузам. Ключ — идентификатор груза.
Модель
{...}
}
Пример
{...}
"3fa85f64-5717-4562-b3fc-2c963f66afa6":[]
}

Получение всех комментариев к грузу для текущей фирмы

Получение комментариев фирмы к грузу. API для интеграции. Комментарий виден только фирме, которая его оставила: чужие комментарии к тому же грузу не возвращаются.
get /v1.0/loads/{loadId}/comments
Параметры
Параметр Тип Расположение Описание
loadId обязательный string (guid) path
Идентификатор груза. Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/loads/{loadId}/comments' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Комментарии фирмы к грузу.
Модель
[{...}]

Комментарий фирмы к грузу.

CommentId: guid

Идентификатор комментария

LoadId: guid

Идентификатор груза, к которому оставлен комментарий

Message: string

Текст комментария

ContactId: int32

Идентификатор контакта фирмы, оставившего комментарий

CommentDateTime: date-time

Время, когда комментарий был оставлен. Дата в UTC

}]
Пример
[...]
{...}
"CommentId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Message":"Договорились на понедельник",
"ContactId":0,
"CommentDateTime":"2026-09-07T10:15:30.000Z"
}
]
404 Груз не найден среди опубликованных грузов фирмы.
Модель
{...}

Ошибка вместо результата: машинный ключ и пояснение для пользователя.

Reason: string

Причина ошибки

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"Груз не найден",
"Error":"load_not_found_error"
}

Добавление либо редактирование комментария к грузу

При редактировании комментария у изменённого комментария поменяется CommentId.

Требования к комментарию

  • комментарий не может быть пустым
  • длина комментария не более 128 символов
  • если для фирмы включен режим раздельного доступа, то количество комментариев к одному грузу ограничено одним комментарием на контакт, иначе – одним комментарием на фирму
Добавление либо редактирование комментария к грузу. API для интеграции. Повторный вызов заменяет комментарий фирмы к этому грузу, а не добавляет ещё один.
put /v1.0/loads/{loadId}/comments
Параметры
Параметр Тип Расположение Описание
loadId обязательный string (guid) path
Идентификатор груза. Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Модель
string
Пример запроса
curl 'https://api.ati.su/v1.0/loads/{loadId}/comments' \
-X 'PUT' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '"Договорились на понедельник"'
Ответ
200 Сохранённый комментарий.
Модель
{...}

Комментарий фирмы к грузу.

CommentId: guid

Идентификатор комментария

LoadId: guid

Идентификатор груза, к которому оставлен комментарий

Message: string

Текст комментария

ContactId: int32

Идентификатор контакта фирмы, оставившего комментарий

CommentDateTime: date-time

Время, когда комментарий был оставлен. Дата в UTC

}
Пример
{...}
"CommentId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Message":"Договорились на понедельник",
"ContactId":0,
"CommentDateTime":"2026-09-07T10:15:30.000Z"
}
400 Комментарий пустой или длиннее 128 символов.
Модель
{...}

Ошибка вместо результата: машинный ключ и пояснение для пользователя.

Reason: string

Причина ошибки

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"Ошибка валидации: Массив ids не должен быть пуст",
"Error":"validation_error"
}
404 Груз не найден среди опубликованных грузов фирмы.
Модель
{...}

Ошибка вместо результата: машинный ключ и пояснение для пользователя.

Reason: string

Причина ошибки

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"Груз не найден",
"Error":"load_not_found_error"
}

Удаление комментария у груза

Удаление комментария у груза. API для интеграции. Удаляется комментарий вашей фирмы; на сам груз и на чужие комментарии вызов не влияет.
delete /v1.0/loads/{loadId}/comments
Параметры
Параметр Тип Расположение Описание
loadId обязательный string (guid) path
Идентификатор груза. Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/loads/{loadId}/comments' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Комментарий удалён.
Модель
string
Пример
"string"
404 Груз или комментарий фирмы к нему не найден.
Модель
{...}

Ошибка вместо результата: машинный ключ и пояснение для пользователя.

Reason: string

Причина ошибки

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"Груз не найден",
"Error":"load_not_found_error"
}

Методы для работы с отзывами к грузам

Отзыв может быть “Встречным предложением” с одной или несколькими ставками, “Груза нет”, “Озвученная ставка”.

Требования к дате, передаваемой в dateFrom при отправке запросов на получение отзывов:

  • Дата в UTC, начиная с которой необходимо показывать отзывы. Если ничего не передано, значит показываем абсолютно все отзывы
  • Формат даты: yyyy-mm-ddThh:mm:ss<timezone_specifier>, где timezone_specifier обозначает спецификатор часового пояса, например:
    • Z - дата в формате UTC. Пример, 2016-04-28T20:01:57Z;
    • -hh:mm - часовой пояс UTC-hh:mm. Пример UTC-1: 2016-04-28T20:01:57-01:00;
    • %2Bhh:mm - часовой пояс UTC+hh:mm. Пример UTC+1: 2016-04-28T20:01:57%2B01:00;
  • Если модификатора часового пояса нет, дата отправляется в формате UTC±00:00

Методы API для работы со встречными предложениями по грузам

Создание встречного предложения

Метод используется для первичной отправки встречного предложения по грузу cargoId. После успешного вызова сохраните Id встречного предложения из ответа: он потребуется для изменения и удаления.

Создание встречного предложения
post /gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers
Параметры
Параметр Тип Расположение Описание
cargoId обязательный string (guid) path
ID груза Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Модель
{...}
contact_id*: int32

Контакт, от лица которого выставить встречное предложение

price: decimal

Предложенная ставка встречного предложения не б/нал.

currency_id: int32

Валюта встречного предложения. Значение из словаря валют АТИ

nds_price: decimal

Предложенная ставка встречного предложения б/нал с НДС

nds_percent: int32 (nullable)

Процент НДС ставки встречного предложения

nds_currency_id: int32

Валюта ставки встречного предложения б/нал с НДС. Значение из словаря валют АТИ

not_nds_price: decimal

Предложенная ставка встречного предложения б/нал без НДС

not_nds_currency_id: int32

Валюта ставки встречного предложения б/нал без НДС. Значение из словаря валют АТИ

note: string (nullable)

Примечание к встречному предложению

prepay_percent: int32

Процент предоплаты
Допустимое значение от 0 до 100

pay_after_max_bank_days: int32

Оплата через ... банковских дней\

loading_date: date (nullable)

Дата загрузки

pay_attributes: int32

Атрибуты оплаты, по умолчанию - 0. Битовая сумма следующих параметров:

  • 1 - возможна оплата наличными
  • 2 - возможна оплата по безналичному рассчету
  • 4 - блиц
  • 8 - оплата с НДС
  • 16 - возможна предоплата
  • 32 - оплата на выгрузке
  • 64 - включена ли оплата через некоторое количество банковских дней
}
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"contact_id":1,"price":100.5,"currency_id":1,"nds_price":100.5,"nds_percent":22,"nds_currency_id":1,"not_nds_price":100.5,"not_nds_currency_id":1,"note":"Примечание","prepay_percent":10,"pay_after_max_bank_days":0,"loading_date":"2024-01-15","pay_attributes":64}'
Ответ
200
Модель
{...}

Встречное предложение

id: guid

Id встречного предложения

cargo_id: guid

Id груза, на который оставлено встречное предложение

cargo_number: string
Минимальное количество символов: 1

Номер груза

cargo_firm_id: int32

Id фирмы, которой принадлежит груз

firm_id: int32

Id фирмы, которая оставила встречное предложение

added_at: date-time

Дата добавления встречного предложения

updated_at: date-time

Дата изменения встречного предложения

price: decimal

Предложенная цена встречного предложения

currency_id: int32

Валюта встречного предложения
Значение из словаря валют АТИ

nds_price: decimal

Предложенная цена встречного предложения с НДС

nds_percent: int32

Процент НДС ставки встречного предложения

nds_currency_id: int32

Валюта ставки встречного предложения б/нал с НДС. Значение из словаря валют АТИ

not_nds_price: decimal

Предложенная цена встречного предложения без НДС

not_nds_currency_id: int32

Валюта встречного предложения без НДС

counter_offer_source: int32

Обозначение откуда было добавлено встречное предложение

  • 0 - Неизвестный источник
  • 1 - Мобильное приложение
  • 2 - Интегратор
  • 3 - Перехват грузов интегратором
  • 4 - Страница поиска грузов
  • 5 - Перехват машин
  • 6 - Сквозное встречное предложение, добавлено автоматически
note: string
Минимальное количество символов: 1

Примечание к встречному предложению
Максимальная длина - 512 символов

pay_attributes: int32

Атрибуты оплаты, по умолчанию - 0. Битовая сумма следующих параметров:

  • 1 - возможна оплата наличными
  • 2 - возможна оплата по безналичному рассчету
  • 4 - блиц
  • 8 - оплата с НДС
  • 16 - возможна предоплата
  • 32 - оплата на выгрузке
  • 64 - включена ли оплата через некоторое количество банковских дней
prepay_percent: int32

Процент предоплаты

pay_after_max_bank_days: int32

Оплата через ... банковских дней

loading_date: date

Дата загрузки

is_outdated: boolean

Определяет, просрочено ли встречное предложение. Когда груз редактируют, удаляют, обновляют, встречное предложение помечается просроченным.\

is_cargo_published: boolean

Относится ли встречное предложение к опубликованному грузу

firm_info:

Информация о фирме, оставившей встречное предложение на груз

ONE-OF
}
Пример
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"CES23786",
"cargo_firm_id":1234,
"firm_id":1234,
"added_at":"2024-01-15T10:30:00+03:00",
"updated_at":"2024-01-15T10:30:00+03:00",
"price":100.5,
"currency_id":1,
"nds_price":100.5,
"nds_percent":22,
"nds_currency_id":1,
"not_nds_price":100.5,
"not_nds_currency_id":1,
"counter_offer_source":2,
"note":"Тестовое примечание",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"2024-01-15",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":4.5,
"status":3,
"full_firm_name":"ООО Тест",
"contact":{...},
"id":1,
"name":"Иванов Иван",
"telephone":"+74951234567",
"email":"test@test.ru",
"mobile":"+79001234567",
"mobile_operator":"МТС",
"location":{...}
"city_id":1,
"region_id":1,
"country_id":1,
"full_name":"Москва, Россия",
"short_name":"Москва",
"is_regional_center":true,
"fias_id":"0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"city_name":"Москва",
"region_name":"Московская область",
"country_name":"Россия",
"country_code":"RU"
}
},
"inn":1234567890
}
}
4XX Ошибка запроса
Модель
{...}
error: string

Код ошибки

reason: string (nullable)

Причина ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":[...]
{...}
"property":"string",
"error":"string",
"reason":"string"
}
]
}

Изменение встречного предложения

Метод изменяет уже отправленное встречное предложение по id. Используйте его, когда меняются ставка, условия оплаты или комментарий, чтобы не создавать дублирующие предложения.

Обновление встречного предложения
put /gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers/{id}
Параметры
Параметр Тип Расположение Описание
cargoId обязательный string (guid) path
ID груза Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
id обязательный string (guid) path
ID встречного предложения Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Модель
{...}
contact_id*: int32

Контакт, от лица которого выставить встречное предложение

price: decimal

Предложенная ставка встречного предложения не б/нал.

currency_id: int32

Валюта встречного предложения. Значение из словаря валют АТИ

nds_price: decimal

Предложенная ставка встречного предложения б/нал с НДС

nds_percent: int32 (nullable)

Процент НДС ставки встречного предложения

nds_currency_id: int32

Валюта ставки встречного предложения б/нал с НДС. Значение из словаря валют АТИ

not_nds_price: decimal

Предложенная ставка встречного предложения б/нал без НДС

not_nds_currency_id: int32

Валюта ставки встречного предложения б/нал без НДС. Значение из словаря валют АТИ

note: string (nullable)

Примечание к встречному предложению

prepay_percent: int32

Процент предоплаты
Допустимое значение от 0 до 100

pay_after_max_bank_days: int32

Оплата через ... банковских дней\

loading_date: date (nullable)

Дата загрузки

pay_attributes: int32

Атрибуты оплаты, по умолчанию - 0. Битовая сумма следующих параметров:

  • 1 - возможна оплата наличными
  • 2 - возможна оплата по безналичному рассчету
  • 4 - блиц
  • 8 - оплата с НДС
  • 16 - возможна предоплата
  • 32 - оплата на выгрузке
  • 64 - включена ли оплата через некоторое количество банковских дней
}
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers/{id}' \
-X 'PUT' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"contact_id":1,"price":100.5,"currency_id":1,"nds_price":100.5,"nds_percent":22,"nds_currency_id":1,"not_nds_price":100.5,"not_nds_currency_id":1,"note":"Примечание","prepay_percent":10,"pay_after_max_bank_days":0,"loading_date":"2024-01-15","pay_attributes":64}'
Ответ
200
Модель
{...}

Встречное предложение

id: guid

Id встречного предложения

cargo_id: guid

Id груза, на который оставлено встречное предложение

cargo_number: string
Минимальное количество символов: 1

Номер груза

cargo_firm_id: int32

Id фирмы, которой принадлежит груз

firm_id: int32

Id фирмы, которая оставила встречное предложение

added_at: date-time

Дата добавления встречного предложения

updated_at: date-time

Дата изменения встречного предложения

price: decimal

Предложенная цена встречного предложения

currency_id: int32

Валюта встречного предложения
Значение из словаря валют АТИ

nds_price: decimal

Предложенная цена встречного предложения с НДС

nds_percent: int32

Процент НДС ставки встречного предложения

nds_currency_id: int32

Валюта ставки встречного предложения б/нал с НДС. Значение из словаря валют АТИ

not_nds_price: decimal

Предложенная цена встречного предложения без НДС

not_nds_currency_id: int32

Валюта встречного предложения без НДС

counter_offer_source: int32

Обозначение откуда было добавлено встречное предложение

  • 0 - Неизвестный источник
  • 1 - Мобильное приложение
  • 2 - Интегратор
  • 3 - Перехват грузов интегратором
  • 4 - Страница поиска грузов
  • 5 - Перехват машин
  • 6 - Сквозное встречное предложение, добавлено автоматически
note: string
Минимальное количество символов: 1

Примечание к встречному предложению
Максимальная длина - 512 символов

pay_attributes: int32

Атрибуты оплаты, по умолчанию - 0. Битовая сумма следующих параметров:

  • 1 - возможна оплата наличными
  • 2 - возможна оплата по безналичному рассчету
  • 4 - блиц
  • 8 - оплата с НДС
  • 16 - возможна предоплата
  • 32 - оплата на выгрузке
  • 64 - включена ли оплата через некоторое количество банковских дней
prepay_percent: int32

Процент предоплаты

pay_after_max_bank_days: int32

Оплата через ... банковских дней

loading_date: date

Дата загрузки

is_outdated: boolean

Определяет, просрочено ли встречное предложение. Когда груз редактируют, удаляют, обновляют, встречное предложение помечается просроченным.\

is_cargo_published: boolean

Относится ли встречное предложение к опубликованному грузу

firm_info:

Информация о фирме, оставившей встречное предложение на груз

ONE-OF
}
Пример
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"CES23786",
"cargo_firm_id":1234,
"firm_id":1234,
"added_at":"2024-01-15T10:30:00+03:00",
"updated_at":"2024-01-15T10:30:00+03:00",
"price":100.5,
"currency_id":1,
"nds_price":100.5,
"nds_percent":22,
"nds_currency_id":1,
"not_nds_price":100.5,
"not_nds_currency_id":1,
"counter_offer_source":2,
"note":"Тестовое примечание",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"2024-01-15",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":4.5,
"status":3,
"full_firm_name":"ООО Тест",
"contact":{...},
"id":1,
"name":"Иванов Иван",
"telephone":"+74951234567",
"email":"test@test.ru",
"mobile":"+79001234567",
"mobile_operator":"МТС",
"location":{...}
"city_id":1,
"region_id":1,
"country_id":1,
"full_name":"Москва, Россия",
"short_name":"Москва",
"is_regional_center":true,
"fias_id":"0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"city_name":"Москва",
"region_name":"Московская область",
"country_name":"Россия",
"country_code":"RU"
}
},
"inn":1234567890
}
}
4XX Ошибка запроса
Модель
{...}
error: string

Код ошибки

reason: string (nullable)

Причина ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":[...]
{...}
"property":"string",
"error":"string",
"reason":"string"
}
]
}

Удаление своих встречных предложений для чужого опубликованного груза

Метод позволяет снять свои встречные предложения с чужого опубликованного груза. Используйте его, когда нужно отозвать участие в торге без влияния на предложения других участников.

Удаление своих встречных предложений для чужого опубликованного груза
delete /gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers/my
Параметры
Параметр Тип Расположение Описание
cargoId обязательный string (guid) path
ID груза Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers/my' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
204
Успешный ответ
4XX Ошибка запроса
Модель
{...}
error: string

Код ошибки

reason: string (nullable)

Причина ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":[...]
{...}
"property":"string",
"error":"string",
"reason":"string"
}
]
}

Удаление чужих встречных предложений для своего груза

Метод используется владельцем груза для удаления выбранных входящих предложений. Передавайте в body массив counterOfferIds, чтобы удалить только нужные предложения.

Удаление чужих встречных предложений для своего груза
delete /gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers
Параметры
Параметр Тип Расположение Описание
cargoId обязательный string (guid) path
ID груза Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Модель
[guid]
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '["3fa85f64-5717-4562-b3fc-2c963f66afa6"]'
Ответ
200
Модель
{...}
}
Пример
{...}
"any-key":{...}
"message":"OK",
"error":null,
"result":{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"CES23786",
"cargo_firm_id":1234,
"firm_id":1234,
"added_at":"2024-01-15T10:30:00+03:00",
"updated_at":"2024-01-15T10:30:00+03:00",
"price":100.5,
"currency_id":1,
"nds_price":100.5,
"nds_percent":22,
"nds_currency_id":1,
"not_nds_price":100.5,
"not_nds_currency_id":1,
"counter_offer_source":2,
"note":"Тестовое примечание",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"2024-01-15",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":4.5,
"status":3,
"full_firm_name":"ООО Тест",
"contact":{...},
"id":1,
"name":"Иванов Иван",
"telephone":"+74951234567",
"email":"test@test.ru",
"mobile":"+79001234567",
"mobile_operator":"МТС",
"location":{...}
"city_id":1,
"region_id":1,
"country_id":1,
"full_name":"Москва, Россия",
"short_name":"Москва",
"is_regional_center":true,
"fias_id":"0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"city_name":"Москва",
"region_name":"Московская область",
"country_name":"Россия",
"country_code":"RU"
}
},
"inn":1234567890
}
}
}
}
4XX Ошибка запроса
Модель
{...}
error: string

Код ошибки

reason: string (nullable)

Причина ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":[...]
{...}
"property":"string",
"error":"string",
"reason":"string"
}
]
}

Получение встречных предложений для опубликованного груза

Метод возвращает предложения по конкретному опубликованному грузу. Чтобы получать встречные предложения, которые были созданы или изменились с определенного момента времени, используйте параметр fromDate.

Получение встречных предложений для опубликованного груза
get /gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers
Параметры
Параметр Тип Расположение Описание
cargoId обязательный string (guid) path
ID груза Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
fromDate string (date-time) query
Дата с которой вернуть встречные предложения Пример: 2024-01-01T00:00:00+00:00
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200
Модель
[{...}]

Встречное предложение

id: guid

Id встречного предложения

cargo_id: guid

Id груза, на который оставлено встречное предложение

cargo_number: string
Минимальное количество символов: 1

Номер груза

cargo_firm_id: int32

Id фирмы, которой принадлежит груз

firm_id: int32

Id фирмы, которая оставила встречное предложение

added_at: date-time

Дата добавления встречного предложения

updated_at: date-time

Дата изменения встречного предложения

price: decimal

Предложенная цена встречного предложения

currency_id: int32

Валюта встречного предложения
Значение из словаря валют АТИ

nds_price: decimal

Предложенная цена встречного предложения с НДС

nds_percent: int32

Процент НДС ставки встречного предложения

nds_currency_id: int32

Валюта ставки встречного предложения б/нал с НДС. Значение из словаря валют АТИ

not_nds_price: decimal

Предложенная цена встречного предложения без НДС

not_nds_currency_id: int32

Валюта встречного предложения без НДС

counter_offer_source: int32

Обозначение откуда было добавлено встречное предложение

  • 0 - Неизвестный источник
  • 1 - Мобильное приложение
  • 2 - Интегратор
  • 3 - Перехват грузов интегратором
  • 4 - Страница поиска грузов
  • 5 - Перехват машин
  • 6 - Сквозное встречное предложение, добавлено автоматически
note: string
Минимальное количество символов: 1

Примечание к встречному предложению
Максимальная длина - 512 символов

pay_attributes: int32

Атрибуты оплаты, по умолчанию - 0. Битовая сумма следующих параметров:

  • 1 - возможна оплата наличными
  • 2 - возможна оплата по безналичному рассчету
  • 4 - блиц
  • 8 - оплата с НДС
  • 16 - возможна предоплата
  • 32 - оплата на выгрузке
  • 64 - включена ли оплата через некоторое количество банковских дней
prepay_percent: int32

Процент предоплаты

pay_after_max_bank_days: int32

Оплата через ... банковских дней

loading_date: date

Дата загрузки

is_outdated: boolean

Определяет, просрочено ли встречное предложение. Когда груз редактируют, удаляют, обновляют, встречное предложение помечается просроченным.\

is_cargo_published: boolean

Относится ли встречное предложение к опубликованному грузу

firm_info:

Информация о фирме, оставившей встречное предложение на груз

ONE-OF
}]
Пример
[...]
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"CES23786",
"cargo_firm_id":1234,
"firm_id":1234,
"added_at":"2024-01-15T10:30:00+03:00",
"updated_at":"2024-01-15T10:30:00+03:00",
"price":100.5,
"currency_id":1,
"nds_price":100.5,
"nds_percent":22,
"nds_currency_id":1,
"not_nds_price":100.5,
"not_nds_currency_id":1,
"counter_offer_source":2,
"note":"Тестовое примечание",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"2024-01-15",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":4.5,
"status":3,
"full_firm_name":"ООО Тест",
"contact":{...},
"id":1,
"name":"Иванов Иван",
"telephone":"+74951234567",
"email":"test@test.ru",
"mobile":"+79001234567",
"mobile_operator":"МТС",
"location":{...}
"city_id":1,
"region_id":1,
"country_id":1,
"full_name":"Москва, Россия",
"short_name":"Москва",
"is_regional_center":true,
"fias_id":"0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"city_name":"Москва",
"region_name":"Московская область",
"country_name":"Россия",
"country_code":"RU"
}
},
"inn":1234567890
}
}
]
4XX Ошибка запроса
Модель
{...}
error: string

Код ошибки

reason: string (nullable)

Причина ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":[...]
{...}
"property":"string",
"error":"string",
"reason":"string"
}
]
}

Получение встречных предложений для всех опубликованных грузов

Метод возвращает предложения по всем опубликованным грузам фирмы. Обычно используется в фоновой синхронизации с fromDate, чтобы не загружать полный список при каждом опросе.

Получение встречных предложений для всех опубликованных грузов
get /gw/cargo-counter-offers-api/integrator/v1/cargos/counter-offers
Параметры
Параметр Тип Расположение Описание
fromDate string (date-time) query
Дата с которой вернуть встречные предложения Пример: 2024-01-01T00:00:00+00:00
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/counter-offers' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200
Модель
[{...}]

Встречное предложение

id: guid

Id встречного предложения

cargo_id: guid

Id груза, на который оставлено встречное предложение

cargo_number: string
Минимальное количество символов: 1

Номер груза

cargo_firm_id: int32

Id фирмы, которой принадлежит груз

firm_id: int32

Id фирмы, которая оставила встречное предложение

added_at: date-time

Дата добавления встречного предложения

updated_at: date-time

Дата изменения встречного предложения

price: decimal

Предложенная цена встречного предложения

currency_id: int32

Валюта встречного предложения
Значение из словаря валют АТИ

nds_price: decimal

Предложенная цена встречного предложения с НДС

nds_percent: int32

Процент НДС ставки встречного предложения

nds_currency_id: int32

Валюта ставки встречного предложения б/нал с НДС. Значение из словаря валют АТИ

not_nds_price: decimal

Предложенная цена встречного предложения без НДС

not_nds_currency_id: int32

Валюта встречного предложения без НДС

counter_offer_source: int32

Обозначение откуда было добавлено встречное предложение

  • 0 - Неизвестный источник
  • 1 - Мобильное приложение
  • 2 - Интегратор
  • 3 - Перехват грузов интегратором
  • 4 - Страница поиска грузов
  • 5 - Перехват машин
  • 6 - Сквозное встречное предложение, добавлено автоматически
note: string
Минимальное количество символов: 1

Примечание к встречному предложению
Максимальная длина - 512 символов

pay_attributes: int32

Атрибуты оплаты, по умолчанию - 0. Битовая сумма следующих параметров:

  • 1 - возможна оплата наличными
  • 2 - возможна оплата по безналичному рассчету
  • 4 - блиц
  • 8 - оплата с НДС
  • 16 - возможна предоплата
  • 32 - оплата на выгрузке
  • 64 - включена ли оплата через некоторое количество банковских дней
prepay_percent: int32

Процент предоплаты

pay_after_max_bank_days: int32

Оплата через ... банковских дней

loading_date: date

Дата загрузки

is_outdated: boolean

Определяет, просрочено ли встречное предложение. Когда груз редактируют, удаляют, обновляют, встречное предложение помечается просроченным.\

is_cargo_published: boolean

Относится ли встречное предложение к опубликованному грузу

firm_info:

Информация о фирме, оставившей встречное предложение на груз

ONE-OF
}]
Пример
[...]
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"CES23786",
"cargo_firm_id":1234,
"firm_id":1234,
"added_at":"2024-01-15T10:30:00+03:00",
"updated_at":"2024-01-15T10:30:00+03:00",
"price":100.5,
"currency_id":1,
"nds_price":100.5,
"nds_percent":22,
"nds_currency_id":1,
"not_nds_price":100.5,
"not_nds_currency_id":1,
"counter_offer_source":2,
"note":"Тестовое примечание",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"2024-01-15",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":4.5,
"status":3,
"full_firm_name":"ООО Тест",
"contact":{...},
"id":1,
"name":"Иванов Иван",
"telephone":"+74951234567",
"email":"test@test.ru",
"mobile":"+79001234567",
"mobile_operator":"МТС",
"location":{...}
"city_id":1,
"region_id":1,
"country_id":1,
"full_name":"Москва, Россия",
"short_name":"Москва",
"is_regional_center":true,
"fias_id":"0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"city_name":"Москва",
"region_name":"Московская область",
"country_name":"Россия",
"country_code":"RU"
}
},
"inn":1234567890
}
}
]
4XX Ошибка запроса
Модель
{...}
error: string

Код ошибки

reason: string (nullable)

Причина ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":[...]
{...}
"property":"string",
"error":"string",
"reason":"string"
}
]
}

Получение встречных предложений для опубликованных грузов по их ID

Ответ будет представлен в виде словаря, где ключ - id груза, а значение - структура со статусом и списком встречных предложений, содержащий:

  • Result, представляющий набор встречных предложений для данного груза;
  • Status, представляющий статус груза: если груз с таким id не найден, то статус равен 1, иначе статус равен 0. Если у груза статус равен 1, то массив встречных предложений всегда пуст.

Список ключей словаря полностью совпадает со списком грузов, для которых были запрошены встречные предложения. Параметр onlyActual используйте, если в интеграции нужно работать только с актуальными предложениями.

Получение встречных предложений для опубликованных грузов по их ID
get /gw/cargo-counter-offers-api/integrator/v1/cargos/counter-offers/by-cargo-ids
Параметры
Параметр Тип Расположение Описание
dateFrom string (date-time) query
Дата с которой вернуть встречные предложения Пример: 2024-01-01T00:00:00+00:00
onlyActual boolean query
Только актуальные встречные предложения Пример: false
cargoIds string (guid)[] query
ID грузов Пример: ["3fa85f64-5717-4562-b3fc-2c963f66afa6"]
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/counter-offers/by-cargo-ids' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200
Модель
{...}
}
Пример
{...}
"any-key":{...}
"message":"OK",
"error":null,
"result":[...]
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"CES23786",
"cargo_firm_id":1234,
"firm_id":1234,
"added_at":"2024-01-15T10:30:00+03:00",
"updated_at":"2024-01-15T10:30:00+03:00",
"price":100.5,
"currency_id":1,
"nds_price":100.5,
"nds_percent":22,
"nds_currency_id":1,
"not_nds_price":100.5,
"not_nds_currency_id":1,
"counter_offer_source":2,
"note":"Тестовое примечание",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"2024-01-15",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":4.5,
"status":3,
"full_firm_name":"ООО Тест",
"contact":{...},
"id":1,
"name":"Иванов Иван",
"telephone":"+74951234567",
"email":"test@test.ru",
"mobile":"+79001234567",
"mobile_operator":"МТС",
"location":{...}
"city_id":1,
"region_id":1,
"country_id":1,
"full_name":"Москва, Россия",
"short_name":"Москва",
"is_regional_center":true,
"fias_id":"0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"city_name":"Москва",
"region_name":"Московская область",
"country_name":"Россия",
"country_code":"RU"
}
},
"inn":1234567890
}
}
]
}
}
4XX Ошибка запроса
Модель
{...}
error: string

Код ошибки

reason: string (nullable)

Причина ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":[...]
{...}
"property":"string",
"error":"string",
"reason":"string"
}
]
}

Получение статусов своих встречных предложений на чужие грузы

Метод возвращает статусы ваших предложений по чужим грузам. Удобен как быстрый предварительный шаг перед детальной загрузкой самих предложений.

Получение статусов своих встречных предложений на чужие грузы
get /gw/cargo-counter-offers-api/integrator/v1/cargos/counter-offers/statuses
Параметры
Параметр Тип Расположение Описание
dateFrom string (date-time) query
Дата с которой вернуть статусы Пример: 2024-01-01T00:00:00+00:00
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/counter-offers/statuses' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200
Модель
[{...}]

Статус встречного предложения для груза

cargo_id: guid

ID груза

has_active: boolean

Есть ли активное встречное предложение

}]
Пример
[...]
{...}
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"has_active":true
}
]
4XX Ошибка запроса
Модель
{...}
error: string

Код ошибки

reason: string (nullable)

Причина ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":[...]
{...}
"property":"string",
"error":"string",
"reason":"string"
}
]
}

Получение встречного предложения по его ID

Метод возвращает одно конкретное предложение по id. Используйте его, когда нужно открыть карточку предложения напрямую, без загрузки общих списков.

Получение встречного предложения по его ID
get /gw/cargo-counter-offers-api/integrator/v1/cargos/counter-offers/{id}
Параметры
Параметр Тип Расположение Описание
id обязательный string (guid) path
ID встречного предложения Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/counter-offers/{id}' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200
Модель
{...}

Встречное предложение

id: guid

Id встречного предложения

cargo_id: guid

Id груза, на который оставлено встречное предложение

cargo_number: string
Минимальное количество символов: 1

Номер груза

cargo_firm_id: int32

Id фирмы, которой принадлежит груз

firm_id: int32

Id фирмы, которая оставила встречное предложение

added_at: date-time

Дата добавления встречного предложения

updated_at: date-time

Дата изменения встречного предложения

price: decimal

Предложенная цена встречного предложения

currency_id: int32

Валюта встречного предложения
Значение из словаря валют АТИ

nds_price: decimal

Предложенная цена встречного предложения с НДС

nds_percent: int32

Процент НДС ставки встречного предложения

nds_currency_id: int32

Валюта ставки встречного предложения б/нал с НДС. Значение из словаря валют АТИ

not_nds_price: decimal

Предложенная цена встречного предложения без НДС

not_nds_currency_id: int32

Валюта встречного предложения без НДС

counter_offer_source: int32

Обозначение откуда было добавлено встречное предложение

  • 0 - Неизвестный источник
  • 1 - Мобильное приложение
  • 2 - Интегратор
  • 3 - Перехват грузов интегратором
  • 4 - Страница поиска грузов
  • 5 - Перехват машин
  • 6 - Сквозное встречное предложение, добавлено автоматически
note: string
Минимальное количество символов: 1

Примечание к встречному предложению
Максимальная длина - 512 символов

pay_attributes: int32

Атрибуты оплаты, по умолчанию - 0. Битовая сумма следующих параметров:

  • 1 - возможна оплата наличными
  • 2 - возможна оплата по безналичному рассчету
  • 4 - блиц
  • 8 - оплата с НДС
  • 16 - возможна предоплата
  • 32 - оплата на выгрузке
  • 64 - включена ли оплата через некоторое количество банковских дней
prepay_percent: int32

Процент предоплаты

pay_after_max_bank_days: int32

Оплата через ... банковских дней

loading_date: date

Дата загрузки

is_outdated: boolean

Определяет, просрочено ли встречное предложение. Когда груз редактируют, удаляют, обновляют, встречное предложение помечается просроченным.\

is_cargo_published: boolean

Относится ли встречное предложение к опубликованному грузу

firm_info:

Информация о фирме, оставившей встречное предложение на груз

ONE-OF
}
Пример
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"CES23786",
"cargo_firm_id":1234,
"firm_id":1234,
"added_at":"2024-01-15T10:30:00+03:00",
"updated_at":"2024-01-15T10:30:00+03:00",
"price":100.5,
"currency_id":1,
"nds_price":100.5,
"nds_percent":22,
"nds_currency_id":1,
"not_nds_price":100.5,
"not_nds_currency_id":1,
"counter_offer_source":2,
"note":"Тестовое примечание",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"2024-01-15",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":4.5,
"status":3,
"full_firm_name":"ООО Тест",
"contact":{...},
"id":1,
"name":"Иванов Иван",
"telephone":"+74951234567",
"email":"test@test.ru",
"mobile":"+79001234567",
"mobile_operator":"МТС",
"location":{...}
"city_id":1,
"region_id":1,
"country_id":1,
"full_name":"Москва, Россия",
"short_name":"Москва",
"is_regional_center":true,
"fias_id":"0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"city_name":"Москва",
"region_name":"Московская область",
"country_name":"Россия",
"country_code":"RU"
}
},
"inn":1234567890
}
}
4XX Ошибка запроса
Модель
{...}
error: string

Код ошибки

reason: string (nullable)

Причина ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":[...]
{...}
"property":"string",
"error":"string",
"reason":"string"
}
]
}

Получение встречных предложений для неопубликованных грузов

Метод возвращает предложения по всем неопубликованным грузам фирмы. Для получения только изменений передавайте fromDate.

Получение встречных предложений для неопубликованных грузов
get /gw/cargo-counter-offers-api/integrator/v1/cargos/unpublished/counter-offers
Параметры
Параметр Тип Расположение Описание
fromDate string (date-time) query
Дата с которой вернуть встречные предложения Пример: 2024-01-01T00:00:00+00:00
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/unpublished/counter-offers' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200
Модель
[{...}]

Встречное предложение

id: guid

Id встречного предложения

cargo_id: guid

Id груза, на который оставлено встречное предложение

cargo_number: string
Минимальное количество символов: 1

Номер груза

cargo_firm_id: int32

Id фирмы, которой принадлежит груз

firm_id: int32

Id фирмы, которая оставила встречное предложение

added_at: date-time

Дата добавления встречного предложения

updated_at: date-time

Дата изменения встречного предложения

price: decimal

Предложенная цена встречного предложения

currency_id: int32

Валюта встречного предложения
Значение из словаря валют АТИ

nds_price: decimal

Предложенная цена встречного предложения с НДС

nds_percent: int32

Процент НДС ставки встречного предложения

nds_currency_id: int32

Валюта ставки встречного предложения б/нал с НДС. Значение из словаря валют АТИ

not_nds_price: decimal

Предложенная цена встречного предложения без НДС

not_nds_currency_id: int32

Валюта встречного предложения без НДС

counter_offer_source: int32

Обозначение откуда было добавлено встречное предложение

  • 0 - Неизвестный источник
  • 1 - Мобильное приложение
  • 2 - Интегратор
  • 3 - Перехват грузов интегратором
  • 4 - Страница поиска грузов
  • 5 - Перехват машин
  • 6 - Сквозное встречное предложение, добавлено автоматически
note: string
Минимальное количество символов: 1

Примечание к встречному предложению
Максимальная длина - 512 символов

pay_attributes: int32

Атрибуты оплаты, по умолчанию - 0. Битовая сумма следующих параметров:

  • 1 - возможна оплата наличными
  • 2 - возможна оплата по безналичному рассчету
  • 4 - блиц
  • 8 - оплата с НДС
  • 16 - возможна предоплата
  • 32 - оплата на выгрузке
  • 64 - включена ли оплата через некоторое количество банковских дней
prepay_percent: int32

Процент предоплаты

pay_after_max_bank_days: int32

Оплата через ... банковских дней

loading_date: date

Дата загрузки

is_outdated: boolean

Определяет, просрочено ли встречное предложение. Когда груз редактируют, удаляют, обновляют, встречное предложение помечается просроченным.\

is_cargo_published: boolean

Относится ли встречное предложение к опубликованному грузу

firm_info:

Информация о фирме, оставившей встречное предложение на груз

ONE-OF
}]
Пример
[...]
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"CES23786",
"cargo_firm_id":1234,
"firm_id":1234,
"added_at":"2024-01-15T10:30:00+03:00",
"updated_at":"2024-01-15T10:30:00+03:00",
"price":100.5,
"currency_id":1,
"nds_price":100.5,
"nds_percent":22,
"nds_currency_id":1,
"not_nds_price":100.5,
"not_nds_currency_id":1,
"counter_offer_source":2,
"note":"Тестовое примечание",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"2024-01-15",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":4.5,
"status":3,
"full_firm_name":"ООО Тест",
"contact":{...},
"id":1,
"name":"Иванов Иван",
"telephone":"+74951234567",
"email":"test@test.ru",
"mobile":"+79001234567",
"mobile_operator":"МТС",
"location":{...}
"city_id":1,
"region_id":1,
"country_id":1,
"full_name":"Москва, Россия",
"short_name":"Москва",
"is_regional_center":true,
"fias_id":"0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"city_name":"Москва",
"region_name":"Московская область",
"country_name":"Россия",
"country_code":"RU"
}
},
"inn":1234567890
}
}
]
4XX Ошибка запроса
Модель
{...}
error: string

Код ошибки

reason: string (nullable)

Причина ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":[...]
{...}
"property":"string",
"error":"string",
"reason":"string"
}
]
}

Получение встречных предложений для неопубликованного груза по его ID

Метод возвращает предложения по конкретному неопубликованному грузу. Подходит для карточки груза и получения только изменений с использованием fromDate.

Получение встречных предложений для неопубликованного груза по его ID
get /gw/cargo-counter-offers-api/integrator/v1/cargos/unpublished/{cargoId}/counter-offers
Параметры
Параметр Тип Расположение Описание
cargoId обязательный string (guid) path
ID груза Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
fromDate string (date-time) query
Дата с которой вернуть встречные предложения Пример: 2024-01-01T00:00:00+00:00
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/unpublished/{cargoId}/counter-offers' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200
Модель
[{...}]

Встречное предложение

id: guid

Id встречного предложения

cargo_id: guid

Id груза, на который оставлено встречное предложение

cargo_number: string
Минимальное количество символов: 1

Номер груза

cargo_firm_id: int32

Id фирмы, которой принадлежит груз

firm_id: int32

Id фирмы, которая оставила встречное предложение

added_at: date-time

Дата добавления встречного предложения

updated_at: date-time

Дата изменения встречного предложения

price: decimal

Предложенная цена встречного предложения

currency_id: int32

Валюта встречного предложения
Значение из словаря валют АТИ

nds_price: decimal

Предложенная цена встречного предложения с НДС

nds_percent: int32

Процент НДС ставки встречного предложения

nds_currency_id: int32

Валюта ставки встречного предложения б/нал с НДС. Значение из словаря валют АТИ

not_nds_price: decimal

Предложенная цена встречного предложения без НДС

not_nds_currency_id: int32

Валюта встречного предложения без НДС

counter_offer_source: int32

Обозначение откуда было добавлено встречное предложение

  • 0 - Неизвестный источник
  • 1 - Мобильное приложение
  • 2 - Интегратор
  • 3 - Перехват грузов интегратором
  • 4 - Страница поиска грузов
  • 5 - Перехват машин
  • 6 - Сквозное встречное предложение, добавлено автоматически
note: string
Минимальное количество символов: 1

Примечание к встречному предложению
Максимальная длина - 512 символов

pay_attributes: int32

Атрибуты оплаты, по умолчанию - 0. Битовая сумма следующих параметров:

  • 1 - возможна оплата наличными
  • 2 - возможна оплата по безналичному рассчету
  • 4 - блиц
  • 8 - оплата с НДС
  • 16 - возможна предоплата
  • 32 - оплата на выгрузке
  • 64 - включена ли оплата через некоторое количество банковских дней
prepay_percent: int32

Процент предоплаты

pay_after_max_bank_days: int32

Оплата через ... банковских дней

loading_date: date

Дата загрузки

is_outdated: boolean

Определяет, просрочено ли встречное предложение. Когда груз редактируют, удаляют, обновляют, встречное предложение помечается просроченным.\

is_cargo_published: boolean

Относится ли встречное предложение к опубликованному грузу

firm_info:

Информация о фирме, оставившей встречное предложение на груз

ONE-OF
}]
Пример
[...]
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"CES23786",
"cargo_firm_id":1234,
"firm_id":1234,
"added_at":"2024-01-15T10:30:00+03:00",
"updated_at":"2024-01-15T10:30:00+03:00",
"price":100.5,
"currency_id":1,
"nds_price":100.5,
"nds_percent":22,
"nds_currency_id":1,
"not_nds_price":100.5,
"not_nds_currency_id":1,
"counter_offer_source":2,
"note":"Тестовое примечание",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"2024-01-15",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":4.5,
"status":3,
"full_firm_name":"ООО Тест",
"contact":{...},
"id":1,
"name":"Иванов Иван",
"telephone":"+74951234567",
"email":"test@test.ru",
"mobile":"+79001234567",
"mobile_operator":"МТС",
"location":{...}
"city_id":1,
"region_id":1,
"country_id":1,
"full_name":"Москва, Россия",
"short_name":"Москва",
"is_regional_center":true,
"fias_id":"0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"city_name":"Москва",
"region_name":"Московская область",
"country_name":"Россия",
"country_code":"RU"
}
},
"inn":1234567890
}
}
]
4XX Ошибка запроса
Модель
{...}
error: string

Код ошибки

reason: string (nullable)

Причина ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":[...]
{...}
"property":"string",
"error":"string",
"reason":"string"
}
]
}

Получение встречных предложений для неопубликованных грузов по их ID

Ответ будет представлен в виде словаря, где ключ - id груза, а значение - структура со статусом и списком встречных предложений, содержащий:

  • Result, представляющий набор встречных предложений для данного груза;
  • Status, представляющий статус груза: если груз с таким id не найден, то статус равен 1, иначе статус равен 0. Если у груза статус равен 1, то массив встречных предложений всегда пуст.

Список ключей словаря полностью совпадает со списком грузов, для которых были запрошены встречные предложения.

Получение встречных предложений для неопубликованных грузов по их ID
get /gw/cargo-counter-offers-api/integrator/v1/cargos/unpublished/counter-offers/by-cargo-ids
Параметры
Параметр Тип Расположение Описание
cargoIds string (guid)[] query
ID грузов Пример: ["3fa85f64-5717-4562-b3fc-2c963f66afa6"]
fromDate string (date-time) query
Дата с которой вернуть встречные предложения Пример: 2024-01-01T00:00:00+00:00
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/unpublished/counter-offers/by-cargo-ids' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200
Модель
{...}
}
Пример
{...}
"any-key":{...}
"message":"OK",
"error":null,
"result":[...]
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"CES23786",
"cargo_firm_id":1234,
"firm_id":1234,
"added_at":"2024-01-15T10:30:00+03:00",
"updated_at":"2024-01-15T10:30:00+03:00",
"price":100.5,
"currency_id":1,
"nds_price":100.5,
"nds_percent":22,
"nds_currency_id":1,
"not_nds_price":100.5,
"not_nds_currency_id":1,
"counter_offer_source":2,
"note":"Тестовое примечание",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"2024-01-15",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":4.5,
"status":3,
"full_firm_name":"ООО Тест",
"contact":{...},
"id":1,
"name":"Иванов Иван",
"telephone":"+74951234567",
"email":"test@test.ru",
"mobile":"+79001234567",
"mobile_operator":"МТС",
"location":{...}
"city_id":1,
"region_id":1,
"country_id":1,
"full_name":"Москва, Россия",
"short_name":"Москва",
"is_regional_center":true,
"fias_id":"0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"city_name":"Москва",
"region_name":"Московская область",
"country_name":"Россия",
"country_code":"RU"
}
},
"inn":1234567890
}
}
]
}
}
4XX Ошибка запроса
Модель
{...}
error: string

Код ошибки

reason: string (nullable)

Причина ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":[...]
{...}
"property":"string",
"error":"string",
"reason":"string"
}
]
}

Удаление встречных предложений для неопубликованного груза

Метод удаляет выбранные предложения по неопубликованному грузу. Список counterOfferIds передается в query.

Удаление встречных предложений для неопубликованного груза
delete /gw/cargo-counter-offers-api/integrator/v1/cargos/unpublished/{cargoId}/counter-offers
Параметры
Параметр Тип Расположение Описание
cargoId обязательный string (guid) path
ID груза Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
counterOfferIds string (guid)[] query
ID встречных предложений Пример: ["3fa85f64-5717-4562-b3fc-2c963f66afa6"]
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/unpublished/{cargoId}/counter-offers' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200
Модель
{...}
}
Пример
{...}
"any-key":{...}
"message":"OK",
"error":null,
"result":{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"CES23786",
"cargo_firm_id":1234,
"firm_id":1234,
"added_at":"2024-01-15T10:30:00+03:00",
"updated_at":"2024-01-15T10:30:00+03:00",
"price":100.5,
"currency_id":1,
"nds_price":100.5,
"nds_percent":22,
"nds_currency_id":1,
"not_nds_price":100.5,
"not_nds_currency_id":1,
"counter_offer_source":2,
"note":"Тестовое примечание",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"2024-01-15",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":4.5,
"status":3,
"full_firm_name":"ООО Тест",
"contact":{...},
"id":1,
"name":"Иванов Иван",
"telephone":"+74951234567",
"email":"test@test.ru",
"mobile":"+79001234567",
"mobile_operator":"МТС",
"location":{...}
"city_id":1,
"region_id":1,
"country_id":1,
"full_name":"Москва, Россия",
"short_name":"Москва",
"is_regional_center":true,
"fias_id":"0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"city_name":"Москва",
"region_name":"Московская область",
"country_name":"Россия",
"country_code":"RU"
}
},
"inn":1234567890
}
}
}
}
4XX Ошибка запроса
Модель
{...}
error: string

Код ошибки

reason: string (nullable)

Причина ошибки

}
Пример
{...}
"error":"string",
"reason":"string",
"details":[...]
{...}
"property":"string",
"error":"string",
"reason":"string"
}
]
}

Получение встречных предложений на грузы фирмы с одной или несколькими ставками

Получение всех отзывов по всем грузам фирмы. API для интеграции. Отдаются отзывы на опубликованные грузы фирмы, для которой выпущен токен. Возвращаются отзывы всех типов: встречные предложения, жалобы, озвученные ставки и «груза нет».
get /v1.0/loads/new/responses
Параметры
Параметр Тип Расположение Описание
dateFrom string (date-time) query
Возвращать отзывы начиная с этой даты. Без параметра возвращаются все отзывы. Дату указывайте в UTC: значение без часового пояса читается как московское время (UTC+3). Пример: 2026-09-01T00:00:00.000Z
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/loads/new/responses' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Отзывы на грузы фирмы.
Модель
[{...}]

Отзыв на груз в новой структуре.

ResponseId: guid

Идентификатор отзыва

LoadId: guid

Идентификатор груза, на который оставлен отзыв

LoadNumber: string

Номер груза

LoadFirmId: int32

Идентификатор фирмы, которой принадлежит груз

FirmId: int32

Идентификатор фирмы, оставившей отзыв

FirmName: string

Название фирмы, оставившей отзыв

ContactId: int32

Идентификатор контакта, оставившего отзыв. -1 — контакт скрыт: чужой отзыв на чужом грузе

AddedAt: date-time

Дата добавления отзыва

UpdatedAt: date-time

Дата изменения отзыва

Price: decimal

Ставка встречного предложения наличными

CurrencyId: int32

Валюта встречного предложения. dict: GET /v1.0/dictionaries/currencyTypes → Id. docs: https://ati.su/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-currencyTypes

NdsPrice: decimal

Предложенная ставка по безналичному расчёту с НДС

NdsCurrencyId: int32

Валюта ставки встречного предложения по безналичному расчёту с НДС. dict: GET /v1.0/dictionaries/currencyTypes → Id. docs: https://ati.su/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-currencyTypes

NotNdsPrice: decimal

Предложенная ставка по безналичному расчёту без НДС

NotNdsCurrencyId: int32

Идентификатор валюты ставки по безналичному расчёту без НДС. dict: GET /v1.0/dictionaries/currencyTypes → Id

NdsPercent: int32 (nullable)

Процент НДС в ставке

CounterOfferSource:

Откуда пришло встречное предложение

ONE-OF
enum
[0, 1, 2, 3, 4, 5, 6]

Откуда пришло встречное предложение.

  • 0 - Неизвестный источник
  • 1 - Встречное предложение из мобильного приложения
  • 2 - Встречное предложение оставил интегратор по Id груза
  • 3 - Встречное предложение оставил интегратор из перехвата грузов
  • 4 - Встречное предложение оставили с поиска грузов
  • 5 - Встречное предложение оставили из перехвата машин
  • 6 - Сквозное встречное предложение, добавлено автоматически
Note: string

Примечание к встречному предложению. null — отзыв не является встречным предложением, пустая строка — примечание чужого отзыва скрыто

PayAttributes: int32

Атрибуты оплаты. Битовая сумма следующих параметров:

  • 1 - возможна оплата наличными
  • 2 - возможна оплата по безналичному расчёту
  • 4 - блиц
  • 8 - оплата с НДС
  • 16 - возможна предоплата
  • 32 - оплата на выгрузке
  • 64 - оплата через N банковских дней (см. PayAfterMaxBankDays)
PrepayPercent: int32

Процент предоплаты. Должен быть равен 0 или отсутствовать, если PayAttributes не содержит флаг 16 - возможна предоплата. Допустимое значение от 0 до 100

PayAfterMaxBankDays: int32

Оплата через ... банковских дней. Должен быть равен 0 или отсутствовать, если PayAttributes не содержит флаг 64 - включёна оплата через некоторое количество банковских дней. Допустимое значение от 0 до 99

LoadingDate: date-time (nullable)

Дата, на которую перевозчик готов забрать груз

IsOutdated: boolean

Отзыв помечен просроченным: груз после него отредактировали или сняли с публикации

IsLoadPublished: boolean

Относится ли отзыв к опубликованному грузу, а не к архивному

IsNoLoad: boolean

Отзыв означает жалобу «груза нет»

AnnouncedCurrencyId: int32

Валюта "Озвученной ставки". dict: GET /v1.0/dictionaries/currencyTypes → Id. docs: https://ati.su/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-currencyTypes

AnnouncedRate: int32

Озвученная ставка

FirmInfo:

Фирма, оставившая отзыв. Контакт скрыт у чужого отзыва на чужом грузе

ONE-OF
}]
Пример
[...]
{...}
"ResponseId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadNumber":"12345678",
"LoadFirmId":1234567,
"FirmId":7654321,
"FirmName":"ООО «Перевозчик»",
"ContactId":0,
"AddedAt":"2026-09-07T10:15:30.000Z",
"UpdatedAt":"2026-09-07T11:20:00.000Z",
"Price":85000,
"CurrencyId":1,
"NdsPrice":102000,
"NdsCurrencyId":1,
"NotNdsPrice":85000,
"NotNdsCurrencyId":1,
"NdsPercent":20,
"CounterOfferSource":0,
"Note":"Готовы забрать завтра утром",
"PayAttributes":91,
"PrepayPercent":30,
"PayAfterMaxBankDays":5,
"LoadingDate":"2026-09-08T00:00:00.000Z",
"IsOutdated":false,
"IsLoadPublished":true,
"IsNoLoad":false,
"AnnouncedCurrencyId":1,
"AnnouncedRate":90000,
"FirmInfo":{...}
"TotalScore":4.5,
"Status":0,
"FullFirmName":"ООО «Перевозчик»",
"Contact":{...},
"Id":1,
"Name":"Иван Петров",
"Telephone":"+7 812 123-45-67",
"Email":"ivan@example.com",
"Icq":"123456789",
"Mobile":"+7 911 123-45-67",
"MobileOperator":"МТС",
"SkypeName":"ivan.petrov",
"CityId":1,
"Location":{...}
"CityId":1,
"RegionId":153,
"CountryId":1,
"FullName":"Санкт-Петербург, Санкт-Петербург (регион), Россия",
"ShortName":"Санкт-Петербург",
"IsRegionalCenter":true,
"CitySize":6,
"FiasId":"c2deb16a-0330-4f05-821f-1d09c93331e6",
"CityName":"Санкт-Петербург",
"RegionName":"Санкт-Петербург (регион)",
"CountryName":"Россия",
"CountryCodeName":"RUS"
}
},
"Inn":"7801234567"
}
}
]
403 Фирме закрыт доступ к отзывам.
Модель
{...}

Ошибка вместо результата: машинный ключ и пояснение для пользователя.

Reason: string

Причина ошибки

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"Отказано в доступе: У вашей фирмы нет доступа к работе с отзывами",
"Error":"access_denied_error"
}

Получение отзывов на любой груз по ID

Если груз принадлежит вашей фирме, то вернутся все отзывы на ваш груз с полной информацией. Если груз принадлежит чужой фирме, то вернутся все отзывы на этот груз, но при этом все отзывы, кроме вашего, будут иметь в поле FirmInfo.Contact значение null.

Получение отзывов на конкретный груз фирмы. API для интеграции. По грузу вашей фирмы возвращаются все отзывы целиком. Возвращаются отзывы всех типов: встречные предложения, жалобы, озвученные ставки и «груза нет». По чужому грузу видны только актуальные отзывы, и только если владелец их не скрыл; контакты и примечания чужих отзывов скрыты, ваш отзыв — целиком.
get /v1.0/loads/new/{loadId}/responses
Параметры
Параметр Тип Расположение Описание
loadId обязательный string (guid) path
Идентификатор груза. Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
dateFrom string (date-time) query
Возвращать отзывы начиная с этой даты. Без параметра возвращаются все отзывы. Дату указывайте в UTC: значение без часового пояса читается как московское время (UTC+3). Пример: 2026-09-01T00:00:00.000Z
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/loads/new/{loadId}/responses' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Отзывы на груз.
Модель
[{...}]

Отзыв на груз в новой структуре.

ResponseId: guid

Идентификатор отзыва

LoadId: guid

Идентификатор груза, на который оставлен отзыв

LoadNumber: string

Номер груза

LoadFirmId: int32

Идентификатор фирмы, которой принадлежит груз

FirmId: int32

Идентификатор фирмы, оставившей отзыв

FirmName: string

Название фирмы, оставившей отзыв

ContactId: int32

Идентификатор контакта, оставившего отзыв. -1 — контакт скрыт: чужой отзыв на чужом грузе

AddedAt: date-time

Дата добавления отзыва

UpdatedAt: date-time

Дата изменения отзыва

Price: decimal

Ставка встречного предложения наличными

CurrencyId: int32

Валюта встречного предложения. dict: GET /v1.0/dictionaries/currencyTypes → Id. docs: https://ati.su/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-currencyTypes

NdsPrice: decimal

Предложенная ставка по безналичному расчёту с НДС

NdsCurrencyId: int32

Валюта ставки встречного предложения по безналичному расчёту с НДС. dict: GET /v1.0/dictionaries/currencyTypes → Id. docs: https://ati.su/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-currencyTypes

NotNdsPrice: decimal

Предложенная ставка по безналичному расчёту без НДС

NotNdsCurrencyId: int32

Идентификатор валюты ставки по безналичному расчёту без НДС. dict: GET /v1.0/dictionaries/currencyTypes → Id

NdsPercent: int32 (nullable)

Процент НДС в ставке

CounterOfferSource:

Откуда пришло встречное предложение

ONE-OF
enum
[0, 1, 2, 3, 4, 5, 6]

Откуда пришло встречное предложение.

  • 0 - Неизвестный источник
  • 1 - Встречное предложение из мобильного приложения
  • 2 - Встречное предложение оставил интегратор по Id груза
  • 3 - Встречное предложение оставил интегратор из перехвата грузов
  • 4 - Встречное предложение оставили с поиска грузов
  • 5 - Встречное предложение оставили из перехвата машин
  • 6 - Сквозное встречное предложение, добавлено автоматически
Note: string

Примечание к встречному предложению. null — отзыв не является встречным предложением, пустая строка — примечание чужого отзыва скрыто

PayAttributes: int32

Атрибуты оплаты. Битовая сумма следующих параметров:

  • 1 - возможна оплата наличными
  • 2 - возможна оплата по безналичному расчёту
  • 4 - блиц
  • 8 - оплата с НДС
  • 16 - возможна предоплата
  • 32 - оплата на выгрузке
  • 64 - оплата через N банковских дней (см. PayAfterMaxBankDays)
PrepayPercent: int32

Процент предоплаты. Должен быть равен 0 или отсутствовать, если PayAttributes не содержит флаг 16 - возможна предоплата. Допустимое значение от 0 до 100

PayAfterMaxBankDays: int32

Оплата через ... банковских дней. Должен быть равен 0 или отсутствовать, если PayAttributes не содержит флаг 64 - включёна оплата через некоторое количество банковских дней. Допустимое значение от 0 до 99

LoadingDate: date-time (nullable)

Дата, на которую перевозчик готов забрать груз

IsOutdated: boolean

Отзыв помечен просроченным: груз после него отредактировали или сняли с публикации

IsLoadPublished: boolean

Относится ли отзыв к опубликованному грузу, а не к архивному

IsNoLoad: boolean

Отзыв означает жалобу «груза нет»

AnnouncedCurrencyId: int32

Валюта "Озвученной ставки". dict: GET /v1.0/dictionaries/currencyTypes → Id. docs: https://ati.su/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-currencyTypes

AnnouncedRate: int32

Озвученная ставка

FirmInfo:

Фирма, оставившая отзыв. Контакт скрыт у чужого отзыва на чужом грузе

ONE-OF
}]
Пример
[...]
{...}
"ResponseId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadNumber":"12345678",
"LoadFirmId":1234567,
"FirmId":7654321,
"FirmName":"ООО «Перевозчик»",
"ContactId":0,
"AddedAt":"2026-09-07T10:15:30.000Z",
"UpdatedAt":"2026-09-07T11:20:00.000Z",
"Price":85000,
"CurrencyId":1,
"NdsPrice":102000,
"NdsCurrencyId":1,
"NotNdsPrice":85000,
"NotNdsCurrencyId":1,
"NdsPercent":20,
"CounterOfferSource":0,
"Note":"Готовы забрать завтра утром",
"PayAttributes":91,
"PrepayPercent":30,
"PayAfterMaxBankDays":5,
"LoadingDate":"2026-09-08T00:00:00.000Z",
"IsOutdated":false,
"IsLoadPublished":true,
"IsNoLoad":false,
"AnnouncedCurrencyId":1,
"AnnouncedRate":90000,
"FirmInfo":{...}
"TotalScore":4.5,
"Status":0,
"FullFirmName":"ООО «Перевозчик»",
"Contact":{...},
"Id":1,
"Name":"Иван Петров",
"Telephone":"+7 812 123-45-67",
"Email":"ivan@example.com",
"Icq":"123456789",
"Mobile":"+7 911 123-45-67",
"MobileOperator":"МТС",
"SkypeName":"ivan.petrov",
"CityId":1,
"Location":{...}
"CityId":1,
"RegionId":153,
"CountryId":1,
"FullName":"Санкт-Петербург, Санкт-Петербург (регион), Россия",
"ShortName":"Санкт-Петербург",
"IsRegionalCenter":true,
"CitySize":6,
"FiasId":"c2deb16a-0330-4f05-821f-1d09c93331e6",
"CityName":"Санкт-Петербург",
"RegionName":"Санкт-Петербург (регион)",
"CountryName":"Россия",
"CountryCodeName":"RUS"
}
},
"Inn":"7801234567"
}
}
]
403 Фирме закрыт доступ к отзывам или чужой груз ей не виден.
Модель
{...}

Ошибка вместо результата: машинный ключ и пояснение для пользователя.

Reason: string

Причина ошибки

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"Отказано в доступе: У вашей фирмы нет доступа к работе с отзывами",
"Error":"access_denied_error"
}
404 Груз не найден.
Модель
{...}

Ошибка вместо результата: машинный ключ и пояснение для пользователя.

Reason: string

Причина ошибки

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"Груз не найден",
"Error":"load_not_found_error"
}

Получение отзывов на заданные грузы фирмы в виде словаря

Ответ будет представлен в виде словаря, где ключ – id груза, а значение - массив структур “отзыв на груз”, содержащий:

  • Result, представляющий набор отзывов для данного груза;
  • Status, представляющий статус груза: если груз с таким id не найден у вашей фирмы, статус равен 1, иначе статус равен 0. Если у груза статус равен 1, то массив отзывов всегда пуст.

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

Получение отзывов на заданные грузы фирмы в виде словаря. API для интеграции. Повторы в списке грузов схлопываются. У груза с доступом к отзывам статус 0 и список отзывов всех типов; у чужих отзывов контакт и примечание скрыты. Без доступа или для несуществующего груза вместо списка приходит статус ошибки.
get /v1.0/loads/new/responses/by-ids
Параметры
Параметр Тип Расположение Описание
dateFrom string (date-time) query
Возвращать отзывы начиная с этой даты. Без параметра возвращаются все отзывы. Дату указывайте в UTC: значение без часового пояса читается как московское время (UTC+3). Пример: 2026-09-01T00:00:00.000Z
onlyActual boolean query
Возвращать только актуальные отзывы. Пример: true
loadIds string (guid)[] query
Идентификаторы грузов, по которым нужны отзывы. Пример: ["3fa85f64-5717-4562-b3fc-2c963f66afa6"]
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/loads/new/responses/by-ids' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Отзывы по запрошенным грузам. Ключ — идентификатор груза.
Модель
{...}
}
Пример
{...}
"3fa85f64-5717-4562-b3fc-2c963f66afa6":{...}
"Status":0,
"Message":"Ок",
"Result":[]
}
}
400 Список идентификаторов пуст или содержит неверный guid.
Модель
{...}

Ошибка вместо результата: машинный ключ и пояснение для пользователя.

Reason: string

Причина ошибки

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"Ошибка валидации: Массив ids не должен быть пуст",
"Error":"validation_error"
}
403 Фирме закрыт доступ к отзывам.
Модель
{...}

Ошибка вместо результата: машинный ключ и пояснение для пользователя.

Reason: string

Причина ошибки

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"Отказано в доступе: У вашей фирмы нет доступа к работе с отзывами",
"Error":"access_denied_error"
}

Добавление либо редактирование отзыва на чужой груз

Добавление либо редактирование отзыва на чужой груз. API для интеграции. У фирмы один отзыв на груз: повторный вызов заменяет предыдущий. Фирма берётся из токена, груз — из адреса; одноимённые поля запроса игнорируются. Контакт передаётся в теле.
put /v1.0/loads/new/{loadId}/responses
Параметры
Параметр Тип Расположение Описание
loadId обязательный string (guid) path
Идентификатор груза. Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Модель
{...}

Встречное предложение на груз.

CounterOfferSource:

Откуда пришло встречное предложение

ONE-OF
enum
[0, 1, 2, 3, 4, 5, 6]

Откуда пришло встречное предложение.

  • 0 - Неизвестный источник
  • 1 - Встречное предложение из мобильного приложения
  • 2 - Встречное предложение оставил интегратор по Id груза
  • 3 - Встречное предложение оставил интегратор из перехвата грузов
  • 4 - Встречное предложение оставили с поиска грузов
  • 5 - Встречное предложение оставили из перехвата машин
  • 6 - Сквозное встречное предложение, добавлено автоматически
LoadId: guid

Идентификатор груза, на который оставлен отзыв. Заполняется сервисом из адреса запроса, переданное значение игнорируется

FirmId: int32

Идентификатор фирмы, оставившей отзыв. Заполняется сервисом из токена, переданное значение игнорируется

ContactId: int32

Идентификатор контакта, сделавшего встречное предложение

Price: decimal

Предложенная ставка наличными. Параметр должен быть равен одной из ставок груза: RateSum, SumWithNDS или SumWithoutNDS, если у груза, которому выставляется встречное предложение, параметр FixedRate равен True И параметр Torg равен False. Значение 0 допустимо, если ставка задана в NdsPrice или NotNdsPrice; хотя бы одна из трёх ставок больше 0. Не более 10 символов.

CurrencyId: int32

Валюта встречного предложения. Параметр должен быть равен валюте, указанной в грузе, если параметр FixedRate равен True и параметр Torg равен False. dict: GET /v1.0/dictionaries/currencyTypes → Id. docs: https://ati.su/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-currencyTypes

NdsPrice: decimal

Предложенная ставка по безналичному расчёту с НДС

NdsCurrencyId: int32

Валюта ставки встречного предложения по безналичному расчёту с НДС. Параметр должен быть равен валюте, указанной в грузе, если параметр FixedRate равен True и параметр Torg равен False. dict: GET /v1.0/dictionaries/currencyTypes → Id. docs: https://ati.su/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-currencyTypes

NotNdsPrice: decimal

Предложенная ставка по безналичному расчёту без НДС

NotNdsCurrencyId: int32

Идентификатор валюты ставки по безналичному расчёту без НДС. Параметр должен быть равен валюте, указанной в грузе, если параметр FixedRate равен True и параметр Torg равен False. dict: GET /v1.0/dictionaries/currencyTypes → Id. docs: https://ati.su/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-currencyTypes

Note: string

Примечание к встречному предложению. Максимальная длина - 512 символов

PayAttributes: int32

Атрибуты оплаты, по умолчанию - 0. Битовая сумма следующих параметров:

  • 1 - возможна оплата наличными
  • 2 - возможна оплата по безналичному расчёту
  • 4 - блиц
  • 8 - оплата с НДС
  • 16 - возможна предоплата
  • 32 - оплата на выгрузке
  • 64 - оплата через N банковских дней (см. PayAfterMaxBankDays)
PrepayPercent: int32

Процент предоплаты. Должен быть равен 0 или отсутствовать, если PayAttributes не содержит флаг 16 - возможна предоплата. Допустимое значение от 0 до 100

PayAfterMaxBankDays: int32

Оплата через ... банковских дней. Должен быть равен 0 или отсутствовать, если PayAttributes не содержит флаг 64 - включёна оплата через некоторое количество банковских дней. Допустимое значение от 0 до 99

LoadingDate: date-time (nullable)

Дата, на которую перевозчик готов забрать груз

NdsPercent: int32 (nullable)

Процент НДС в ставке

}
Пример запроса
curl 'https://api.ati.su/v1.0/loads/new/{loadId}/responses' \
-X 'PUT' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"CounterOfferSource":0,"LoadId":"3fa85f64-5717-4562-b3fc-2c963f66afa6","FirmId":7654321,"ContactId":0,"Price":85000,"CurrencyId":1,"NdsPrice":102000,"NdsCurrencyId":1,"NotNdsPrice":85000,"NotNdsCurrencyId":1,"Note":"Готовы забрать завтра утром","PayAttributes":10,"PrepayPercent":30,"PayAfterMaxBankDays":5,"LoadingDate":"2026-09-08T00:00:00.000Z","NdsPercent":20}'
Ответ
200 Сохранённый отзыв.
Модель
{...}

Отзыв на груз в новой структуре.

ResponseId: guid

Идентификатор отзыва

LoadId: guid

Идентификатор груза, на который оставлен отзыв

LoadNumber: string

Номер груза

LoadFirmId: int32

Идентификатор фирмы, которой принадлежит груз

FirmId: int32

Идентификатор фирмы, оставившей отзыв

FirmName: string

Название фирмы, оставившей отзыв

ContactId: int32

Идентификатор контакта, оставившего отзыв. -1 — контакт скрыт: чужой отзыв на чужом грузе

AddedAt: date-time

Дата добавления отзыва

UpdatedAt: date-time

Дата изменения отзыва

Price: decimal

Ставка встречного предложения наличными

CurrencyId: int32

Валюта встречного предложения. dict: GET /v1.0/dictionaries/currencyTypes → Id. docs: https://ati.su/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-currencyTypes

NdsPrice: decimal

Предложенная ставка по безналичному расчёту с НДС

NdsCurrencyId: int32

Валюта ставки встречного предложения по безналичному расчёту с НДС. dict: GET /v1.0/dictionaries/currencyTypes → Id. docs: https://ati.su/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-currencyTypes

NotNdsPrice: decimal

Предложенная ставка по безналичному расчёту без НДС

NotNdsCurrencyId: int32

Идентификатор валюты ставки по безналичному расчёту без НДС. dict: GET /v1.0/dictionaries/currencyTypes → Id

NdsPercent: int32 (nullable)

Процент НДС в ставке

CounterOfferSource:

Откуда пришло встречное предложение

ONE-OF
enum
[0, 1, 2, 3, 4, 5, 6]

Откуда пришло встречное предложение.

  • 0 - Неизвестный источник
  • 1 - Встречное предложение из мобильного приложения
  • 2 - Встречное предложение оставил интегратор по Id груза
  • 3 - Встречное предложение оставил интегратор из перехвата грузов
  • 4 - Встречное предложение оставили с поиска грузов
  • 5 - Встречное предложение оставили из перехвата машин
  • 6 - Сквозное встречное предложение, добавлено автоматически
Note: string

Примечание к встречному предложению. null — отзыв не является встречным предложением, пустая строка — примечание чужого отзыва скрыто

PayAttributes: int32

Атрибуты оплаты. Битовая сумма следующих параметров:

  • 1 - возможна оплата наличными
  • 2 - возможна оплата по безналичному расчёту
  • 4 - блиц
  • 8 - оплата с НДС
  • 16 - возможна предоплата
  • 32 - оплата на выгрузке
  • 64 - оплата через N банковских дней (см. PayAfterMaxBankDays)
PrepayPercent: int32

Процент предоплаты. Должен быть равен 0 или отсутствовать, если PayAttributes не содержит флаг 16 - возможна предоплата. Допустимое значение от 0 до 100

PayAfterMaxBankDays: int32

Оплата через ... банковских дней. Должен быть равен 0 или отсутствовать, если PayAttributes не содержит флаг 64 - включёна оплата через некоторое количество банковских дней. Допустимое значение от 0 до 99

LoadingDate: date-time (nullable)

Дата, на которую перевозчик готов забрать груз

IsOutdated: boolean

Отзыв помечен просроченным: груз после него отредактировали или сняли с публикации

IsLoadPublished: boolean

Относится ли отзыв к опубликованному грузу, а не к архивному

IsNoLoad: boolean

Отзыв означает жалобу «груза нет»

AnnouncedCurrencyId: int32

Валюта "Озвученной ставки". dict: GET /v1.0/dictionaries/currencyTypes → Id. docs: https://ati.su/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-currencyTypes

AnnouncedRate: int32

Озвученная ставка

FirmInfo:

Фирма, оставившая отзыв. Контакт скрыт у чужого отзыва на чужом грузе

ONE-OF
}
Пример
{...}
"ResponseId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadNumber":"12345678",
"LoadFirmId":1234567,
"FirmId":7654321,
"FirmName":"ООО «Перевозчик»",
"ContactId":0,
"AddedAt":"2026-09-07T10:15:30.000Z",
"UpdatedAt":"2026-09-07T11:20:00.000Z",
"Price":85000,
"CurrencyId":1,
"NdsPrice":102000,
"NdsCurrencyId":1,
"NotNdsPrice":85000,
"NotNdsCurrencyId":1,
"NdsPercent":20,
"CounterOfferSource":0,
"Note":"Готовы забрать завтра утром",
"PayAttributes":91,
"PrepayPercent":30,
"PayAfterMaxBankDays":5,
"LoadingDate":"2026-09-08T00:00:00.000Z",
"IsOutdated":false,
"IsLoadPublished":true,
"IsNoLoad":false,
"AnnouncedCurrencyId":1,
"AnnouncedRate":90000,
"FirmInfo":{...}
"TotalScore":4.5,
"Status":0,
"FullFirmName":"ООО «Перевозчик»",
"Contact":{...},
"Id":1,
"Name":"Иван Петров",
"Telephone":"+7 812 123-45-67",
"Email":"ivan@example.com",
"Icq":"123456789",
"Mobile":"+7 911 123-45-67",
"MobileOperator":"МТС",
"SkypeName":"ivan.petrov",
"CityId":1,
"Location":{...}
"CityId":1,
"RegionId":153,
"CountryId":1,
"FullName":"Санкт-Петербург, Санкт-Петербург (регион), Россия",
"ShortName":"Санкт-Петербург",
"IsRegionalCenter":true,
"CitySize":6,
"FiasId":"c2deb16a-0330-4f05-821f-1d09c93331e6",
"CityName":"Санкт-Петербург",
"RegionName":"Санкт-Петербург (регион)",
"CountryName":"Россия",
"CountryCodeName":"RUS"
}
},
"Inn":"7801234567"
}
}
400 Тело запроса не разобрано или поля не прошли проверку: например, ставка не совпадает с фиксированной ставкой груза.
Модель
{...}

Тело запроса не разобрано или не прошло проверку полей.

Error: string

Ключ ошибки: json_validation_error — поля не прошли проверку, deserialization_error — тело не разобрано

Reason: string

Причина ошибки для показа пользователю

}
Пример
{...}
"Error":"json_validation_error",
"Reason":"Ошибка валидации json",
"ErrorsList":[...]
{...}
"property":"Cargo.Weight",
"reason":"Максимальная длина для параметра вес - 4 символа",
"error":"length_out_of_range",
"context":{...}
"Min":0,
"Max":4
}
}
]
}
403 Фирме закрыт доступ к отзывам, груз ей не виден или это её собственный груз.
Модель
{...}

Ошибка вместо результата: машинный ключ и пояснение для пользователя.

Reason: string

Причина ошибки

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"Отказано в доступе: У вашей фирмы нет доступа к работе с отзывами",
"Error":"access_denied_error"
}
404 Груз не найден.
Модель
{...}

Ошибка вместо результата: машинный ключ и пояснение для пользователя.

Reason: string

Причина ошибки

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"Груз не найден",
"Error":"load_not_found_error"
}

Удаление отзыва на груз

При удалении встречного предложения у своего груза, необходимо заполнить как loadId, так и ids.
При удалении отзыва на чужой груз, необходимо передать loadId.

Удаление встречных предложений на своём грузе или своего отзыва на чужом. API для интеграции. Без списка идентификаторов удаляется отзыв вашей фирмы на чужой груз; со списком — перечисленные встречные предложения на вашем грузе.
delete /v1.0/loads/new/{loadId}/responses
Параметры
Параметр Тип Расположение Описание
loadId обязательный string (guid) path
Идентификатор груза. Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
ids string (guid)[] query
Идентификаторы встречных предложений на вашем грузе. Без них удаляется ваш отзыв на чужом грузе. Пример: ["3fa85f64-5717-4562-b3fc-2c963f66afa6"]
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/loads/new/{loadId}/responses' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Статусы операций по отзывам. Ключ — идентификатор отзыва. Без списка идентификаторов тело — только сообщение об удалении вашего отзыва.
Модель
{...}
}
Пример
{...}
"3fa85f64-5717-4562-b3fc-2c963f66afa6":{...}
"Status":0,
"Message":"Успех"
}
}
403 Фирме закрыт доступ к отзывам или груз не ваш.
Модель
{...}

Ошибка вместо результата: машинный ключ и пояснение для пользователя.

Reason: string

Причина ошибки

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"Отказано в доступе: У вашей фирмы нет доступа к работе с отзывами",
"Error":"access_denied_error"
}
404 Груз или отзыв не найден.
Модель
{...}

Ошибка вместо результата: машинный ключ и пояснение для пользователя.

Reason: string

Причина ошибки

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"Отзыв не найден",
"Error":"response_not_found_error"
}

Методы для поиска грузов

Поиск грузов на площадках

В теле ответа находится массив грузов, которые опубликованы на выбранных площадках. В грузах будут указаны только те площадки, в которых дата публикации меньше текущей.
Если массив boardIds пуст, будут получены грузы со всех возможных площадок.

Поиск грузов, размещённых на указанных площадках. API для интеграции. Площадка — закрытый список фирм, которым виден груз; в выдачу попадают и ваши грузы, и чужие. Искать можно только по площадкам, доступным вашей фирме; общая площадка исключена.
get /v1.0/loads/search/byboards
Параметры
Параметр Тип Расположение Описание
boardIds string[] query
Идентификаторы закрытых площадок, по 24 символа. Пустой список — поиск по всем площадкам, доступным фирме. Пример: ["5f1e2d3c4b5a69788796a5b4"]
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/loads/search/byboards' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Грузы, опубликованные на выбранных площадках.
Модель
[{...}]

Груз в ответе: поля публикации и вычисляемые сервисом.

LoadMeta:

Метаданные публикации: по их идентификатору можно получить все грузы, размещённые одной публикацией

ONE-OF
ContactId1*: int32

Идентификатор первого выбранного контакта. dict: GET https://api.ati.su/firms/v1.0/contacts → id. Список всех контактов и их идентификаторы можно получить с помощью API для работы с фирмами. Контакт должен быть виден для остальных участников АТИ

ContactId2: int32 (nullable)

Идентификатор второго выбранного контакта, если не выбрано, то null. Контакт должен быть виден для остальных участников АТИ

Note: string

Примечание к грузу. Ограничение по длине: 1000 символов

FirstDate: date-time

Дата, начиная с которой груз актуален, в формате UTC. Минимальное значение равно текущей дате. При значении параметра DateType равным 0, допустимое значение поля - текущая дата. При значении параметра DateType равным 1, допустимое значение поля - от текущей даты до 2 месяцев вперед. При значении параметра DateType равным 2, допустимое значение поля - текущая дата. При значении параметра DateType равным 3, FirstDate должен принимать значение текущей даты или отсутствовать

LastDate: date-time

Дата, после которой груз не актуален, в формате UTC. Минимальное значение равно значению параметра FirstDate. При значении параметра DateType равным 0, допустимое значение поля - от текущей даты до 1 дня вперед. При значении параметра DateType равным 1, допустимое значение поля - от даты в параметре FirstDate до 9 дней вперед. При значении параметра DateType равным 2, сервис вычисляет поле как FirstDate + 2 месяца, передаваемое значение игнорируется. При значении параметра DateType равным 3, LastDate автоматически устанавливается на значение + 2 дня от текущей даты, передаваемое значение игнорируется

DateType: int32

Тип готовности груза к перевозке, по умолчанию 0

  • 0 - Готов к загрузке
  • 1 - в период с FirstDate по LastDate
  • 2 - постоянно
  • 3 - груза нет, запрос ставки
PeriodicityId: int32

Периодичность загрузки. Если параметр DateType не равен 2, PeriodicityId равен 0. Иначе PeriodicityId может принимать следующие значения:

  • 1 - ежедневно
  • 100 - по рабочим дням
OrderNumber: string

Номер заказа. Ограничение по длине: 250 символов

Krugoreis: boolean

Включён ли кругорейс

Loading*:

Точка погрузки

ONE-OF
Unloading*:

Точка выгрузки

ONE-OF
Cargo*:

Что везём: наименование, вес, объём, упаковка

ONE-OF
Transport*:

Требования к транспорту: кузов, варианты загрузки и выгрузки

ONE-OF
Payment*:

Условия оплаты и ставка

ONE-OF
InviteSettings:

Настройки автоприглашений

ONE-OF
PriorityView:

Приоритетный показ

ONE-OF
Stealth:

Настройки показа груза

ONE-OF
Deal:

Сделка, в рамках которой размещён груз

ONE-OF
UnloadFirstDate: date-time (nullable)

Дата начала разгрузки, в формате UTC. Может иметь значение null. Минимальное значение равно текущей дате. Не указывается при значении параметра DateType равным 3

UnloadLastDate: date-time (nullable)

Дата окончания разгрузки, в формате UTC. Может иметь значение null. Если нет даты начала разгрузки UnloadFirstDate, должна отсутствовать дата окончания разгрузки UnloadLastDate. Не указывается при значении параметра DateType равным 3

ArchiveDate: date-time (nullable)

Дата и время переноса в архив

ArchiveReason:

Причина переноса в архив

ONE-OF

(nullable)

enum
[Unknown, System, Manual, Complaints, UnwantedContent, DeleteCsvLoad, MergeLoadsAfterEdit, ContactDoesNotHaveAccessToVirtualPayments, VerticesLoadDelete, StealthStatisticError, CheckDuplicateComplaints, DeleteContact, DeleteFirm, CleanOldLoadsJob]

Причина, по которой груз оказался в архиве.

  • VerticesLoadDelete - Снят при сквозной передаче груза
  • StealthStatisticError - Снят из-за ошибки при подсчёте статистики Стелса
  • CheckDuplicateComplaints - Снят при проверке дублирующих жалоб
  • DeleteContact - Удалён контакт
  • DeleteFirm - Удалена фирма
  • CleanOldLoadsJob - Истёк срок актуальности
  • Unknown - Причина не определена
  • System - Снят системой
  • Manual - Снят с публикации владельцем
  • Complaints - Снят по жалобам
  • UnwantedContent - Снят за недопустимое содержимое
  • DeleteCsvLoad - Удалён вместе с CSV-загрузкой
  • MergeLoadsAfterEdit - Объединён с другим грузом после редактирования
  • ContactDoesNotHaveAccessToVirtualPayments - Снят: у контакта нет права оплачивать услугу со счёта фирмы
TruePrice: int32

Озвученная ставка

TrueCurrencyId: int32

Идентификатор валюты озвученной ставки. dict: GET /v1.0/dictionaries/currencyTypes → Id

ResponseCount: int32

Количество отзывов о грузе (без встречных предложений)

OfferCount: int32

Количество встречных предложений (остальные отзывы не учитываются)

CanBeDeleted: boolean

Можно ли снять груз с публикации

HasPermissionsToLoad: boolean

Есть ли у текущего контакта доступ к грузу: контакт указан в грузе или имеет доступ к его подразделению

CanBeEdited: boolean

Можно ли редактировать груз

CanBeRenewed: boolean

Можно ли обновить груз

CanBeRestored: boolean

Можно ли восстановить груз из архива

EditRestriction:

Причина отказа в редактировании груза, 0 — доступ есть. dict: GET /v1.0/dictionaries/load_access_denied_reasons → ключ

ONE-OF
enum
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

Причина отказа в доступе к грузу.

  • 0 - Вы имеете доступ к работе с грузом
  • 1 - Ваша фирма больше не может размещать грузы из-за нарушения правил АТИ
  • 2 - Груз зарезервирован или взят, операции с грузом запрещены
  • 3 - Превышен лимит актуальных грузов
  • 4 - Вы пытаетесь работать с грузами под общим пользователем, недостаточно прав
  • 5 - У вашего контакта недостаточно прав для работы с данным грузом
  • 6 - Груз имеет завершённые торги, операции с грузом запрещены
  • 7 - Сервис сделок временно недоступен
  • 8 - Нельзя изменять или удалять груз из сквозных торгов
  • 9 - У вашего контакта недостаточно прав для создания грузов
  • 10 - У вашего контакта недостаточно прав для работы с виртуальными кошельками
  • 11 - У вашего контакта недостаточно прав для работы с грузами на общей площадке
  • 12 - У вашего контакта недостаточно прав для работы с грузами на персональных площадках
  • 13 - У вашего контакта нет доступа к одной или нескольким персональным площадкам, указанным в грузе
  • 14 - У вашего контакта нет доступа к подразделению груза
  • 15 - Ваш контакт должен быть указан первым в грузе
  • 16 - Груз не опубликован ни на одной площадке
DeleteRestriction:

Причина отказа в снятии груза с публикации, 0 — доступ есть. dict: GET /v1.0/dictionaries/load_access_denied_reasons → ключ

ONE-OF
enum
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

Причина отказа в доступе к грузу.

  • 0 - Вы имеете доступ к работе с грузом
  • 1 - Ваша фирма больше не может размещать грузы из-за нарушения правил АТИ
  • 2 - Груз зарезервирован или взят, операции с грузом запрещены
  • 3 - Превышен лимит актуальных грузов
  • 4 - Вы пытаетесь работать с грузами под общим пользователем, недостаточно прав
  • 5 - У вашего контакта недостаточно прав для работы с данным грузом
  • 6 - Груз имеет завершённые торги, операции с грузом запрещены
  • 7 - Сервис сделок временно недоступен
  • 8 - Нельзя изменять или удалять груз из сквозных торгов
  • 9 - У вашего контакта недостаточно прав для создания грузов
  • 10 - У вашего контакта недостаточно прав для работы с виртуальными кошельками
  • 11 - У вашего контакта недостаточно прав для работы с грузами на общей площадке
  • 12 - У вашего контакта недостаточно прав для работы с грузами на персональных площадках
  • 13 - У вашего контакта нет доступа к одной или нескольким персональным площадкам, указанным в грузе
  • 14 - У вашего контакта нет доступа к подразделению груза
  • 15 - Ваш контакт должен быть указан первым в грузе
  • 16 - Груз не опубликован ни на одной площадке
RestoreRestriction:

Причина отказа в восстановлении груза из архива, 0 — доступ есть. dict: GET /v1.0/dictionaries/load_access_denied_reasons → ключ

ONE-OF
enum
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

Причина отказа в доступе к грузу.

  • 0 - Вы имеете доступ к работе с грузом
  • 1 - Ваша фирма больше не может размещать грузы из-за нарушения правил АТИ
  • 2 - Груз зарезервирован или взят, операции с грузом запрещены
  • 3 - Превышен лимит актуальных грузов
  • 4 - Вы пытаетесь работать с грузами под общим пользователем, недостаточно прав
  • 5 - У вашего контакта недостаточно прав для работы с данным грузом
  • 6 - Груз имеет завершённые торги, операции с грузом запрещены
  • 7 - Сервис сделок временно недоступен
  • 8 - Нельзя изменять или удалять груз из сквозных торгов
  • 9 - У вашего контакта недостаточно прав для создания грузов
  • 10 - У вашего контакта недостаточно прав для работы с виртуальными кошельками
  • 11 - У вашего контакта недостаточно прав для работы с грузами на общей площадке
  • 12 - У вашего контакта недостаточно прав для работы с грузами на персональных площадках
  • 13 - У вашего контакта нет доступа к одной или нескольким персональным площадкам, указанным в грузе
  • 14 - У вашего контакта нет доступа к подразделению груза
  • 15 - Ваш контакт должен быть указан первым в грузе
  • 16 - Груз не опубликован ни на одной площадке
RenewRestriction: string

Причина отказа в обновлении груза. Пустая строка, если обновление доступно

Id: guid

Идентификатор груза

LoadNumber: string

Номер груза

UpdatedAt: date-time

Дата последнего изменения груза в UTC

AddedAt: date-time

Дата публикации груза в UTC

RefreshedAt: date-time

Дата последнего обновления груза в выдаче, в UTC

Distance: int32

Расстояние по дорогам в километрах

PlatonRoadsLength: int32

Протяжённость участков маршрута, за которые взимается плата по системе «Платон», в километрах

TollRoadsLength: int32

Протяжённость платных дорог на маршруте в километрах

TravelTime: string

Расчётное время в пути в формате [d.]hh:mm:ss

Zimnik: boolean

Учитывать ли зимники при построении маршрута

Ferries: boolean

Учитывать ли паромные переправы при построении маршрута

FirmId: string

Идентификатор фирмы

AuctionId: guid (nullable)

Идентификатор аукциона по грузу

}]
Пример
[...]
{...}
"LoadMeta":{...},
"LoadMetaId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"MetaData":"import-2026-09"
},
"ContactId1":1234567,
"ContactId2":1234568,
"Note":"Погрузка с 9 до 18, пропуск заказывать заранее",
"FirstDate":"2026-09-08T00:00:00.000Z",
"LastDate":"2026-09-10T00:00:00.000Z",
"DateType":1,
"PeriodicityId":0,
"OrderNumber":"ЗК-2026-0917",
"Krugoreis":false,
"Loading":{...},
"CityId":1,
"Latitude":59.939095,
"Longitude":30.315868,
"Street":"ул. Салова, 57",
"OrganizationId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"AddressId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"TimeStart":"2026-09-08T09:00:00.000Z",
"TimeEnd":"2026-09-08T18:00:00.000Z",
"IsRoundTheClock":false,
"LargeCities":[...],
0
],
"LoadingCargos":[...]
{...}
"CargoId":1,
"NameId":1,
"Name":"Продукты питания",
"PackagingType":1,
"PackagingQuantity":20,
"Weight":20,
"Volume":82,
"Sizes":{...}
"Length":13.6,
"Width":2.45,
"Height":2.7,
"Diameter":1.2,
"LengthHighlight":false,
"WidthHighlight":false,
"HeightHighlight":false
}
}
]
},
"ExtraPoints":[...],
{...}
"CityId":1,
"PointType":2,
"Latitude":59.939095,
"Longitude":30.315868,
"Street":"пр. Ленина, 10",
"OrganizationId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"AddressId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"OrdinalId":1,
"IsRoundTheClock":false,
"LoadingDateStart":"2026-09-09T00:00:00.000Z",
"LoadingDateEnd":"2026-09-09T00:00:00.000Z",
"LoadingTimeStart":"09:00:00",
"LoadingTimeEnd":"18:00:00",
"LoadingCargos":[...],
{...}
"CargoId":1,
"NameId":1,
"Name":"Продукты питания",
"PackagingType":1,
"PackagingQuantity":20,
"Weight":20,
"Volume":82,
"Sizes":{...}
"Length":13.6,
"Width":2.45,
"Height":2.7,
"Diameter":1.2,
"LengthHighlight":false,
"WidthHighlight":false,
"HeightHighlight":false
}
}
],
"UnloadingCargos":[...]
{...}
"CargoId":1,
"Weight":10,
"Volume":40,
"PackagingQuantity":10,
"IsDefinedByTtn":false
}
]
}
],
"Unloading":{...},
"CityId":1,
"Latitude":59.939095,
"Longitude":30.315868,
"Street":"ул. Салова, 57",
"OrganizationId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"AddressId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"TimeStart":"2026-09-08T09:00:00.000Z",
"TimeEnd":"2026-09-08T18:00:00.000Z",
"IsRoundTheClock":false,
"LargeCities":[...],
0
],
"LoadingCargos":[...]
{...}
"CargoId":1,
"NameId":1,
"Name":"Продукты питания",
"PackagingType":1,
"PackagingQuantity":20,
"Weight":20,
"Volume":82,
"Sizes":{...}
"Length":13.6,
"Width":2.45,
"Height":2.7,
"Diameter":1.2,
"LengthHighlight":false,
"WidthHighlight":false,
"HeightHighlight":false
}
}
]
},
"Cargo":{...},
"Weight":20,
"Volume":82,
"ADR":0,
"CargoTypeId":59,
"CargoType":"Стройматериалы",
"PackType":1,
"PalletCount":33,
"BeltCount":0,
"DogruzType":1,
"SborGruz":false,
"Size":{...}
"Length":13.6,
"Width":2.45,
"Height":2.7,
"Diameter":1.2,
"LengthHighlight":false,
"WidthHighlight":false,
"HeightHighlight":false
}
},
"Transport":{...},
"CarType":5,
"CarTypeString":"5",
"LoadingType":3,
"LoadingLogicalOperator":"OR",
"UnloadingType":3,
"UnloadingLogicalOperator":"OR",
"TrucksQuantity":1,
"TemperatureFrom":-18,
"TemperatureTo":4,
"Stsepka":false,
"Pnevmohod":false,
"Koniki":false,
"TIR":false,
"CMR":false,
"T1":false,
"SanPassport":false,
"IsTracking":false,
"RequiredCapacity":20
},
"Payment":{...},
"CurrencyId":1,
"MoneyType":22,
"RateSum":85000,
"SumWithNDS":102000,
"SumWithoutNDS":85000,
"PrepayPercent":30,
"PrepayPercentEnabled":true,
"PayDays":5,
"PayDaysEnabled":true,
"FixedRate":true,
"Torg":false,
"DirectContract":false,
"InFuel":false,
"OnUnloading":false,
"HideResponses":false,
"AcceptPaymentTypes":0
},
"InviteSettings":{...},
"InviteDelayInSeconds":600,
"InviteDurationInSeconds":3600,
"MaxPercentDeviation":10,
"NeedArchiveOnInvite":false
},
"PriorityView":{...},
"DailyLimit":500,
"IsForPayedOnly":false,
"OrderLimit":100,
"ViewRate":1.5,
"MoneySpentPerDay":12,
"MoneySpentPerOrder":45
},
"Stealth":{...},
"ListIdToHide":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"FirmRegDateToHide":"2024-01-01T00:00:00.000Z",
"ScoreToHide":3
},
"LoadFiles":[...],
{...}
"FileId":"a1b2c3d4e5f6a7b8c9d0e1f2",
"FileType":1,
"Attributes":0,
"Name":"Договор.pdf",
"Link":"https://api.ati.su/gw/plyushkin/v1/a1b2c3d4e5f6a7b8c9d0e1f2",
"Size":-1
}
],
"Deal":{...},
"Auction":{...}
"StartRate":50000,
"Currency":1,
"Step":500,
"PaymentType":0,
"AcceptSecondPayType":false,
"StartDate":"2026-09-08T09:00:00.000Z",
"EndDate":"2026-09-08T12:00:00.000Z",
"EndDateBoundary":"2026-09-09T09:00:00.000Z",
"Nds":20,
"TimeToProvideDocuments":4,
"AutoRenew":true,
"RenewTime":5,
"MaxRenewTime":30,
"RaiseBid":false,
"MaxRate":60000,
"RaiseBidInterval":30,
"ResponseInMinutes":15,
"Duration":180,
"StartSinceFirstBet":false,
"AuctionRestartParameters":{...},
"AuctionFinishAction":0,
"InitRestartCount":1,
"InitChangeWinnerCount":1,
"DurationAfterRestart":120,
"RateIncrease":500,
"RateIncreaseOption":1
},
"AcceptCounterOffersOnlyBeforeFirstBet":false,
"WinnerCriterion":0,
"Source":0,
"AuctionId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ActiveDealId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"State":0,
"Finished":false,
"WinDate":"2026-09-08T12:05:00.000Z",
"AuctionRates":[...]
{...}
"AuctionRateId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"AddedAt":"2026-09-08T10:15:30.000Z",
"RateFirm":{...},
"Score":4.5,
"Status":0,
"Name":"ООО «Перевозчик»",
"ContactName":"Иван Петров",
"AtiId":"1234567"
},
"Rate":48000,
"State":0,
"LoadingDate":"2026-09-09T00:00:00.000Z",
"FirmId":7654321,
"ContactId":0
}
]
}
},
"Boards":[...],
{...}
"BoardId":"a0a0a0a0a0a0a0a0a0a0a0a0",
"PublicationTime":"2026-09-08T12:00:00.000Z",
"IsReservationEnabled":false,
"PublicationOption":0,
"IsPublished":true,
"IsCommonBoard":true
}
],
"UnloadFirstDate":"2026-09-11T00:00:00.000Z",
"UnloadLastDate":"2026-09-12T00:00:00.000Z",
"ArchiveDate":"2026-09-07T10:15:30.000Z",
"ArchiveReason":"Unknown",
"TruePrice":85000,
"TrueCurrencyId":1,
"ResponseCount":3,
"OfferCount":2,
"CanBeDeleted":true,
"HasPermissionsToLoad":true,
"CanBeEdited":true,
"CanBeRenewed":true,
"CanBeRestored":false,
"EditRestriction":0,
"DeleteRestriction":0,
"RestoreRestriction":0,
"RenewRestriction":"Груз можно обновить не ранее чем через 40 минут",
"Id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadNumber":"12345678",
"UpdatedAt":"2026-09-07T10:15:30.000Z",
"AddedAt":"2026-09-05T08:00:00.000Z",
"RefreshedAt":"2026-09-07T09:00:00+00:00",
"Distance":712,
"PlatonRoadsLength":540,
"TollRoadsLength":120,
"TravelTime":"10:30:00",
"Zimnik":false,
"Ferries":false,
"FirmId":"1234567",
"AuctionId":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
]
400 Идентификатор площадки не из 24 символов.
Модель
{...}

Ошибка вместо результата: машинный ключ и пояснение для пользователя.

Reason: string

Причина ошибки

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"Ошибка валидации: Массив ids не должен быть пуст",
"Error":"validation_error"
}
403 Среди площадок есть недоступная фирме, в том числе общая.
Модель
{...}

Ошибка вместо результата: машинный ключ и пояснение для пользователя.

Reason: string

Причина ошибки

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"Следующие площадки не существуют или вы не имеете доступа к ним: 5f1e2d3c4b5a69788796a5b4",
"Error":"boards_access_denied_error"
}

Методы для добавления документа к грузу

Создание документа в АТИ-Доках на груз

Данный метод позволяет создавать следующие типы документов:

  • заказ
  • заказ (табличный вид)
  • заявка (к договору)
  • заявка к договору (табличный вид)
  • поручение экспедитору

Тип создаваемого документа должен быть передан в documentType в том же виде, как он указан выше.

Создание документа на груз в ATI.Docs. API для интеграции. Допустимые значения типа документа отдаёт справочник documenttypes.
post /v1.0/loads/{loadId}/atidocs/{documentType}
Параметры
Параметр Тип Расположение Описание
loadId обязательный string (guid) path
Идентификатор груза. Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
documentType обязательный string path
Тип документа из справочника documenttypes. Пример: заказ
templateId string query
Идентификатор шаблона документа. Пример: 12345
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/loads/{loadId}/atidocs/{documentType}' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Созданный документ.
Модель
{...}

Документ, созданный в ATI.Docs.

Id: string

Идентификатор созданного документа

Url: string

Ссылка на документ в АТИ-Доках

}
Пример
{...}
"Id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Url":"https://d.ati.su/documents/3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
400 Идентификатор груза пуст или тип документа не указан.
Модель
{...}

Ошибка вместо результата: машинный ключ и пояснение для пользователя.

Reason: string

Причина ошибки

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"Ошибка валидации: Массив ids не должен быть пуст",
"Error":"validation_error"
}
404 Груз не найден.
Модель
{...}

Ошибка вместо результата: машинный ключ и пояснение для пользователя.

Reason: string

Причина ошибки

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"Груз не найден",
"Error":"load_not_found_error"
}