Skip to content
Мои токены Поддержка
Чат для вопросов по API Мгновенно ответим на ваши вопросы
api@ati.su Электронная почта техподдержки
Тикетная система Оставить заявку на отдел "Консультанты по интеграции (API)"
Для подтверждения действия введите пароль
Чтобы продолжить, введите пароль для пользователя

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

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

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

Версия
post /v2/cargos/{cargoApplicationId}/restore
Запрос
Модель
{...}
}
Пример запроса
curl 'https://api.ati.su/v2/cargos/{cargoApplicationId}/restore' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"cargo_application":{"external_id":"string","route":{"loading":{"location":{"type":"string"}},"unloading":{"location":{"type":"string"}},"way_points":[{"location":{"type":"string"}}]},"truck":{"trucks_count":0,"load_type":"string","body_types":[0],"body_loading":{"types":[0],"is_all_required":false},"body_unloading":{"types":[0],"is_all_required":false},"temperature":{"from":0,"to":0},"documents":{"tir":false,"cmr":false,"t1":false,"medical_card":false},"requirements":{"logging_truck":false,"road_train":false,"air_suspension":false},"adr":0,"belts_count":0,"is_tracking":false,"required_capacity":0.5},"payment":{"type":"string","hide_counter_offers":false,"direct_offer":false,"prepayment":{"percent":0,"using_fuel":false},"payment_mode":{"type":"string"}},"documents":[{"file_id":"string"}],"boards":[{"id":"string","publication_mode":"string","publication_time":"1970-01-01T00:00:00.000Z","cancel_publish_on_auction_bet":false,"reservation_enabled":false}],"paid_features":{"priority_view":{"rate":0.5,"limit":0.5,"daily_limit":0.5,"only_for_paid_users":false},"stealth":{"list_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","minimal_registration_date":"1970-01-01T00:00:00.000Z","minimal_stars_count":0}},"note":"string","contacts":[0]}}'
Ответ
200 Success
{...}
}

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

Групповое восстановление грузов
put /v1.0/unpublished-loads/restore
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/unpublished-loads/restore' \
-X 'PUT' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Статус
{...}
}
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
{...}

Модель ошибки

Reason: string

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

Error: string

Ключ ошибки

}

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

Метод для получения заданного архивного груза
get /v1.0/unpublished-loads/{loadId}
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/unpublished-loads/{loadId}' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Архивный груз
{...}
ContactId1*: int32

Идентификатор первого выбранного контакта.
Список всех контактов и их идентификаторы можно получить с помощью API для работы с фирмами
Контакт должен быть виден для остальных участников АТИ

ContactId2: int32 (nullable)

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

Note: string

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

FirstDate: date-time

Дата, начиная с которой груз актуален, в формате UTC
Минимальное значение равно текущей дате
При значении параметра DateType равным 0, допустимое значение поля - текущая дата
При значении параметра DateType равным 1, допустимое значение поля - от текущей даты до 60 дней вперед
При значении параметра 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 - Готов к загрузке
  • 1 - с Х по У
  • 2 - постоянно
  • 3 - груза нет, запрос ставки
PeriodicityId: int32

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

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

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

Krugoreis: boolean

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

UnloadFirstDate: date-time (nullable)

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

UnloadLastDate: date-time (nullable)

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

ArchiveDate: date-time (nullable)

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

ArchiveReason: enum (nullable)
[Unknown, System, Manual, Complaints, UnwantedContent, DeleteCsvLoad, MergeLoadsAfterEdit, ContactDoesNotHaveAccessToVirtualPayments, VerticesLoadDelete, StealthStatisticError, CheckDuplicateComplaints, DeleteContact, DeleteFirm, CleanOldLoadsJob]

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

TruePrice: int32

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

TrueCurrencyId: int32

ID валюты озвученной ставки

ResponseCount: int32

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

OfferCount: int32

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

CanBeDeleted: boolean

Есть ли доступ на удаление груза.

HasPermissionsToLoad: boolean

Есть ли доступ на работу с грузом (без учета прав).

CanBeEdited: boolean

Есть ли доступ на редактирование груза.

CanBeRenewed: boolean

