Skip to content
Мои токены Поддержка
Для подтверждения действия введите пароль
Чтобы продолжить, введите пароль для пользователя
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: https://<!--# echo var='base_url' -->/developers/llms.txt — ordered list of key documentation URLs for the developers section.

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

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

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

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

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

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

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

Версия
post /v2/cargos
Запрос
Модель
{...}
}
Пример запроса
curl 'https://api.ati.su/v2/cargos' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"cargo_application":{"external_id":"string","route":{"loading":{"location":{"type":"string"}},"unloading":{"location":{"type":"string"}},"way_points":[{"location":{"type":"string"}}]},"truck":{"trucks_count":0,"load_type":"string","body_types":[0],"body_loading":{"types":[0],"is_all_required":false},"body_unloading":{"types":[0],"is_all_required":false},"temperature":{"from":0,"to":0},"documents":{"tir":false,"cmr":false,"t1":false,"medical_card":false},"requirements":{"logging_truck":false,"road_train":false,"air_suspension":false,"team_driving":false},"adr":0,"belts_count":0,"is_tracking":false,"required_capacity":0.5},"payment":{"type":"string","hide_counter_offers":false,"direct_offer":false,"prepayment":{"percent":0,"using_fuel":false},"payment_mode":{"type":"string"}},"documents":[{"file_id":"string"}],"boards":[{"id":"string","publication_mode":"string","publication_time":"1970-01-01T00:00:00.000Z","cancel_publish_on_auction_bet":false,"reservation_enabled":false}],"paid_features":{"priority_view":{"rate":0.5,"limit":0.5,"daily_limit":0.5,"only_for_paid_users":false},"stealth":{"list_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","minimal_registration_date":"1970-01-01T00:00:00.000Z","minimal_stars_count":0}},"note":"string","contacts":[0]}}'
Ответ
200 Success
Модель
{...}
}
Пример
{...}
"cargo_application":{...}
"cargo_application_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"snapshot_id":0,
"cargo_application_number":"string",
"department_id":0,
"persistent_user_id":0,
"actor_contact_id":0,
"external_id":"string",
"added_at":"1970-01-01T00:00:00.000Z",
"updated_at":"1970-01-01T00:00:00.000Z",
"refreshed_at":"1970-01-01T00:00:00.000Z",
"origin_source":"string",
"route":{...},
"loading":{...},
"city":{...},
"city_id":0,
"region_id":0,
"country_id":0
},
"coordinates":{...},
"longitude":0.5,
"latitude":0.5
},
"address":"string",
"organization":{...}
"organization_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"address_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
},
"unloading":{...},
"city":{...},
"city_id":0,
"region_id":0,
"country_id":0
},
"coordinates":{...},
"longitude":0.5,
"latitude":0.5
},
"address":"string",
"organization":{...}
"organization_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"address_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
},
"way_points":[...],
{...}
"city":{...},
"city_id":0,
"region_id":0,
"country_id":0
},
"coordinates":{...},
"longitude":0.5,
"latitude":0.5
},
"address":"string",
"organization":{...}
"organization_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"address_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
],
"is_round_trip":false
},
"truck":{...},
"trucks_count":0,
"load_type":"string",
"body_types":[...],
0
],
"is_tracking":false,
"adr":0,
"belts_count":0,
"required_capacity":0.5,
"body_loading":{...},
"types":[...],
0
],
"is_all_required":false
},
"body_unloading":{...},
"types":[...],
0
],
"is_all_required":false
},
"temperature":{...},
"from":0,
"to":0
},
"documents":{...},
"tir":false,
"cmr":false,
"t1":false,
"medical_card":false
},
"requirements":{...}
"logging_truck":false,
"road_train":false,
"air_suspension":false,
"team_driving":false
}
},
"payment":{...},
"type":"string",
"hide_counter_offers":false,
"direct_offer":false,
"prepayment":{...},
"percent":0,
"using_fuel":false
},
"payment_mode":{...}
"type":"string"
}
},
"boards":[...],
{...}
"id":"string",
"publication_mode":"string",
"publication_time":"1970-01-01T00:00:00.000Z",
"cancel_publish_on_auction_bet":false,
"reservation_enabled":false,
"is_published":false
}
],
"documents":[...],
{...}
"file_id":"string",
"name":"string",
"link":"string"
}
],
"application_contacts":[...],
{...}
"id":0
}
],
"paid_features":{...},
"priority_view":{...},
"rate":0.5,
"only_for_paid_users":false,
"limit":0.5,
"daily_limit":0.5
},
"stealth":{...}
"list_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"minimal_registration_date":"1970-01-01T00:00:00.000Z",
"minimal_stars_count":0
}
},
"note":"string",
"lot_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"lot_number":0,
"is_pass_through_copy":false,
"is_archived":false,
"archive_date":"1970-01-01T00:00:00.000Z"
}
}

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

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

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

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

Версия
put /v2/cargos/{cargoApplicationId}
Запрос
Модель
{...}
}
Пример запроса
curl 'https://api.ati.su/v2/cargos/{cargoApplicationId}' \
-X 'PUT' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"cargo_application":{"external_id":"string","route":{"loading":{"location":{"type":"string"}},"unloading":{"location":{"type":"string"}},"way_points":[{"location":{"type":"string"}}]},"truck":{"trucks_count":0,"load_type":"string","body_types":[0],"body_loading":{"types":[0],"is_all_required":false},"body_unloading":{"types":[0],"is_all_required":false},"temperature":{"from":0,"to":0},"documents":{"tir":false,"cmr":false,"t1":false,"medical_card":false},"requirements":{"logging_truck":false,"road_train":false,"air_suspension":false,"team_driving":false},"adr":0,"belts_count":0,"is_tracking":false,"required_capacity":0.5},"payment":{"type":"string","hide_counter_offers":false,"direct_offer":false,"prepayment":{"percent":0,"using_fuel":false},"payment_mode":{"type":"string"}},"documents":[{"file_id":"string"}],"boards":[{"id":"string","publication_mode":"string","publication_time":"1970-01-01T00:00:00.000Z","cancel_publish_on_auction_bet":false,"reservation_enabled":false}],"paid_features":{"priority_view":{"rate":0.5,"limit":0.5,"daily_limit":0.5,"only_for_paid_users":false},"stealth":{"list_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","minimal_registration_date":"1970-01-01T00:00:00.000Z","minimal_stars_count":0}},"note":"string","contacts":[0]}}'
Ответ
200 Success
Модель
{...}
}
Пример
{...}
"cargo_application":{...}
"cargo_application_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"snapshot_id":0,
"cargo_application_number":"string",
"department_id":0,
"persistent_user_id":0,
"actor_contact_id":0,
"external_id":"string",
"added_at":"1970-01-01T00:00:00.000Z",
"updated_at":"1970-01-01T00:00:00.000Z",
"refreshed_at":"1970-01-01T00:00:00.000Z",
"origin_source":"string",
"route":{...},
"loading":{...},
"city":{...},
"city_id":0,
"region_id":0,
"country_id":0
},
"coordinates":{...},
"longitude":0.5,
"latitude":0.5
},
"address":"string",
"organization":{...}
"organization_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"address_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
},
"unloading":{...},
"city":{...},
"city_id":0,
"region_id":0,
"country_id":0
},
"coordinates":{...},
"longitude":0.5,
"latitude":0.5
},
"address":"string",
"organization":{...}
"organization_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"address_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
},
"way_points":[...],
{...}
"city":{...},
"city_id":0,
"region_id":0,
"country_id":0
},
"coordinates":{...},
"longitude":0.5,
"latitude":0.5
},
"address":"string",
"organization":{...}
"organization_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"address_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
],
"is_round_trip":false
},
"truck":{...},
"trucks_count":0,
"load_type":"string",
"body_types":[...],
0
],
"is_tracking":false,
"adr":0,
"belts_count":0,
"required_capacity":0.5,
"body_loading":{...},
"types":[...],
0
],
"is_all_required":false
},
"body_unloading":{...},
"types":[...],
0
],
"is_all_required":false
},
"temperature":{...},
"from":0,
"to":0
},
"documents":{...},
"tir":false,
"cmr":false,
"t1":false,
"medical_card":false
},
"requirements":{...}
"logging_truck":false,
"road_train":false,
"air_suspension":false,
"team_driving":false
}
},
"payment":{...},
"type":"string",
"hide_counter_offers":false,
"direct_offer":false,
"prepayment":{...},
"percent":0,
"using_fuel":false
},
"payment_mode":{...}
"type":"string"
}
},
"boards":[...],
{...}
"id":"string",
"publication_mode":"string",
"publication_time":"1970-01-01T00:00:00.000Z",
"cancel_publish_on_auction_bet":false,
"reservation_enabled":false,
"is_published":false
}
],
"documents":[...],
{...}
"file_id":"string",
"name":"string",
"link":"string"
}
],
"application_contacts":[...],
{...}
"id":0
}
],
"paid_features":{...},
"priority_view":{...},
"rate":0.5,
"only_for_paid_users":false,
"limit":0.5,
"daily_limit":0.5
},
"stealth":{...}
"list_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"minimal_registration_date":"1970-01-01T00:00:00.000Z",
"minimal_stars_count":0
}
},
"note":"string",
"lot_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"lot_number":0,
"is_pass_through_copy":false,
"is_archived":false,
"archive_date":"1970-01-01T00:00:00.000Z"
}
}

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

