Обезличенные сделки
API обезличенных сделок
Описание
API для отправки ваших сделок или запроса наших сделок в обезличенном виде. Через API мы не получаем информацию о вас и ваших контрагентах. Передаются общие данные по сделке и грузу.
Через API запроса сделок вы сможете получить завершенные сделки за определенный период, совершенные на сайте ATI.SU. Сделка считается завершённой, когда она уже совершена и одна из сторон её завершила на сайте. Это поможет вам сориентироваться по ценам и определить нагрузку определенных направлений.
Подробнее об обмене обезличенными сделками с ATI.SU
Доступ к API
Доступ предоставляется по запросу.
По вопросам обращайтесь к Александру Вильде.
Email: sas@ati.su
Телефон: + 7-812-602-01-04 доб.108
Методы
Демо режим
Для проверки корректности интеграции с данным API, можно указать необязательный параметр, позволяющий получить демо-данные:
demo- Флаг демо-режима (Boolean)
При указании этого параметра сервером будет возвращен тестовый набор данных с тем же контрактом ответа, что и в полноценном API.
Получение обезличенных сделок
Получение обезличенных сделок по заданным параметрам. Входные и выходные параметры представлены в схемах ниже.
Получить обезличенные сделки post /impersonaldeals/v1/get_deals
| Параметр | Тип | Расположение | Описание |
|---|---|---|---|
demo | boolean | query | Вернуть демонстрационные данные вместо реальных сделок (для тестового доступа). Пример: false |
Параметры для получения обезличенных сделок.
Начальная дата погрузки, в формате ISO-8601
Конечная дата погрузки, в формате ISO-8601
Гео-пункт загрузки. Обязателен хотя бы один из параметров: From или To.
Гео-точка ATI.SU
ID гео-пункта. Используется для города, региона или страны. Город — значение поля id в структуре city, регион — значение поля id в структуре region, страна — значение поля id в структуре country из словаря ATI.SU
Тип гео-пункта
0- страна1- регион2- город
Гео-пункт разгрузки. Обязателен хотя бы один из параметров: From или To.
Гео-точка ATI.SU
ID гео-пункта. Используется для города, региона или страны. Город — значение поля id в структуре city, регион — значение поля id в структуре region, страна — значение поля id в структуре country из словаря ATI.SU
Тип гео-пункта
0- страна1- регион2- город
Параметр, определяющий степень опасности груза.
Допустимое значение: Null, либо от 0 до 9.
Вес груза в тоннах
Объем груза в кубических метрах
Тип кузова.
Значение поля mask из attributes_dictionary
словаря кузовов ATI.SU.
Словарь нужно запрашивать с параметром attributeFieldFormat=2, иначе attributes_dictionary в ответе не вернётся.
В словаре атрибуты приходят строками, а поле ожидает число: передавайте "1" как 1.
Не передавайте dictionary_item_id — это идентификатор элемента словаря, а не маска кузова.
Получить сделки без точного города, но с указанием региона.
Не во всех сделках есть точный пункт (город),
при передачи этого флага, в выдаче будут сделки с указанием только региона.
Параметр позволяет получить сделки с точным исполнителем
* true — метод вернёт сделки с исполнителем «экспедитор» и «перевозчик»;
* false — метод вернёт сделки с любым исполнителем.
Количество запрашиваемых сделок.
Если параметр не передан или указан null, возвращаются все сделки, удовлетворяющие условиям
curl 'https://api.ati.su/impersonaldeals/v1/get_deals' \ -X 'POST' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json' \ --data-raw '{"StartDate":"2021-01-01","EndDate":"2021-01-02","From":{"AtiId":{"Id":3611,"Type":2}},"To":{"AtiId":{"Id":3611,"Type":2}},"Adr":0,"Weight":0.5,"Volume":0.5,"CarType":0,"GetAlsoRegions":false,"IsExecutor":false,"DealsCount":0}'Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("POST", "https://api.ati.su", "/impersonaldeals/v1/get_deals", "{""StartDate"":""2021-01-01"",""EndDate"":""2021-01-02"",""From"":{""AtiId"":{""Id"":3611,""Type"":2}},""To"":{""AtiId"":{""Id"":3611,""Type"":2}},""Adr"":0,""Weight"":0.5,""Volume"":0.5,""CarType"":0,""GetAlsoRegions"":false,""IsExecutor"":false,""DealsCount"":0}"); 200 Обезличенные сделки, удовлетворяющие параметрам
Обезличенная сделка, отвечающая переданным параметрам.
Уникальный идентификатор отдаваемого груза
Дата погрузки груза в формате ISO-8601
Количество доп. точек маршрута
Доп. точки маршрута — значения поля id в структуре city из словаря городов ATI.SU
Расстояние маршрута в километрах
Идентификатор наименования груза.
Значение поля dictionary_item_id из
словаря наименований грузов.
Словарь нужно запрашивать с параметром attributeFieldFormat=2, иначе attributes_dictionary в ответе не вернётся.
Параметр, определяющий степень опасности груза. Допустимое значение от 0 до 9
Вес груза в тоннах
Объем груза в кубических метрах
Количество упаковок для груза
Тип кузова.
Значение поля mask из attributes_dictionary
словаря кузовов ATI.SU.
Словарь нужно запрашивать с параметром attributeFieldFormat=2, иначе attributes_dictionary в ответе не вернётся.
Вариант перевозки:
1- отдельной машиной2- только догрузом
Ставка, по которой совершена сделка
Валюта ставки в сделке.
Значение поля dictionary_item_id из
словаря валют ATI.SU.
Словарь нужно запрашивать с параметром attributeFieldFormat=2, иначе attributes_dictionary в ответе не вернётся.
Параметр, определяющий тип ставки.
1- нал2- с НДС3- без НДС
Параметр, определяющий исполнителя перевозки:
* null - неизвестно
* 0 - другое
* 1 - перевозчик
* 2 - экспедитор
Гео-пункт загрузки
Гео-точка ATI.SU
ID гео-пункта. Используется для города, региона или страны. Город — значение поля id в структуре city, регион — значение поля id в структуре region, страна — значение поля id в структуре country из словаря ATI.SU
Тип гео-пункта
0- страна1- регион2- город
Гео-пункт разгрузки
Гео-точка ATI.SU
ID гео-пункта. Используется для города, региона или страны. Город — значение поля id в структуре city, регион — значение поля id в структуре region, страна — значение поля id в структуре country из словаря ATI.SU
Тип гео-пункта
0- страна1- регион2- город
400 Слишком большой объём данных под запрос. Код: `FACELESS_41_LARGE_DEALS_NUMBER_SIZE`
Формат возвращаемых ошибок.
Сервис возвращает ошибки в двух видах, различать их нужно по error_list:
* error_list пуст — произошла одна ошибка, она описана в полях
error, reason и details;
* error_list не пуст — ошибок несколько, разбирать нужно каждый его
элемент, а верхнеуровневый error в этом случае всегда равен
validation_errors.
Как разбирать ошибку:
1. Ветвите логику по error — это стабильный машинный код.
2. reason предназначен для показа пользователю. Текст может меняться,
разбирать его не нужно.
3. details.location указывает на поле, вызвавшее ошибку.
4. details.index и details.LoadId указывают на конкретную сделку
в массиве Data и заполняются только для /v1/give_deals.
Машинный код ошибки.
Для ответов с несколькими ошибками (непустой error_list)
принимает фиксированное значение validation_errors.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Для ответов с несколькими ошибками всегда null: детали каждой ошибки
лежат в соответствующем элементе error_list.
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
Список ошибок. Пуст, если произошла одна ошибка — тогда она описана в полях выше.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
402 Не удалось списать атисы за запрошенные сделки. Возможные коды: `FACELESS_49_GET_DEALS_BILLING_ERROR`, `FACELESS_51_NOT_ENOUGH_MONEY`, `FACELESS_50_PAYMENT_FORBIDDEN`
Формат возвращаемых ошибок.
Сервис возвращает ошибки в двух видах, различать их нужно по error_list:
* error_list пуст — произошла одна ошибка, она описана в полях
error, reason и details;
* error_list не пуст — ошибок несколько, разбирать нужно каждый его
элемент, а верхнеуровневый error в этом случае всегда равен
validation_errors.
Как разбирать ошибку:
1. Ветвите логику по error — это стабильный машинный код.
2. reason предназначен для показа пользователю. Текст может меняться,
разбирать его не нужно.
3. details.location указывает на поле, вызвавшее ошибку.
4. details.index и details.LoadId указывают на конкретную сделку
в массиве Data и заполняются только для /v1/give_deals.
Машинный код ошибки.
Для ответов с несколькими ошибками (непустой error_list)
принимает фиксированное значение validation_errors.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Для ответов с несколькими ошибками всегда null: детали каждой ошибки
лежат в соответствующем элементе error_list.
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
Список ошибок. Пуст, если произошла одна ошибка — тогда она описана в полях выше.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
403 Доступ запрещён. Возможные коды: `FACELESS_42_FORBIDDEN`, `FACELESS_48_DATE_BLOCK`, `FACELESS_47_MAX_DEALS_BLOCK`, `FACELESS_46_MIN_DEALS_BLOCK`
Формат возвращаемых ошибок.
Сервис возвращает ошибки в двух видах, различать их нужно по error_list:
* error_list пуст — произошла одна ошибка, она описана в полях
error, reason и details;
* error_list не пуст — ошибок несколько, разбирать нужно каждый его
элемент, а верхнеуровневый error в этом случае всегда равен
validation_errors.
Как разбирать ошибку:
1. Ветвите логику по error — это стабильный машинный код.
2. reason предназначен для показа пользователю. Текст может меняться,
разбирать его не нужно.
3. details.location указывает на поле, вызвавшее ошибку.
4. details.index и details.LoadId указывают на конкретную сделку
в массиве Data и заполняются только для /v1/give_deals.
Машинный код ошибки.
Для ответов с несколькими ошибками (непустой error_list)
принимает фиксированное значение validation_errors.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Для ответов с несколькими ошибками всегда null: детали каждой ошибки
лежат в соответствующем элементе error_list.
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
Список ошибок. Пуст, если произошла одна ошибка — тогда она описана в полях выше.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
404 Отсутствуют сделки по данным параметрам. Код: `FACELESS_39_DEALS_NOT_FOUND`
Формат возвращаемых ошибок.
Сервис возвращает ошибки в двух видах, различать их нужно по error_list:
* error_list пуст — произошла одна ошибка, она описана в полях
error, reason и details;
* error_list не пуст — ошибок несколько, разбирать нужно каждый его
элемент, а верхнеуровневый error в этом случае всегда равен
validation_errors.
Как разбирать ошибку:
1. Ветвите логику по error — это стабильный машинный код.
2. reason предназначен для показа пользователю. Текст может меняться,
разбирать его не нужно.
3. details.location указывает на поле, вызвавшее ошибку.
4. details.index и details.LoadId указывают на конкретную сделку
в массиве Data и заполняются только для /v1/give_deals.
Машинный код ошибки.
Для ответов с несколькими ошибками (непустой error_list)
принимает фиксированное значение validation_errors.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Для ответов с несколькими ошибками всегда null: детали каждой ошибки
лежат в соответствующем элементе error_list.
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
Список ошибок. Пуст, если произошла одна ошибка — тогда она описана в полях выше.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
408 Время ожидания истекло. Код: `FACELESS_40_LARGE_DEALS_NUMBER_TIMEOUT`
Формат возвращаемых ошибок.
Сервис возвращает ошибки в двух видах, различать их нужно по error_list:
* error_list пуст — произошла одна ошибка, она описана в полях
error, reason и details;
* error_list не пуст — ошибок несколько, разбирать нужно каждый его
элемент, а верхнеуровневый error в этом случае всегда равен
validation_errors.
Как разбирать ошибку:
1. Ветвите логику по error — это стабильный машинный код.
2. reason предназначен для показа пользователю. Текст может меняться,
разбирать его не нужно.
3. details.location указывает на поле, вызвавшее ошибку.
4. details.index и details.LoadId указывают на конкретную сделку
в массиве Data и заполняются только для /v1/give_deals.
Машинный код ошибки.
Для ответов с несколькими ошибками (непустой error_list)
принимает фиксированное значение validation_errors.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Для ответов с несколькими ошибками всегда null: детали каждой ошибки
лежат в соответствующем элементе error_list.
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
Список ошибок. Пуст, если произошла одна ошибка — тогда она описана в полях выше.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
422 Неверные входные параметры. Возможные коды: `FACELESS_37_FIELD_REQUIRED`, `FACELESS_14_WRONG_DATE_FORMAT`, `FACELESS_45_DATE_OUT_OF_RANGE`, `FACELESS_32_START_DATE_GT_END_DATE`, `FACELESS_31_FROM_OR_TO_NEEDED`, `FACELESS_30_WRONG_ADR`, `FACELESS_25_WRONG_ATI_GEO_POINT_TYPE`, `FACELESS_26_ATI_COUNTRY_NOT_FOUND`, `FACELESS_27_ATI_REGION_NOT_FOUND`, `FACELESS_28_ATI_CITY_NOT_FOUND`, `FACELESS_33_BAD_COUNTRY`, `FACELESS_53_VALIDATION_ERROR`, `FACELESS_54_CONDITION_ERROR`
Формат возвращаемых ошибок.
Сервис возвращает ошибки в двух видах, различать их нужно по error_list:
* error_list пуст — произошла одна ошибка, она описана в полях
error, reason и details;
* error_list не пуст — ошибок несколько, разбирать нужно каждый его
элемент, а верхнеуровневый error в этом случае всегда равен
validation_errors.
Как разбирать ошибку:
1. Ветвите логику по error — это стабильный машинный код.
2. reason предназначен для показа пользователю. Текст может меняться,
разбирать его не нужно.
3. details.location указывает на поле, вызвавшее ошибку.
4. details.index и details.LoadId указывают на конкретную сделку
в массиве Data и заполняются только для /v1/give_deals.
Машинный код ошибки.
Для ответов с несколькими ошибками (непустой error_list)
принимает фиксированное значение validation_errors.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Для ответов с несколькими ошибками всегда null: детали каждой ошибки
лежат в соответствующем элементе error_list.
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
Список ошибок. Пуст, если произошла одна ошибка — тогда она описана в полях выше.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
Предоставление обезличенных сделок
Передать нам обезличенные сделки. Массив json-объектов с параметрами, стандартизированными в ATI.SU.
Предоставить обезличенные сделки post /impersonaldeals/v1/give_deals
| Параметр | Тип | Расположение | Описание |
|---|---|---|---|
demo | boolean | query | Если `true`, сделки проходят ту же валидацию, что и при реальной отправке, но не сохраняются и не тарифицируются (тестовый режим). Пример: false |
Тело запроса на предоставление обезличенных сделок.
Сделки, которые вы хотите передать
Идентификатор груза в вашей системе (либо хэш идентификаторов, если несколько).
Минимальное количество символов: 1.
Не передавайте в одном пакете одинаковый LoadId.
Дата погрузки, в формате ISO-8601, без времени: YYYY-MM-DD
Гео-пункт загрузки
Гео-точка ATI.SU.
ID гео-пункта. Используется для города, региона или страны. Город — значение поля id в структуре city, регион — значение поля id в структуре region, страна — значение поля id в структуре country из словаря ATI.SU
Тип гео-пункта
0- страна1- регион2- город
FiasId гео-пункта.
Значение fias_id из
словаря Fias.
- Пример:
C2DEB16A-0330-4F05-821F-1D09C93331E6- Санкт-Петербург
Текстовое поле для описания гео-пункта.
- Пример:
город Санкт-Петербург, улица Народного Ополчения 10
Гео-пункт разгрузки
Гео-точка ATI.SU.
ID гео-пункта. Используется для города, региона или страны. Город — значение поля id в структуре city, регион — значение поля id в структуре region, страна — значение поля id в структуре country из словаря ATI.SU
Тип гео-пункта
0- страна1- регион2- город
FiasId гео-пункта.
Значение fias_id из
словаря Fias.
- Пример:
C2DEB16A-0330-4F05-821F-1D09C93331E6- Санкт-Петербург
Текстовое поле для описания гео-пункта.
- Пример:
город Санкт-Петербург, улица Народного Ополчения 10
Количество дополнительных точек на маршруте
Доп. точки маршрута в том же формате, что и From/To:
значение поля id в структуре city из словаря городов ATI.SU
или fias_id из словаря Fias или текст
Расстояние маршрута в километрах.
Если не передать, расстояние рассчитывается автоматически — но только когда и From, и To заданы городами.
Если хотя бы один из пунктов — регион или страна, параметр обязателен.
Идентификатор наименования груза.
Значение поля dictionary_item_id из
словаря наименований грузов.
Словарь нужно запрашивать с параметром attributeFieldFormat=2, иначе attributes_dictionary в ответе не вернётся.
Параметр, определяющий степень опасности груза. Допустимое значение от 0 до 9
Вес груза в тоннах. Обязательный параметр, если не задан параметр Volume.
Объем груза в кубических метрах. Обязательный параметр, если не задан параметр Weight.
Количество упаковок для груза
Тип кузова.
Значение поля mask из attributes_dictionary
словаря кузовов ATI.SU.
Словарь нужно запрашивать с параметром attributeFieldFormat=2, иначе attributes_dictionary в ответе не вернётся.
В словаре атрибуты приходят строками, а поле ожидает число: передавайте "1" как 1.
Не передавайте dictionary_item_id — это идентификатор элемента словаря, а не маска кузова.
Вариант перевозки:
1- отдельной машиной2- только догрузом
Ставка, по которой совершена сделка
Валюта ставки в сделке.
Значение поля dictionary_item_id из
словаря валют ATI.SU.
Словарь нужно запрашивать с параметром attributeFieldFormat=2, иначе attributes_dictionary в ответе не вернётся.
Параметр, определяющий тип ставки.
1- нал2- с НДС3- без НДС
Параметр, определяющий исполнителя перевозки:
* 1 - перевозчик — если сделка между вами и перевозчиком
* 2 - экспедитор — если сделка между вами и грузовладельцем
* null - неизвестно
curl 'https://api.ati.su/impersonaldeals/v1/give_deals' \ -X 'POST' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json' \ --data-raw '{"Data":[{"LoadId":"E45CCE73-Q040-6641-A19A-FFFFFFFFFFFF","Date":"2021-01-01","From":{"AtiId":{"Id":3611,"Type":2}},"To":{"AtiId":{"Id":1,"Type":2}},"Distance":750,"Weight":45.5,"CarType":1,"DogruzType":1,"Rate":"27500.00","CurrencyId":1,"PaymentType":2,"Executor":1}]}'Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("POST", "https://api.ati.su", "/impersonaldeals/v1/give_deals", "{""Data"":[{""LoadId"":""E45CCE73-Q040-6641-A19A-FFFFFFFFFFFF"",""Date"":""2021-01-01"",""From"":{""AtiId"":{""Id"":3611,""Type"":2}},""To"":{""AtiId"":{""Id"":1,""Type"":2}},""Distance"":750,""Weight"":45.5,""CarType"":1,""DogruzType"":1,""Rate"":""27500.00"",""CurrencyId"":1,""PaymentType"":2,""Executor"":1}]}"); 200 Ваши данные успешно приняты. Тело ответа — boolean `true`. При `demo=true` означает, что сделки прошли валидацию, но сохранены не были.
402 Не удалось начислить атисы, сделки не были загружены. Код: `FACELESS_52_GIVE_DEALS_BILLING_ERROR`
Формат возвращаемых ошибок.
Сервис возвращает ошибки в двух видах, различать их нужно по error_list:
* error_list пуст — произошла одна ошибка, она описана в полях
error, reason и details;
* error_list не пуст — ошибок несколько, разбирать нужно каждый его
элемент, а верхнеуровневый error в этом случае всегда равен
validation_errors.
Как разбирать ошибку:
1. Ветвите логику по error — это стабильный машинный код.
2. reason предназначен для показа пользователю. Текст может меняться,
разбирать его не нужно.
3. details.location указывает на поле, вызвавшее ошибку.
4. details.index и details.LoadId указывают на конкретную сделку
в массиве Data и заполняются только для /v1/give_deals.
Машинный код ошибки.
Для ответов с несколькими ошибками (непустой error_list)
принимает фиксированное значение validation_errors.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Для ответов с несколькими ошибками всегда null: детали каждой ошибки
лежат в соответствующем элементе error_list.
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
Список ошибок. Пуст, если произошла одна ошибка — тогда она описана в полях выше.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
403 Доступ запрещён. Возможные коды: `FACELESS_42_FORBIDDEN`, `FACELESS_48_DATE_BLOCK`
Формат возвращаемых ошибок.
Сервис возвращает ошибки в двух видах, различать их нужно по error_list:
* error_list пуст — произошла одна ошибка, она описана в полях
error, reason и details;
* error_list не пуст — ошибок несколько, разбирать нужно каждый его
элемент, а верхнеуровневый error в этом случае всегда равен
validation_errors.
Как разбирать ошибку:
1. Ветвите логику по error — это стабильный машинный код.
2. reason предназначен для показа пользователю. Текст может меняться,
разбирать его не нужно.
3. details.location указывает на поле, вызвавшее ошибку.
4. details.index и details.LoadId указывают на конкретную сделку
в массиве Data и заполняются только для /v1/give_deals.
Машинный код ошибки.
Для ответов с несколькими ошибками (непустой error_list)
принимает фиксированное значение validation_errors.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Для ответов с несколькими ошибками всегда null: детали каждой ошибки
лежат в соответствующем элементе error_list.
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
Список ошибок. Пуст, если произошла одна ошибка — тогда она описана в полях выше.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
411 Все ошибки в пакете — одного кода: не удалось рассчитать расстояние. Если среди ошибок есть хотя бы одна с другим кодом, возвращается 422. Сделки без ошибок при этом сохраняются. Код: `FACELESS_3_UNCALCULATED_DISTANCE`
Формат возвращаемых ошибок.
Сервис возвращает ошибки в двух видах, различать их нужно по error_list:
* error_list пуст — произошла одна ошибка, она описана в полях
error, reason и details;
* error_list не пуст — ошибок несколько, разбирать нужно каждый его
элемент, а верхнеуровневый error в этом случае всегда равен
validation_errors.
Как разбирать ошибку:
1. Ветвите логику по error — это стабильный машинный код.
2. reason предназначен для показа пользователю. Текст может меняться,
разбирать его не нужно.
3. details.location указывает на поле, вызвавшее ошибку.
4. details.index и details.LoadId указывают на конкретную сделку
в массиве Data и заполняются только для /v1/give_deals.
Машинный код ошибки.
Для ответов с несколькими ошибками (непустой error_list)
принимает фиксированное значение validation_errors.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Для ответов с несколькими ошибками всегда null: детали каждой ошибки
лежат в соответствующем элементе error_list.
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
Список ошибок. Пуст, если произошла одна ошибка — тогда она описана в полях выше.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
422 Ошибки валидации переданных сделок. Одна сделка может дать несколько ошибок, все они перечислены в `error_list`: `details.index` и `details.LoadId` указывают на проблемную сделку в массиве `Data`, а `details.location` — на конкретное поле. Возможные значения `error` перечислены в схеме `FacelessErrorCode`. Сделки без ошибок при этом сохраняются: ответ 422 не означает, что не принят весь пакет. При `demo=true` не сохраняется ничего, но состав ошибок тот же.
Формат возвращаемых ошибок.
Сервис возвращает ошибки в двух видах, различать их нужно по error_list:
* error_list пуст — произошла одна ошибка, она описана в полях
error, reason и details;
* error_list не пуст — ошибок несколько, разбирать нужно каждый его
элемент, а верхнеуровневый error в этом случае всегда равен
validation_errors.
Как разбирать ошибку:
1. Ветвите логику по error — это стабильный машинный код.
2. reason предназначен для показа пользователю. Текст может меняться,
разбирать его не нужно.
3. details.location указывает на поле, вызвавшее ошибку.
4. details.index и details.LoadId указывают на конкретную сделку
в массиве Data и заполняются только для /v1/give_deals.
Машинный код ошибки.
Для ответов с несколькими ошибками (непустой error_list)
принимает фиксированное значение validation_errors.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Для ответов с несколькими ошибками всегда null: детали каждой ошибки
лежат в соответствующем элементе error_list.
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
Список ошибок. Пуст, если произошла одна ошибка — тогда она описана в полях выше.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
Запрос количества сделок
Метод покажет сколько сделок по вашим параметрам вы получите
Получить количество обезличенных сделок post /impersonaldeals/v1/get_deals_count
Параметры для получения количества обезличенных сделок.
Начальная дата погрузки, в формате ISO-8601
Конечная дата погрузки, в формате ISO-8601
Гео-пункт загрузки. Обязателен хотя бы один из параметров: From или To.
Гео-точка ATI.SU
ID гео-пункта. Используется для города, региона или страны. Город — значение поля id в структуре city, регион — значение поля id в структуре region, страна — значение поля id в структуре country из словаря ATI.SU
Тип гео-пункта
0- страна1- регион2- город
Гео-пункт разгрузки. Обязателен хотя бы один из параметров: From или To.
Гео-точка ATI.SU
ID гео-пункта. Используется для города, региона или страны. Город — значение поля id в структуре city, регион — значение поля id в структуре region, страна — значение поля id в структуре country из словаря ATI.SU
Тип гео-пункта
0- страна1- регион2- город
Параметр, определяющий степень опасности груза.
Допустимое значение: Null, либо от 0 до 9.
Вес груза в тоннах
Объем груза в кубических метрах
Тип кузова.
Значение поля mask из attributes_dictionary
словаря кузовов ATI.SU.
Словарь нужно запрашивать с параметром attributeFieldFormat=2, иначе attributes_dictionary в ответе не вернётся.
В словаре атрибуты приходят строками, а поле ожидает число: передавайте "1" как 1.
Не передавайте dictionary_item_id — это идентификатор элемента словаря, а не маска кузова.
Получить сделки без точного города, но с указанием региона.
Не во всех сделках есть точный пункт (город),
при передачи этого флага, в выдаче будут сделки с указанием только региона.
Параметр позволяет получить сделки с точным исполнителем
* true — метод вернёт сделки с исполнителем «экспедитор» и «перевозчик»;
* false — метод вернёт сделки с любым исполнителем.
curl 'https://api.ati.su/impersonaldeals/v1/get_deals_count' \ -X 'POST' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json' \ --data-raw '{"StartDate":"2021-01-01","EndDate":"2021-01-02","From":{"AtiId":{"Id":3611,"Type":2}},"To":{"AtiId":{"Id":3611,"Type":2}},"Adr":0,"Weight":0.5,"Volume":0.5,"CarType":0,"GetAlsoRegions":false,"IsExecutor":false}'Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("POST", "https://api.ati.su", "/impersonaldeals/v1/get_deals_count", "{""StartDate"":""2021-01-01"",""EndDate"":""2021-01-02"",""From"":{""AtiId"":{""Id"":3611,""Type"":2}},""To"":{""AtiId"":{""Id"":3611,""Type"":2}},""Adr"":0,""Weight"":0.5,""Volume"":0.5,""CarType"":0,""GetAlsoRegions"":false,""IsExecutor"":false}"); 200 Количество обезличенных сделок, удовлетворяющих параметрам
Количество обезличенных сделок, отвечающих переданным параметрам.
Общее количество обезличенных сделок, отвечающих переданным параметрам
403 Доступ запрещён. Возможные коды: `FACELESS_42_FORBIDDEN`, `FACELESS_48_DATE_BLOCK`
Формат возвращаемых ошибок.
Сервис возвращает ошибки в двух видах, различать их нужно по error_list:
* error_list пуст — произошла одна ошибка, она описана в полях
error, reason и details;
* error_list не пуст — ошибок несколько, разбирать нужно каждый его
элемент, а верхнеуровневый error в этом случае всегда равен
validation_errors.
Как разбирать ошибку:
1. Ветвите логику по error — это стабильный машинный код.
2. reason предназначен для показа пользователю. Текст может меняться,
разбирать его не нужно.
3. details.location указывает на поле, вызвавшее ошибку.
4. details.index и details.LoadId указывают на конкретную сделку
в массиве Data и заполняются только для /v1/give_deals.
Машинный код ошибки.
Для ответов с несколькими ошибками (непустой error_list)
принимает фиксированное значение validation_errors.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Для ответов с несколькими ошибками всегда null: детали каждой ошибки
лежат в соответствующем элементе error_list.
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
Список ошибок. Пуст, если произошла одна ошибка — тогда она описана в полях выше.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
422 Неверные входные параметры. Возможные коды: `FACELESS_37_FIELD_REQUIRED`, `FACELESS_14_WRONG_DATE_FORMAT`, `FACELESS_45_DATE_OUT_OF_RANGE`, `FACELESS_32_START_DATE_GT_END_DATE`, `FACELESS_31_FROM_OR_TO_NEEDED`, `FACELESS_30_WRONG_ADR`, `FACELESS_25_WRONG_ATI_GEO_POINT_TYPE`, `FACELESS_26_ATI_COUNTRY_NOT_FOUND`, `FACELESS_27_ATI_REGION_NOT_FOUND`, `FACELESS_28_ATI_CITY_NOT_FOUND`, `FACELESS_33_BAD_COUNTRY`, `FACELESS_53_VALIDATION_ERROR`, `FACELESS_54_CONDITION_ERROR`
Формат возвращаемых ошибок.
Сервис возвращает ошибки в двух видах, различать их нужно по error_list:
* error_list пуст — произошла одна ошибка, она описана в полях
error, reason и details;
* error_list не пуст — ошибок несколько, разбирать нужно каждый его
элемент, а верхнеуровневый error в этом случае всегда равен
validation_errors.
Как разбирать ошибку:
1. Ветвите логику по error — это стабильный машинный код.
2. reason предназначен для показа пользователю. Текст может меняться,
разбирать его не нужно.
3. details.location указывает на поле, вызвавшее ошибку.
4. details.index и details.LoadId указывают на конкретную сделку
в массиве Data и заполняются только для /v1/give_deals.
Машинный код ошибки.
Для ответов с несколькими ошибками (непустой error_list)
принимает фиксированное значение validation_errors.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Для ответов с несколькими ошибками всегда null: детали каждой ошибки
лежат в соответствующем элементе error_list.
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
Список ошибок. Пуст, если произошла одна ошибка — тогда она описана в полях выше.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
Запрос статистики
Покажет количество уникальных сделок, которые вы запросили и передали нам.
Получить статистику по принятым/отданным сделкам post /impersonaldeals/v1/get_deals_statistic
Параметры периода для получения статистики по сделкам.
Начальная дата запрашиваемого периода, в формате ISO-8601.
Конечная дата запрашиваемого периода, в формате ISO-8601.
curl 'https://api.ati.su/impersonaldeals/v1/get_deals_statistic' \ -X 'POST' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json' \ --data-raw '{"StartDate":"2021-06-06","EndDate":"2021-07-07"}'Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("POST", "https://api.ati.su", "/impersonaldeals/v1/get_deals_statistic", "{""StartDate"":""2021-06-06"",""EndDate"":""2021-07-07""}"); 200 Статистика по принятым/отданным сделкам
Общая статистика по принятым/отданным сделкам за выбранный период.
Статистика переданных сделок город-город
Сделки, завершенные за последние 6 месяцев
Количество сделок
Цена одной сделки
Общая сумма сделок
Сделки, завершенные за период с 6 месяцев до 1 года
Количество сделок
Цена одной сделки
Общая сумма сделок
Сделки, завершенные за период с 1 года до 2х лет
Количество сделок
Цена одной сделки
Общая сумма сделок
Сделки, завершенные за период с 2х лет до 4х лет
Количество сделок
Цена одной сделки
Общая сумма сделок
Сделки, завершенные за период старше 4х лет
Количество сделок
Цена одной сделки
Общая сумма сделок
Статистика взятых сделок город-город
Сделки, завершенные за последние 6 месяцев
Количество сделок
Цена одной сделки
Общая сумма сделок
Сделки, завершенные за период с 6 месяцев до 1 года
Количество сделок
Цена одной сделки
Общая сумма сделок
Сделки, завершенные за период с 1 года до 2х лет
Количество сделок
Цена одной сделки
Общая сумма сделок
Сделки, завершенные за период с 2х лет до 4х лет
Количество сделок
Цена одной сделки
Общая сумма сделок
Сделки, завершенные за период старше 4х лет
Количество сделок
Цена одной сделки
Общая сумма сделок
Статистика переданных сделок регион-регион
Сделки, завершенные за последние 6 месяцев
Количество сделок
Цена одной сделки
Общая сумма сделок
Сделки, завершенные за период с 6 месяцев до 1 года
Количество сделок
Цена одной сделки
Общая сумма сделок
Сделки, завершенные за период с 1 года до 2х лет
Количество сделок
Цена одной сделки
Общая сумма сделок
Сделки, завершенные за период с 2х лет до 4х лет
Количество сделок
Цена одной сделки
Общая сумма сделок
Сделки, завершенные за период старше 4х лет
Количество сделок
Цена одной сделки
Общая сумма сделок
Статистика взятых сделок регион-регион
Сделки, завершенные за последние 6 месяцев
Количество сделок
Цена одной сделки
Общая сумма сделок
Сделки, завершенные за период с 6 месяцев до 1 года
Количество сделок
Цена одной сделки
Общая сумма сделок
Сделки, завершенные за период с 1 года до 2х лет
Количество сделок
Цена одной сделки
Общая сумма сделок
Сделки, завершенные за период с 2х лет до 4х лет
Количество сделок
Цена одной сделки
Общая сумма сделок
Сделки, завершенные за период старше 4х лет
Количество сделок
Цена одной сделки
Общая сумма сделок
Общее количество переданных сделок
Общая сумма переданных сделок
Общее количество взятых сделок
Общая сумма взятых сделок
Передано сделок за последние 30 дней
Текущий лимит на взятие сделок. null, если лимит не задан
Текущее количество взятых сделок
403 Доступ запрещён. Возможные коды: `FACELESS_42_FORBIDDEN`, `FACELESS_48_DATE_BLOCK`
Формат возвращаемых ошибок.
Сервис возвращает ошибки в двух видах, различать их нужно по error_list:
* error_list пуст — произошла одна ошибка, она описана в полях
error, reason и details;
* error_list не пуст — ошибок несколько, разбирать нужно каждый его
элемент, а верхнеуровневый error в этом случае всегда равен
validation_errors.
Как разбирать ошибку:
1. Ветвите логику по error — это стабильный машинный код.
2. reason предназначен для показа пользователю. Текст может меняться,
разбирать его не нужно.
3. details.location указывает на поле, вызвавшее ошибку.
4. details.index и details.LoadId указывают на конкретную сделку
в массиве Data и заполняются только для /v1/give_deals.
Машинный код ошибки.
Для ответов с несколькими ошибками (непустой error_list)
принимает фиксированное значение validation_errors.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Для ответов с несколькими ошибками всегда null: детали каждой ошибки
лежат в соответствующем элементе error_list.
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
Список ошибок. Пуст, если произошла одна ошибка — тогда она описана в полях выше.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
404 Нет сделок по заданным параметрам. Код: `FACELESS_39_DEALS_NOT_FOUND`
Формат возвращаемых ошибок.
Сервис возвращает ошибки в двух видах, различать их нужно по error_list:
* error_list пуст — произошла одна ошибка, она описана в полях
error, reason и details;
* error_list не пуст — ошибок несколько, разбирать нужно каждый его
элемент, а верхнеуровневый error в этом случае всегда равен
validation_errors.
Как разбирать ошибку:
1. Ветвите логику по error — это стабильный машинный код.
2. reason предназначен для показа пользователю. Текст может меняться,
разбирать его не нужно.
3. details.location указывает на поле, вызвавшее ошибку.
4. details.index и details.LoadId указывают на конкретную сделку
в массиве Data и заполняются только для /v1/give_deals.
Машинный код ошибки.
Для ответов с несколькими ошибками (непустой error_list)
принимает фиксированное значение validation_errors.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Для ответов с несколькими ошибками всегда null: детали каждой ошибки
лежат в соответствующем элементе error_list.
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
Список ошибок. Пуст, если произошла одна ошибка — тогда она описана в полях выше.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
422 Неверные входные параметры. Возможные коды: `FACELESS_37_FIELD_REQUIRED`, `FACELESS_14_WRONG_DATE_FORMAT`, `FACELESS_45_DATE_OUT_OF_RANGE`, `FACELESS_32_START_DATE_GT_END_DATE`, `FACELESS_53_VALIDATION_ERROR`, `FACELESS_54_CONDITION_ERROR`
Формат возвращаемых ошибок.
Сервис возвращает ошибки в двух видах, различать их нужно по error_list:
* error_list пуст — произошла одна ошибка, она описана в полях
error, reason и details;
* error_list не пуст — ошибок несколько, разбирать нужно каждый его
элемент, а верхнеуровневый error в этом случае всегда равен
validation_errors.
Как разбирать ошибку:
1. Ветвите логику по error — это стабильный машинный код.
2. reason предназначен для показа пользователю. Текст может меняться,
разбирать его не нужно.
3. details.location указывает на поле, вызвавшее ошибку.
4. details.index и details.LoadId указывают на конкретную сделку
в массиве Data и заполняются только для /v1/give_deals.
Машинный код ошибки.
Для ответов с несколькими ошибками (непустой error_list)
принимает фиксированное значение validation_errors.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Для ответов с несколькими ошибками всегда null: детали каждой ошибки
лежат в соответствующем элементе error_list.
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.
Список ошибок. Пуст, если произошла одна ошибка — тогда она описана в полях выше.
Машинный код ошибки сервиса.
Человекочитаемое описание ошибки.
Детали ошибки (null, если их нет).
Детали ошибки.
Набор заполненных полей зависит от вида ошибки: незаполненные поля
в ответе отсутствуют. Само наличие поля — признак того, что ошибка
относится к соответствующей сущности.
Путь до поля, к которому относится ошибка.
Сегменты пути разделены ->.
* Для /v1/give_deals путь начинается с Data -> <индекс сделки>.
* Для остальных методов путь состоит из имени поля, например StartDate.
* Пустая строка, если ошибка относится к телу запроса целиком.
Индекс сделки в массиве Data. Только для /v1/give_deals.
LoadId сделки, к которой относится ошибка.
Только для /v1/give_deals. Может быть null, если поле не передали.
Исходный текст ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Исходный тип ошибки Pydantic. Только для FACELESS_53_VALIDATION_ERROR.
Индекс сделки, которая была записана из группы дубликатов.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы всех сделок-дубликатов в группе.
Только для FACELESS_29_EQUAL_LOAD_ID.
Индексы сделок, сгруппированные по повторяющемуся LoadId.
Только для FACELESS_29_EQUAL_LOAD_ID, обнаруженной до разбора пакета по сделкам.
Пояснение по получению доступа. Только для FACELESS_42_FORBIDDEN.