Есть ли доступ на обновление груза.

CanBeRestored: boolean

Есть ли доступ на восстановление груза

EditRestriction: enum
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

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

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

Причины отказа в доступе на удаление контакта:

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

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

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

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

Id: guid

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

LoadNumber: string

Номер груза

UpdatedAt: date-time

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

AddedAt: date-time

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

Distance: int32

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

PlatonRoadsLength: int32

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

TollRoadsLength: int32

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

TravelTime: time-span

Время в пути

Zimnik: boolean

Параметр, который определяет, включен ли зимник для перевозки груза

Ferries: boolean

Параметр, который определяет, учитывать ли паромные переправы для перевозки груза

FirmId: string

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

AuctionId: guid (nullable)

Id аукциона

}
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
{...}

Модель ошибки

Reason: string

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

Error: string

Ключ ошибки

}

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

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

Метод для получения списка всех архивных грузов
get /v1.0/unpublished-loads
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/unpublished-loads' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Архивные грузы
[{...}]
ContactId1*: int32

Идентификатор первого выбранного контакта.
Список всех контактов и их идентификаторы можно получить с помощью API для работы с фирмами
Контакт должен быть виден для остальных участников АТИ

ContactId2: int32 (nullable)

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

Note: string

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

FirstDate: date-time

Дата, начиная с которой груз актуален, в формате UTC
Минимальное значение равно текущей дате
При значении параметра DateType равным 0, допустимое значение поля - текущая дата
При значении параметра DateType равным 1, допустимое значение поля - от текущей даты до 60 дней вперед
При значении параметра 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 - Готов к загрузке
  • 1 - с Х по У
  • 2 - постоянно
  • 3 - груза нет, запрос ставки
PeriodicityId: int32

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

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

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

Krugoreis: boolean

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

UnloadFirstDate: date-time (nullable)

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

UnloadLastDate: date-time (nullable)

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

ArchiveDate: date-time (nullable)

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

ArchiveReason: enum (nullable)
[Unknown, System, Manual, Complaints, UnwantedContent, DeleteCsvLoad, MergeLoadsAfterEdit, ContactDoesNotHaveAccessToVirtualPayments, VerticesLoadDelete, StealthStatisticError, CheckDuplicateComplaints, DeleteContact, DeleteFirm, CleanOldLoadsJob]

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

TruePrice: int32

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

TrueCurrencyId: int32

ID валюты озвученной ставки

ResponseCount: int32

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

OfferCount: int32

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

CanBeDeleted: boolean

Есть ли доступ на удаление груза.

HasPermissionsToLoad: boolean

Есть ли доступ на работу с грузом (без учета прав).

CanBeEdited: boolean

Есть ли доступ на редактирование груза.

CanBeRenewed: boolean

Есть ли доступ на обновление груза.

CanBeRestored: boolean

Есть ли доступ на восстановление груза

EditRestriction: enum
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

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

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

Причины отказа в доступе на удаление контакта:

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

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

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

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

Id: guid

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

LoadNumber: string

Номер груза

UpdatedAt: date-time

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

AddedAt: date-time

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

Distance: int32

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

PlatonRoadsLength: int32

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

TollRoadsLength: int32

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

TravelTime: time-span

Время в пути

Zimnik: boolean

Параметр, который определяет, включен ли зимник для перевозки груза

Ferries: boolean

Параметр, который определяет, учитывать ли паромные переправы для перевозки груза

FirmId: string

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

AuctionId: guid (nullable)

Id аукциона

}]
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
{...}

Модель ошибки

Reason: string

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

Error: string

Ключ ошибки

}

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

Удаление одного груза
delete /v1.0/unpublished-loads/{loadId}
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/unpublished-loads/{loadId}' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Статус
{...}
}
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
{...}

Модель ошибки

Reason: string

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

Error: string

Ключ ошибки

}

Удаление нескольких архивных грузов

Метод для удаления списка архивных грузов
delete /v1.0/unpublished-loads
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/unpublished-loads' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Статус
{...}
}
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
{...}

Модель ошибки

Reason: string

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

Error: string

Ключ ошибки

}

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

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

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