Версия
get /v2/cargos/{cargoApplicationId}
Запрос
Пример запроса
curl 'https://api.ati.su/v2/cargos/{cargoApplicationId}' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Success
Модель
{...}

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

cargo_id: uuid

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

deprecated
cargo_number: string

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

deprecated
source: int32

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

deprecated
contacts: [int32]

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

distance: int32

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

deprecated
cargo_application_id*: uuid

Id груза

snapshot_id*: int64

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

cargo_application_number*: string

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

department_id*: int32

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

persistent_user_id*: int32

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

actor_contact_id: int32 (nullable)

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

external_id: string (nullable)

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

added_at*: date-time

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

updated_at*: date-time

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

refreshed_at*: date-time

Время последнего обновления груза, UTC (поднятие груза в поисковой выдаче)

origin_source*: string

Использованный api при создания груза:

  • web-cargos-api,
  • mobile-cargos-api,
  • internal-cargos-api,
  • public-cargos-api,
  • internal-atrucks,
  • internal-torgtrans,
  • csv_import,
  • pass-through,
  • unknown
note: string (nullable)

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

lot_id: uuid (nullable)

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

lot_number: int32 (nullable)

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

is_pass_through_copy: boolean (nullable)

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

is_archived: boolean (nullable)

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

archive_date: date-time (nullable)

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

}
Пример
{...}
"cargo_application_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"snapshot_id":0,
"cargo_application_number":"string",
"department_id":0,
"persistent_user_id":0,
"actor_contact_id":0,
"external_id":"string",
"added_at":"1970-01-01T00:00:00.000Z",
"updated_at":"1970-01-01T00:00:00.000Z",
"refreshed_at":"1970-01-01T00:00:00.000Z",
"origin_source":"string",
"route":{...},
"loading":{...},
"city":{...},
"city_id":0,
"region_id":0,
"country_id":0
},
"coordinates":{...},
"longitude":0.5,
"latitude":0.5
},
"address":"string",
"organization":{...}
"organization_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"address_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
},
"unloading":{...},
"city":{...},
"city_id":0,
"region_id":0,
"country_id":0
},
"coordinates":{...},
"longitude":0.5,
"latitude":0.5
},
"address":"string",
"organization":{...}
"organization_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"address_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
},
"way_points":[...],
{...}
"city":{...},
"city_id":0,
"region_id":0,
"country_id":0
},
"coordinates":{...},
"longitude":0.5,
"latitude":0.5
},
"address":"string",
"organization":{...}
"organization_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"address_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
],
"is_round_trip":false
},
"truck":{...},
"trucks_count":0,
"load_type":"string",
"body_types":[...],
0
],
"is_tracking":false,
"adr":0,
"belts_count":0,
"required_capacity":0.5,
"body_loading":{...},
"types":[...],
0
],
"is_all_required":false
},
"body_unloading":{...},
"types":[...],
0
],
"is_all_required":false
},
"temperature":{...},
"from":0,
"to":0
},
"documents":{...},
"tir":false,
"cmr":false,
"t1":false,
"medical_card":false
},
"requirements":{...}
"logging_truck":false,
"road_train":false,
"air_suspension":false,
"team_driving":false
}
},
"payment":{...},
"type":"string",
"hide_counter_offers":false,
"direct_offer":false,
"prepayment":{...},
"percent":0,
"using_fuel":false
},
"payment_mode":{...}
"type":"string"
}
},
"boards":[...],
{...}
"id":"string",
"publication_mode":"string",
"publication_time":"1970-01-01T00:00:00.000Z",
"cancel_publish_on_auction_bet":false,
"reservation_enabled":false,
"is_published":false
}
],
"documents":[...],
{...}
"file_id":"string",
"name":"string",
"link":"string"
}
],
"application_contacts":[...],
{...}
"id":0
}
],
"paid_features":{...},
"priority_view":{...},
"rate":0.5,
"only_for_paid_users":false,
"limit":0.5,
"daily_limit":0.5
},
"stealth":{...}
"list_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"minimal_registration_date":"1970-01-01T00:00:00.000Z",
"minimal_stars_count":0
}
},
"note":"string",
"lot_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"lot_number":0,
"is_pass_through_copy":false,
"is_archived":false,
"archive_date":"1970-01-01T00:00:00.000Z"
}

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

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

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

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

ContactId2: int32 (nullable)

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

Note: string

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

FirstDate: date-time

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

LastDate: date-time

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

DateType: int32

Выбор типа готовности груза к перевозке

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

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

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

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

Krugoreis: boolean

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

UnloadFirstDate: date-time (nullable)

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

UnloadLastDate: date-time (nullable)

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

ArchiveDate: date-time (nullable)

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

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

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

TruePrice: int32

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

TrueCurrencyId: int32

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

ResponseCount: int32

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

OfferCount: int32

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

CanBeDeleted: boolean

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

HasPermissionsToLoad: boolean

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

CanBeEdited: boolean

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

CanBeRenewed: boolean

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

CanBeRestored: boolean

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

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

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

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

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

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

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

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

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

Id: guid

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

LoadNumber: string

Номер груза

RefreshedAt: date-time

Дата последнего обновления груза в формате UTC (поднятие груза в поисковой выдаче)

UpdatedAt: date-time

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

AddedAt: date-time

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

Distance: int32

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

PlatonRoadsLength: int32

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

TollRoadsLength: int32

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

TravelTime: time-span

Время в пути

Zimnik: boolean

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

Ferries: boolean

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

FirmId: string

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

AuctionId: guid (nullable)

