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

API раздела «Ваши машины»

API позволяет управлять вашими машинами — добавлять, изменять и удалять их.

Терминология

Машина — объявление о свободном транспорте. Содержит в себе информацию о машине, датах, в которые машина свободна, направлениях перевозки и комфортной ставке.

Ваши машины — раздел на сайте ATI.SU, в котором пользователь может добавлять, удалять и редактировать машины.

Архив ваших машин — информация об удаленной машине помещается в архив. Объявление из архива можно восстановить.

Приоритетный показ — услуга, закрепляющая объявление вверху поиска машин. Cтатья про приоритетный показ.

Атисы — валюта виртуального счета в ATI.SU. 1 атис равен 1 российскому рублю. Используется для приоритетного показа и других услуг. Статья про атисы.

Комментарий к машине — дополнительная информация, которая может быть добавлена к машине сотрудниками вашей фирмы. Видна только сотрудникам вашей фирмы.

Пользовательские ошибки в API машин

В API машин может произойти достаточно много пользовательских ошибок, и для идентификации конкретной ошибки не всегда достаточно http кода ошибки. Поэтому при возникновении ошибки в теле ответа всегда будет присутствовать объект ошибки, содержащий 2 поля: error с кодом ошибки в виде строки и reason с пояснением. В групповых операциях поля error и reason будут указаны для каждой машины, с которой произошла ошибка во время выполнения операции.

Примеры ошибок

Ошибка при одиночной операции (на примере добавления машины)

Ошибка при одиночной операции (не обновилась машина, так как уже была обновлена менее 60 минут назад).

{
"error": "truck_duplicate",
"reason": "Машина имеет дубликат в системе. Операция невозможна.",
"duplicate_truck_id": "2fb37893-3587-eb11-bb9f-0cc47af30c1b"
}

Ошибка при групповой операции (на примере группового обновления)

{
"2fb37893-3587-eb11-bb9f-0cc47af30c1b": {
"error": "truck_renew_delay_not_elapsed_error",
"reason": "Машина была обновлена менее 60 минут назад. Следующее обновление возможно через 57 минут.",
"remaining_minutes": 57
},
"89d8e0db-3587-eb11-bb9f-0cc47af30c1b": {
"error": "truck_renew_delay_not_elapsed_error",
"reason": "Машина была обновлена менее 60 минут назад. Следующее обновление возможно через 59 минут.",
"remaining_minutes": 59
}
}

Ошибка валидации (на примере добавления машины)

В случае ошибки валидации json в теле запроса возникает ошибка json_validation_error. В теле ответа будут поля error и reason, и, кроме того, поле error_list, содержащее массив объектов вида { error, reason }, где: error – код ошибки поля; reason – причина ошибки.

{
"error": "json_validation_error",
"reason": "Одна или несколько машин не прошли проверку. Отредактируйте машину, чтобы исправить ошибки.",
"error_list": [
{
"error": "priority.view_rate",
"reason": "Параметр \"Ставка за просмотр\" должен должен принимать значения от 0.60 атисов до значения вашего баланса включительно"
},
{
"error": "first_date",
"reason": "Если значение параметра date_type равно 1, допустимое значение параметра first_date - от текущей даты до 60 дней вперед"
}
]
}

Ошибка доступа (на примере добавления машины)

{
"error": "contact_access_denied_error",
"reason": "У данного контакта имеются ограничения на данную операцию"
}

Список возможных 4хх ошибок

Код ошибкиПояснение
deserialization_errorОшибка десериализации json
json_validation_errorОшибка валидации json из тела запроса
validation_errorОшибка валидации. Возникает в случае любой ошибки валидации, кроме ошибки валидации тела запроса (json_validation_error)
contact_access_denied_errorОтказано в доступе
contact_not_found_errorКонтакт не найден
truck_renew_delay_not_elapsed_errorМашина была обновлена менее 60 минут назад
dictionary_element_not_found_errorЭлемент словаря не найден
truck_not_found_errorМашина не найдена

Список методов

Работа с машинами

Работа с архивом ваших машин

Групповые методы

Работа с комментариями к машинам

Работа с приоритетным показом

Работа с машинами

Получение одной машины

Возвращает опубликованную машину по её truckId.

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

Машина в интеграторском контракте v1.

contact_id1: int32

Идентификатор основного контакта, управляющего машиной.

contact_id2: int32 (nullable)

Идентификатор дополнительного контакта, управляющего машиной.

department_id: int32 (nullable)

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

note: string

Комментарий владельца к машине.

first_date: date-time

Начало периода доступности машины. Обязательно при date_type = 1.

last_date: date-time

Окончание периода доступности машины. Обязательно при date_type = 1.

periodicity_id: int32

Код периодичности публикации. Используется при date_type = 2.

date_type: int32

Тип периода доступности машины. Если не указан, используется значение 0.

is_team_driving: boolean (nullable)

Признак работы экипажа из двух водителей.

truck_id: guid

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

ati_id: string

Публичный номер машины в ATI.SU.

added_at: date-time

Дата и время создания машины.

updated_at: date-time

Дата и время последнего изменения машины.

archived_at: date-time (nullable)

Дата и время переноса машины в архив; null для опубликованной машины.

archive_reason: enum
[unknown, system, manual, complaints, unwanted_content, firm_is_banned]

Причина переноса машины в архив: unknown — не указана; system — системная; manual — вручную; complaints — жалобы; unwanted_content — нежелательный контент; firm_is_banned — фирма заблокирована.

  • 0 — Не указана
  • 1 — Системная
  • 2 — Вручную
  • 3 — Жалобы
  • 4 — Нежелательный контент
  • 5 — Фирма заблокирована
can_be_edited: boolean

Признак доступности редактирования машины текущему пользователю.

can_be_renewed: boolean

Признак доступности обновления публикации машины текущему пользователю.

can_be_deleted: boolean

Признак доступности удаления машины текущему пользователю.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
renew_restriction: string

Причина, по которой обновление публикации машины недоступно.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
is_archive_truck: boolean

Признак нахождения машины в архиве.

true_price: decimal

Устаревшая стоимость приоритетного показа.

deprecated
true_currency_id: int32

Устаревший идентификатор валюты стоимости приоритетного показа.

deprecated
}
Пример
{...}
"contact_id1":123456,
"contact_id2":123457,
"department_id":10,
"note":"Тент, готов к загрузке",
"first_date":"2026-08-17T08:00:00Z",
"last_date":"2026-08-18T18:00:00Z",
"periodicity_id":0,
"date_type":0,
"is_team_driving":false,
"transport":{...},
"car_type":1,
"car_type_mask":1,
"body_type":0,
"loading_type":1,
"weight":20,
"volume":82,
"truck_length":7.2,
"truck_width":2.45,
"truck_height":2.7,
"trailer_length":13.6,
"trailer_width":2.45,
"trailer_height":2.7,
"hydrolift":false,
"partial_load":false,
"koniki":false,
"tir":false,
"ekmt":false,
"adr_types":0,
"is_tracking":false
},
"loading":{...},
"city_id":3611,
"radius":50,
"region_id":77,
"country_id":1
},
"payment":{...},
"rate_sum":50000,
"currency_id":1,
"cashless":true,
"nds":true,
"card":false,
"nal":false
},
"priority":{...},
"status":0,
"view_rate":10,
"order_limit":500,
"daily_limit":1000,
"is_for_payed_only":false,
"money_spent_per_day":100,
"money_spent_per_order":20
},
"stealth":{...},
"rating":5,
"registration_date":"2020-01-15T00:00:00Z",
"firm_list":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"unloading":{...},
"point_type":1,
"point_id":3611,
"radius":50,
"additional_points":[...],
{...}
"rate_sum":1500.5,
"point_type":1,
"point_id":3611,
"radius":50,
"currency_id":1,
"money_type":1,
"region_id":77,
"country_id":1
}
],
"region_id":77,
"country_id":1
},
"truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ati_id":123456,
"added_at":"2026-08-17T08:00:00Z",
"updated_at":"2026-08-17T08:30:00Z",
"archived_at":"2026-08-18T18:00:00Z",
"archive_reason":"unknown",
"can_be_edited":true,
"can_be_renewed":true,
"can_be_deleted":true,
"edit_restriction":0,
"renew_restriction":"Обновление будет доступно через 10 минут",
"delete_restriction":0,
"is_archive_truck":false
}
4XX Ошибка запроса
Модель
{...}

Ошибка выполнения запроса к API машин.

error: string (nullable)

Машиночитаемый код ошибки.

reason: string (nullable)

Описание ошибки.

remaining_minutes: int32 (nullable)

Оставшееся время до повтора операции в минутах.

duplicate_truck_id: guid (nullable)

Идентификатор существующей машины-дубликата.

}
Пример
{...}
"error":"validation_error",
"reason":"Ошибка валидации",
"error_list":[...],
{...}
"error":"contact_id1",
"reason":"Параметр contact_id1 должен существовать"
}
],
"remaining_minutes":59,
"duplicate_truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Получение всех машин

Возвращает список всех опубликованных машин вашей фирмы. Не передавайте contactId, чтобы получить машины всех доступных контактов.

Получение всех машин
get /gw/trucks/integrator/v1/trucks
Параметры
Параметр Тип Расположение Описание
contactId integer (int32) query
Идентификатор контакта Пример: 0
Запрос
Пример запроса
curl 'https://api.ati.su/gw/trucks/integrator/v1/trucks' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200
Модель
[{...}]

Машина в интеграторском контракте v1.

contact_id1: int32

Идентификатор основного контакта, управляющего машиной.

contact_id2: int32 (nullable)

Идентификатор дополнительного контакта, управляющего машиной.

department_id: int32 (nullable)

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

note: string

Комментарий владельца к машине.

first_date: date-time

Начало периода доступности машины. Обязательно при date_type = 1.

last_date: date-time

Окончание периода доступности машины. Обязательно при date_type = 1.

periodicity_id: int32

Код периодичности публикации. Используется при date_type = 2.

date_type: int32

Тип периода доступности машины. Если не указан, используется значение 0.

is_team_driving: boolean (nullable)

Признак работы экипажа из двух водителей.

truck_id: guid

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

ati_id: string

Публичный номер машины в ATI.SU.

added_at: date-time

Дата и время создания машины.

updated_at: date-time

Дата и время последнего изменения машины.

archived_at: date-time (nullable)

Дата и время переноса машины в архив; null для опубликованной машины.

archive_reason: enum
[unknown, system, manual, complaints, unwanted_content, firm_is_banned]

Причина переноса машины в архив: unknown — не указана; system — системная; manual — вручную; complaints — жалобы; unwanted_content — нежелательный контент; firm_is_banned — фирма заблокирована.

  • 0 — Не указана
  • 1 — Системная
  • 2 — Вручную
  • 3 — Жалобы
  • 4 — Нежелательный контент
  • 5 — Фирма заблокирована
can_be_edited: boolean

Признак доступности редактирования машины текущему пользователю.

can_be_renewed: boolean

Признак доступности обновления публикации машины текущему пользователю.

can_be_deleted: boolean

Признак доступности удаления машины текущему пользователю.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
renew_restriction: string

Причина, по которой обновление публикации машины недоступно.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
is_archive_truck: boolean

Признак нахождения машины в архиве.

true_price: decimal

Устаревшая стоимость приоритетного показа.

deprecated
true_currency_id: int32

Устаревший идентификатор валюты стоимости приоритетного показа.

deprecated
}]
Пример
[...]
{...}
"contact_id1":123456,
"contact_id2":123457,
"department_id":10,
"note":"Тент, готов к загрузке",
"first_date":"2026-08-17T08:00:00Z",
"last_date":"2026-08-18T18:00:00Z",
"periodicity_id":0,
"date_type":0,
"is_team_driving":false,
"transport":{...},
"car_type":1,
"car_type_mask":1,
"body_type":0,
"loading_type":1,
"weight":20,
"volume":82,
"truck_length":7.2,
"truck_width":2.45,
"truck_height":2.7,
"trailer_length":13.6,
"trailer_width":2.45,
"trailer_height":2.7,
"hydrolift":false,
"partial_load":false,
"koniki":false,
"tir":false,
"ekmt":false,
"adr_types":0,
"is_tracking":false
},
"loading":{...},
"city_id":3611,
"radius":50,
"region_id":77,
"country_id":1
},
"payment":{...},
"rate_sum":50000,
"currency_id":1,
"cashless":true,
"nds":true,
"card":false,
"nal":false
},
"priority":{...},
"status":0,
"view_rate":10,
"order_limit":500,
"daily_limit":1000,
"is_for_payed_only":false,
"money_spent_per_day":100,
"money_spent_per_order":20
},
"stealth":{...},
"rating":5,
"registration_date":"2020-01-15T00:00:00Z",
"firm_list":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"unloading":{...},
"point_type":1,
"point_id":3611,
"radius":50,
"additional_points":[...],
{...}
"rate_sum":1500.5,
"point_type":1,
"point_id":3611,
"radius":50,
"currency_id":1,
"money_type":1,
"region_id":77,
"country_id":1
}
],
"region_id":77,
"country_id":1
},
"truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ati_id":123456,
"added_at":"2026-08-17T08:00:00Z",
"updated_at":"2026-08-17T08:30:00Z",
"archived_at":"2026-08-18T18:00:00Z",
"archive_reason":"unknown",
"can_be_edited":true,
"can_be_renewed":true,
"can_be_deleted":true,
"edit_restriction":0,
"renew_restriction":"Обновление будет доступно через 10 минут",
"delete_restriction":0,
"is_archive_truck":false
}
]
4XX Ошибка запроса
Модель
{...}

Ошибка выполнения запроса к API машин.

error: string (nullable)

Машиночитаемый код ошибки.

reason: string (nullable)

Описание ошибки.