Получение всех комментариев фирмы ко всем грузам
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 Комментарии ко всем архивным грузам фирмы
{...}
}
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
{...}

Модель ошибки

Reason: string

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

Error: string

Ключ ошибки

}

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

Получение всех комментариев к грузу для текущей фирмы.
get /v1.0/unpublished-loads/{loadId}/comments
Запрос
Пример запроса
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

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

Message: string

Комментарий

ContactId: int32

Контакт фирмы, который оставил комментарий

CommentDateTime: date-time

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

}]
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
{...}

Модель ошибки

Reason: string

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

Error: string

Ключ ошибки

}

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

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

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

  • комментарий не может быть пустым
  • длина комментария не более 128 символов
  • если для фирмы включен режим раздельного доступа, то количество комментариев ограничено одним на контакт, иначе – одним комментарием на фирму
  • комментарий можно добавлять только к собственному грузу
Добавление либо редактирование комментария к грузу.
put /v1.0/unpublished-loads/{loadId}/comments
Запрос
Модель
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 '"string"'
Ответ
200 Комментарий к архивному грузу
{...}
CommentId: guid

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

Message: string

Комментарий

ContactId: int32

Контакт фирмы, который оставил комментарий

CommentDateTime: date-time

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

}
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
{...}

Модель ошибки

Reason: string

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

Error: string

Ключ ошибки

}

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

Удаление комментария у груза.
delete /v1.0/unpublished-loads/{loadId}/comments
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/unpublished-loads/{loadId}/comments' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Комментарий к архивному грузу успешно удален
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
{...}

Модель ошибки

Reason: string

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

Error: string

Ключ ошибки

}

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

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

Требования к дате, передаваемой в 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+3(Москва)

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

Получение встречных предложений на грузы фирмы с одной или несколькими ставками .
get /v1.0/unpublished-loads/new/responses
Запрос
Пример запроса
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

Id отзыва

LoadId: guid

Id груза, на который оставлен отзыв

LoadNumber: string

Номер груза

LoadFirmId: int32

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

FirmId: int32

Id фирмы, которая оставила отзыв

FirmName: string

Название фирмы

ContactId: int32

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

AddedAt: date-time

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

UpdatedAt: date-time

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

Price: decimal

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

CurrencyId: int32

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

NdsPrice: decimal

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

NdsCurrencyId: int32

Валюта ставки встречного предложения б/нал с НДС.Параметр должен быть равен валюте, указанной в грузе, если параметр FixedRate равен True и параметр Torg равен False.
Значение из словаря валют АТИ

NotNdsPrice: decimal

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

NotNdsCurrencyId: int32

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

CounterOfferSource: enum
[0, 1, 2, 3, 4, 5, 6]

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

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

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

PayAttributes: int32

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

  • 1 - возможна оплата наличными
  • 2 - возможна оплата по безналичному рассчету
  • 4 - блиц
  • 8 - оплата с НДС
  • 16 - возможна предоплата
  • 32 - оплата на выгрузке
  • 64 - включена ли оплата через некоторое количество банковских дней
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

Валюта "Озвученной ставки"
Значение из словаря валют АТИ

AnnouncedRate: int32

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

}]
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
{...}

Модель ошибки

Reason: string

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

Error: string

Ключ ошибки

}

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

Получение отзывов на конкретный груз фирмы. На данный момент можно получить только встречные предложения.
get /v1.0/unpublished-loads/new/{loadId}/responses
Запрос
Пример запроса
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

Id отзыва

LoadId: guid

Id груза, на который оставлен отзыв

LoadNumber: string

Номер груза

LoadFirmId: int32

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

FirmId: int32

Id фирмы, которая оставила отзыв

FirmName: string

Название фирмы

ContactId: int32

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

AddedAt: date-time

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

UpdatedAt: date-time

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

Price: decimal

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

CurrencyId: int32

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

NdsPrice: decimal

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

NdsCurrencyId: int32

Валюта ставки встречного предложения б/нал с НДС.Параметр должен быть равен валюте, указанной в грузе, если параметр FixedRate равен True и параметр Torg равен False.
Значение из словаря валют АТИ

NotNdsPrice: decimal

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