Id аукциона

}]
Пример
[...]
{...}
"LoadMeta":{...},
"LoadMetaId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"MetaData":"string"
},
"ContactId1":0,
"ContactId2":0,
"Note":"string",
"FirstDate":"1970-01-01T00:00:00.000Z",
"LastDate":"1970-01-01T00:00:00.000Z",
"DateType":0,
"PeriodicityId":0,
"OrderNumber":"string",
"Krugoreis":false,
"Loading":{...},
"CityId":0,
"Latitude":0.5,
"Longitude":0.5,
"Street":"string",
"TimeStart":"1970-01-01T00:00:00.000Z",
"TimeEnd":"1970-01-01T00:00:00.000Z",
"IsRoundTheClock":false,
"LargeCities":[...],
0
],
"LoadingCargos":[...]
{...}
"CargoId":0,
"NameId":0,
"Name":"string",
"PackagingType":0,
"PackagingQuantity":0,
"Weight":0.5,
"Volume":0.5,
"Sizes":{...}
"Length":0.5,
"Width":0.5,
"Height":0.5,
"Diameter":0.5,
"LengthHighlight":false,
"WidthHighlight":false,
"HeightHighlight":false
}
}
]
},
"ExtraPoints":[...],
{...}
"CityId":0,
"PointType":0,
"Latitude":0.5,
"Longitude":0.5,
"Street":"string",
"OrdinalId":0,
"IsRoundTheClock":false,
"LoadingDateStart":"1970-01-01T00:00:00.000Z",
"LoadingDateEnd":"1970-01-01T00:00:00.000Z",
"LoadingTimeStart":null,
"LoadingTimeEnd":null,
"LoadingCargos":[...],
{...}
"CargoId":0,
"NameId":0,
"Name":"string",
"PackagingType":0,
"PackagingQuantity":0,
"Weight":0.5,
"Volume":0.5,
"Sizes":{...}
"Length":0.5,
"Width":0.5,
"Height":0.5,
"Diameter":0.5,
"LengthHighlight":false,
"WidthHighlight":false,
"HeightHighlight":false
}
}
],
"UnloadingCargos":[...]
{...}
"CargoId":0,
"Weight":0.5,
"Volume":0.5,
"PackagingQuantity":0,
"IsDefinedByTtn":false
}
]
}
],
"Unloading":{...},
"CityId":0,
"Latitude":0.5,
"Longitude":0.5,
"Street":"string",
"TimeStart":"1970-01-01T00:00:00.000Z",
"TimeEnd":"1970-01-01T00:00:00.000Z",
"IsRoundTheClock":false,
"LargeCities":[...],
0
],
"LoadingCargos":[...]
{...}
"CargoId":0,
"NameId":0,
"Name":"string",
"PackagingType":0,
"PackagingQuantity":0,
"Weight":0.5,
"Volume":0.5,
"Sizes":{...}
"Length":0.5,
"Width":0.5,
"Height":0.5,
"Diameter":0.5,
"LengthHighlight":false,
"WidthHighlight":false,
"HeightHighlight":false
}
}
]
},
"Cargo":{...},
"Weight":0.5,
"Volume":0.5,
"ADR":0,
"CargoTypeId":0,
"CargoType":"string",
"PackType":0,
"PalletCount":0,
"BeltCount":0,
"DogruzType":0,
"SborGruz":false,
"Size":{...}
"Length":0.5,
"Width":0.5,
"Height":0.5,
"Diameter":0.5,
"LengthHighlight":false,
"WidthHighlight":false,
"HeightHighlight":false
}
},
"Transport":{...},
"CarType":0,
"LoadingType":0,
"LoadingLogicalOperator":"string",
"UnloadingType":0,
"UnloadingLogicalOperator":"string",
"TrucksQuantity":0,
"TemperatureFrom":0,
"TemperatureTo":0,
"Stsepka":false,
"Pnevmohod":false,
"Koniki":false,
"TIR":false,
"CMR":false,
"T1":false,
"SanPassport":false,
"IsTracking":false
},
"Payment":{...},
"CurrencyId":0,
"MoneyType":0,
"RateSum":0.5,
"SumWithNDS":0.5,
"SumWithoutNDS":0.5,
"PrepayPercent":0,
"PrepayPercentEnabled":false,
"PayDays":0,
"PayDaysEnabled":false,
"FixedRate":false,
"Torg":false,
"DirectContract":false,
"InFuel":false,
"OnUnloading":false,
"HideResponses":false,
"AcceptPaymentTypes":0
},
"InviteSettings":{...},
"InviteDelayInSeconds":0,
"InviteDurationInSeconds":0
},
"PriorityView":{...},
"DailyLimit":0.5,
"IsForPayedOnly":false,
"OrderLimit":0.5,
"ViewRate":0.5,
"MoneySpentPerDay":0.5,
"MoneySpentPerOrder":0.5
},
"Stealth":{...},
"ListIdToHide":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"FirmRegDateToHide":"1970-01-01T00:00:00.000Z",
"ScoreToHide":0.5
},
"LoadFiles":[...],
{...}
"Id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"FileType":0,
"Attributes":0,
"Name":"string",
"Link":"string",
"Size":0
}
],
"Deal":{...},
"Auction":{...}
"StartRate":0.5,
"Currency":0,
"Step":0.5,
"PaymentType":0,
"AcceptSecondPayType":false,
"StartDate":"1970-01-01T00:00:00.000Z",
"EndDate":"1970-01-01T00:00:00.000Z",
"EndDateBoundary":"1970-01-01T00:00:00.000Z",
"Nds":0.5,
"TimeToProvideDocuments":0.5,
"AutoRenew":false,
"RenewTime":0,
"MaxRenewTime":0,
"RaiseBid":false,
"MaxRate":0.5,
"RaiseBidInterval":0,
"ResponseInMinutes":0,
"Duration":0,
"StartSinceFirstBet":false,
"AuctionRestartParameters":{...},
"AuctionFinishAction":0,
"InitRestartCount":0,
"InitChangeWinnerCount":0,
"DurationAfterRestart":0
},
"AcceptCounterOffersOnlyBeforeFirstBet":false,
"WinnerCriterion":0,
"AuctionId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ActiveDealId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"State":0,
"Finished":false,
"WinDate":"1970-01-01T00:00:00.000Z",
"AuctionRates":[...]
{...}
"AuctionRateId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"AddedAt":"1970-01-01T00:00:00.000Z",
"RateFirm":{...},
"Score":0.5,
"Status":0,
"Name":"string",
"ContactName":"string",
"AtiId":"string"
},
"Rate":0.5,
"State":0,
"LoadingDate":"1970-01-01T00:00:00.000Z",
"FirmId":0,
"ContactId":0
}
]
}
},
"Boards":[...],
{...}
"BoardId":"string",
"PublicationTime":"1970-01-01T00:00:00.000Z",
"IsReservationEnabled":false,
"PublicationOption":0,
"IsPublished":false,
"IsCommonBoard":false
}
],
"UnloadFirstDate":"1970-01-01T00:00:00.000Z",
"UnloadLastDate":"1970-01-01T00:00:00.000Z",
"ArchiveDate":"1970-01-01T00:00:00.000Z",
"ArchiveReason":"Unknown",
"TruePrice":0,
"TrueCurrencyId":0,
"ResponseCount":0,
"OfferCount":0,
"CanBeDeleted":false,
"HasPermissionsToLoad":false,
"CanBeEdited":false,
"CanBeRenewed":false,
"CanBeRestored":false,
"EditRestriction":0,
"DeleteRestriction":0,
"RestoreRestriction":0,
"RenewRestriction":"string",
"Id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadNumber":"string",
"RefreshedAt":"1970-01-01T00:00:00.000Z",
"UpdatedAt":"1970-01-01T00:00:00.000Z",
"AddedAt":"1970-01-01T00:00:00.000Z",
"Distance":0,
"PlatonRoadsLength":0,
"TollRoadsLength":0,
"TravelTime":"?",
"Zimnik":false,
"Ferries":false,
"FirmId":"string",
"AuctionId":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
]
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
Модель
{...}

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

Reason: string

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

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"string",
"Error":"string"
}

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

Версия
Позволяет обновить груз с указанным id. Обновление груза нужно, чтобы он поднимался на более высокие позиции в поисковой выдаче.
put /v2/cargos/{requestedCargoApplicationId}/refresh
Запрос
Пример запроса
curl 'https://api.ati.su/v2/cargos/{requestedCargoApplicationId}/refresh' \
-X 'PUT' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Success
Модель
null
Пример
null

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

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

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

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

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

Reason: string

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

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"string",
"Error":"string"
}

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

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

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

Reason: string

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

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"string",
"Error":"string"
}

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

Версия
put /v2/cargos/{cargoApplicationId}/priority-view
Запрос
Модель
{...}
}
Пример запроса
curl 'https://api.ati.su/v2/cargos/{cargoApplicationId}/priority-view' \
-X 'PUT' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"priority_view":{"view_rate":0.5,"daily_limit":0.5,"order_limit":0.5,"is_for_paid_only":false}}'
Ответ
200 Success
Модель
null
Пример
null

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

Версия
delete /v2/cargos/{cargoApplicationId}/priority-view
Запрос
Пример запроса
curl 'https://api.ati.su/v2/cargos/{cargoApplicationId}/priority-view' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Success
Модель
null
Пример
null

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

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

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

Получение всех комментариев фирмы ко всем грузам
get /v1.0/loads/comments
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/loads/comments' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Комментарии ко всем грузам фирмы
Модель
{...}
}
Пример
{...}
"any-key":[...]
{...}
"CommentId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Message":"string",
"ContactId":0,
"CommentDateTime":"1970-01-01T00:00:00.000Z"
}
]
}
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
Модель
{...}

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

Reason: string

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

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"string",
"Error":"string"
}

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

Получение всех комментариев к грузу для текущей фирмы.
get /v1.0/loads/{loadId}/comments
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/loads/{loadId}/comments' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Комментарии к грузу
Модель
[{...}]
CommentId: guid

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

Message: string

Комментарий

ContactId: int32

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

CommentDateTime: date-time

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

}]
Пример
[...]
{...}
"CommentId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Message":"string",
"ContactId":0,
"CommentDateTime":"1970-01-01T00:00:00.000Z"
}
]
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
Модель
{...}

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

Reason: string

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

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"string",
"Error":"string"
}

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

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

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

  • комментарий не может быть пустым
  • длина комментария не более 128 символов
  • если для фирмы включен режим раздельного доступа, то количество комментариев к одному грузу ограничено одним комментарием на контакт, иначе – одним комментарием на фирму
Добавление либо редактирование комментария к грузу
put /v1.0/loads/{loadId}/comments
Запрос
Модель
string
Пример запроса
curl 'https://api.ati.su/v1.0/loads/{loadId}/comments' \
-X 'PUT' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '"string"'
Ответ
200 Комментарий к грузу
Модель
{...}
CommentId: guid

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

Message: string

Комментарий

ContactId: int32

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

CommentDateTime: date-time

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

}
Пример
{...}
"CommentId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Message":"string",
"ContactId":0,
"CommentDateTime":"1970-01-01T00:00:00.000Z"
}
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
Модель
{...}

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

Reason: string

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

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"string",
"Error":"string"
}

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

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

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

Reason: string

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

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"string",
"Error":"string"
}

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

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

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

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

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

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

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

post /gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers
Запрос
Модель
{...}
contact_id*: int32

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

price*: decimal

Предложенная ставка встречного предложения не б/нал. Значение больше 0 и содержит не более 10 символов.

currency_id*: int32

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

nds_price*: decimal

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

nds_currency_id*: int32

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

not_nds_price*: decimal

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

not_nds_currency_id*: int32

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

note: string (nullable)

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

prepay_percent*: int32

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

pay_after_max_bank_days*: int32

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

loading_date: date-time (nullable)

Дата, когда предложивший хочет перевезти груз

pay_attributes*: int32

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

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

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

cargo_id: uuid

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

cargo_number: string

Номер груза

cargo_firm_id: int32

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

firm_id: int32 (nullable)

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

added_at: date-time

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

updated_at: date-time

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

price: decimal

Предложенная ставка встречного предложения не б/нал. Значение больше 0 и содержит не более 10 символов.

currency_id: int32

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

nds_price: decimal

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

nds_currency_id: int32

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

not_nds_price: decimal

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

not_nds_currency_id: int32

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

counter_offer_source: int32

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

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

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

pay_attributes: int32

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

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

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

pay_after_max_bank_days: int32

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

loading_date: date-time (nullable)

Дата, когда предложивший хочет перевезти ваш груз

is_outdated: boolean

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

is_cargo_published: boolean