remaining_minutes: int32 (nullable)

Оставшееся время до повтора операции в минутах.

duplicate_truck_id: guid (nullable)

Идентификатор существующей машины-дубликата.

}
Пример
{...}
"error":"validation_error",
"reason":"Ошибка валидации",
"error_list":[...],
{...}
"error":"contact_id1",
"reason":"Параметр contact_id1 должен существовать"
}
],
"remaining_minutes":59,
"duplicate_truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Получение машин контакта

Передайте contactId, чтобы получить опубликованные машины конкретного контакта.

Получение машин контакта
get /gw/trucks/integrator/v1/trucks
Параметры
Параметр Тип Расположение Описание
contactId integer (int32) query
Идентификатор контакта Пример: 0
Запрос
Пример запроса
curl 'https://api.ati.su/gw/trucks/integrator/v1/trucks' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200
Модель
[{...}]

Машина в интеграторском контракте v1.

contact_id1: int32

Идентификатор основного контакта, управляющего машиной.

contact_id2: int32 (nullable)

Идентификатор дополнительного контакта, управляющего машиной.

department_id: int32 (nullable)

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

note: string

Комментарий владельца к машине.

first_date: date-time

Начало периода доступности машины. Обязательно при date_type = 1.

last_date: date-time

Окончание периода доступности машины. Обязательно при date_type = 1.

periodicity_id: int32

Код периодичности публикации. Используется при date_type = 2.

date_type: int32

Тип периода доступности машины. Если не указан, используется значение 0.

is_team_driving: boolean (nullable)

Признак работы экипажа из двух водителей.

truck_id: guid

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

ati_id: string

Публичный номер машины в ATI.SU.

added_at: date-time

Дата и время создания машины.

updated_at: date-time

Дата и время последнего изменения машины.

archived_at: date-time (nullable)

Дата и время переноса машины в архив; null для опубликованной машины.

archive_reason: enum
[unknown, system, manual, complaints, unwanted_content, firm_is_banned]

Причина переноса машины в архив: unknown — не указана; system — системная; manual — вручную; complaints — жалобы; unwanted_content — нежелательный контент; firm_is_banned — фирма заблокирована.

  • 0 — Не указана
  • 1 — Системная
  • 2 — Вручную
  • 3 — Жалобы
  • 4 — Нежелательный контент
  • 5 — Фирма заблокирована
can_be_edited: boolean

Признак доступности редактирования машины текущему пользователю.

can_be_renewed: boolean

Признак доступности обновления публикации машины текущему пользователю.

can_be_deleted: boolean

Признак доступности удаления машины текущему пользователю.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
renew_restriction: string

Причина, по которой обновление публикации машины недоступно.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
is_archive_truck: boolean

Признак нахождения машины в архиве.

true_price: decimal

Устаревшая стоимость приоритетного показа.

deprecated
true_currency_id: int32

Устаревший идентификатор валюты стоимости приоритетного показа.

deprecated
}]
Пример
[...]
{...}
"contact_id1":123456,
"contact_id2":123457,
"department_id":10,
"note":"Тент, готов к загрузке",
"first_date":"2026-08-17T08:00:00Z",
"last_date":"2026-08-18T18:00:00Z",
"periodicity_id":0,
"date_type":0,
"is_team_driving":false,
"transport":{...},
"car_type":1,
"car_type_mask":1,
"body_type":0,
"loading_type":1,
"weight":20,
"volume":82,
"truck_length":7.2,
"truck_width":2.45,
"truck_height":2.7,
"trailer_length":13.6,
"trailer_width":2.45,
"trailer_height":2.7,
"hydrolift":false,
"partial_load":false,
"koniki":false,
"tir":false,
"ekmt":false,
"adr_types":0,
"is_tracking":false
},
"loading":{...},
"city_id":3611,
"radius":50,
"region_id":77,
"country_id":1
},
"payment":{...},
"rate_sum":50000,
"currency_id":1,
"cashless":true,
"nds":true,
"card":false,
"nal":false
},
"priority":{...},
"status":0,
"view_rate":10,
"order_limit":500,
"daily_limit":1000,
"is_for_payed_only":false,
"money_spent_per_day":100,
"money_spent_per_order":20
},
"stealth":{...},
"rating":5,
"registration_date":"2020-01-15T00:00:00Z",
"firm_list":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"unloading":{...},
"point_type":1,
"point_id":3611,
"radius":50,
"additional_points":[...],
{...}
"rate_sum":1500.5,
"point_type":1,
"point_id":3611,
"radius":50,
"currency_id":1,
"money_type":1,
"region_id":77,
"country_id":1
}
],
"region_id":77,
"country_id":1
},
"truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ati_id":123456,
"added_at":"2026-08-17T08:00:00Z",
"updated_at":"2026-08-17T08:30:00Z",
"archived_at":"2026-08-18T18:00:00Z",
"archive_reason":"unknown",
"can_be_edited":true,
"can_be_renewed":true,
"can_be_deleted":true,
"edit_restriction":0,
"renew_restriction":"Обновление будет доступно через 10 минут",
"delete_restriction":0,
"is_archive_truck":false
}
]
4XX Ошибка запроса
Модель
{...}

Ошибка выполнения запроса к API машин.

error: string (nullable)

Машиночитаемый код ошибки.

reason: string (nullable)

Описание ошибки.

remaining_minutes: int32 (nullable)

Оставшееся время до повтора операции в минутах.

duplicate_truck_id: guid (nullable)

Идентификатор существующей машины-дубликата.

}
Пример
{...}
"error":"validation_error",
"reason":"Ошибка валидации",
"error_list":[...],
{...}
"error":"contact_id1",
"reason":"Параметр contact_id1 должен существовать"
}
],
"remaining_minutes":59,
"duplicate_truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Получение количества машин

Возвращает счётчики опубликованных и архивных машин фирмы и текущего контакта.

Получение счетчиков машин
get /gw/trucks/integrator/v1/trucks/count
Параметры
Параметров нет
Запрос
Пример запроса
curl 'https://api.ati.su/gw/trucks/integrator/v1/trucks/count' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200
Модель
{...}

Счётчики опубликованных и архивных машин.

firm_trucks_count: int32

Количество опубликованных машин фирмы.

contact_trucks_count: int32 (nullable)

Количество опубликованных машин контакта.

unpublished_firm_trucks_count: int32 (nullable)

Количество архивных машин фирмы.

unpublished_contact_trucks_count: int32 (nullable)

Количество архивных машин контакта.

responses_for_contact_count: int32 (nullable)

Количество откликов на машины контакта.

responses_for_firm_count: int32 (nullable)

Количество откликов на машины фирмы.

}
Пример
{...}
"firm_trucks_count":10,
"contact_trucks_count":3,
"unpublished_firm_trucks_count":5,
"unpublished_contact_trucks_count":2,
"responses_for_contact_count":4,
"responses_for_firm_count":8
}
4XX Ошибка запроса
Модель
{...}

Ошибка выполнения запроса к API машин.

error: string (nullable)

Машиночитаемый код ошибки.

reason: string (nullable)

Описание ошибки.

remaining_minutes: int32 (nullable)

Оставшееся время до повтора операции в минутах.

duplicate_truck_id: guid (nullable)

Идентификатор существующей машины-дубликата.

}
Пример
{...}
"error":"validation_error",
"reason":"Ошибка валидации",
"error_list":[...],
{...}
"error":"contact_id1",
"reason":"Параметр contact_id1 должен существовать"
}
],
"remaining_minutes":59,
"duplicate_truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Получение доступа на добавление машины

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

Метод получения состояния доступности сервиса машин Используется мобильными приложениями
get /gw/trucks/integrator/v1/trucks/get_access
Параметры
Параметров нет
Запрос
Пример запроса
curl 'https://api.ati.su/gw/trucks/integrator/v1/trucks/get_access' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200
Модель
{...}

Состояние доступа пользователя к добавлению машин.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
can_add_own_truck: boolean

Признак возможности добавлять собственные машины.

can_add_other_truck: boolean

Признак возможности добавлять машины других владельцев.

error: string (nullable)

Код причины недоступности добавления; null, если доступ разрешён.

reason: string (nullable)

Описание причины недоступности добавления; null, если доступ разрешён.

}
Пример
{...}
"can_add_own_truck":true,
"can_add_other_truck":false,
"error":"limit_exceeded",
"reason":"Превышен лимит машин"
}
4XX Ошибка запроса
Модель
{...}

Ошибка выполнения запроса к API машин.

error: string (nullable)

Машиночитаемый код ошибки.

reason: string (nullable)

Описание ошибки.

remaining_minutes: int32 (nullable)

Оставшееся время до повтора операции в минутах.

duplicate_truck_id: guid (nullable)

Идентификатор существующей машины-дубликата.

}
Пример
{...}
"error":"validation_error",
"reason":"Ошибка валидации",
"error_list":[...],
{...}
"error":"contact_id1",
"reason":"Параметр contact_id1 должен существовать"
}
],
"remaining_minutes":59,
"duplicate_truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Добавление машины

Создаёт и публикует новую машину. В тело запроса передаются полные данные машины. Ответ 202 означает, что машина распознана как дубликат: новая машина не создаётся, сервис обновляет и возвращает существующую.

Создание машины
post /gw/trucks/integrator/v1/trucks
Параметры
Параметров нет
Запрос
Модель
{...}

Данные для создания или восстановления машины.

contact_id1*: int32

Идентификатор основного контакта, управляющего машиной.

contact_id2: int32 (nullable)

Идентификатор дополнительного контакта, управляющего машиной.

department_id: int32 (nullable)

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

note: string

Комментарий владельца к машине.

first_date: date-time

Начало периода доступности машины. Обязательно при date_type = 1.

last_date: date-time

Окончание периода доступности машины. Обязательно при date_type = 1.

periodicity_id: int32

Код периодичности публикации. Используется при date_type = 2.

date_type: int32

Тип периода доступности машины. Если не указан, используется значение 0.

is_team_driving: boolean (nullable)

Признак работы экипажа из двух водителей.

}
Пример запроса
curl 'https://api.ati.su/gw/trucks/integrator/v1/trucks' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"contact_id1":123456,"contact_id2":123457,"department_id":10,"note":"Тент, готов к загрузке","first_date":"2026-08-17T08:00:00Z","last_date":"2026-08-18T18:00:00Z","periodicity_id":0,"date_type":0,"is_team_driving":false,"transport":{"car_type":1,"car_type_mask":1,"body_type":0,"loading_type":1,"weight":20,"volume":82,"truck_length":7.2,"truck_width":2.45,"truck_height":2.7,"trailer_length":13.6,"trailer_width":2.45,"trailer_height":2.7,"hydrolift":false,"partial_load":false,"koniki":false,"tir":false,"ekmt":false,"adr_types":0,"is_tracking":false},"loading":{"city_id":3611,"radius":50,"region_id":77,"country_id":1},"payment":{"rate_sum":50000,"currency_id":1,"cashless":true,"nds":true,"card":false,"nal":false},"priority":{"status":0,"view_rate":10,"order_limit":500,"daily_limit":1000,"is_for_payed_only":false,"money_spent_per_day":100,"money_spent_per_order":20},"stealth":{"rating":5,"registration_date":"2020-01-15T00:00:00Z","firm_list":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"unloading":{"point_type":1,"point_id":3611,"radius":50,"additional_points":[{"rate_sum":1500.5,"point_type":1,"point_id":3611,"radius":50,"currency_id":1,"money_type":1,"region_id":77,"country_id":1}],"region_id":77,"country_id":1}}'
Ответ
200
Модель
{...}

Машина в интеграторском контракте v1.

contact_id1: int32

Идентификатор основного контакта, управляющего машиной.

contact_id2: int32 (nullable)

Идентификатор дополнительного контакта, управляющего машиной.

department_id: int32 (nullable)

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

note: string

Комментарий владельца к машине.

first_date: date-time

Начало периода доступности машины. Обязательно при date_type = 1.

last_date: date-time

Окончание периода доступности машины. Обязательно при date_type = 1.

periodicity_id: int32

Код периодичности публикации. Используется при date_type = 2.

date_type: int32

Тип периода доступности машины. Если не указан, используется значение 0.

is_team_driving: boolean (nullable)

Признак работы экипажа из двух водителей.

truck_id: guid

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

ati_id: string

Публичный номер машины в ATI.SU.

added_at: date-time

Дата и время создания машины.

updated_at: date-time

Дата и время последнего изменения машины.

archived_at: date-time (nullable)

Дата и время переноса машины в архив; null для опубликованной машины.

archive_reason: enum
[unknown, system, manual, complaints, unwanted_content, firm_is_banned]

Причина переноса машины в архив: unknown — не указана; system — системная; manual — вручную; complaints — жалобы; unwanted_content — нежелательный контент; firm_is_banned — фирма заблокирована.

  • 0 — Не указана
  • 1 — Системная
  • 2 — Вручную
  • 3 — Жалобы
  • 4 — Нежелательный контент
  • 5 — Фирма заблокирована
can_be_edited: boolean

Признак доступности редактирования машины текущему пользователю.

can_be_renewed: boolean

Признак доступности обновления публикации машины текущему пользователю.

can_be_deleted: boolean

Признак доступности удаления машины текущему пользователю.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
renew_restriction: string

Причина, по которой обновление публикации машины недоступно.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
is_archive_truck: boolean

Признак нахождения машины в архиве.

true_price: decimal

Устаревшая стоимость приоритетного показа.

deprecated
true_currency_id: int32

Устаревший идентификатор валюты стоимости приоритетного показа.