NotNdsCurrencyId: int32

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

CounterOfferSource: enum
[0, 1, 2, 3, 4, 5, 6]

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

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

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

PayAttributes: int32

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

  • 1 - возможна оплата наличными
  • 2 - возможна оплата по безналичному рассчету
  • 4 - блиц
  • 8 - оплата с НДС
  • 16 - возможна предоплата
  • 32 - оплата на выгрузке
  • 64 - включена ли оплата через некоторое количество банковских дней
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

Валюта "Озвученной ставки"
Значение из словаря валют АТИ

AnnouncedRate: int32

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

}]
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
{...}

Модель ошибки

Reason: string

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

Error: string

Ключ ошибки

}

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

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

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

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

Получение отзывов на заданные грузы фирмы в виде словаря. На данный момент можно получить только встречные предложения.
get /v1.0/unpublished-loads/new/responses/by-ids
Запрос
Пример запроса
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 Массив отзывов по заданным грузам в виде словаря
{...}
}
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
{...}

Модель ошибки

Reason: string

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

Error: string

Ключ ошибки

}

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

Позволяет удалить встречные предложения с указанными id для своего груза
delete /v1.0/unpublished-loads/new/{loadId}/responses
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/unpublished-loads/new/{loadId}/responses' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200
{...}
}
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
{...}

Модель ошибки

Reason: string

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

Error: string

Ключ ошибки

}

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

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

get /v1.0/unpublished-loads/by_meta/{loadMetaId}
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/unpublished-loads/by_meta/{loadMetaId}' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Архивные грузы
[{...}]
ContactId1*: int32

Идентификатор первого выбранного контакта.
Список всех контактов и их идентификаторы можно получить с помощью API для работы с фирмами
Контакт должен быть виден для остальных участников АТИ

ContactId2: int32 (nullable)

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

Note: string

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

FirstDate: date-time

Дата, начиная с которой груз актуален, в формате UTC
Минимальное значение равно текущей дате
При значении параметра DateType равным 0, допустимое значение поля - текущая дата
При значении параметра DateType равным 1, допустимое значение поля - от текущей даты до 60 дней вперед
При значении параметра 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 - Готов к загрузке
  • 1 - с Х по У
  • 2 - постоянно
  • 3 - груза нет, запрос ставки
PeriodicityId: int32

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

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

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

Krugoreis: boolean

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

UnloadFirstDate: date-time (nullable)

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

UnloadLastDate: date-time (nullable)

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

ArchiveDate: date-time (nullable)

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

ArchiveReason: enum (nullable)
[Unknown, System, Manual, Complaints, UnwantedContent, DeleteCsvLoad, MergeLoadsAfterEdit, ContactDoesNotHaveAccessToVirtualPayments, VerticesLoadDelete, StealthStatisticError, CheckDuplicateComplaints, DeleteContact, DeleteFirm, CleanOldLoadsJob]

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

TruePrice: int32

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

TrueCurrencyId: int32

ID валюты озвученной ставки

ResponseCount: int32

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

OfferCount: int32

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

CanBeDeleted: boolean

Есть ли доступ на удаление груза.

HasPermissionsToLoad: boolean

Есть ли доступ на работу с грузом (без учета прав).

CanBeEdited: boolean

Есть ли доступ на редактирование груза.

CanBeRenewed: boolean

Есть ли доступ на обновление груза.

CanBeRestored: boolean

Есть ли доступ на восстановление груза

EditRestriction: enum
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

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

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

Причины отказа в доступе на удаление контакта:

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

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

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

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

Id: guid

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

LoadNumber: string

Номер груза

UpdatedAt: date-time

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

AddedAt: date-time

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

Distance: int32

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

PlatonRoadsLength: int32

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

TollRoadsLength: int32

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

TravelTime: time-span

Время в пути

Zimnik: boolean

Параметр, который определяет, включен ли зимник для перевозки груза

Ferries: boolean

Параметр, который определяет, учитывать ли паромные переправы для перевозки груза

FirmId: string

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

AuctionId: guid (nullable)

Id аукциона

}]
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
{...}

Модель ошибки

Reason: string

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

Error: string

Ключ ошибки

}