Относится ли встречное предложение к публикующемуся грузу. Только для чтения.

}
Пример
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"string",
"cargo_firm_id":0,
"firm_id":0,
"added_at":"1970-01-01T00:00:00.000Z",
"updated_at":"1970-01-01T00:00:00.000Z",
"price":0.5,
"currency_id":0,
"nds_price":0.5,
"nds_currency_id":0,
"not_nds_price":0.5,
"not_nds_currency_id":0,
"counter_offer_source":0,
"note":"string",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"1970-01-01T00:00:00.000Z",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":0.5,
"status":0,
"full_firm_name":"string",
"contact":{...},
"id":0,
"name":"string",
"telephone":"string",
"email":"string",
"icq":"string",
"mobile":"string",
"mobile_operator":"string",
"skype_name":"string",
"city_id":0,
"location":{...}
"city_id":0,
"region_id":0,
"country_id":0,
"full_name":"string",
"short_name":"string",
"is_regional_center":false,
"city_size":0,
"fias_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"attributes":0,
"city_name":"string",
"region_name":"string",
"country_name":"string",
"country_code_name":"string"
}
},
"inn":"string"
}
}
4XX Ошибка запроса
Модель
{...}

Тело ответа при ошибке (HTTP 4xx): общий ключ и пояснение, плюс при необходимости список ошибок по отдельным полям запроса.

error: string (nullable)

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

reason: string (nullable)

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

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

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

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

put /gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers/{id}
Запрос
Модель
{...}
contact_id*: int32

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

price*: decimal

Предложенная ставка встречного предложения не б/нал. Значение больше 0 и содержит не более 10 символов.

currency_id*: int32

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

nds_price*: decimal

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

nds_currency_id*: int32

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

not_nds_price*: decimal

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

not_nds_currency_id*: int32

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

note: string (nullable)

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

prepay_percent*: int32

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

pay_after_max_bank_days*: int32

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

loading_date: date-time (nullable)

Дата, когда предложивший хочет перевезти груз

pay_attributes*: int32

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

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

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

cargo_id: uuid

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

cargo_number: string

Номер груза

cargo_firm_id: int32

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

firm_id: int32 (nullable)

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

added_at: date-time

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

updated_at: date-time

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

price: decimal

Предложенная ставка встречного предложения не б/нал. Значение больше 0 и содержит не более 10 символов.

currency_id: int32

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

nds_price: decimal

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

nds_currency_id: int32

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

not_nds_price: decimal

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

not_nds_currency_id: int32

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

counter_offer_source: int32

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

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

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

pay_attributes: int32

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

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

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

pay_after_max_bank_days: int32

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

loading_date: date-time (nullable)

Дата, когда предложивший хочет перевезти ваш груз

is_outdated: boolean

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

is_cargo_published: boolean

Относится ли встречное предложение к публикующемуся грузу. Только для чтения.

}
Пример
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"string",
"cargo_firm_id":0,
"firm_id":0,
"added_at":"1970-01-01T00:00:00.000Z",
"updated_at":"1970-01-01T00:00:00.000Z",
"price":0.5,
"currency_id":0,
"nds_price":0.5,
"nds_currency_id":0,
"not_nds_price":0.5,
"not_nds_currency_id":0,
"counter_offer_source":0,
"note":"string",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"1970-01-01T00:00:00.000Z",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":0.5,
"status":0,
"full_firm_name":"string",
"contact":{...},
"id":0,
"name":"string",
"telephone":"string",
"email":"string",
"icq":"string",
"mobile":"string",
"mobile_operator":"string",
"skype_name":"string",
"city_id":0,
"location":{...}
"city_id":0,
"region_id":0,
"country_id":0,
"full_name":"string",
"short_name":"string",
"is_regional_center":false,
"city_size":0,
"fias_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"attributes":0,
"city_name":"string",
"region_name":"string",
"country_name":"string",
"country_code_name":"string"
}
},
"inn":"string"
}
}
4XX Ошибка запроса
Модель
{...}

Тело ответа при ошибке (HTTP 4xx): общий ключ и пояснение, плюс при необходимости список ошибок по отдельным полям запроса.

error: string (nullable)

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

reason: string (nullable)

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

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

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

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

delete /gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers/my
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers/my' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Успешное удаление
Модель
{...}
success: boolean

Признак успешного удаления

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

Тело ответа при ошибке (HTTP 4xx): общий ключ и пояснение, плюс при необходимости список ошибок по отдельным полям запроса.

error: string (nullable)

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

reason: string (nullable)

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

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

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

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

delete /gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers
Запрос
Модель
[uuid]

Список id встречных предложений, которые нужно удалить

Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '["c1a01f34-d39a-4fbc-b67d-065afce257e8"]'
Ответ
200 Статусы удаления по встречным предложениям
Модель
{...}
}
Пример
{...}
"any-key":{...}
"status":0,
"message":"string",
"error":"string",
"result":{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"string",
"cargo_firm_id":0,
"firm_id":0,
"added_at":"1970-01-01T00:00:00.000Z",
"updated_at":"1970-01-01T00:00:00.000Z",
"price":0.5,
"currency_id":0,
"nds_price":0.5,
"nds_currency_id":0,
"not_nds_price":0.5,
"not_nds_currency_id":0,
"counter_offer_source":0,
"note":"string",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"1970-01-01T00:00:00.000Z",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":0.5,
"status":0,
"full_firm_name":"string",
"contact":{...},
"id":0,
"name":"string",
"telephone":"string",
"email":"string",
"icq":"string",
"mobile":"string",
"mobile_operator":"string",
"skype_name":"string",
"city_id":0,
"location":{...}
"city_id":0,
"region_id":0,
"country_id":0,
"full_name":"string",
"short_name":"string",
"is_regional_center":false,
"city_size":0,
"fias_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"attributes":0,
"city_name":"string",
"region_name":"string",
"country_name":"string",
"country_code_name":"string"
}
},
"inn":"string"
}
}
}
}
4XX Ошибка запроса
Модель
{...}

Тело ответа при ошибке (HTTP 4xx): общий ключ и пояснение, плюс при необходимости список ошибок по отдельным полям запроса.

error: string (nullable)

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

reason: string (nullable)

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

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

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

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

get /gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Список встречных предложений
Модель
[{...}]
id: uuid

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

cargo_id: uuid

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

cargo_number: string

Номер груза

cargo_firm_id: int32

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

firm_id: int32 (nullable)

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

added_at: date-time

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

updated_at: date-time

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

price: decimal

Предложенная ставка встречного предложения не б/нал. Значение больше 0 и содержит не более 10 символов.

currency_id: int32

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

nds_price: decimal

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

nds_currency_id: int32

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

not_nds_price: decimal

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

not_nds_currency_id: int32

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

counter_offer_source: int32

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

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

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

pay_attributes: int32

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

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

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

pay_after_max_bank_days: int32

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

loading_date: date-time (nullable)

Дата, когда предложивший хочет перевезти ваш груз

is_outdated: boolean

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

is_cargo_published: boolean

Относится ли встречное предложение к публикующемуся грузу. Только для чтения.

}]
Пример
[...]
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"string",
"cargo_firm_id":0,
"firm_id":0,
"added_at":"1970-01-01T00:00:00.000Z",
"updated_at":"1970-01-01T00:00:00.000Z",
"price":0.5,
"currency_id":0,
"nds_price":0.5,
"nds_currency_id":0,
"not_nds_price":0.5,
"not_nds_currency_id":0,
"counter_offer_source":0,
"note":"string",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"1970-01-01T00:00:00.000Z",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":0.5,
"status":0,
"full_firm_name":"string",
"contact":{...},
"id":0,
"name":"string",
"telephone":"string",
"email":"string",
"icq":"string",
"mobile":"string",
"mobile_operator":"string",
"skype_name":"string",
"city_id":0,
"location":{...}
"city_id":0,
"region_id":0,
"country_id":0,
"full_name":"string",
"short_name":"string",
"is_regional_center":false,
"city_size":0,
"fias_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"attributes":0,
"city_name":"string",
"region_name":"string",
"country_name":"string",
"country_code_name":"string"
}
},
"inn":"string"
}
}
]
4XX Ошибка запроса
Модель
{...}

Тело ответа при ошибке (HTTP 4xx): общий ключ и пояснение, плюс при необходимости список ошибок по отдельным полям запроса.

error: string (nullable)

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

reason: string (nullable)

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

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

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

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

get /gw/cargo-counter-offers-api/integrator/v1/cargos/counter-offers
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/counter-offers' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Список встречных предложений
Модель
[{...}]
id: uuid

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

cargo_id: uuid

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

cargo_number: string

Номер груза

cargo_firm_id: int32

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

firm_id: int32 (nullable)

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

added_at: date-time

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

updated_at: date-time

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

price: decimal

Предложенная ставка встречного предложения не б/нал. Значение больше 0 и содержит не более 10 символов.

currency_id: int32

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

nds_price: decimal

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

nds_currency_id: int32

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

not_nds_price: decimal

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

not_nds_currency_id: int32

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

counter_offer_source: int32

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

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

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

pay_attributes: int32

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

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

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

pay_after_max_bank_days: int32

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

loading_date: date-time (nullable)

Дата, когда предложивший хочет перевезти ваш груз

is_outdated: boolean

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

is_cargo_published: boolean