deprecated
}
Пример
{...}
"contact_id1":123456,
"contact_id2":123457,
"department_id":10,
"note":"Тент, готов к загрузке",
"first_date":"2026-08-17T08:00:00Z",
"last_date":"2026-08-18T18:00:00Z",
"periodicity_id":0,
"date_type":0,
"is_team_driving":false,
"transport":{...},
"car_type":1,
"car_type_mask":1,
"body_type":0,
"loading_type":1,
"weight":20,
"volume":82,
"truck_length":7.2,
"truck_width":2.45,
"truck_height":2.7,
"trailer_length":13.6,
"trailer_width":2.45,
"trailer_height":2.7,
"hydrolift":false,
"partial_load":false,
"koniki":false,
"tir":false,
"ekmt":false,
"adr_types":0,
"is_tracking":false
},
"loading":{...},
"city_id":3611,
"radius":50,
"region_id":77,
"country_id":1
},
"payment":{...},
"rate_sum":50000,
"currency_id":1,
"cashless":true,
"nds":true,
"card":false,
"nal":false
},
"priority":{...},
"status":0,
"view_rate":10,
"order_limit":500,
"daily_limit":1000,
"is_for_payed_only":false,
"money_spent_per_day":100,
"money_spent_per_order":20
},
"stealth":{...},
"rating":5,
"registration_date":"2020-01-15T00:00:00Z",
"firm_list":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"unloading":{...},
"point_type":1,
"point_id":3611,
"radius":50,
"additional_points":[...],
{...}
"rate_sum":1500.5,
"point_type":1,
"point_id":3611,
"radius":50,
"currency_id":1,
"money_type":1,
"region_id":77,
"country_id":1
}
],
"region_id":77,
"country_id":1
},
"truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ati_id":123456,
"added_at":"2026-08-17T08:00:00Z",
"updated_at":"2026-08-17T08:30:00Z",
"archived_at":"2026-08-18T18:00:00Z",
"archive_reason":"unknown",
"can_be_edited":true,
"can_be_renewed":true,
"can_be_deleted":true,
"edit_restriction":0,
"renew_restriction":"Обновление будет доступно через 10 минут",
"delete_restriction":0,
"is_archive_truck":false
}
202
Модель
{...}

Машина в интеграторском контракте v1.

contact_id1: int32

Идентификатор основного контакта, управляющего машиной.

contact_id2: int32 (nullable)

Идентификатор дополнительного контакта, управляющего машиной.

department_id: int32 (nullable)

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

note: string

Комментарий владельца к машине.

first_date: date-time

Начало периода доступности машины. Обязательно при date_type = 1.

last_date: date-time

Окончание периода доступности машины. Обязательно при date_type = 1.

periodicity_id: int32

Код периодичности публикации. Используется при date_type = 2.

date_type: int32

Тип периода доступности машины. Если не указан, используется значение 0.

is_team_driving: boolean (nullable)

Признак работы экипажа из двух водителей.

truck_id: guid

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

ati_id: string

Публичный номер машины в ATI.SU.

added_at: date-time

Дата и время создания машины.

updated_at: date-time

Дата и время последнего изменения машины.

archived_at: date-time (nullable)

Дата и время переноса машины в архив; null для опубликованной машины.

archive_reason: enum
[unknown, system, manual, complaints, unwanted_content, firm_is_banned]

Причина переноса машины в архив: unknown — не указана; system — системная; manual — вручную; complaints — жалобы; unwanted_content — нежелательный контент; firm_is_banned — фирма заблокирована.

  • 0 — Не указана
  • 1 — Системная
  • 2 — Вручную
  • 3 — Жалобы
  • 4 — Нежелательный контент
  • 5 — Фирма заблокирована
can_be_edited: boolean

Признак доступности редактирования машины текущему пользователю.

can_be_renewed: boolean

Признак доступности обновления публикации машины текущему пользователю.

can_be_deleted: boolean

Признак доступности удаления машины текущему пользователю.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
renew_restriction: string

Причина, по которой обновление публикации машины недоступно.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
is_archive_truck: boolean

Признак нахождения машины в архиве.

true_price: decimal

Устаревшая стоимость приоритетного показа.

deprecated
true_currency_id: int32

Устаревший идентификатор валюты стоимости приоритетного показа.

deprecated
}
Пример
{...}
"contact_id1":123456,
"contact_id2":123457,
"department_id":10,
"note":"Тент, готов к загрузке",
"first_date":"2026-08-17T08:00:00Z",
"last_date":"2026-08-18T18:00:00Z",
"periodicity_id":0,
"date_type":0,
"is_team_driving":false,
"transport":{...},
"car_type":1,
"car_type_mask":1,
"body_type":0,
"loading_type":1,
"weight":20,
"volume":82,
"truck_length":7.2,
"truck_width":2.45,
"truck_height":2.7,
"trailer_length":13.6,
"trailer_width":2.45,
"trailer_height":2.7,
"hydrolift":false,
"partial_load":false,
"koniki":false,
"tir":false,
"ekmt":false,
"adr_types":0,
"is_tracking":false
},
"loading":{...},
"city_id":3611,
"radius":50,
"region_id":77,
"country_id":1
},
"payment":{...},
"rate_sum":50000,
"currency_id":1,
"cashless":true,
"nds":true,
"card":false,
"nal":false
},
"priority":{...},
"status":0,
"view_rate":10,
"order_limit":500,
"daily_limit":1000,
"is_for_payed_only":false,
"money_spent_per_day":100,
"money_spent_per_order":20
},
"stealth":{...},
"rating":5,
"registration_date":"2020-01-15T00:00:00Z",
"firm_list":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"unloading":{...},
"point_type":1,
"point_id":3611,
"radius":50,
"additional_points":[...],
{...}
"rate_sum":1500.5,
"point_type":1,
"point_id":3611,
"radius":50,
"currency_id":1,
"money_type":1,
"region_id":77,
"country_id":1
}
],
"region_id":77,
"country_id":1
},
"truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ati_id":123456,
"added_at":"2026-08-17T08:00:00Z",
"updated_at":"2026-08-17T08:30:00Z",
"archived_at":"2026-08-18T18:00:00Z",
"archive_reason":"unknown",
"can_be_edited":true,
"can_be_renewed":true,
"can_be_deleted":true,
"edit_restriction":0,
"renew_restriction":"Обновление будет доступно через 10 минут",
"delete_restriction":0,
"is_archive_truck":false
}
4XX Ошибка запроса
Модель
{...}

Ошибка выполнения запроса к API машин.

error: string (nullable)

Машиночитаемый код ошибки.

reason: string (nullable)

Описание ошибки.

remaining_minutes: int32 (nullable)

Оставшееся время до повтора операции в минутах.

duplicate_truck_id: guid (nullable)

Идентификатор существующей машины-дубликата.

}
Пример
{...}
"error":"validation_error",
"reason":"Ошибка валидации",
"error_list":[...],
{...}
"error":"contact_id1",
"reason":"Параметр contact_id1 должен существовать"
}
],
"remaining_minutes":59,
"duplicate_truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Обновление машины

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

Обновление машины
put /gw/trucks/integrator/v1/trucks/{truckId}/renew
Параметры
Параметр Тип Расположение Описание
truckId обязательный string (guid) path
Идентификатор машины Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Пример запроса
curl 'https://api.ati.su/gw/trucks/integrator/v1/trucks/{truckId}/renew' \
-X 'PUT' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200
Модель
{...}

Результат успешной legacy-операции.

success: boolean

Признак успешного выполнения операции.

}
Пример
{...}
"success":true
}
4XX Ошибка запроса
Модель
{...}

Ошибка выполнения запроса к API машин.

error: string (nullable)

Машиночитаемый код ошибки.

reason: string (nullable)

Описание ошибки.

remaining_minutes: int32 (nullable)

Оставшееся время до повтора операции в минутах.

duplicate_truck_id: guid (nullable)

Идентификатор существующей машины-дубликата.

}
Пример
{...}
"error":"validation_error",
"reason":"Ошибка валидации",
"error_list":[...],
{...}
"error":"contact_id1",
"reason":"Параметр contact_id1 должен существовать"
}
],
"remaining_minutes":59,
"duplicate_truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Редактирование машины

Изменяет данные опубликованной машины по truckId. В тело запроса передаются новые данные машины. Ответ 202 означает, что машина после редактирования распознана как дубликат: сервис объединяет данные и возвращает существующую машину.

Изменение машины
put /gw/trucks/integrator/v1/trucks/{truckId}
Параметры
Параметр Тип Расположение Описание
truckId обязательный string (guid) path
Идентификатор машины Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Модель
{...}

Данные для редактирования опубликованной машины.

contact_id1*: int32

Идентификатор основного контакта, управляющего машиной.

contact_id2: int32 (nullable)

Идентификатор дополнительного контакта, управляющего машиной.

department_id: int32 (nullable)

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

note: string

Комментарий владельца к машине.

first_date: date-time

Начало периода доступности машины. Обязательно при date_type = 1.

last_date: date-time

Окончание периода доступности машины. Обязательно при date_type = 1.

periodicity_id: int32

Код периодичности публикации. Используется при date_type = 2.

date_type: int32

Тип периода доступности машины. Если не указан, используется значение 0.

is_team_driving: boolean (nullable)

Признак работы экипажа из двух водителей.

}
Пример запроса
curl 'https://api.ati.su/gw/trucks/integrator/v1/trucks/{truckId}' \
-X 'PUT' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"contact_id1":123456,"contact_id2":123457,"department_id":10,"note":"Тент, готов к загрузке","first_date":"2026-08-17T08:00:00Z","last_date":"2026-08-18T18:00:00Z","periodicity_id":0,"date_type":0,"is_team_driving":false,"transport":{"car_type":1,"car_type_mask":1,"body_type":0,"loading_type":1,"weight":20,"volume":82,"truck_length":7.2,"truck_width":2.45,"truck_height":2.7,"trailer_length":13.6,"trailer_width":2.45,"trailer_height":2.7,"hydrolift":false,"partial_load":false,"koniki":false,"tir":false,"ekmt":false,"adr_types":0,"is_tracking":false},"loading":{"city_id":3611,"radius":50,"region_id":77,"country_id":1},"payment":{"rate_sum":50000,"currency_id":1,"cashless":true,"nds":true,"card":false,"nal":false},"priority":{"status":0,"view_rate":10,"order_limit":500,"daily_limit":1000,"is_for_payed_only":false,"money_spent_per_day":100,"money_spent_per_order":20},"stealth":{"rating":5,"registration_date":"2020-01-15T00:00:00Z","firm_list":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"unloading":{"point_type":1,"point_id":3611,"radius":50,"additional_points":[{"rate_sum":1500.5,"point_type":1,"point_id":3611,"radius":50,"currency_id":1,"money_type":1,"region_id":77,"country_id":1}],"region_id":77,"country_id":1}}'
Ответ
200
Модель
{...}

Машина в интеграторском контракте v1.

contact_id1: int32

Идентификатор основного контакта, управляющего машиной.

contact_id2: int32 (nullable)

Идентификатор дополнительного контакта, управляющего машиной.

department_id: int32 (nullable)

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

note: string

Комментарий владельца к машине.

first_date: date-time

Начало периода доступности машины. Обязательно при date_type = 1.

last_date: date-time

Окончание периода доступности машины. Обязательно при date_type = 1.

periodicity_id: int32

Код периодичности публикации. Используется при date_type = 2.

date_type: int32

Тип периода доступности машины. Если не указан, используется значение 0.

is_team_driving: boolean (nullable)

Признак работы экипажа из двух водителей.

truck_id: guid

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

ati_id: string

Публичный номер машины в ATI.SU.

added_at: date-time

Дата и время создания машины.

updated_at: date-time

Дата и время последнего изменения машины.

archived_at: date-time (nullable)

Дата и время переноса машины в архив; null для опубликованной машины.

archive_reason: enum
[unknown, system, manual, complaints, unwanted_content, firm_is_banned]

Причина переноса машины в архив: unknown — не указана; system — системная; manual — вручную; complaints — жалобы; unwanted_content — нежелательный контент; firm_is_banned — фирма заблокирована.

  • 0 — Не указана
  • 1 — Системная
  • 2 — Вручную
  • 3 — Жалобы
  • 4 — Нежелательный контент
  • 5 — Фирма заблокирована
can_be_edited: boolean

Признак доступности редактирования машины текущему пользователю.

can_be_renewed: boolean

Признак доступности обновления публикации машины текущему пользователю.

can_be_deleted: boolean

Признак доступности удаления машины текущему пользователю.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
renew_restriction: string

Причина, по которой обновление публикации машины недоступно.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
is_archive_truck: boolean

Признак нахождения машины в архиве.

true_price: decimal

Устаревшая стоимость приоритетного показа.

deprecated
true_currency_id: int32

Устаревший идентификатор валюты стоимости приоритетного показа.

