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.

Архивные грузы

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

Восстановление одного архивного груза

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

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

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

}
Пример запроса
curl 'https://api.ati.su/gw/cargos_create_v2/integration/v2/cargos/{cargoApplicationId}/restore' \
-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":[...]
{}
]
}

Групповое восстановление архивных грузов

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

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

Reason: string

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

Error: string

Ключ ошибки

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

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

Получение одного архивного груза. API для интеграции. Отдаются только грузы вашей фирмы: чужой архив недоступен.
get /v1.0/unpublished-loads/{loadId}
Параметры
Параметр Тип Расположение Описание
loadId обязательный string (guid) path
Идентификатор архивного груза. Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/unpublished-loads/{loadId}' \
-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":"load_not_found_error"
}

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

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

Получение всех архивных грузов фирмы. API для интеграции. В архив груз попадает, когда его снимает владелец или система: истёк срок актуальности, жалобы, модерация; причина видна в самом грузе. Вернуть груз в выдачу можно методами restore. Без contactId возвращаются архивные грузы всех контактов фирмы.
get /v1.0/unpublished-loads
Параметры
Параметр Тип Расположение Описание
contactId integer (int32) query
Идентификатор контакта. Пример: 0
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/unpublished-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 v2 для удаления одного архивного груза передайте его идентификатор в массиве cargo_application_ids.

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

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

cargo_application_ids*: [uuid]

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

}
Пример запроса
curl 'https://api.ati.su/gw/cargos_create_v2/integration/v2/cargos' \
-X 'DELETE' \
-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 идентификаторов за один запрос.
delete /gw/cargos_create_v2/integration/v2/cargos
Параметры
Параметров нет
Запрос
Модель
{...}

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

cargo_application_ids*: [uuid]

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

}
Пример запроса
curl 'https://api.ati.su/gw/cargos_create_v2/integration/v2/cargos' \
-X 'DELETE' \
-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":[...]
{}
]
}

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

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

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

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

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

Получение комментариев фирмы к архивному грузу. API для интеграции. Комментарий виден только фирме, которая его оставила: чужие комментарии к тому же грузу не возвращаются.
get /v1.0/unpublished-loads/{loadId}/comments
Параметры
Параметр Тип Расположение Описание
loadId обязательный string (guid) path
Идентификатор груза. Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/unpublished-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/unpublished-loads/{loadId}/comments
Параметры
Параметр Тип Расположение Описание
loadId обязательный string (guid) path
Идентификатор груза. Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Модель
string
Пример запроса
curl 'https://api.ati.su/v1.0/unpublished-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/unpublished-loads/{loadId}/comments
Параметры
Параметр Тип Расположение Описание
loadId обязательный string (guid) path
Идентификатор груза. Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/unpublished-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 для интеграции. Отзывы остаются доступными после ухода груза в архив. Возвращаются отзывы всех типов: встречные предложения, жалобы, озвученные ставки и «груза нет».
get /v1.0/unpublished-loads/new/responses
Параметры
Параметр Тип Расположение Описание
dateFrom string (date-time) query
Возвращать отзывы начиная с этой даты. Без параметра возвращаются все отзывы. Дату указывайте в UTC: значение без часового пояса читается как московское время (UTC+3). Пример: 2026-09-01T00:00:00.000Z
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/unpublished-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

Получение отзывов на конкретный архивный груз фирмы. API для интеграции. По грузу вашей фирмы возвращаются все отзывы целиком. Возвращаются отзывы всех типов: встречные предложения, жалобы, озвученные ставки и «груза нет». По чужому грузу видны только актуальные отзывы, и только если владелец их не скрыл; контакты и примечания чужих отзывов скрыты, ваш отзыв — целиком.
get /v1.0/unpublished-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/unpublished-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 не найден у вашей фирмы, статус равен 0, иначе статус равен 1. Если у архивного груза статус равен 0, то массив отзывов всегда пуст.

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

Получение отзывов на заданные архивные грузы фирмы в виде словаря. API для интеграции. Повторы в списке грузов схлопываются. У груза с доступом к отзывам статус 0 и список отзывов всех типов; у чужих отзывов контакт и примечание скрыты. Без доступа или для несуществующего груза вместо списка приходит статус ошибки.
get /v1.0/unpublished-loads/new/responses/by-ids
Параметры
Параметр Тип Расположение Описание
dateFrom string (date-time) query
Возвращать отзывы начиная с этой даты. Без параметра возвращаются все отзывы. Дату указывайте в UTC: значение без часового пояса читается как московское время (UTC+3). Пример: 2026-09-01T00:00:00.000Z
loadIds string (guid)[] query
Идентификаторы грузов, по которым нужны отзывы. Пример: ["3fa85f64-5717-4562-b3fc-2c963f66afa6"]
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/unpublished-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 для интеграции. Удаляются встречные предложения на вашем архивном грузе; чужие грузы метод не затрагивает.
delete /v1.0/unpublished-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/unpublished-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"
}

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

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

Получение архивных грузов по метаданным. API для интеграции. Возвращаются все архивные грузы фирмы с этим идентификатором метаданных.
get /v1.0/unpublished-loads/by_meta/{loadMetaId}
Параметры
Параметр Тип Расположение Описание
loadMetaId обязательный string (guid) path
Идентификатор метаданных публикации. Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/unpublished-loads/by_meta/{loadMetaId}' \
-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"
}
]