Относится ли встречное предложение к публикующемуся грузу. Только для чтения.

}]
Пример
[...]
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"string",
"cargo_firm_id":0,
"firm_id":0,
"added_at":"1970-01-01T00:00:00.000Z",
"updated_at":"1970-01-01T00:00:00.000Z",
"price":0.5,
"currency_id":0,
"nds_price":0.5,
"nds_currency_id":0,
"not_nds_price":0.5,
"not_nds_currency_id":0,
"counter_offer_source":0,
"note":"string",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"1970-01-01T00:00:00.000Z",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":0.5,
"status":0,
"full_firm_name":"string",
"contact":{...},
"id":0,
"name":"string",
"telephone":"string",
"email":"string",
"icq":"string",
"mobile":"string",
"mobile_operator":"string",
"skype_name":"string",
"city_id":0,
"location":{...}
"city_id":0,
"region_id":0,
"country_id":0,
"full_name":"string",
"short_name":"string",
"is_regional_center":false,
"city_size":0,
"fias_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"attributes":0,
"city_name":"string",
"region_name":"string",
"country_name":"string",
"country_code_name":"string"
}
},
"inn":"string"
}
}
]
4XX Ошибка запроса
Модель
{...}

Тело ответа при ошибке (HTTP 4xx): общий ключ и пояснение, плюс при необходимости список ошибок по отдельным полям запроса.

error: string (nullable)

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

reason: string (nullable)

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

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

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

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

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

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

get /gw/cargo-counter-offers-api/integrator/v1/cargos/counter-offers/by-cargo-ids
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/counter-offers/by-cargo-ids' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Словарь встречных предложений по грузам
Модель
{...}
}
Пример
{...}
"any-key":{...}
"status":0,
"message":"string",
"error":"string",
"result":[...]
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"string",
"cargo_firm_id":0,
"firm_id":0,
"added_at":"1970-01-01T00:00:00.000Z",
"updated_at":"1970-01-01T00:00:00.000Z",
"price":0.5,
"currency_id":0,
"nds_price":0.5,
"nds_currency_id":0,
"not_nds_price":0.5,
"not_nds_currency_id":0,
"counter_offer_source":0,
"note":"string",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"1970-01-01T00:00:00.000Z",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":0.5,
"status":0,
"full_firm_name":"string",
"contact":{...},
"id":0,
"name":"string",
"telephone":"string",
"email":"string",
"icq":"string",
"mobile":"string",
"mobile_operator":"string",
"skype_name":"string",
"city_id":0,
"location":{...}
"city_id":0,
"region_id":0,
"country_id":0,
"full_name":"string",
"short_name":"string",
"is_regional_center":false,
"city_size":0,
"fias_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"attributes":0,
"city_name":"string",
"region_name":"string",
"country_name":"string",
"country_code_name":"string"
}
},
"inn":"string"
}
}
]
}
}
4XX Ошибка запроса
Модель
{...}

Тело ответа при ошибке (HTTP 4xx): общий ключ и пояснение, плюс при необходимости список ошибок по отдельным полям запроса.

error: string (nullable)

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

reason: string (nullable)

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

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

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

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

get /gw/cargo-counter-offers-api/integrator/v1/cargos/counter-offers/statuses
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/counter-offers/statuses' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Список статусов
Модель
[{...}]
cargo_id: uuid

Id груза

has_active: boolean

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

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

Тело ответа при ошибке (HTTP 4xx): общий ключ и пояснение, плюс при необходимости список ошибок по отдельным полям запроса.

error: string (nullable)

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

reason: string (nullable)

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

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

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

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

get /gw/cargo-counter-offers-api/integrator/v1/cargos/counter-offers/{id}
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/counter-offers/{id}' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Встречное предложение
Модель
{...}
id: uuid

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

cargo_id: uuid

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

cargo_number: string

Номер груза

cargo_firm_id: int32

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

firm_id: int32 (nullable)

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

added_at: date-time

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

updated_at: date-time

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

price: decimal

Предложенная ставка встречного предложения не б/нал. Значение больше 0 и содержит не более 10 символов.

currency_id: int32

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

nds_price: decimal

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

nds_currency_id: int32

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

not_nds_price: decimal

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

not_nds_currency_id: int32

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

counter_offer_source: int32

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

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

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

pay_attributes: int32

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

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

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

pay_after_max_bank_days: int32

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

loading_date: date-time (nullable)

Дата, когда предложивший хочет перевезти ваш груз

is_outdated: boolean

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

is_cargo_published: boolean

Относится ли встречное предложение к публикующемуся грузу. Только для чтения.

}
Пример
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"string",
"cargo_firm_id":0,
"firm_id":0,
"added_at":"1970-01-01T00:00:00.000Z",
"updated_at":"1970-01-01T00:00:00.000Z",
"price":0.5,
"currency_id":0,
"nds_price":0.5,
"nds_currency_id":0,
"not_nds_price":0.5,
"not_nds_currency_id":0,
"counter_offer_source":0,
"note":"string",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"1970-01-01T00:00:00.000Z",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":0.5,
"status":0,
"full_firm_name":"string",
"contact":{...},
"id":0,
"name":"string",
"telephone":"string",
"email":"string",
"icq":"string",
"mobile":"string",
"mobile_operator":"string",
"skype_name":"string",
"city_id":0,
"location":{...}
"city_id":0,
"region_id":0,
"country_id":0,
"full_name":"string",
"short_name":"string",
"is_regional_center":false,
"city_size":0,
"fias_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"attributes":0,
"city_name":"string",
"region_name":"string",
"country_name":"string",
"country_code_name":"string"
}
},
"inn":"string"
}
}
4XX Ошибка запроса
Модель
{...}

Тело ответа при ошибке (HTTP 4xx): общий ключ и пояснение, плюс при необходимости список ошибок по отдельным полям запроса.

error: string (nullable)

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

reason: string (nullable)

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

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

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

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

get /gw/cargo-counter-offers-api/integrator/v1/cargos/unpublished/counter-offers
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/unpublished/counter-offers' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Список встречных предложений
Модель
[{...}]
id: uuid

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

cargo_id: uuid

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

cargo_number: string

Номер груза

cargo_firm_id: int32

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

firm_id: int32 (nullable)

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

added_at: date-time

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

updated_at: date-time

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

price: decimal

Предложенная ставка встречного предложения не б/нал. Значение больше 0 и содержит не более 10 символов.

currency_id: int32

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

nds_price: decimal

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

nds_currency_id: int32

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

not_nds_price: decimal

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

not_nds_currency_id: int32

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

counter_offer_source: int32

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

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

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

pay_attributes: int32

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

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

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

pay_after_max_bank_days: int32

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

loading_date: date-time (nullable)

Дата, когда предложивший хочет перевезти ваш груз

is_outdated: boolean

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

is_cargo_published: boolean

Относится ли встречное предложение к публикующемуся грузу. Только для чтения.

}]
Пример
[...]
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"string",
"cargo_firm_id":0,
"firm_id":0,
"added_at":"1970-01-01T00:00:00.000Z",
"updated_at":"1970-01-01T00:00:00.000Z",
"price":0.5,
"currency_id":0,
"nds_price":0.5,
"nds_currency_id":0,
"not_nds_price":0.5,
"not_nds_currency_id":0,
"counter_offer_source":0,
"note":"string",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"1970-01-01T00:00:00.000Z",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":0.5,
"status":0,
"full_firm_name":"string",
"contact":{...},
"id":0,
"name":"string",
"telephone":"string",
"email":"string",
"icq":"string",
"mobile":"string",
"mobile_operator":"string",
"skype_name":"string",
"city_id":0,
"location":{...}
"city_id":0,
"region_id":0,
"country_id":0,
"full_name":"string",
"short_name":"string",
"is_regional_center":false,
"city_size":0,
"fias_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"attributes":0,
"city_name":"string",
"region_name":"string",
"country_name":"string",
"country_code_name":"string"
}
},
"inn":"string"
}
}
]
4XX Ошибка запроса
Модель
{...}

Тело ответа при ошибке (HTTP 4xx): общий ключ и пояснение, плюс при необходимости список ошибок по отдельным полям запроса.

error: string (nullable)

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

reason: string (nullable)

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

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

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

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

get /gw/cargo-counter-offers-api/integrator/v1/cargos/unpublished/{cargoId}/counter-offers
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/unpublished/{cargoId}/counter-offers' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Список встречных предложений
Модель
[{...}]
id: uuid

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

cargo_id: uuid

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

cargo_number: string

Номер груза

cargo_firm_id: int32

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

firm_id: int32 (nullable)

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

added_at: date-time

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

updated_at: date-time

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

price: decimal

Предложенная ставка встречного предложения не б/нал. Значение больше 0 и содержит не более 10 символов.

currency_id: int32

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

nds_price: decimal

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

nds_currency_id: int32

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

not_nds_price: decimal

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

not_nds_currency_id: int32

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

counter_offer_source: int32

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

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

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

pay_attributes: int32

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

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

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

pay_after_max_bank_days: int32

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

loading_date: date-time (nullable)

Дата, когда предложивший хочет перевезти ваш груз

is_outdated: boolean

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

is_cargo_published: boolean