deprecated
}
Пример
{...}
"contact_id1":123456,
"contact_id2":123457,
"department_id":10,
"note":"Тент, готов к загрузке",
"first_date":"2026-08-17T08:00:00Z",
"last_date":"2026-08-18T18:00:00Z",
"periodicity_id":0,
"date_type":0,
"is_team_driving":false,
"transport":{...},
"car_type":1,
"car_type_mask":1,
"body_type":0,
"loading_type":1,
"weight":20,
"volume":82,
"truck_length":7.2,
"truck_width":2.45,
"truck_height":2.7,
"trailer_length":13.6,
"trailer_width":2.45,
"trailer_height":2.7,
"hydrolift":false,
"partial_load":false,
"koniki":false,
"tir":false,
"ekmt":false,
"adr_types":0,
"is_tracking":false
},
"loading":{...},
"city_id":3611,
"radius":50,
"region_id":77,
"country_id":1
},
"payment":{...},
"rate_sum":50000,
"currency_id":1,
"cashless":true,
"nds":true,
"card":false,
"nal":false
},
"priority":{...},
"status":0,
"view_rate":10,
"order_limit":500,
"daily_limit":1000,
"is_for_payed_only":false,
"money_spent_per_day":100,
"money_spent_per_order":20
},
"stealth":{...},
"rating":5,
"registration_date":"2020-01-15T00:00:00Z",
"firm_list":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"unloading":{...},
"point_type":1,
"point_id":3611,
"radius":50,
"additional_points":[...],
{...}
"rate_sum":1500.5,
"point_type":1,
"point_id":3611,
"radius":50,
"currency_id":1,
"money_type":1,
"region_id":77,
"country_id":1
}
],
"region_id":77,
"country_id":1
},
"truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ati_id":123456,
"added_at":"2026-08-17T08:00:00Z",
"updated_at":"2026-08-17T08:30:00Z",
"archived_at":"2026-08-18T18:00:00Z",
"archive_reason":"unknown",
"can_be_edited":true,
"can_be_renewed":true,
"can_be_deleted":true,
"edit_restriction":0,
"renew_restriction":"Обновление будет доступно через 10 минут",
"delete_restriction":0,
"is_archive_truck":false
}
202
Модель
{...}

Машина в интеграторском контракте v1.

contact_id1: int32

Идентификатор основного контакта, управляющего машиной.

contact_id2: int32 (nullable)

Идентификатор дополнительного контакта, управляющего машиной.

department_id: int32 (nullable)

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

note: string

Комментарий владельца к машине.

first_date: date-time

Начало периода доступности машины. Обязательно при date_type = 1.

last_date: date-time

Окончание периода доступности машины. Обязательно при date_type = 1.

periodicity_id: int32

Код периодичности публикации. Используется при date_type = 2.

date_type: int32

Тип периода доступности машины. Если не указан, используется значение 0.

is_team_driving: boolean (nullable)

Признак работы экипажа из двух водителей.

truck_id: guid

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

ati_id: string

Публичный номер машины в ATI.SU.

added_at: date-time

Дата и время создания машины.

updated_at: date-time

Дата и время последнего изменения машины.

archived_at: date-time (nullable)

Дата и время переноса машины в архив; null для опубликованной машины.

archive_reason: enum
[unknown, system, manual, complaints, unwanted_content, firm_is_banned]

Причина переноса машины в архив: unknown — не указана; system — системная; manual — вручную; complaints — жалобы; unwanted_content — нежелательный контент; firm_is_banned — фирма заблокирована.

  • 0 — Не указана
  • 1 — Системная
  • 2 — Вручную
  • 3 — Жалобы
  • 4 — Нежелательный контент
  • 5 — Фирма заблокирована
can_be_edited: boolean

Признак доступности редактирования машины текущему пользователю.

can_be_renewed: boolean

Признак доступности обновления публикации машины текущему пользователю.

can_be_deleted: boolean

Признак доступности удаления машины текущему пользователю.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
renew_restriction: string

Причина, по которой обновление публикации машины недоступно.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
is_archive_truck: boolean

Признак нахождения машины в архиве.

true_price: decimal

Устаревшая стоимость приоритетного показа.

deprecated
true_currency_id: int32

Устаревший идентификатор валюты стоимости приоритетного показа.

deprecated
}
Пример
{...}
"contact_id1":123456,
"contact_id2":123457,
"department_id":10,
"note":"Тент, готов к загрузке",
"first_date":"2026-08-17T08:00:00Z",
"last_date":"2026-08-18T18:00:00Z",
"periodicity_id":0,
"date_type":0,
"is_team_driving":false,
"transport":{...},
"car_type":1,
"car_type_mask":1,
"body_type":0,
"loading_type":1,
"weight":20,
"volume":82,
"truck_length":7.2,
"truck_width":2.45,
"truck_height":2.7,
"trailer_length":13.6,
"trailer_width":2.45,
"trailer_height":2.7,
"hydrolift":false,
"partial_load":false,
"koniki":false,
"tir":false,
"ekmt":false,
"adr_types":0,
"is_tracking":false
},
"loading":{...},
"city_id":3611,
"radius":50,
"region_id":77,
"country_id":1
},
"payment":{...},
"rate_sum":50000,
"currency_id":1,
"cashless":true,
"nds":true,
"card":false,
"nal":false
},
"priority":{...},
"status":0,
"view_rate":10,
"order_limit":500,
"daily_limit":1000,
"is_for_payed_only":false,
"money_spent_per_day":100,
"money_spent_per_order":20
},
"stealth":{...},
"rating":5,
"registration_date":"2020-01-15T00:00:00Z",
"firm_list":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"unloading":{...},
"point_type":1,
"point_id":3611,
"radius":50,
"additional_points":[...],
{...}
"rate_sum":1500.5,
"point_type":1,
"point_id":3611,
"radius":50,
"currency_id":1,
"money_type":1,
"region_id":77,
"country_id":1
}
],
"region_id":77,
"country_id":1
},
"truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ati_id":123456,
"added_at":"2026-08-17T08:00:00Z",
"updated_at":"2026-08-17T08:30:00Z",
"archived_at":"2026-08-18T18:00:00Z",
"archive_reason":"unknown",
"can_be_edited":true,
"can_be_renewed":true,
"can_be_deleted":true,
"edit_restriction":0,
"renew_restriction":"Обновление будет доступно через 10 минут",
"delete_restriction":0,
"is_archive_truck":false
}
4XX Ошибка запроса
Модель
{...}

Ошибка выполнения запроса к API машин.

error: string (nullable)

Машиночитаемый код ошибки.

reason: string (nullable)

Описание ошибки.

remaining_minutes: int32 (nullable)

Оставшееся время до повтора операции в минутах.

duplicate_truck_id: guid (nullable)

Идентификатор существующей машины-дубликата.

}
Пример
{...}
"error":"validation_error",
"reason":"Ошибка валидации",
"error_list":[...],
{...}
"error":"contact_id1",
"reason":"Параметр contact_id1 должен существовать"
}
],
"remaining_minutes":59,
"duplicate_truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Удаление машины

Снимает машину с публикации и переносит её в архив.

Архивирование машины
delete /gw/trucks/integrator/v1/trucks/{truckId}
Параметры
Параметр Тип Расположение Описание
truckId обязательный string (guid) path
Идентификатор машины Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Пример запроса
curl 'https://api.ati.su/gw/trucks/integrator/v1/trucks/{truckId}' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200
Модель
{...}

Результат успешной legacy-операции.

success: boolean

Признак успешного выполнения операции.

}
Пример
{...}
"success":true
}
4XX Ошибка запроса
Модель
{...}

Ошибка выполнения запроса к API машин.

error: string (nullable)

Машиночитаемый код ошибки.

reason: string (nullable)

Описание ошибки.

remaining_minutes: int32 (nullable)

Оставшееся время до повтора операции в минутах.

duplicate_truck_id: guid (nullable)

Идентификатор существующей машины-дубликата.

}
Пример
{...}
"error":"validation_error",
"reason":"Ошибка валидации",
"error_list":[...],
{...}
"error":"contact_id1",
"reason":"Параметр contact_id1 должен существовать"
}
],
"remaining_minutes":59,
"duplicate_truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Работа с архивом ваших машин

Получение одной архивной машины

Возвращает архивную машину по её идентификатору.

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

Машина в интеграторском контракте v1.

contact_id1: int32

Идентификатор основного контакта, управляющего машиной.

contact_id2: int32 (nullable)

Идентификатор дополнительного контакта, управляющего машиной.

department_id: int32 (nullable)

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

note: string

Комментарий владельца к машине.

first_date: date-time

Начало периода доступности машины. Обязательно при date_type = 1.

last_date: date-time

Окончание периода доступности машины. Обязательно при date_type = 1.

periodicity_id: int32

Код периодичности публикации. Используется при date_type = 2.

date_type: int32

Тип периода доступности машины. Если не указан, используется значение 0.

is_team_driving: boolean (nullable)

Признак работы экипажа из двух водителей.

truck_id: guid

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

ati_id: string

Публичный номер машины в ATI.SU.

added_at: date-time

Дата и время создания машины.

updated_at: date-time

Дата и время последнего изменения машины.

archived_at: date-time (nullable)

Дата и время переноса машины в архив; null для опубликованной машины.

archive_reason: enum
[unknown, system, manual, complaints, unwanted_content, firm_is_banned]

Причина переноса машины в архив: unknown — не указана; system — системная; manual — вручную; complaints — жалобы; unwanted_content — нежелательный контент; firm_is_banned — фирма заблокирована.

  • 0 — Не указана
  • 1 — Системная
  • 2 — Вручную
  • 3 — Жалобы
  • 4 — Нежелательный контент
  • 5 — Фирма заблокирована
can_be_edited: boolean

Признак доступности редактирования машины текущему пользователю.

can_be_renewed: boolean

Признак доступности обновления публикации машины текущему пользователю.

can_be_deleted: boolean

Признак доступности удаления машины текущему пользователю.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
renew_restriction: string

Причина, по которой обновление публикации машины недоступно.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
is_archive_truck: boolean

Признак нахождения машины в архиве.

true_price: decimal

Устаревшая стоимость приоритетного показа.

deprecated
true_currency_id: int32

Устаревший идентификатор валюты стоимости приоритетного показа.

deprecated
}
Пример
{...}
"contact_id1":123456,
"contact_id2":123457,
"department_id":10,
"note":"Тент, готов к загрузке",
"first_date":"2026-08-17T08:00:00Z",
"last_date":"2026-08-18T18:00:00Z",
"periodicity_id":0,
"date_type":0,
"is_team_driving":false,
"transport":{...},
"car_type":1,
"car_type_mask":1,
"body_type":0,
"loading_type":1,
"weight":20,
"volume":82,
"truck_length":7.2,
"truck_width":2.45,
"truck_height":2.7,
"trailer_length":13.6,
"trailer_width":2.45,
"trailer_height":2.7,
"hydrolift":false,
"partial_load":false,
"koniki":false,
"tir":false,
"ekmt":false,
"adr_types":0,
"is_tracking":false
},
"loading":{...},
"city_id":3611,
"radius":50,
"region_id":77,
"country_id":1
},
"payment":{...},
"rate_sum":50000,
"currency_id":1,
"cashless":true,
"nds":true,
"card":false,
"nal":false
},
"priority":{...},
"status":0,
"view_rate":10,
"order_limit":500,
"daily_limit":1000,
"is_for_payed_only":false,
"money_spent_per_day":100,
"money_spent_per_order":20
},
"stealth":{...},
"rating":5,
"registration_date":"2020-01-15T00:00:00Z",
"firm_list":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"unloading":{...},
"point_type":1,
"point_id":3611,
"radius":50,
"additional_points":[...],
{...}
"rate_sum":1500.5,
"point_type":1,
"point_id":3611,
"radius":50,
"currency_id":1,
"money_type":1,
"region_id":77,
"country_id":1
}
],
"region_id":77,
"country_id":1
},
"truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ati_id":123456,
"added_at":"2026-08-17T08:00:00Z",
"updated_at":"2026-08-17T08:30:00Z",
"archived_at":"2026-08-18T18:00:00Z",
"archive_reason":"unknown",
"can_be_edited":true,
"can_be_renewed":true,
"can_be_deleted":true,
"edit_restriction":0,
"renew_restriction":"Обновление будет доступно через 10 минут",
"delete_restriction":0,
"is_archive_truck":false
}
4XX Ошибка запроса
Модель
{...}

Ошибка выполнения запроса к API машин.

error: string (nullable)

Машиночитаемый код ошибки.

reason: string (nullable)

Описание ошибки.

remaining_minutes: int32 (nullable)

Оставшееся время до повтора операции в минутах.

duplicate_truck_id: guid (nullable)

Идентификатор существующей машины-дубликата.

}
Пример
{...}
"error":"validation_error",
"reason":"Ошибка валидации",
"error_list":[...],
{...}
"error":"contact_id1",
"reason":"Параметр contact_id1 должен существовать"
}
],
"remaining_minutes":59,
"duplicate_truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Получение всех архивных машин

Возвращает архивные машины всех доступных контактов. Не передавайте contactId.

Получение всех архивных машин
get /gw/trucks/integrator/v1/unpublished-trucks
Параметры
Параметр Тип Расположение Описание
contactId integer (int32) query
Идентификатор контакта Пример: 0
Запрос
Пример запроса
curl 'https://api.ati.su/gw/trucks/integrator/v1/unpublished-trucks' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200
Модель
[{...}]

Машина в интеграторском контракте v1.

contact_id1: int32

Идентификатор основного контакта, управляющего машиной.

contact_id2: int32 (nullable)

Идентификатор дополнительного контакта, управляющего машиной.

department_id: int32 (nullable)

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

note: string

Комментарий владельца к машине.

first_date: date-time

Начало периода доступности машины. Обязательно при date_type = 1.

last_date: date-time

Окончание периода доступности машины. Обязательно при date_type = 1.

periodicity_id: int32

Код периодичности публикации. Используется при date_type = 2.

date_type: int32

Тип периода доступности машины. Если не указан, используется значение 0.

is_team_driving: boolean (nullable)

Признак работы экипажа из двух водителей.

truck_id: guid

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

ati_id: string

Публичный номер машины в ATI.SU.

added_at: date-time

Дата и время создания машины.

updated_at: date-time

Дата и время последнего изменения машины.

archived_at: date-time (nullable)

Дата и время переноса машины в архив; null для опубликованной машины.

archive_reason: enum
[unknown, system, manual, complaints, unwanted_content, firm_is_banned]

Причина переноса машины в архив: unknown — не указана; system — системная; manual — вручную; complaints — жалобы; unwanted_content — нежелательный контент; firm_is_banned — фирма заблокирована.

  • 0 — Не указана
  • 1 — Системная
  • 2 — Вручную
  • 3 — Жалобы
  • 4 — Нежелательный контент
  • 5 — Фирма заблокирована