Относится ли встречное предложение к публикующемуся грузу. Только для чтения.

}]
Пример
[...]
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"string",
"cargo_firm_id":0,
"firm_id":0,
"added_at":"1970-01-01T00:00:00.000Z",
"updated_at":"1970-01-01T00:00:00.000Z",
"price":0.5,
"currency_id":0,
"nds_price":0.5,
"nds_currency_id":0,
"not_nds_price":0.5,
"not_nds_currency_id":0,
"counter_offer_source":0,
"note":"string",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"1970-01-01T00:00:00.000Z",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":0.5,
"status":0,
"full_firm_name":"string",
"contact":{...},
"id":0,
"name":"string",
"telephone":"string",
"email":"string",
"icq":"string",
"mobile":"string",
"mobile_operator":"string",
"skype_name":"string",
"city_id":0,
"location":{...}
"city_id":0,
"region_id":0,
"country_id":0,
"full_name":"string",
"short_name":"string",
"is_regional_center":false,
"city_size":0,
"fias_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"attributes":0,
"city_name":"string",
"region_name":"string",
"country_name":"string",
"country_code_name":"string"
}
},
"inn":"string"
}
}
]
4XX Ошибка запроса
Модель
{...}

Тело ответа при ошибке (HTTP 4xx): общий ключ и пояснение, плюс при необходимости список ошибок по отдельным полям запроса.

error: string (nullable)

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

reason: string (nullable)

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

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

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

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

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

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

get /gw/cargo-counter-offers-api/integrator/v1/cargos/unpublished/counter-offers/by-cargo-ids
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/unpublished/counter-offers/by-cargo-ids' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Словарь встречных предложений по грузам
Модель
{...}
}
Пример
{...}
"any-key":{...}
"status":0,
"message":"string",
"error":"string",
"result":[...]
{...}
"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cargo_number":"string",
"cargo_firm_id":0,
"firm_id":0,
"added_at":"1970-01-01T00:00:00.000Z",
"updated_at":"1970-01-01T00:00:00.000Z",
"price":0.5,
"currency_id":0,
"nds_price":0.5,
"nds_currency_id":0,
"not_nds_price":0.5,
"not_nds_currency_id":0,
"counter_offer_source":0,
"note":"string",
"pay_attributes":0,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"1970-01-01T00:00:00.000Z",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":0.5,
"status":0,
"full_firm_name":"string",
"contact":{...},
"id":0,
"name":"string",
"telephone":"string",
"email":"string",
"icq":"string",
"mobile":"string",
"mobile_operator":"string",
"skype_name":"string",
"city_id":0,
"location":{...}
"city_id":0,
"region_id":0,
"country_id":0,
"full_name":"string",
"short_name":"string",
"is_regional_center":false,
"city_size":0,
"fias_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"attributes":0,
"city_name":"string",
"region_name":"string",
"country_name":"string",
"country_code_name":"string"
}
},
"inn":"string"
}
}
]
}
}
4XX Ошибка запроса
Модель
{...}

Тело ответа при ошибке (HTTP 4xx): общий ключ и пояснение, плюс при необходимости список ошибок по отдельным полям запроса.

error: string (nullable)

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

reason: string (nullable)

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

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

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

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

delete /gw/cargo-counter-offers-api/integrator/v1/cargos/unpublished/{cargoId}/counter-offers
Запрос
Пример запроса
curl 'https://api.ati.su/gw/cargo-counter-offers-api/integrator/v1/cargos/unpublished/{cargoId}/counter-offers' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Статусы удаления по встречным предложениям
Модель
{...}
}
Пример
{...}
"c1a01f34-d39a-4fbc-b67d-065afce257e8":{...}
"status":0,
"message":null,
"error":null,
"result":{...}
"id":"c1a01f34-d39a-4fbc-b67d-065afce257e8",
"cargo_id":"b7e02d91-4f6c-4a9e-9d31-2c8b5f4e1a00",
"cargo_number":"ГР-102938",
"cargo_firm_id":123456,
"firm_id":654321,
"added_at":"2026-05-04T10:15:30.000Z",
"updated_at":"2026-05-04T12:00:00.000Z",
"price":45000,
"currency_id":2,
"nds_price":42000,
"nds_currency_id":2,
"not_nds_price":38000,
"not_nds_currency_id":2,
"counter_offer_source":2,
"note":null,
"pay_attributes":10,
"prepay_percent":0,
"pay_after_max_bank_days":0,
"loading_date":"2026-05-06T08:00:00.000Z",
"is_outdated":false,
"is_cargo_published":false,
"firm_info":{...}
"total_score":4.7,
"status":1,
"full_firm_name":"ООО «Пример Транспорт»",
"contact":{...},
"id":42,
"name":"Иван Петров",
"telephone":"+74951234567",
"email":"contact@example.ru",
"icq":null,
"mobile":null,
"mobile_operator":null,
"skype_name":null,
"city_id":1,
"location":{...}
"city_id":1
}
},
"inn":"7707083893"
}
}
}
}
4XX Ошибка запроса
Модель
{...}

Тело ответа при ошибке (HTTP 4xx): общий ключ и пояснение, плюс при необходимости список ошибок по отдельным полям запроса.

error: string (nullable)

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

reason: string (nullable)

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

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

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

Получение встречных предложений на грузы фирмы с одной или несколькими ставками .
get /v1.0/loads/new/responses
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/loads/new/responses' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Массив отзывов на все грузы фирмы
Модель
[{...}]
ResponseId: guid

Id отзыва

LoadId: guid

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

LoadNumber: string

Номер груза

LoadFirmId: int32

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

FirmId: int32

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

FirmName: string

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

ContactId: int32

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

AddedAt: date-time

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

UpdatedAt: date-time

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

Price: decimal

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

CurrencyId: int32

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

NdsPrice: decimal

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

NdsCurrencyId: int32

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

NotNdsPrice: decimal

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

NotNdsCurrencyId: int32

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

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

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

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

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

PayAttributes: int32

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

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

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

PayAfterMaxBankDays: int32

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

LoadingDate: date-time (nullable)

Дата, когда предложивший хочет перевезти ваш груз

IsOutdated: boolean

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

IsLoadPublished: boolean

Относится ли отзыв к публикующемуся грузу

IsNoLoad: boolean

Параметр "Груза нет"

AnnouncedCurrencyId: int32

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

AnnouncedRate: int32

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

}]
Пример
[...]
{...}
"ResponseId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadNumber":"string",
"LoadFirmId":0,
"FirmId":0,
"FirmName":"string",
"ContactId":0,
"AddedAt":"1970-01-01T00:00:00.000Z",
"UpdatedAt":"1970-01-01T00:00:00.000Z",
"Price":0.5,
"CurrencyId":0,
"NdsPrice":0.5,
"NdsCurrencyId":0,
"NotNdsPrice":0.5,
"NotNdsCurrencyId":0,
"CounterOfferSource":0,
"Note":"string",
"PayAttributes":0,
"PrepayPercent":0,
"PayAfterMaxBankDays":0,
"LoadingDate":"1970-01-01T00:00:00.000Z",
"IsOutdated":false,
"IsLoadPublished":false,
"IsNoLoad":false,
"AnnouncedCurrencyId":0,
"AnnouncedRate":0,
"FirmInfo":{...}
"TotalScore":0.5,
"Status":0,
"FullFirmName":"string",
"Contact":{...},
"Id":0,
"Name":"string",
"Telephone":"string",
"Email":"string",
"Icq":"string",
"Mobile":"string",
"MobileOperator":"string",
"SkypeName":"string",
"CityId":0,
"Location":{...}
"CityId":0,
"RegionId":0,
"CountryId":0,
"FullName":"string",
"ShortName":"string",
"IsRegionalCenter":false,
"CitySize":0,
"FiasId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"CityName":"string",
"RegionName":"string",
"CountryName":"string",
"CountryCodeName":"string"
}
},
"Inn":"string"
}
}
]
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
Модель
{...}

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

Reason: string

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

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"string",
"Error":"string"
}

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

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

Получение отзывов на конкретный груз фирмы. На данный момент можно получить только встречные предложения.
get /v1.0/loads/new/{loadId}/responses
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/loads/new/{loadId}/responses' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Массив отзывов
Модель
[{...}]
ResponseId: guid

Id отзыва

LoadId: guid

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

LoadNumber: string

Номер груза

LoadFirmId: int32

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

FirmId: int32

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

FirmName: string

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

ContactId: int32

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

AddedAt: date-time

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

UpdatedAt: date-time

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

Price: decimal

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

CurrencyId: int32

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

NdsPrice: decimal

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

NdsCurrencyId: int32

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

NotNdsPrice: decimal

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

NotNdsCurrencyId: int32

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

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

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

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

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

PayAttributes: int32

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

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

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

PayAfterMaxBankDays: int32

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

LoadingDate: date-time (nullable)

Дата, когда предложивший хочет перевезти ваш груз

IsOutdated: boolean

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

IsLoadPublished: boolean

Относится ли отзыв к публикующемуся грузу

IsNoLoad: boolean

Параметр "Груза нет"

AnnouncedCurrencyId: int32

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

AnnouncedRate: int32

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

}]
Пример
[...]
{...}
"ResponseId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadNumber":"string",
"LoadFirmId":0,
"FirmId":0,
"FirmName":"string",
"ContactId":0,
"AddedAt":"1970-01-01T00:00:00.000Z",
"UpdatedAt":"1970-01-01T00:00:00.000Z",
"Price":0.5,
"CurrencyId":0,
"NdsPrice":0.5,
"NdsCurrencyId":0,
"NotNdsPrice":0.5,
"NotNdsCurrencyId":0,
"CounterOfferSource":0,
"Note":"string",
"PayAttributes":0,
"PrepayPercent":0,
"PayAfterMaxBankDays":0,
"LoadingDate":"1970-01-01T00:00:00.000Z",
"IsOutdated":false,
"IsLoadPublished":false,
"IsNoLoad":false,
"AnnouncedCurrencyId":0,
"AnnouncedRate":0,
"FirmInfo":{...}
"TotalScore":0.5,
"Status":0,
"FullFirmName":"string",
"Contact":{...},
"Id":0,
"Name":"string",
"Telephone":"string",
"Email":"string",
"Icq":"string",
"Mobile":"string",
"MobileOperator":"string",
"SkypeName":"string",
"CityId":0,
"Location":{...}
"CityId":0,
"RegionId":0,
"CountryId":0,
"FullName":"string",
"ShortName":"string",
"IsRegionalCenter":false,
"CitySize":0,
"FiasId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"CityName":"string",
"RegionName":"string",
"CountryName":"string",
"CountryCodeName":"string"
}
},
"Inn":"string"
}
}
]
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
Модель
{...}

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

Reason: string

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

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"string",
"Error":"string"
}

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

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

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

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

Получение отзывов на заданные грузы фирмы в виде словаря. На данный момент можно получить только встречные предложения.
get /v1.0/loads/new/responses/by-ids
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/loads/new/responses/by-ids' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Массив отзывов по заданным грузам в виде словаря
Модель
{...}
}
Пример
{...}
"any-key":{...}
"Status":0,
"Message":"string",
"Result":[...],
{...}
"ResponseId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadNumber":"string",
"LoadFirmId":0,
"FirmId":0,
"FirmName":"string",
"ContactId":0,
"AddedAt":"1970-01-01T00:00:00.000Z",
"UpdatedAt":"1970-01-01T00:00:00.000Z",
"Price":0.5,
"CurrencyId":0,
"NdsPrice":0.5,
"NdsCurrencyId":0,
"NotNdsPrice":0.5,
"NotNdsCurrencyId":0,
"CounterOfferSource":0,
"Note":"string",
"PayAttributes":0,
"PrepayPercent":0,
"PayAfterMaxBankDays":0,
"LoadingDate":"1970-01-01T00:00:00.000Z",
"IsOutdated":false,
"IsLoadPublished":false,
"IsNoLoad":false,
"AnnouncedCurrencyId":0,
"AnnouncedRate":0,
"FirmInfo":{...}
"TotalScore":0.5,
"Status":0,
"FullFirmName":"string",
"Contact":{...},
"Id":0,
"Name":"string",
"Telephone":"string",
"Email":"string",
"Icq":"string",
"Mobile":"string",
"MobileOperator":"string",
"SkypeName":"string",
"CityId":0,
"Location":{...}
"CityId":0,
"RegionId":0,
"CountryId":0,
"FullName":"string",
"ShortName":"string",
"IsRegionalCenter":false,
"CitySize":0,
"FiasId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"CityName":"string",
"RegionName":"string",
"CountryName":"string",
"CountryCodeName":"string"
}
},
"Inn":"string"
}
}
],
"Error":"string",
"Reason":"string"
}
}
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
Модель
{...}

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

Reason: string

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

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"string",
"Error":"string"
}

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

Добавление либо редактирование отзыва на чужой груз.
put /v1.0/loads/new/{loadId}/responses
Запрос
Модель
{...}
ResponseId: guid

Id отзыва
Только для чтения

LoadId: guid

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

LoadNumber: string

Номер груза
Только для чтения

LoadFirmId: int32

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

FirmId: int32

Id фирмы, которая оставила отзыв
Только для чтения

ContactId: int32

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

AddedAt: date-time

Дата добавления отзыва
Только для чтения

UpdatedAt: date-time

Дата изменения отзыва
Только для чтения

Price: decimal

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

CurrencyId: int32

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

NdsPrice: decimal

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

NdsCurrencyId: int32

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

NotNdsPrice: decimal

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

NotNdsCurrencyId: int32

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

Note: string

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

PayAttributes: int32

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

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

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

PayAfterMaxBankDays: int32

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

LoadingDate: date-time (nullable)

Дата, когда предложивший хочет перевезти ваш груз

IsOutdated: boolean

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

IsLoadPublished: boolean

Относится ли отзыв к публикующемуся грузу
Только для чтения

IsNoLoad: boolean

Параметр "Груза нет"

AnnouncedCurrencyId: int32

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

AnnouncedRate: int32

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

}
Пример запроса
curl 'https://api.ati.su/v1.0/loads/new/{loadId}/responses' \
-X 'PUT' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"ResponseId":"3fa85f64-5717-4562-b3fc-2c963f66afa6","LoadId":"3fa85f64-5717-4562-b3fc-2c963f66afa6","LoadNumber":"string","LoadFirmId":0,"FirmId":0,"ContactId":0,"AddedAt":"1970-01-01T00:00:00.000Z","UpdatedAt":"1970-01-01T00:00:00.000Z","Price":0.5,"CurrencyId":0,"NdsPrice":0.5,"NdsCurrencyId":0,"NotNdsPrice":0.5,"NotNdsCurrencyId":0,"Note":"string","PayAttributes":0,"PrepayPercent":0,"PayAfterMaxBankDays":0,"LoadingDate":"1970-01-01T00:00:00.000Z","IsOutdated":false,"IsLoadPublished":false,"IsNoLoad":false,"AnnouncedCurrencyId":0,"AnnouncedRate":0}'
Ответ
200 Отзыв на груз
Модель
{...}
ResponseId: guid

Id отзыва

LoadId: guid

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

LoadNumber: string

Номер груза

LoadFirmId: int32

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

FirmId: int32

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

FirmName: string

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

ContactId: int32

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

AddedAt: date-time

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

UpdatedAt: date-time

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

Price: decimal

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

CurrencyId: int32

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

NdsPrice: decimal

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

NdsCurrencyId: int32

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

NotNdsPrice: decimal

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

NotNdsCurrencyId: int32

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

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

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

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

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

PayAttributes: int32

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

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

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

PayAfterMaxBankDays: int32

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

LoadingDate: date-time (nullable)

Дата, когда предложивший хочет перевезти ваш груз

IsOutdated: boolean

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

IsLoadPublished: boolean

Относится ли отзыв к публикующемуся грузу

IsNoLoad: boolean

Параметр "Груза нет"

AnnouncedCurrencyId: int32

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

AnnouncedRate: int32

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

}
Пример
{...}
"ResponseId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadNumber":"string",
"LoadFirmId":0,
"FirmId":0,
"FirmName":"string",
"ContactId":0,
"AddedAt":"1970-01-01T00:00:00.000Z",
"UpdatedAt":"1970-01-01T00:00:00.000Z",
"Price":0.5,
"CurrencyId":0,
"NdsPrice":0.5,
"NdsCurrencyId":0,
"NotNdsPrice":0.5,
"NotNdsCurrencyId":0,
"CounterOfferSource":0,
"Note":"string",
"PayAttributes":0,
"PrepayPercent":0,
"PayAfterMaxBankDays":0,
"LoadingDate":"1970-01-01T00:00:00.000Z",
"IsOutdated":false,
"IsLoadPublished":false,
"IsNoLoad":false,
"AnnouncedCurrencyId":0,
"AnnouncedRate":0,
"FirmInfo":{...}
"TotalScore":0.5,
"Status":0,
"FullFirmName":"string",
"Contact":{...},
"Id":0,
"Name":"string",
"Telephone":"string",
"Email":"string",
"Icq":"string",
"Mobile":"string",
"MobileOperator":"string",
"SkypeName":"string",
"CityId":0,
"Location":{...}
"CityId":0,
"RegionId":0,
"CountryId":0,
"FullName":"string",
"ShortName":"string",
"IsRegionalCenter":false,
"CitySize":0,
"FiasId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"CityName":"string",
"RegionName":"string",
"CountryName":"string",
"CountryCodeName":"string"
}
},
"Inn":"string"
}
}
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
Модель
{...}

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

Reason: string

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

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"string",
"Error":"string"
}

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

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

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

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

Reason: string

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

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"string",
"Error":"string"
}

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

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

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

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

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

ContactId2: int32 (nullable)

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

Note: string

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

FirstDate: date-time

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

LastDate: date-time

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

DateType: int32

Выбор типа готовности груза к перевозке

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

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

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

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

Krugoreis: boolean

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

UnloadFirstDate: date-time (nullable)

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

UnloadLastDate: date-time (nullable)

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

ArchiveDate: date-time (nullable)

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

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

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

TruePrice: int32

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

TrueCurrencyId: int32

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

ResponseCount: int32

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

OfferCount: int32

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

CanBeDeleted: boolean

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

HasPermissionsToLoad: boolean

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

CanBeEdited: boolean

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

CanBeRenewed: boolean

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