can_be_edited: boolean

Признак доступности редактирования машины текущему пользователю.

can_be_renewed: boolean

Признак доступности обновления публикации машины текущему пользователю.

can_be_deleted: boolean

Признак доступности удаления машины текущему пользователю.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
renew_restriction: string

Причина, по которой обновление публикации машины недоступно.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
is_archive_truck: boolean

Признак нахождения машины в архиве.

true_price: decimal

Устаревшая стоимость приоритетного показа.

deprecated
true_currency_id: int32

Устаревший идентификатор валюты стоимости приоритетного показа.

deprecated
}]
Пример
[...]
{...}
"contact_id1":123456,
"contact_id2":123457,
"department_id":10,
"note":"Тент, готов к загрузке",
"first_date":"2026-08-17T08:00:00Z",
"last_date":"2026-08-18T18:00:00Z",
"periodicity_id":0,
"date_type":0,
"is_team_driving":false,
"transport":{...},
"car_type":1,
"car_type_mask":1,
"body_type":0,
"loading_type":1,
"weight":20,
"volume":82,
"truck_length":7.2,
"truck_width":2.45,
"truck_height":2.7,
"trailer_length":13.6,
"trailer_width":2.45,
"trailer_height":2.7,
"hydrolift":false,
"partial_load":false,
"koniki":false,
"tir":false,
"ekmt":false,
"adr_types":0,
"is_tracking":false
},
"loading":{...},
"city_id":3611,
"radius":50,
"region_id":77,
"country_id":1
},
"payment":{...},
"rate_sum":50000,
"currency_id":1,
"cashless":true,
"nds":true,
"card":false,
"nal":false
},
"priority":{...},
"status":0,
"view_rate":10,
"order_limit":500,
"daily_limit":1000,
"is_for_payed_only":false,
"money_spent_per_day":100,
"money_spent_per_order":20
},
"stealth":{...},
"rating":5,
"registration_date":"2020-01-15T00:00:00Z",
"firm_list":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"unloading":{...},
"point_type":1,
"point_id":3611,
"radius":50,
"additional_points":[...],
{...}
"rate_sum":1500.5,
"point_type":1,
"point_id":3611,
"radius":50,
"currency_id":1,
"money_type":1,
"region_id":77,
"country_id":1
}
],
"region_id":77,
"country_id":1
},
"truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ati_id":123456,
"added_at":"2026-08-17T08:00:00Z",
"updated_at":"2026-08-17T08:30:00Z",
"archived_at":"2026-08-18T18:00:00Z",
"archive_reason":"unknown",
"can_be_edited":true,
"can_be_renewed":true,
"can_be_deleted":true,
"edit_restriction":0,
"renew_restriction":"Обновление будет доступно через 10 минут",
"delete_restriction":0,
"is_archive_truck":false
}
]
4XX Ошибка запроса
Модель
{...}

Ошибка выполнения запроса к API машин.

error: string (nullable)

Машиночитаемый код ошибки.

reason: string (nullable)

Описание ошибки.

remaining_minutes: int32 (nullable)

Оставшееся время до повтора операции в минутах.

duplicate_truck_id: guid (nullable)

Идентификатор существующей машины-дубликата.

}
Пример
{...}
"error":"validation_error",
"reason":"Ошибка валидации",
"error_list":[...],
{...}
"error":"contact_id1",
"reason":"Параметр contact_id1 должен существовать"
}
],
"remaining_minutes":59,
"duplicate_truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

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

Передайте contactId, чтобы получить архивные машины конкретного контакта.

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

Машина в интеграторском контракте v1.

contact_id1: int32

Идентификатор основного контакта, управляющего машиной.

contact_id2: int32 (nullable)

Идентификатор дополнительного контакта, управляющего машиной.

department_id: int32 (nullable)

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

note: string

Комментарий владельца к машине.

first_date: date-time

Начало периода доступности машины. Обязательно при date_type = 1.

last_date: date-time

Окончание периода доступности машины. Обязательно при date_type = 1.

periodicity_id: int32

Код периодичности публикации. Используется при date_type = 2.

date_type: int32

Тип периода доступности машины. Если не указан, используется значение 0.

is_team_driving: boolean (nullable)

Признак работы экипажа из двух водителей.

truck_id: guid

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

ati_id: string

Публичный номер машины в ATI.SU.

added_at: date-time

Дата и время создания машины.

updated_at: date-time

Дата и время последнего изменения машины.

archived_at: date-time (nullable)

Дата и время переноса машины в архив; null для опубликованной машины.

archive_reason: enum
[unknown, system, manual, complaints, unwanted_content, firm_is_banned]

Причина переноса машины в архив: unknown — не указана; system — системная; manual — вручную; complaints — жалобы; unwanted_content — нежелательный контент; firm_is_banned — фирма заблокирована.

  • 0 — Не указана
  • 1 — Системная
  • 2 — Вручную
  • 3 — Жалобы
  • 4 — Нежелательный контент
  • 5 — Фирма заблокирована
can_be_edited: boolean

Признак доступности редактирования машины текущему пользователю.

can_be_renewed: boolean

Признак доступности обновления публикации машины текущему пользователю.

can_be_deleted: boolean

Признак доступности удаления машины текущему пользователю.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
renew_restriction: string

Причина, по которой обновление публикации машины недоступно.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
is_archive_truck: boolean

Признак нахождения машины в архиве.

true_price: decimal

Устаревшая стоимость приоритетного показа.

deprecated
true_currency_id: int32

Устаревший идентификатор валюты стоимости приоритетного показа.

deprecated
}]
Пример
[...]
{...}
"contact_id1":123456,
"contact_id2":123457,
"department_id":10,
"note":"Тент, готов к загрузке",
"first_date":"2026-08-17T08:00:00Z",
"last_date":"2026-08-18T18:00:00Z",
"periodicity_id":0,
"date_type":0,
"is_team_driving":false,
"transport":{...},
"car_type":1,
"car_type_mask":1,
"body_type":0,
"loading_type":1,
"weight":20,
"volume":82,
"truck_length":7.2,
"truck_width":2.45,
"truck_height":2.7,
"trailer_length":13.6,
"trailer_width":2.45,
"trailer_height":2.7,
"hydrolift":false,
"partial_load":false,
"koniki":false,
"tir":false,
"ekmt":false,
"adr_types":0,
"is_tracking":false
},
"loading":{...},
"city_id":3611,
"radius":50,
"region_id":77,
"country_id":1
},
"payment":{...},
"rate_sum":50000,
"currency_id":1,
"cashless":true,
"nds":true,
"card":false,
"nal":false
},
"priority":{...},
"status":0,
"view_rate":10,
"order_limit":500,
"daily_limit":1000,
"is_for_payed_only":false,
"money_spent_per_day":100,
"money_spent_per_order":20
},
"stealth":{...},
"rating":5,
"registration_date":"2020-01-15T00:00:00Z",
"firm_list":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"unloading":{...},
"point_type":1,
"point_id":3611,
"radius":50,
"additional_points":[...],
{...}
"rate_sum":1500.5,
"point_type":1,
"point_id":3611,
"radius":50,
"currency_id":1,
"money_type":1,
"region_id":77,
"country_id":1
}
],
"region_id":77,
"country_id":1
},
"truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ati_id":123456,
"added_at":"2026-08-17T08:00:00Z",
"updated_at":"2026-08-17T08:30:00Z",
"archived_at":"2026-08-18T18:00:00Z",
"archive_reason":"unknown",
"can_be_edited":true,
"can_be_renewed":true,
"can_be_deleted":true,
"edit_restriction":0,
"renew_restriction":"Обновление будет доступно через 10 минут",
"delete_restriction":0,
"is_archive_truck":false
}
]
4XX Ошибка запроса
Модель
{...}

Ошибка выполнения запроса к API машин.

error: string (nullable)

Машиночитаемый код ошибки.

reason: string (nullable)

Описание ошибки.

remaining_minutes: int32 (nullable)

Оставшееся время до повтора операции в минутах.

duplicate_truck_id: guid (nullable)

Идентификатор существующей машины-дубликата.

}
Пример
{...}
"error":"validation_error",
"reason":"Ошибка валидации",
"error_list":[...],
{...}
"error":"contact_id1",
"reason":"Параметр contact_id1 должен существовать"
}
],
"remaining_minutes":59,
"duplicate_truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Восстановление архивной машины

Восстанавливает машину из архива и применяет переданные данные перед публикацией.

Восстановление одной машины
post /gw/trucks/integrator/v1/unpublished-trucks/{truckId}/restore
Параметры
Параметр Тип Расположение Описание
truckId обязательный string (guid) path
Идентификатор машины. Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Модель
{...}

Данные для создания или восстановления машины.

contact_id1*: int32

Идентификатор основного контакта, управляющего машиной.

contact_id2: int32 (nullable)

Идентификатор дополнительного контакта, управляющего машиной.

department_id: int32 (nullable)

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

note: string

Комментарий владельца к машине.

first_date: date-time

Начало периода доступности машины. Обязательно при date_type = 1.

last_date: date-time

Окончание периода доступности машины. Обязательно при date_type = 1.

periodicity_id: int32

Код периодичности публикации. Используется при date_type = 2.

date_type: int32

Тип периода доступности машины. Если не указан, используется значение 0.

is_team_driving: boolean (nullable)

Признак работы экипажа из двух водителей.

}
Пример запроса
curl 'https://api.ati.su/gw/trucks/integrator/v1/unpublished-trucks/{truckId}/restore' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"contact_id1":123456,"contact_id2":123457,"department_id":10,"note":"Тент, готов к загрузке","first_date":"2026-08-17T08:00:00Z","last_date":"2026-08-18T18:00:00Z","periodicity_id":0,"date_type":0,"is_team_driving":false,"transport":{"car_type":1,"car_type_mask":1,"body_type":0,"loading_type":1,"weight":20,"volume":82,"truck_length":7.2,"truck_width":2.45,"truck_height":2.7,"trailer_length":13.6,"trailer_width":2.45,"trailer_height":2.7,"hydrolift":false,"partial_load":false,"koniki":false,"tir":false,"ekmt":false,"adr_types":0,"is_tracking":false},"loading":{"city_id":3611,"radius":50,"region_id":77,"country_id":1},"payment":{"rate_sum":50000,"currency_id":1,"cashless":true,"nds":true,"card":false,"nal":false},"priority":{"status":0,"view_rate":10,"order_limit":500,"daily_limit":1000,"is_for_payed_only":false,"money_spent_per_day":100,"money_spent_per_order":20},"stealth":{"rating":5,"registration_date":"2020-01-15T00:00:00Z","firm_list":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"unloading":{"point_type":1,"point_id":3611,"radius":50,"additional_points":[{"rate_sum":1500.5,"point_type":1,"point_id":3611,"radius":50,"currency_id":1,"money_type":1,"region_id":77,"country_id":1}],"region_id":77,"country_id":1}}'
Ответ
200
Модель
{...}

Машина в интеграторском контракте v1.

contact_id1: int32

Идентификатор основного контакта, управляющего машиной.

contact_id2: int32 (nullable)

Идентификатор дополнительного контакта, управляющего машиной.

department_id: int32 (nullable)

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

note: string

Комментарий владельца к машине.

first_date: date-time

Начало периода доступности машины. Обязательно при date_type = 1.

last_date: date-time

Окончание периода доступности машины. Обязательно при date_type = 1.

periodicity_id: int32

Код периодичности публикации. Используется при date_type = 2.

date_type: int32

Тип периода доступности машины. Если не указан, используется значение 0.

is_team_driving: boolean (nullable)

Признак работы экипажа из двух водителей.

truck_id: guid

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

ati_id: string

Публичный номер машины в ATI.SU.

added_at: date-time

Дата и время создания машины.

updated_at: date-time

Дата и время последнего изменения машины.

archived_at: date-time (nullable)

Дата и время переноса машины в архив; null для опубликованной машины.

archive_reason: enum
[unknown, system, manual, complaints, unwanted_content, firm_is_banned]

Причина переноса машины в архив: unknown — не указана; system — системная; manual — вручную; complaints — жалобы; unwanted_content — нежелательный контент; firm_is_banned — фирма заблокирована.

  • 0 — Не указана
  • 1 — Системная
  • 2 — Вручную
  • 3 — Жалобы
  • 4 — Нежелательный контент
  • 5 — Фирма заблокирована
can_be_edited: boolean

Признак доступности редактирования машины текущему пользователю.

can_be_renewed: boolean

Признак доступности обновления публикации машины текущему пользователю.

can_be_deleted: boolean

Признак доступности удаления машины текущему пользователю.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
renew_restriction: string

Причина, по которой обновление публикации машины недоступно.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
is_archive_truck: boolean

Признак нахождения машины в архиве.

true_price: decimal

Устаревшая стоимость приоритетного показа.

deprecated
true_currency_id: int32

Устаревший идентификатор валюты стоимости приоритетного показа.

deprecated
}
Пример
{...}
"contact_id1":123456,
"contact_id2":123457,
"department_id":10,
"note":"Тент, готов к загрузке",
"first_date":"2026-08-17T08:00:00Z",
"last_date":"2026-08-18T18:00:00Z",
"periodicity_id":0,
"date_type":0,
"is_team_driving":false,
"transport":{...},
"car_type":1,
"car_type_mask":1,
"body_type":0,
"loading_type":1,
"weight":20,
"volume":82,
"truck_length":7.2,
"truck_width":2.45,
"truck_height":2.7,
"trailer_length":13.6,
"trailer_width":2.45,
"trailer_height":2.7,
"hydrolift":false,
"partial_load":false,
"koniki":false,
"tir":false,
"ekmt":false,
"adr_types":0,
"is_tracking":false
},
"loading":{...},
"city_id":3611,
"radius":50,
"region_id":77,
"country_id":1
},
"payment":{...},
"rate_sum":50000,
"currency_id":1,
"cashless":true,
"nds":true,
"card":false,
"nal":false
},
"priority":{...},
"status":0,
"view_rate":10,
"order_limit":500,
"daily_limit":1000,
"is_for_payed_only":false,
"money_spent_per_day":100,
"money_spent_per_order":20
},
"stealth":{...},
"rating":5,
"registration_date":"2020-01-15T00:00:00Z",
"firm_list":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"unloading":{...},
"point_type":1,
"point_id":3611,
"radius":50,
"additional_points":[...],
{...}
"rate_sum":1500.5,
"point_type":1,
"point_id":3611,
"radius":50,
"currency_id":1,
"money_type":1,
"region_id":77,
"country_id":1
}
],
"region_id":77,
"country_id":1
},
"truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ati_id":123456,
"added_at":"2026-08-17T08:00:00Z",
"updated_at":"2026-08-17T08:30:00Z",
"archived_at":"2026-08-18T18:00:00Z",
"archive_reason":"unknown",
"can_be_edited":true,
"can_be_renewed":true,
"can_be_deleted":true,
"edit_restriction":0,
"renew_restriction":"Обновление будет доступно через 10 минут",
"delete_restriction":0,
"is_archive_truck":false
}
202
Модель
{...}

Машина в интеграторском контракте v1.

contact_id1: int32

Идентификатор основного контакта, управляющего машиной.

contact_id2: int32 (nullable)

Идентификатор дополнительного контакта, управляющего машиной.

department_id: int32 (nullable)

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

note: string

Комментарий владельца к машине.

first_date: date-time

Начало периода доступности машины. Обязательно при date_type = 1.

last_date: date-time

Окончание периода доступности машины. Обязательно при date_type = 1.

periodicity_id: int32

Код периодичности публикации. Используется при date_type = 2.

date_type: int32

Тип периода доступности машины. Если не указан, используется значение 0.

is_team_driving: boolean (nullable)

Признак работы экипажа из двух водителей.

truck_id: guid

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

ati_id: string

Публичный номер машины в ATI.SU.

added_at: date-time

Дата и время создания машины.

updated_at: date-time

Дата и время последнего изменения машины.

archived_at: date-time (nullable)

Дата и время переноса машины в архив; null для опубликованной машины.

archive_reason: enum
[unknown, system, manual, complaints, unwanted_content, firm_is_banned]

Причина переноса машины в архив: unknown — не указана; system — системная; manual — вручную; complaints — жалобы; unwanted_content — нежелательный контент; firm_is_banned — фирма заблокирована.

  • 0 — Не указана
  • 1 — Системная
  • 2 — Вручную
  • 3 — Жалобы
  • 4 — Нежелательный контент
  • 5 — Фирма заблокирована
can_be_edited: boolean

Признак доступности редактирования машины текущему пользователю.

can_be_renewed: boolean

Признак доступности обновления публикации машины текущему пользователю.

can_be_deleted: boolean

Признак доступности удаления машины текущему пользователю.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
renew_restriction: string

Причина, по которой обновление публикации машины недоступно.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
is_archive_truck: boolean

Признак нахождения машины в архиве.

true_price: decimal

Устаревшая стоимость приоритетного показа.

deprecated
true_currency_id: int32

Устаревший идентификатор валюты стоимости приоритетного показа.

deprecated
}
Пример
{...}
"contact_id1":123456,
"contact_id2":123457,
"department_id":10,
"note":"Тент, готов к загрузке",
"first_date":"2026-08-17T08:00:00Z",
"last_date":"2026-08-18T18:00:00Z",
"periodicity_id":0,
"date_type":0,
"is_team_driving":false,
"transport":{...},
"car_type":1,
"car_type_mask":1,
"body_type":0,
"loading_type":1,
"weight":20,
"volume":82,
"truck_length":7.2,
"truck_width":2.45,
"truck_height":2.7,
"trailer_length":13.6,
"trailer_width":2.45,
"trailer_height":2.7,
"hydrolift":false,
"partial_load":false,
"koniki":false,
"tir":false,
"ekmt":false,
"adr_types":0,
"is_tracking":false
},
"loading":{...},
"city_id":3611,
"radius":50,
"region_id":77,
"country_id":1
},
"payment":{...},
"rate_sum":50000,
"currency_id":1,
"cashless":true,
"nds":true,
"card":false,
"nal":false
},
"priority":{...},
"status":0,
"view_rate":10,
"order_limit":500,
"daily_limit":1000,
"is_for_payed_only":false,
"money_spent_per_day":100,
"money_spent_per_order":20
},
"stealth":{...},
"rating":5,
"registration_date":"2020-01-15T00:00:00Z",
"firm_list":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"unloading":{...},
"point_type":1,
"point_id":3611,
"radius":50,
"additional_points":[...],
{...}
"rate_sum":1500.5,
"point_type":1,
"point_id":3611,
"radius":50,
"currency_id":1,
"money_type":1,
"region_id":77,
"country_id":1
}
],
"region_id":77,
"country_id":1
},
"truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ati_id":123456,
"added_at":"2026-08-17T08:00:00Z",
"updated_at":"2026-08-17T08:30:00Z",
"archived_at":"2026-08-18T18:00:00Z",
"archive_reason":"unknown",
"can_be_edited":true,
"can_be_renewed":true,
"can_be_deleted":true,
"edit_restriction":0,
"renew_restriction":"Обновление будет доступно через 10 минут",
"delete_restriction":0,
"is_archive_truck":false
}
4XX Ошибка запроса
Модель
{...}

Ошибка выполнения запроса к API машин.

error: string (nullable)

Машиночитаемый код ошибки.

reason: string (nullable)

Описание ошибки.

remaining_minutes: int32 (nullable)

Оставшееся время до повтора операции в минутах.

duplicate_truck_id: guid (nullable)

Идентификатор существующей машины-дубликата.

}
Пример
{...}
"error":"validation_error",
"reason":"Ошибка валидации",
"error_list":[...],
{...}
"error":"contact_id1",
"reason":"Параметр contact_id1 должен существовать"
}
],
"remaining_minutes":59,
"duplicate_truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Удаление машины из архива

Безвозвратно удаляет одну машину из архива.

Удаление машины из архива
delete /gw/trucks/integrator/v1/unpublished-trucks/{truckId}
Параметры
Параметр Тип Расположение Описание
truckId обязательный string (guid) path
Идентификатор машины. Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Пример запроса
curl 'https://api.ati.su/gw/trucks/integrator/v1/unpublished-trucks/{truckId}' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200
Модель
{...}

Машина в интеграторском контракте v1.

contact_id1: int32

Идентификатор основного контакта, управляющего машиной.

contact_id2: int32 (nullable)

Идентификатор дополнительного контакта, управляющего машиной.

department_id: int32 (nullable)

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

note: string

Комментарий владельца к машине.

first_date: date-time

Начало периода доступности машины. Обязательно при date_type = 1.

last_date: date-time

Окончание периода доступности машины. Обязательно при date_type = 1.

periodicity_id: int32

Код периодичности публикации. Используется при date_type = 2.

date_type: int32

Тип периода доступности машины. Если не указан, используется значение 0.

is_team_driving: boolean (nullable)

Признак работы экипажа из двух водителей.

truck_id: guid

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

ati_id: string

Публичный номер машины в ATI.SU.

added_at: date-time

Дата и время создания машины.

updated_at: date-time

Дата и время последнего изменения машины.

archived_at: date-time (nullable)

Дата и время переноса машины в архив; null для опубликованной машины.

archive_reason: enum
[unknown, system, manual, complaints, unwanted_content, firm_is_banned]

Причина переноса машины в архив: unknown — не указана; system — системная; manual — вручную; complaints — жалобы; unwanted_content — нежелательный контент; firm_is_banned — фирма заблокирована.

  • 0 — Не указана
  • 1 — Системная
  • 2 — Вручную
  • 3 — Жалобы
  • 4 — Нежелательный контент
  • 5 — Фирма заблокирована
can_be_edited: boolean

Признак доступности редактирования машины текущему пользователю.

can_be_renewed: boolean

Признак доступности обновления публикации машины текущему пользователю.

can_be_deleted: boolean

Признак доступности удаления машины текущему пользователю.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
renew_restriction: string

Причина, по которой обновление публикации машины недоступно.

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

Код результата legacy-операции: 0 — успешно; 1 — у фирмы нет доступа; 2 — контакту запрещён доступ; 3 — превышен лимит; 4 — не истёк интервал обновления; 5 — значение справочника не найдено; 6 — комментарий не найден; 7 — машина не найдена; 8 — ошибка авторизации; 9 — ошибка десериализации; 10 — ошибка проверки JSON; 11 — ошибка проверки запроса; 12 — машины объединены; 13 — найдена дублирующая машина; 14 — контакт не найден; 15 — не истёк интервал архивирования; 16 — неверное подразделение контакта.

  • 0 — Успешно
  • 1 — У фирмы нет доступа
  • 2 — Контакту запрещён доступ
  • 3 — Превышен лимит
  • 4 — Не истёк интервал обновления
  • 5 — Значение справочника не найдено
  • 6 — Комментарий не найден
  • 7 — Машина не найдена
  • 8 — Ошибка авторизации
  • 9 — Ошибка десериализации
  • 10 — Ошибка проверки JSON
  • 11 — Ошибка проверки запроса
  • 12 — Машины объединены
  • 13 — Найдена дублирующая машина
  • 14 — Контакт не найден
  • 15 — Не истёк интервал архивирования
  • 16 — Неверное подразделение контакта
is_archive_truck: boolean

Признак нахождения машины в архиве.

true_price: decimal

Устаревшая стоимость приоритетного показа.

deprecated
true_currency_id: int32

Устаревший идентификатор валюты стоимости приоритетного показа.

deprecated
}
Пример
{...}
"contact_id1":123456,
"contact_id2":123457,
"department_id":10,
"note":"Тент, готов к загрузке",
"first_date":"2026-08-17T08:00:00Z",
"last_date":"2026-08-18T18:00:00Z",
"periodicity_id":0,
"date_type":0,
"is_team_driving":false,
"transport":{...},
"car_type":1,
"car_type_mask":1,
"body_type":0,
"loading_type":1,
"weight":20,
"volume":82,
"truck_length":7.2,
"truck_width":2.45,
"truck_height":2.7,
"trailer_length":13.6,
"trailer_width":2.45,
"trailer_height":2.7,
"hydrolift":false,
"partial_load":false,
"koniki":false,
"tir":false,
"ekmt":false,
"adr_types":0,
"is_tracking":false
},
"loading":{...},
"city_id":3611,
"radius":50,
"region_id":77,
"country_id":1
},
"payment":{...},
"rate_sum":50000,
"currency_id":1,
"cashless":true,
"nds":true,
"card":false,
"nal":false
},
"priority":{...},
"status":0,
"view_rate":10,
"order_limit":500,
"daily_limit":1000,
"is_for_payed_only":false,
"money_spent_per_day":100,
"money_spent_per_order":20
},
"stealth":{...},
"rating":5,
"registration_date":"2020-01-15T00:00:00Z",
"firm_list":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"unloading":{...},
"point_type":1,
"point_id":3611,
"radius":50,
"additional_points":[...],
{...}
"rate_sum":1500.5,
"point_type":1,
"point_id":3611,
"radius":50,
"currency_id":1,
"money_type":1,
"region_id":77,
"country_id":1
}
],
"region_id":77,
"country_id":1
},
"truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ati_id":123456,
"added_at":"2026-08-17T08:00:00Z",
"updated_at":"2026-08-17T08:30:00Z",
"archived_at":"2026-08-18T18:00:00Z",
"archive_reason":"unknown",
"can_be_edited":true,
"can_be_renewed":true,
"can_be_deleted":true,
"edit_restriction":0,
"renew_restriction":"Обновление будет доступно через 10 минут",
"delete_restriction":0,
"is_archive_truck":false
}
4XX Ошибка запроса
Модель
{...}

Ошибка выполнения запроса к API машин.

error: string (nullable)

Машиночитаемый код ошибки.

reason: string (nullable)

Описание ошибки.

remaining_minutes: int32 (nullable)

Оставшееся время до повтора операции в минутах.

duplicate_truck_id: guid (nullable)

Идентификатор существующей машины-дубликата.

}
Пример
{...}
"error":"validation_error",
"reason":"Ошибка валидации",
"error_list":[...],
{...}
"error":"contact_id1",
"reason":"Параметр contact_id1 должен существовать"
}
],
"remaining_minutes":59,
"duplicate_truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Групповые методы

Групповое обновление машин (POST)

Обновляет даты публикации машин. В тело запроса передаётся массив truckId.

Обновление нескольких машин
post /gw/trucks/integrator/v1/trucks/renew
Параметры
Параметров нет
Запрос
Модель
[guid]
Пример запроса
curl 'https://api.ati.su/gw/trucks/integrator/v1/trucks/renew' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '["3fa85f64-5717-4562-b3fc-2c963f66afa6"]'
Ответ
200
Модель
{...}
any-key: {missing-type-info}
}
Пример
{...}
"any-key":null
}
4XX Ошибка запроса
Модель
{...}

Ошибка выполнения запроса к API машин.

error: string (nullable)

Машиночитаемый код ошибки.

reason: string (nullable)

Описание ошибки.

remaining_minutes: int32 (nullable)

Оставшееся время до повтора операции в минутах.

duplicate_truck_id: guid (nullable)