CanBeRestored: boolean

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

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

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

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

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

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

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

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

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

Id: guid

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

LoadNumber: string

Номер груза

RefreshedAt: date-time

Дата последнего обновления груза в формате UTC (поднятие груза в поисковой выдаче)

UpdatedAt: date-time

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

AddedAt: date-time

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

Distance: int32

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

PlatonRoadsLength: int32

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

TollRoadsLength: int32

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

TravelTime: time-span

Время в пути

Zimnik: boolean

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

Ferries: boolean

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

FirmId: string

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

AuctionId: guid (nullable)

Id аукциона

}]
Пример
[...]
{...}
"LoadMeta":{...},
"LoadMetaId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"MetaData":"string"
},
"ContactId1":0,
"ContactId2":0,
"Note":"string",
"FirstDate":"1970-01-01T00:00:00.000Z",
"LastDate":"1970-01-01T00:00:00.000Z",
"DateType":0,
"PeriodicityId":0,
"OrderNumber":"string",
"Krugoreis":false,
"Loading":{...},
"CityId":0,
"Latitude":0.5,
"Longitude":0.5,
"Street":"string",
"TimeStart":"1970-01-01T00:00:00.000Z",
"TimeEnd":"1970-01-01T00:00:00.000Z",
"IsRoundTheClock":false,
"LargeCities":[...],
0
],
"LoadingCargos":[...]
{...}
"CargoId":0,
"NameId":0,
"Name":"string",
"PackagingType":0,
"PackagingQuantity":0,
"Weight":0.5,
"Volume":0.5,
"Sizes":{...}
"Length":0.5,
"Width":0.5,
"Height":0.5,
"Diameter":0.5,
"LengthHighlight":false,
"WidthHighlight":false,
"HeightHighlight":false
}
}
]
},
"ExtraPoints":[...],
{...}
"CityId":0,
"PointType":0,
"Latitude":0.5,
"Longitude":0.5,
"Street":"string",
"OrdinalId":0,
"IsRoundTheClock":false,
"LoadingDateStart":"1970-01-01T00:00:00.000Z",
"LoadingDateEnd":"1970-01-01T00:00:00.000Z",
"LoadingTimeStart":null,
"LoadingTimeEnd":null,
"LoadingCargos":[...],
{...}
"CargoId":0,
"NameId":0,
"Name":"string",
"PackagingType":0,
"PackagingQuantity":0,
"Weight":0.5,
"Volume":0.5,
"Sizes":{...}
"Length":0.5,
"Width":0.5,
"Height":0.5,
"Diameter":0.5,
"LengthHighlight":false,
"WidthHighlight":false,
"HeightHighlight":false
}
}
],
"UnloadingCargos":[...]
{...}
"CargoId":0,
"Weight":0.5,
"Volume":0.5,
"PackagingQuantity":0,
"IsDefinedByTtn":false
}
]
}
],
"Unloading":{...},
"CityId":0,
"Latitude":0.5,
"Longitude":0.5,
"Street":"string",
"TimeStart":"1970-01-01T00:00:00.000Z",
"TimeEnd":"1970-01-01T00:00:00.000Z",
"IsRoundTheClock":false,
"LargeCities":[...],
0
],
"LoadingCargos":[...]
{...}
"CargoId":0,
"NameId":0,
"Name":"string",
"PackagingType":0,
"PackagingQuantity":0,
"Weight":0.5,
"Volume":0.5,
"Sizes":{...}
"Length":0.5,
"Width":0.5,
"Height":0.5,
"Diameter":0.5,
"LengthHighlight":false,
"WidthHighlight":false,
"HeightHighlight":false
}
}
]
},
"Cargo":{...},
"Weight":0.5,
"Volume":0.5,
"ADR":0,
"CargoTypeId":0,
"CargoType":"string",
"PackType":0,
"PalletCount":0,
"BeltCount":0,
"DogruzType":0,
"SborGruz":false,
"Size":{...}
"Length":0.5,
"Width":0.5,
"Height":0.5,
"Diameter":0.5,
"LengthHighlight":false,
"WidthHighlight":false,
"HeightHighlight":false
}
},
"Transport":{...},
"CarType":0,
"LoadingType":0,
"LoadingLogicalOperator":"string",
"UnloadingType":0,
"UnloadingLogicalOperator":"string",
"TrucksQuantity":0,
"TemperatureFrom":0,
"TemperatureTo":0,
"Stsepka":false,
"Pnevmohod":false,
"Koniki":false,
"TIR":false,
"CMR":false,
"T1":false,
"SanPassport":false,
"IsTracking":false
},
"Payment":{...},
"CurrencyId":0,
"MoneyType":0,
"RateSum":0.5,
"SumWithNDS":0.5,
"SumWithoutNDS":0.5,
"PrepayPercent":0,
"PrepayPercentEnabled":false,
"PayDays":0,
"PayDaysEnabled":false,
"FixedRate":false,
"Torg":false,
"DirectContract":false,
"InFuel":false,
"OnUnloading":false,
"HideResponses":false,
"AcceptPaymentTypes":0
},
"InviteSettings":{...},
"InviteDelayInSeconds":0,
"InviteDurationInSeconds":0
},
"PriorityView":{...},
"DailyLimit":0.5,
"IsForPayedOnly":false,
"OrderLimit":0.5,
"ViewRate":0.5,
"MoneySpentPerDay":0.5,
"MoneySpentPerOrder":0.5
},
"Stealth":{...},
"ListIdToHide":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"FirmRegDateToHide":"1970-01-01T00:00:00.000Z",
"ScoreToHide":0.5
},
"LoadFiles":[...],
{...}
"Id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"FileType":0,
"Attributes":0,
"Name":"string",
"Link":"string",
"Size":0
}
],
"Deal":{...},
"Auction":{...}
"StartRate":0.5,
"Currency":0,
"Step":0.5,
"PaymentType":0,
"AcceptSecondPayType":false,
"StartDate":"1970-01-01T00:00:00.000Z",
"EndDate":"1970-01-01T00:00:00.000Z",
"EndDateBoundary":"1970-01-01T00:00:00.000Z",
"Nds":0.5,
"TimeToProvideDocuments":0.5,
"AutoRenew":false,
"RenewTime":0,
"MaxRenewTime":0,
"RaiseBid":false,
"MaxRate":0.5,
"RaiseBidInterval":0,
"ResponseInMinutes":0,
"Duration":0,
"StartSinceFirstBet":false,
"AuctionRestartParameters":{...},
"AuctionFinishAction":0,
"InitRestartCount":0,
"InitChangeWinnerCount":0,
"DurationAfterRestart":0
},
"AcceptCounterOffersOnlyBeforeFirstBet":false,
"WinnerCriterion":0,
"AuctionId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ActiveDealId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"State":0,
"Finished":false,
"WinDate":"1970-01-01T00:00:00.000Z",
"AuctionRates":[...]
{...}
"AuctionRateId":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"AddedAt":"1970-01-01T00:00:00.000Z",
"RateFirm":{...},
"Score":0.5,
"Status":0,
"Name":"string",
"ContactName":"string",
"AtiId":"string"
},
"Rate":0.5,
"State":0,
"LoadingDate":"1970-01-01T00:00:00.000Z",
"FirmId":0,
"ContactId":0
}
]
}
},
"Boards":[...],
{...}
"BoardId":"string",
"PublicationTime":"1970-01-01T00:00:00.000Z",
"IsReservationEnabled":false,
"PublicationOption":0,
"IsPublished":false,
"IsCommonBoard":false
}
],
"UnloadFirstDate":"1970-01-01T00:00:00.000Z",
"UnloadLastDate":"1970-01-01T00:00:00.000Z",
"ArchiveDate":"1970-01-01T00:00:00.000Z",
"ArchiveReason":"Unknown",
"TruePrice":0,
"TrueCurrencyId":0,
"ResponseCount":0,
"OfferCount":0,
"CanBeDeleted":false,
"HasPermissionsToLoad":false,
"CanBeEdited":false,
"CanBeRenewed":false,
"CanBeRestored":false,
"EditRestriction":0,
"DeleteRestriction":0,
"RestoreRestriction":0,
"RenewRestriction":"string",
"Id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"LoadNumber":"string",
"RefreshedAt":"1970-01-01T00:00:00.000Z",
"UpdatedAt":"1970-01-01T00:00:00.000Z",
"AddedAt":"1970-01-01T00:00:00.000Z",
"Distance":0,
"PlatonRoadsLength":0,
"TollRoadsLength":0,
"TravelTime":"?",
"Zimnik":false,
"Ferries":false,
"FirmId":"string",
"AuctionId":"3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
]
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)
Модель
{...}

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

Reason: string

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

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"string",
"Error":"string"
}

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

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

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

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

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

Позволяет создавать документ заданного типа в АТИ-Доках на груз с заданным id.
post /v1.0/loads/{loadId}/atidocs/{documentType}
Запрос
Пример запроса
curl 'https://api.ati.su/v1.0/loads/{loadId}/atidocs/{documentType}' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Статус
Модель
{...}
Id: string

Id документа

Url: string

Ссылка на документ

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

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

Reason: string

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

Error: string

Ключ ошибки

}
Пример
{...}
"Reason":"string",
"Error":"string"
}