Идентификатор существующей машины-дубликата.

}
Пример
{...}
"error":"validation_error",
"reason":"Ошибка валидации",
"error_list":[...],
{...}
"error":"contact_id1",
"reason":"Параметр contact_id1 должен существовать"
}
],
"remaining_minutes":59,
"duplicate_truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Групповое обновление машин (PUT)

Альтернативный HTTP-метод для группового обновления с тем же контрактом массива truckId.

Обновление нескольких машин
put /gw/trucks/integrator/v1/trucks/renew
Параметры
Параметров нет
Запрос
Модель
[guid]
Пример запроса
curl 'https://api.ati.su/gw/trucks/integrator/v1/trucks/renew' \
-X 'PUT' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '["3fa85f64-5717-4562-b3fc-2c963f66afa6"]'
Ответ
200
Модель
{...}
any-key: {missing-type-info}
}
Пример
{...}
"any-key":null
}
4XX Ошибка запроса
Модель
{...}

Ошибка выполнения запроса к API машин.

error: string (nullable)

Машиночитаемый код ошибки.

reason: string (nullable)

Описание ошибки.

remaining_minutes: int32 (nullable)

Оставшееся время до повтора операции в минутах.

duplicate_truck_id: guid (nullable)

Идентификатор существующей машины-дубликата.

}
Пример
{...}
"error":"validation_error",
"reason":"Ошибка валидации",
"error_list":[...],
{...}
"error":"contact_id1",
"reason":"Параметр contact_id1 должен существовать"
}
],
"remaining_minutes":59,
"duplicate_truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Групповое удаление машин

Снимает с публикации и переносит в архив несколько машин. В тело запроса передаётся массив truckId.

Архивирование нескольких машин
delete /gw/trucks/integrator/v1/trucks
Параметры
Параметров нет
Запрос
Модель
[guid]
Пример запроса
curl 'https://api.ati.su/gw/trucks/integrator/v1/trucks' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '["3fa85f64-5717-4562-b3fc-2c963f66afa6"]'
Ответ
200
Модель
{...}
any-key: {missing-type-info}
}
Пример
{...}
"any-key":null
}
4XX Ошибка запроса
Модель
{...}

Ошибка выполнения запроса к API машин.

error: string (nullable)

Машиночитаемый код ошибки.

reason: string (nullable)

Описание ошибки.

remaining_minutes: int32 (nullable)

Оставшееся время до повтора операции в минутах.

duplicate_truck_id: guid (nullable)

Идентификатор существующей машины-дубликата.

}
Пример
{...}
"error":"validation_error",
"reason":"Ошибка валидации",
"error_list":[...],
{...}
"error":"contact_id1",
"reason":"Параметр contact_id1 должен существовать"
}
],
"remaining_minutes":59,
"duplicate_truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Групповое удаление машин из архива

Безвозвратно удаляет из архива несколько машин. В тело запроса передаётся массив truckId.

Массовое удаление машин из архива
delete /gw/trucks/integrator/v1/unpublished-trucks
Параметры
Параметров нет
Запрос
Модель
[guid]
Пример запроса
curl 'https://api.ati.su/gw/trucks/integrator/v1/unpublished-trucks' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '["3fa85f64-5717-4562-b3fc-2c963f66afa6"]'
Ответ
200
Модель
{...}
any-key: {missing-type-info}
}
Пример
{...}
"any-key":null
}
4XX Ошибка запроса
Модель
{...}

Ошибка выполнения запроса к API машин.

error: string (nullable)

Машиночитаемый код ошибки.

reason: string (nullable)

Описание ошибки.

remaining_minutes: int32 (nullable)

Оставшееся время до повтора операции в минутах.

duplicate_truck_id: guid (nullable)

Идентификатор существующей машины-дубликата.

}
Пример
{...}
"error":"validation_error",
"reason":"Ошибка валидации",
"error_list":[...],
{...}
"error":"contact_id1",
"reason":"Параметр contact_id1 должен существовать"
}
],
"remaining_minutes":59,
"duplicate_truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

API отзывов на машины

API позволяет оставить встречное предложение на машину, а также запросить все встречные предложения на ваши машины.

Терминология

Машина — объявление о свободном транспорте. Содержит в себе информацию о машине, датах, в которые машина свободна, направлениях перевозки и комфортной ставке.

Ваши машины — раздел на сайте ATI.SU, в котором пользователь может добавлять, удалять и редактировать машины.

Встречное предложение — отзыв с предложением перевезти груз.

Список методов

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

Метод работает по семантике create-or-update: если предложение уже существует — обновляет его, иначе создает. Отдельно проверять существование перед вызовом не нужно. В обоих случаях метод возвращает HTTP 201.

put /v1.1/trucks/{truckId}/counter_offers
Параметры
Параметр Тип Расположение Описание
truckId обязательный string (uuid) path
ID машины Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Модель
{...}

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

offerer_contact_id: int32 (nullable)

ID контакта автора предложения (если не передан, подставляется текущий контакт)

cash_sum*: double

Сумма наличными

currency_id: int32 (nullable)

Валюта для наличной суммы. Значение из словаря валют АТИ

sum_with_nds*: double

Сумма с НДС

nds_currency_id: int32 (nullable)

Валюта суммы с НДС. Значение из словаря валют АТИ

sum_without_nds*: double

Сумма без НДС

not_nds_currency_id: int32 (nullable)

Валюта суммы без НДС. Значение из словаря валют АТИ

note: string (nullable)

Комментарий к предложению. Максимальное количество символов 512

prepay_percent: int32 (nullable)

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

delay_payment_days: int32 (nullable)

Отсрочка оплаты в банковских днях

loading_city_id: int64 (nullable)

ID города погрузки. Значение из словаря городов АТИ

unloading_city_id: int64 (nullable)

ID города выгрузки. Значение из словаря городов АТИ

weight*: double

Максимальная грузоподъемность, т

volume*: double

Максимальный объем, м3

car_delivery_date*: date-time

Дата подачи машины. При передаче времени учитывается только дата.

unload_payment: boolean (nullable)

Оплата на выгрузке

coloading: boolean (nullable)

Разрешена догрузка

}
Пример запроса
curl 'https://api.ati.su/v1.1/trucks/{truckId}/counter_offers' \
-X 'PUT' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"offerer_contact_id":0,"cash_sum":65000,"currency_id":1,"sum_with_nds":0,"nds_currency_id":0,"sum_without_nds":0,"not_nds_currency_id":0,"note":"Готовы забрать сегодня","prepay_percent":30,"delay_payment_days":5,"loading_city_id":146,"unloading_city_id":2,"weight":20,"volume":82,"car_delivery_date":"2026-04-24T00:00:00Z","unload_payment":false,"coloading":false}'
Ответ
201 Встречное предложение создано или изменено
Модель
{...}
id: uuid

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

truck_id: uuid

Id машины

addition_date: date-time

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

change_date: date-time

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

viewed_at: date-time (nullable)

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

cash_sum: double (nullable)

Ставка наличными

currency_id: int32 (nullable)

Валюта ставки наличными. Значение из словаря валют АТИ

sum_with_nds: double (nullable)

Ставка с НДС

nds_currency_id: int32 (nullable)

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

sum_without_nds: double (nullable)

Ставка без НДС

not_nds_currency_id: int32 (nullable)

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

note: string (nullable)

Комментарий к предложению. Максимальное количество символов 512

prepay_percent: int32 (nullable)

Предоплата в процентах

delay_payment_days: int32 (nullable)

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

loading_city_id: int64 (nullable)

Id города загрузки. Значение из словаря городов АТИ

unloading_city_id: int64 (nullable)

Id города разгрузки. Значение из словаря городов АТИ

weight: double (nullable)

Максимальная грузоподъемность, т

volume: double (nullable)

Максимальный объем, м3

car_delivery_date: date-time

Дата подачи транспорта

is_actual: boolean

Актуальность встречного предложения

unload_payment: boolean

Оплата на выгрузке

coloading: boolean

Догруз

}
Пример
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"addition_date":"1970-01-01T00:00:00.000Z",
"change_date":"1970-01-01T00:00:00.000Z",
"viewed_at":"1970-01-01T00:00:00.000Z",
"cash_sum":0.5,
"currency_id":0,
"sum_with_nds":0.5,
"nds_currency_id":0,
"sum_without_nds":0.5,
"not_nds_currency_id":0,
"note":"string",
"prepay_percent":0,
"delay_payment_days":0,
"loading_city_id":0,
"unloading_city_id":0,
"weight":0.5,
"volume":0.5,
"car_delivery_date":"1970-01-01T00:00:00.000Z",
"is_actual":false,
"unload_payment":false,
"coloading":false,
"sender_firm_info":{...}
"ati_id":"string",
"contact_id":0,
"firm_id":0,
"contact":{...},
"firm_id":0,
"ati_id":"string",
"contact_id":0,
"name":"string",
"phone":"string",
"mobile_phone":"string",
"claims_count":0,
"recommendations_count":0,
"bad_partner_mentions_count":0,
"city":"string",
"firm_type":"string",
"firm_name":"string",
"ownership":"string",
"score":0.5,
"status":0,
"skype_name":"string",
"fax":"string",
"email":"string"
},
"name":"string",
"score":0.5,
"status":0
}
}
4XX Ошибка запроса
Модель
{...}
error: string

Ключ ошибки (идентификатор сценария отказа или типа сбоя).

reason: string

Пояснение: что не так с запросом и при валидации — какие ограничения нарушены.

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

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

Возвращает встречные предложения, полученные на ваши машины.
Для регулярной синхронизации передавайте newerThan, а для учета архивных машин используйте includeArchived=true.

get /v1.1/trucks/counter_offers/received
Параметры
Параметр Тип Расположение Описание
newerThan string (date-time) query
Вернуть отзывы, измененные после указанной даты. Если модификатора часового пояса нет, дата отправляется в формате UTC+3 (Москва) Пример: 1970-01-01T00:00:00.000Z
includeArchived boolean query
Включать архивные машины Пример: false
Запрос
Пример запроса
curl 'https://api.ati.su/v1.1/trucks/counter_offers/received' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Список отзывов на ваши машины
Модель
[{...}]
id: uuid

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

truck_id: uuid

Id машины

addition_date: date-time

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

change_date: date-time

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

viewed_at: date-time (nullable)

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

cash_sum: double (nullable)

Ставка наличными

currency_id: int32 (nullable)

Валюта ставки наличными. Значение из словаря валют АТИ

sum_with_nds: double (nullable)

Ставка с НДС

nds_currency_id: int32 (nullable)

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

sum_without_nds: double (nullable)

Ставка без НДС

not_nds_currency_id: int32 (nullable)

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

note: string (nullable)

Комментарий к предложению. Максимальное количество символов 512

prepay_percent: int32 (nullable)

Предоплата в процентах

delay_payment_days: int32 (nullable)

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

loading_city_id: int64 (nullable)

Id города загрузки. Значение из словаря городов АТИ

unloading_city_id: int64 (nullable)

Id города разгрузки. Значение из словаря городов АТИ

weight: double (nullable)

Максимальная грузоподъемность, т

volume: double (nullable)

Максимальный объем, м3

car_delivery_date: date-time

Дата подачи транспорта

is_actual: boolean

Актуальность встречного предложения

unload_payment: boolean

Оплата на выгрузке

coloading: boolean

Догруз

}]
Пример
[...]
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"addition_date":"1970-01-01T00:00:00.000Z",
"change_date":"1970-01-01T00:00:00.000Z",
"viewed_at":"1970-01-01T00:00:00.000Z",
"cash_sum":0.5,
"currency_id":0,
"sum_with_nds":0.5,
"nds_currency_id":0,
"sum_without_nds":0.5,
"not_nds_currency_id":0,
"note":"string",
"prepay_percent":0,
"delay_payment_days":0,
"loading_city_id":0,
"unloading_city_id":0,
"weight":0.5,
"volume":0.5,
"car_delivery_date":"1970-01-01T00:00:00.000Z",
"is_actual":false,
"unload_payment":false,
"coloading":false,
"sender_firm_info":{...}
"ati_id":"string",
"contact_id":0,
"firm_id":0,
"contact":{...},
"firm_id":0,
"ati_id":"string",
"contact_id":0,
"name":"string",
"phone":"string",
"mobile_phone":"string",
"claims_count":0,
"recommendations_count":0,
"bad_partner_mentions_count":0,
"city":"string",
"firm_type":"string",
"firm_name":"string",
"ownership":"string",
"score":0.5,
"status":0,
"skype_name":"string",
"fax":"string",
"email":"string"
},
"name":"string",
"score":0.5,
"status":0
}
}
]
4XX Ошибка запроса
Модель
{...}
error: string

Ключ ошибки (идентификатор сценария отказа или типа сбоя).

reason: string

Пояснение: что не так с запросом и при валидации — какие ограничения нарушены.

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

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

Возвращает встречные предложения по списку ID машин: передайте массив ID, в ответе получите словарь truck_id -> список встречных предложений.

post /v1.1/trucks/counter_offers/by_truck_ids
Параметры
Параметр Тип Расположение Описание
includeArchived boolean query
Включать архивные машины Пример: false
Запрос
Модель
[uuid]

Массив UUID.

Пример запроса
curl 'https://api.ati.su/v1.1/trucks/counter_offers/by_truck_ids' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '["ce303e3c-210b-ec11-bb9f-0cc47af30c1b","80f2f0f4-89a9-4ff5-95eb-6cf7b4a577c1"]'
Ответ
200 Встречные предложения по списку машин
Модель
{...}

Словарь отзывов по ID машин

}
Пример
{...}
"any-key":[...]
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"addition_date":"1970-01-01T00:00:00.000Z",
"change_date":"1970-01-01T00:00:00.000Z",
"viewed_at":"1970-01-01T00:00:00.000Z",
"cash_sum":0.5,
"currency_id":0,
"sum_with_nds":0.5,
"nds_currency_id":0,
"sum_without_nds":0.5,
"not_nds_currency_id":0,
"note":"string",
"prepay_percent":0,
"delay_payment_days":0,
"loading_city_id":0,
"unloading_city_id":0,
"weight":0.5,
"volume":0.5,
"car_delivery_date":"1970-01-01T00:00:00.000Z",
"is_actual":false,
"unload_payment":false,
"coloading":false,
"sender_firm_info":{...}
"ati_id":"string",
"contact_id":0,
"firm_id":0,
"contact":{...},
"firm_id":0,
"ati_id":"string",
"contact_id":0,
"name":"string",
"phone":"string",
"mobile_phone":"string",
"claims_count":0,
"recommendations_count":0,
"bad_partner_mentions_count":0,
"city":"string",
"firm_type":"string",
"firm_name":"string",
"ownership":"string",
"score":0.5,
"status":0,
"skype_name":"string",
"fax":"string",
"email":"string"
},
"name":"string",
"score":0.5,
"status":0
}
}
]
}
4XX Ошибка запроса
Модель
{...}
error: string

Ключ ошибки (идентификатор сценария отказа или типа сбоя).

reason: string

Пояснение: что не так с запросом и при валидации — какие ограничения нарушены.

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

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

Возвращает встречные предложения, которые ваша фирма оставила на чужие машины.

get /v1.1/trucks/counter_offers/my
Параметры
Параметр Тип Расположение Описание
newerThan string (date-time) query
Вернуть отзывы, измененные после указанной даты. Если модификатора часового пояса нет, дата отправляется в формате UTC+3 (Москва) Пример: 1970-01-01T00:00:00.000Z
includeArchived boolean query
Включать архивные машины Пример: false
Запрос
Пример запроса
curl 'https://api.ati.su/v1.1/trucks/counter_offers/my' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Список ваших отзывов на чужие машины
Модель
[{...}]
id: uuid

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

truck_id: uuid

Id машины

addition_date: date-time

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

change_date: date-time

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

viewed_at: date-time (nullable)

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

cash_sum: double (nullable)

Ставка наличными

currency_id: int32 (nullable)

Валюта ставки наличными. Значение из словаря валют АТИ

sum_with_nds: double (nullable)

Ставка с НДС

nds_currency_id: int32 (nullable)

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

sum_without_nds: double (nullable)

Ставка без НДС

not_nds_currency_id: int32 (nullable)

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

note: string (nullable)

Комментарий к предложению. Максимальное количество символов 512

prepay_percent: int32 (nullable)

Предоплата в процентах

delay_payment_days: int32 (nullable)

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

loading_city_id: int64 (nullable)

Id города загрузки. Значение из словаря городов АТИ

unloading_city_id: int64 (nullable)

Id города разгрузки. Значение из словаря городов АТИ

weight: double (nullable)

Максимальная грузоподъемность, т

volume: double (nullable)

Максимальный объем, м3

car_delivery_date: date-time

Дата подачи транспорта

is_actual: boolean

Актуальность встречного предложения

unload_payment: boolean

Оплата на выгрузке

coloading: boolean

Догруз

}]
Пример
[...]
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"addition_date":"1970-01-01T00:00:00.000Z",
"change_date":"1970-01-01T00:00:00.000Z",
"viewed_at":"1970-01-01T00:00:00.000Z",
"cash_sum":0.5,
"currency_id":0,
"sum_with_nds":0.5,
"nds_currency_id":0,
"sum_without_nds":0.5,
"not_nds_currency_id":0,
"note":"string",
"prepay_percent":0,
"delay_payment_days":0,
"loading_city_id":0,
"unloading_city_id":0,
"weight":0.5,
"volume":0.5,
"car_delivery_date":"1970-01-01T00:00:00.000Z",
"is_actual":false,
"unload_payment":false,
"coloading":false,
"sender_firm_info":{...}
"ati_id":"string",
"contact_id":0,
"firm_id":0,
"contact":{...},
"firm_id":0,
"ati_id":"string",
"contact_id":0,
"name":"string",
"phone":"string",
"mobile_phone":"string",
"claims_count":0,
"recommendations_count":0,
"bad_partner_mentions_count":0,
"city":"string",
"firm_type":"string",
"firm_name":"string",
"ownership":"string",
"score":0.5,
"status":0,
"skype_name":"string",
"fax":"string",
"email":"string"
},
"name":"string",
"score":0.5,
"status":0
}
}
]
4XX Ошибка запроса
Модель
{...}
error: string

Ключ ошибки (идентификатор сценария отказа или типа сбоя).

reason: string

Пояснение: что не так с запросом и при валидации — какие ограничения нарушены.

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

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

Удаляет ваши встречные предложения по конкретной машине. Если встречных предложений уже нет, сервис вернет 204 No Content.

delete /v1.1/trucks/{truckId}/counter_offers
Параметры
Параметр Тип Расположение Описание
truckId обязательный string (uuid) path
ID машины Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Пример запроса
curl 'https://api.ati.su/v1.1/trucks/{truckId}/counter_offers' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Удаленные встречные предложения
Модель
[{...}]
id: uuid

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

truck_id: uuid

Id машины

addition_date: date-time

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

change_date: date-time

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

viewed_at: date-time (nullable)

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

cash_sum: double (nullable)

Ставка наличными

currency_id: int32 (nullable)

Валюта ставки наличными. Значение из словаря валют АТИ

sum_with_nds: double (nullable)

Ставка с НДС

nds_currency_id: int32 (nullable)

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

sum_without_nds: double (nullable)

Ставка без НДС

not_nds_currency_id: int32 (nullable)

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

note: string (nullable)

Комментарий к предложению. Максимальное количество символов 512

prepay_percent: int32 (nullable)

Предоплата в процентах

delay_payment_days: int32 (nullable)

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

loading_city_id: int64 (nullable)

Id города загрузки. Значение из словаря городов АТИ

unloading_city_id: int64 (nullable)

Id города разгрузки. Значение из словаря городов АТИ

weight: double (nullable)

Максимальная грузоподъемность, т

volume: double (nullable)

Максимальный объем, м3

car_delivery_date: date-time

Дата подачи транспорта

is_actual: boolean

Актуальность встречного предложения

unload_payment: boolean

Оплата на выгрузке

coloading: boolean

Догруз

}]
Пример
[...]
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"addition_date":"1970-01-01T00:00:00.000Z",
"change_date":"1970-01-01T00:00:00.000Z",
"viewed_at":"1970-01-01T00:00:00.000Z",
"cash_sum":0.5,
"currency_id":0,
"sum_with_nds":0.5,
"nds_currency_id":0,
"sum_without_nds":0.5,
"not_nds_currency_id":0,
"note":"string",
"prepay_percent":0,
"delay_payment_days":0,
"loading_city_id":0,
"unloading_city_id":0,
"weight":0.5,
"volume":0.5,
"car_delivery_date":"1970-01-01T00:00:00.000Z",
"is_actual":false,
"unload_payment":false,
"coloading":false,
"sender_firm_info":{...}
"ati_id":"string",
"contact_id":0,
"firm_id":0,
"contact":{...},
"firm_id":0,
"ati_id":"string",
"contact_id":0,
"name":"string",
"phone":"string",
"mobile_phone":"string",
"claims_count":0,
"recommendations_count":0,
"bad_partner_mentions_count":0,
"city":"string",
"firm_type":"string",
"firm_name":"string",
"ownership":"string",
"score":0.5,
"status":0,
"skype_name":"string",
"fax":"string",
"email":"string"
},
"name":"string",
"score":0.5,
"status":0
}
}
]
204 На машине не было отзывов
Успешный ответ
4XX Ошибка запроса
Модель
{...}
error: string

Ключ ошибки (идентификатор сценария отказа или типа сбоя).

reason: string

Пояснение: что не так с запросом и при валидации — какие ограничения нарушены.

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

Удаление встречного предложения на машину по ID

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

delete /gw/truck_responses/public/v1.1/trucks/counter_offers/{offerId}
Параметры
Параметр Тип Расположение Описание
offerId обязательный string (uuid) path
ID отзыва Пример: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Запрос
Пример запроса
curl 'https://api.ati.su/gw/truck_responses/public/v1.1/trucks/counter_offers/{offerId}' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Удаленный отзыв
Модель
{...}
id: uuid

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

truck_id: uuid

Id машины

addition_date: date-time

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

change_date: date-time

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

viewed_at: date-time (nullable)

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

cash_sum: double (nullable)

Ставка наличными

currency_id: int32 (nullable)

Валюта ставки наличными. Значение из словаря валют АТИ

sum_with_nds: double (nullable)

Ставка с НДС

nds_currency_id: int32 (nullable)

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

sum_without_nds: double (nullable)

Ставка без НДС

not_nds_currency_id: int32 (nullable)

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

note: string (nullable)

Комментарий к предложению. Максимальное количество символов 512

prepay_percent: int32 (nullable)

Предоплата в процентах

delay_payment_days: int32 (nullable)

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

loading_city_id: int64 (nullable)

Id города загрузки. Значение из словаря городов АТИ

unloading_city_id: int64 (nullable)

Id города разгрузки. Значение из словаря городов АТИ

weight: double (nullable)

Максимальная грузоподъемность, т

volume: double (nullable)

Максимальный объем, м3

car_delivery_date: date-time

Дата подачи транспорта

is_actual: boolean

Актуальность встречного предложения

unload_payment: boolean

Оплата на выгрузке

coloading: boolean

Догруз

}
Пример
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"truck_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"addition_date":"1970-01-01T00:00:00.000Z",
"change_date":"1970-01-01T00:00:00.000Z",
"viewed_at":"1970-01-01T00:00:00.000Z",
"cash_sum":0.5,
"currency_id":0,
"sum_with_nds":0.5,
"nds_currency_id":0,
"sum_without_nds":0.5,
"not_nds_currency_id":0,
"note":"string",
"prepay_percent":0,
"delay_payment_days":0,
"loading_city_id":0,
"unloading_city_id":0,
"weight":0.5,
"volume":0.5,
"car_delivery_date":"1970-01-01T00:00:00.000Z",
"is_actual":false,
"unload_payment":false,
"coloading":false,
"sender_firm_info":{...}
"ati_id":"string",
"contact_id":0,
"firm_id":0,
"contact":{...},
"firm_id":0,
"ati_id":"string",
"contact_id":0,
"name":"string",
"phone":"string",
"mobile_phone":"string",
"claims_count":0,
"recommendations_count":0,
"bad_partner_mentions_count":0,
"city":"string",
"firm_type":"string",
"firm_name":"string",
"ownership":"string",
"score":0.5,
"status":0,
"skype_name":"string",
"fax":"string",
"email":"string"
},
"name":"string",
"score":0.5,
"status":0
}
}
4XX Ошибка запроса
Модель
{...}
error: string

Ключ ошибки (идентификатор сценария отказа или типа сбоя).

reason: string

Пояснение: что не так с запросом и при валидации — какие ограничения нарушены.

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

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

Возвращает количество непросмотренных встречных предложений по каждой машине из списка.

Вариант пути
post /gw/truck_responses/public/v1.1/trucks/counter_offers/unviewed_count/by_truck_ids
Параметры
Параметров нет
Запрос
Модель
[uuid]

Массив UUID.

Пример запроса
curl 'https://api.ati.su/gw/truck_responses/public/v1.1/trucks/counter_offers/unviewed_count/by_truck_ids' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '["ce303e3c-210b-ec11-bb9f-0cc47af30c1b","80f2f0f4-89a9-4ff5-95eb-6cf7b4a577c1"]'
Ответ
200 Количество непросмотренных встречных предложений по машинам
Модель
{...}

Ключи свойств — строки UUID машин, значения — целые числа.

any-key: int32
}
Пример
{...}
"any-key":0
}
4XX Ошибка запроса
Модель
{...}
error: string

Ключ ошибки (идентификатор сценария отказа или типа сбоя).

reason: string

Пояснение: что не так с запросом и при валидации — какие ограничения нарушены.

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

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

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

post /gw/truck_responses/v1/trucks/published/counter_offers/count
Параметры
Параметров нет
Запрос
Модель
[uuid]

Массив UUID.

Пример запроса
curl 'https://api.ati.su/gw/truck_responses/v1/trucks/published/counter_offers/count' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '["ce303e3c-210b-ec11-bb9f-0cc47af30c1b","80f2f0f4-89a9-4ff5-95eb-6cf7b4a577c1"]'
Ответ
200 Счетчики встречных предложений по опубликованным машинам
Модель
{...}
}
Пример
{...}
"any-key":{...}
"active_count":0,
"has_counter_offers":false,
"unviewed_count":0
}
}
4XX Ошибка запроса
Модель
{...}
error: string

Ключ ошибки (идентификатор сценария отказа или типа сбоя).

reason: string

Пояснение: что не так с запросом и при валидации — какие ограничения нарушены.

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

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

Возвращает наличие встречных предложений для машин из архива по их ID.

post /gw/truck_responses/v1/trucks/archive/counter_offers/count
Параметры
Параметров нет
Запрос
Модель
[uuid]

Массив UUID.

Пример запроса
curl 'https://api.ati.su/gw/truck_responses/v1/trucks/archive/counter_offers/count' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '["ce303e3c-210b-ec11-bb9f-0cc47af30c1b","80f2f0f4-89a9-4ff5-95eb-6cf7b4a577c1"]'
Ответ
200 Счетчики встречных предложений по архивным машинам
Модель
{...}
}
Пример
{...}
"any-key":{...}
"has_counter_offers":false
}
}
4XX Ошибка запроса
Модель
{...}
error: string

Ключ ошибки (идентификатор сценария отказа или типа сбоя).

reason: string

Пояснение: что не так с запросом и при валидации — какие ограничения нарушены.

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