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

Списки направлений (гео списки)

Возвращает гео-списки текущего пользователя
get /scrolls/v1/geo
Параметры
Параметр Тип Расположение Описание
withArchived boolean query
Включать архивированные списки. По умолчанию false — архивные списки не возвращаются. Пример: false
Запрос
Пример запроса
curl 'https://api.ati.su/scrolls/v1/geo' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Массив гео-списков
Модель
[{...}]

Публичное представление гео-списка: метаданные и коллекция гео-объектов (город, регион, страна).

id: uuid

Уникальный идентификатор гео-списка. При создании игнорируется — сервер назначает новый; при изменении обязателен, при дублировании задаёт исходный список.

name: null,string

Название гео-списка, обязательное, от 1 до 40 символов.

type: int32

Числовой код типа гео-списка. В теле запроса поле игнорируется.

description: null,string

Текстовое описание гео-списка (опционально), до 80 символов.

personal: boolean

Персональный ли гео-список.

archive_date: date-time

Дата и время архивирования (UTC-офсет), если список в архиве. null, если не архивирован. Заполняется только в ответе: в теле запроса поле игнорируется, заархивировать список можно методом POST /v1/lists/archive.

contact_id: int32

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

ati_id: null,string

Идентификатор фирмы. В теле запроса поле игнорируется.

is_global: boolean

Глобальный (общий) гео-список. В публичных методах создания и изменения поле игнорируется.

fixed: null,boolean

Признак системного (предустановленного) гео-списка. null, если признак не передаётся. В публичных методах создания и изменения поле игнорируется.

emoji: null,string

Эмодзи в короткой записи вида :name: (например, :truck:).

}]
Пример
[...]
{...}
"id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"name":"Ключевые направления",
"type":1,
"description":"Точки для маршрута на юге.",
"personal":true,
"archive_date":"2024-01-15T10:30:00Z",
"contact_id":902156,
"ati_id":"10002457",
"is_global":false,
"fixed":false,
"emoji":":truck:",
"elements":[...]
{...}
"id":"4c8a5e2e-3d0f-4a1b-9c2e-1b3d5a7c9e0d",
"city_id":77,
"region_id":50,
"country_id":1,
"list_id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"city_name":"Новосибирск",
"region_name":"Новосибирская область",
"country_name":"Россия",
"owner_ati_id":"10002457"
}
]
}
]
401 Не авторизован
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"un_authorized",
"reason":"Не авторизован"
}
500 Произошла ошибка во время выполнения запроса.
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"internal_error",
"reason":"Произошла ошибка во время выполнения запроса."
}
504 Сервер не ответил во время.
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"timeout",
"reason":"Сервер не ответил во время."
}
Возвращает гео-список по идентификатору
get /scrolls/v1/geo/{listId}
Параметры
Параметр Тип Расположение Описание
listId обязательный string (uuid) path
Идентификатор гео-списка. Пример: 7c8dfd22-d196-4a6e-a587-c19d43b548f7
Запрос
Пример запроса
curl 'https://api.ati.su/scrolls/v1/geo/{listId}' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Данные списка
Модель
{...}

Публичное представление гео-списка: метаданные и коллекция гео-объектов (город, регион, страна).

id: uuid

Уникальный идентификатор гео-списка. При создании игнорируется — сервер назначает новый; при изменении обязателен, при дублировании задаёт исходный список.

name: null,string

Название гео-списка, обязательное, от 1 до 40 символов.

type: int32

Числовой код типа гео-списка. В теле запроса поле игнорируется.

description: null,string

Текстовое описание гео-списка (опционально), до 80 символов.

personal: boolean

Персональный ли гео-список.

archive_date: date-time

Дата и время архивирования (UTC-офсет), если список в архиве. null, если не архивирован. Заполняется только в ответе: в теле запроса поле игнорируется, заархивировать список можно методом POST /v1/lists/archive.

contact_id: int32

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

ati_id: null,string

Идентификатор фирмы. В теле запроса поле игнорируется.

is_global: boolean

Глобальный (общий) гео-список. В публичных методах создания и изменения поле игнорируется.

fixed: null,boolean

Признак системного (предустановленного) гео-списка. null, если признак не передаётся. В публичных методах создания и изменения поле игнорируется.

emoji: null,string

Эмодзи в короткой записи вида :name: (например, :truck:).

}
Пример
{...}
"id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"name":"Ключевые направления",
"type":1,
"description":"Точки для маршрута на юге.",
"personal":true,
"archive_date":"2024-01-15T10:30:00Z",
"contact_id":902156,
"ati_id":"10002457",
"is_global":false,
"fixed":false,
"emoji":":truck:",
"elements":[...]
{...}
"id":"4c8a5e2e-3d0f-4a1b-9c2e-1b3d5a7c9e0d",
"city_id":77,
"region_id":50,
"country_id":1,
"list_id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"city_name":"Новосибирск",
"region_name":"Новосибирская область",
"country_name":"Россия",
"owner_ati_id":"10002457"
}
]
}
401 Не авторизован
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"un_authorized",
"reason":"Не авторизован"
}
403 Список принадлежит другой фирме или является приватным списком другого контакта
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"forbidden",
"reason":"Отсутствует разрешение."
}
404 Список не найден
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"not_found",
"reason":"Ресурс не найден"
}
500 Произошла ошибка во время выполнения запроса.
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"internal_error",
"reason":"Произошла ошибка во время выполнения запроса."
}
504 Сервер не ответил во время.
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"timeout",
"reason":"Сервер не ответил во время."
}
Возвращает гео-списки текущего пользователя по идентификаторам
post /scrolls/v1/geo/ids
Параметры
Параметров нет
Запрос
Модель
[uuid]
Пример запроса
curl 'https://api.ati.su/scrolls/v1/geo/ids' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '["3fa85f64-5717-4562-b3fc-2c963f66afa6"]'
Ответ
200 Массив гео-списков
Модель
[{...}]

Публичное представление гео-списка: метаданные и коллекция гео-объектов (город, регион, страна).

id: uuid

Уникальный идентификатор гео-списка. При создании игнорируется — сервер назначает новый; при изменении обязателен, при дублировании задаёт исходный список.

name: null,string

Название гео-списка, обязательное, от 1 до 40 символов.

type: int32

Числовой код типа гео-списка. В теле запроса поле игнорируется.

description: null,string

Текстовое описание гео-списка (опционально), до 80 символов.

personal: boolean

Персональный ли гео-список.

archive_date: date-time

Дата и время архивирования (UTC-офсет), если список в архиве. null, если не архивирован. Заполняется только в ответе: в теле запроса поле игнорируется, заархивировать список можно методом POST /v1/lists/archive.

contact_id: int32

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

ati_id: null,string

Идентификатор фирмы. В теле запроса поле игнорируется.

is_global: boolean

Глобальный (общий) гео-список. В публичных методах создания и изменения поле игнорируется.

fixed: null,boolean

Признак системного (предустановленного) гео-списка. null, если признак не передаётся. В публичных методах создания и изменения поле игнорируется.

emoji: null,string

Эмодзи в короткой записи вида :name: (например, :truck:).

}]
Пример
[...]
{...}
"id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"name":"Ключевые направления",
"type":1,
"description":"Точки для маршрута на юге.",
"personal":true,
"archive_date":"2024-01-15T10:30:00Z",
"contact_id":902156,
"ati_id":"10002457",
"is_global":false,
"fixed":false,
"emoji":":truck:",
"elements":[...]
{...}
"id":"4c8a5e2e-3d0f-4a1b-9c2e-1b3d5a7c9e0d",
"city_id":77,
"region_id":50,
"country_id":1,
"list_id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"city_name":"Новосибирск",
"region_name":"Новосибирская область",
"country_name":"Россия",
"owner_ati_id":"10002457"
}
]
}
]
400 Массив пустой или содержит больше 50 идентификаторов
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"invalid_input_data",
"reason":"Неверные входные данные."
}
401 Не авторизован
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"un_authorized",
"reason":"Не авторизован"
}
500 Произошла ошибка во время выполнения запроса.
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"internal_error",
"reason":"Произошла ошибка во время выполнения запроса."
}
504 Сервер не ответил во время.
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"timeout",
"reason":"Сервер не ответил во время."
}
Создаёт новый гео-список
post /scrolls/v1/geo
Параметры
Параметров нет
Запрос
Модель
{...}

Публичное представление гео-списка: метаданные и коллекция гео-объектов (город, регион, страна).

id: uuid

Уникальный идентификатор гео-списка. При создании игнорируется — сервер назначает новый; при изменении обязателен, при дублировании задаёт исходный список.

name: null,string

Название гео-списка, обязательное, от 1 до 40 символов.

type: int32

Числовой код типа гео-списка. В теле запроса поле игнорируется.

description: null,string

Текстовое описание гео-списка (опционально), до 80 символов.

personal: boolean

Персональный ли гео-список.

archive_date: date-time

Дата и время архивирования (UTC-офсет), если список в архиве. null, если не архивирован. Заполняется только в ответе: в теле запроса поле игнорируется, заархивировать список можно методом POST /v1/lists/archive.

contact_id: int32

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

ati_id: null,string

Идентификатор фирмы. В теле запроса поле игнорируется.

is_global: boolean

Глобальный (общий) гео-список. В публичных методах создания и изменения поле игнорируется.

fixed: null,boolean

Признак системного (предустановленного) гео-списка. null, если признак не передаётся. В публичных методах создания и изменения поле игнорируется.

emoji: null,string

Эмодзи в короткой записи вида :name: (например, :truck:).

}
Пример запроса
curl 'https://api.ati.su/scrolls/v1/geo' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e","name":"Ключевые направления","type":1,"description":"Точки для маршрута на юге.","personal":true,"archive_date":"2024-01-15T10:30:00Z","contact_id":902156,"ati_id":"10002457","is_global":false,"fixed":false,"emoji":":truck:"}'
Ответ
200 Созданный гео-список
Модель
{...}

Публичное представление гео-списка: метаданные и коллекция гео-объектов (город, регион, страна).

id: uuid

Уникальный идентификатор гео-списка. При создании игнорируется — сервер назначает новый; при изменении обязателен, при дублировании задаёт исходный список.

name: null,string

Название гео-списка, обязательное, от 1 до 40 символов.

type: int32

Числовой код типа гео-списка. В теле запроса поле игнорируется.

description: null,string

Текстовое описание гео-списка (опционально), до 80 символов.

personal: boolean

Персональный ли гео-список.

archive_date: date-time

Дата и время архивирования (UTC-офсет), если список в архиве. null, если не архивирован. Заполняется только в ответе: в теле запроса поле игнорируется, заархивировать список можно методом POST /v1/lists/archive.

contact_id: int32

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

ati_id: null,string

Идентификатор фирмы. В теле запроса поле игнорируется.

is_global: boolean

Глобальный (общий) гео-список. В публичных методах создания и изменения поле игнорируется.

fixed: null,boolean

Признак системного (предустановленного) гео-списка. null, если признак не передаётся. В публичных методах создания и изменения поле игнорируется.

emoji: null,string

Эмодзи в короткой записи вида :name: (например, :truck:).

}
Пример
{...}
"id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"name":"Ключевые направления",
"type":1,
"description":"Точки для маршрута на юге.",
"personal":true,
"archive_date":"2024-01-15T10:30:00Z",
"contact_id":902156,
"ati_id":"10002457",
"is_global":false,
"fixed":false,
"emoji":":truck:",
"elements":[...]
{...}
"id":"4c8a5e2e-3d0f-4a1b-9c2e-1b3d5a7c9e0d",
"city_id":77,
"region_id":50,
"country_id":1,
"list_id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"city_name":"Новосибирск",
"region_name":"Новосибирская область",
"country_name":"Россия",
"owner_ati_id":"10002457"
}
]
}
400 Ошибка валидации
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"invalid_input_data",
"reason":"Неверные входные данные."
}
401 Не авторизован
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"un_authorized",
"reason":"Не авторизован"
}
403 Недостаточно прав для создания общего списка
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"forbidden",
"reason":"Отсутствует разрешение."
}
404 Связанный ресурс не найден
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"not_found",
"reason":"Ресурс не найден"
}
429 Превышен лимит изменений списков
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"too_many_requests",
"reason":"Слишком много запросов."
}
500 Внутренняя ошибка
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"internal_error",
"reason":"Произошла ошибка во время выполнения запроса."
}
504 Сервер не ответил во время.
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"timeout",
"reason":"Сервер не ответил во время."
}
Обновляет гео-список
put /scrolls/v1/geo
Параметры
Параметров нет
Запрос
Модель
{...}

Публичное представление гео-списка: метаданные и коллекция гео-объектов (город, регион, страна).

id: uuid

Уникальный идентификатор гео-списка. При создании игнорируется — сервер назначает новый; при изменении обязателен, при дублировании задаёт исходный список.

name: null,string

Название гео-списка, обязательное, от 1 до 40 символов.

type: int32

Числовой код типа гео-списка. В теле запроса поле игнорируется.

description: null,string

Текстовое описание гео-списка (опционально), до 80 символов.

personal: boolean

Персональный ли гео-список.

archive_date: date-time

Дата и время архивирования (UTC-офсет), если список в архиве. null, если не архивирован. Заполняется только в ответе: в теле запроса поле игнорируется, заархивировать список можно методом POST /v1/lists/archive.

contact_id: int32

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

ati_id: null,string

Идентификатор фирмы. В теле запроса поле игнорируется.

is_global: boolean

Глобальный (общий) гео-список. В публичных методах создания и изменения поле игнорируется.

fixed: null,boolean

Признак системного (предустановленного) гео-списка. null, если признак не передаётся. В публичных методах создания и изменения поле игнорируется.

emoji: null,string

Эмодзи в короткой записи вида :name: (например, :truck:).

}
Пример запроса
curl 'https://api.ati.su/scrolls/v1/geo' \
-X 'PUT' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e","name":"Ключевые направления","type":1,"description":"Точки для маршрута на юге.","personal":true,"archive_date":"2024-01-15T10:30:00Z","contact_id":902156,"ati_id":"10002457","is_global":false,"fixed":false,"emoji":":truck:"}'
Ответ
200 Обновлённый гео-список
Модель
{...}

Публичное представление гео-списка: метаданные и коллекция гео-объектов (город, регион, страна).

id: uuid

Уникальный идентификатор гео-списка. При создании игнорируется — сервер назначает новый; при изменении обязателен, при дублировании задаёт исходный список.

name: null,string

Название гео-списка, обязательное, от 1 до 40 символов.

type: int32

Числовой код типа гео-списка. В теле запроса поле игнорируется.

description: null,string

Текстовое описание гео-списка (опционально), до 80 символов.

personal: boolean

Персональный ли гео-список.

archive_date: date-time

Дата и время архивирования (UTC-офсет), если список в архиве. null, если не архивирован. Заполняется только в ответе: в теле запроса поле игнорируется, заархивировать список можно методом POST /v1/lists/archive.

contact_id: int32

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

ati_id: null,string

Идентификатор фирмы. В теле запроса поле игнорируется.

is_global: boolean

Глобальный (общий) гео-список. В публичных методах создания и изменения поле игнорируется.

fixed: null,boolean

Признак системного (предустановленного) гео-списка. null, если признак не передаётся. В публичных методах создания и изменения поле игнорируется.

emoji: null,string

Эмодзи в короткой записи вида :name: (например, :truck:).

}
Пример
{...}
"id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"name":"Ключевые направления",
"type":1,
"description":"Точки для маршрута на юге.",
"personal":true,
"archive_date":"2024-01-15T10:30:00Z",
"contact_id":902156,
"ati_id":"10002457",
"is_global":false,
"fixed":false,
"emoji":":truck:",
"elements":[...]
{...}
"id":"4c8a5e2e-3d0f-4a1b-9c2e-1b3d5a7c9e0d",
"city_id":77,
"region_id":50,
"country_id":1,
"list_id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"city_name":"Новосибирск",
"region_name":"Новосибирская область",
"country_name":"Россия",
"owner_ati_id":"10002457"
}
]
}
400 Ошибка валидации
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"invalid_input_data",
"reason":"Неверные входные данные."
}
401 Не авторизован
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"un_authorized",
"reason":"Не авторизован"
}
403 Недостаточно прав на изменение списка
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"forbidden",
"reason":"Отсутствует разрешение."
}
404 Список не найден
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"not_found",
"reason":"Ресурс не найден"
}
429 Превышен лимит изменений списков
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"too_many_requests",
"reason":"Слишком много запросов."
}
500 Внутренняя ошибка
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"internal_error",
"reason":"Произошла ошибка во время выполнения запроса."
}
504 Сервер не ответил во время.
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"timeout",
"reason":"Сервер не ответил во время."
}
Удаляет гео-список пользователя
delete /scrolls/v1/geo/{listId}
Параметры
Параметр Тип Расположение Описание
listId обязательный string (uuid) path
Идентификатор гео-списка. Пример: 7c8dfd22-d196-4a6e-a587-c19d43b548f7
Запрос
Пример запроса
curl 'https://api.ati.su/scrolls/v1/geo/{listId}' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Идентификаторы удалённых списков
Модель
[{...}]

Идентификаторы списка и его тип. Два вида списков: список фирм (элементы — фирмы) и гео-список (элементы — гео-объекты). Используется в ответах общих операций: удаление, архив, разархив и т.п.

list_id: uuid

Уникальный идентификатор списка.

firm_id: int32

Числовой идентификатор фирмы-владельца списка.

list_type: enum
[1001, 1003]

Вид списка: список фирм (элементы — фирмы) или гео-список (элементы — гео-объекты).

  • 1001 = Firm (Список фирм)
  • 1003 = Geo (Гео-список)
}]
Пример
[...]
{...}
"list_id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"firm_id":184032,
"list_type":1001
}
]
401 Не авторизован
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"un_authorized",
"reason":"Не авторизован"
}
403 Недостаточно прав на управление списком
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"forbidden",
"reason":"Отсутствует разрешение."
}
404 Список не найден
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"not_found",
"reason":"Ресурс не найден"
}
500 Внутренняя ошибка
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"internal_error",
"reason":"Произошла ошибка во время выполнения запроса."
}
504 Сервер не ответил во время.
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"timeout",
"reason":"Сервер не ответил во время."
}

Архивный список не возвращается в выдаче списков и кратких сведениях, пока не передан параметр withArchived=true. Через 30 дней после архивации список удаляется безвозвратно, до этого его можно вернуть из архива.

Архивирует указанные списки пользователя Архивный список не возвращается в выдаче списков, кратких сведениях и подсказках, пока не передан параметр `withArchived=true`. Объединить архивные списки фирм нельзя: метод объединения вернёт 400 с кодом `merge_archived_lists`. Через 30 дней после архивации список удаляется безвозвратно, до этого его можно вернуть методом `POST /v1/lists/unarchive`.
post /scrolls/v1/lists/archive
Параметры
Параметров нет
Запрос
Модель
[uuid]
Пример запроса
curl 'https://api.ati.su/scrolls/v1/lists/archive' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '["3fa85f64-5717-4562-b3fc-2c963f66afa6"]'
Ответ
200 Идентификаторы заархивированных списков
Модель
[{...}]

Идентификаторы списка и его тип. Два вида списков: список фирм (элементы — фирмы) и гео-список (элементы — гео-объекты). Используется в ответах общих операций: удаление, архив, разархив и т.п.

list_id: uuid

Уникальный идентификатор списка.

firm_id: int32

Числовой идентификатор фирмы-владельца списка.

list_type: enum
[1001, 1003]

Вид списка: список фирм (элементы — фирмы) или гео-список (элементы — гео-объекты).

  • 1001 = Firm (Список фирм)
  • 1003 = Geo (Гео-список)
}]
Пример
[...]
{...}
"list_id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"firm_id":184032,
"list_type":1001
}
]
401 Не авторизован
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"un_authorized",
"reason":"Не авторизован"
}
403 Недостаточно прав на управление списками
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"forbidden",
"reason":"Отсутствует разрешение."
}
404 Списки не найдены
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"not_found",
"reason":"Ресурс не найден"
}
500 Внутренняя ошибка
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"internal_error",
"reason":"Произошла ошибка во время выполнения запроса."
}
504 Сервер не ответил во время.
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"timeout",
"reason":"Сервер не ответил во время."
}
Разархивирует указанные списки пользователя Списки снова возвращаются в выдаче без параметра `withArchived`. Списки, заархивированные больше 30 дней назад, удаляются безвозвратно — вернуть их нельзя.
post /scrolls/v1/lists/unarchive
Параметры
Параметров нет
Запрос
Модель
[uuid]
Пример запроса
curl 'https://api.ati.su/scrolls/v1/lists/unarchive' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '["3fa85f64-5717-4562-b3fc-2c963f66afa6"]'
Ответ
200 Идентификаторы разархивированных списков
Модель
[{...}]

Идентификаторы списка и его тип. Два вида списков: список фирм (элементы — фирмы) и гео-список (элементы — гео-объекты). Используется в ответах общих операций: удаление, архив, разархив и т.п.

list_id: uuid

Уникальный идентификатор списка.

firm_id: int32

Числовой идентификатор фирмы-владельца списка.

list_type: enum
[1001, 1003]

Вид списка: список фирм (элементы — фирмы) или гео-список (элементы — гео-объекты).

  • 1001 = Firm (Список фирм)
  • 1003 = Geo (Гео-список)
}]
Пример
[...]
{...}
"list_id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"firm_id":184032,
"list_type":1001
}
]
401 Не авторизован
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"un_authorized",
"reason":"Не авторизован"
}
403 Недостаточно прав на управление списками
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"forbidden",
"reason":"Отсутствует разрешение."
}
404 Списки не найдены
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"not_found",
"reason":"Ресурс не найден"
}
500 Внутренняя ошибка
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"internal_error",
"reason":"Произошла ошибка во время выполнения запроса."
}
504 Сервер не ответил во время.
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"timeout",
"reason":"Сервер не ответил во время."
}
Объединяет несколько гео-списков в один
post /scrolls/v1/geo/merge
Параметры
Параметров нет
Запрос
Модель
{...}

Тело запроса на объединение нескольких гео-списков в один, вместе с полями итогового списка.

list_ids*: [uuid]

Идентификаторы исходных гео-списков, которые будут объединены (нужны от 2 до 10).

id: uuid

Уникальный идентификатор гео-списка. При создании игнорируется — сервер назначает новый; при изменении обязателен, при дублировании задаёт исходный список.

name: null,string

Название гео-списка, обязательное, от 1 до 40 символов.

type: int32

Числовой код типа гео-списка. В теле запроса поле игнорируется.

description: null,string

Текстовое описание гео-списка (опционально), до 80 символов.

personal: boolean

Персональный ли гео-список.

archive_date: date-time

Дата и время архивирования (UTC-офсет), если список в архиве. null, если не архивирован. Заполняется только в ответе: в теле запроса поле игнорируется, заархивировать список можно методом POST /v1/lists/archive.

contact_id: int32

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

ati_id: null,string

Идентификатор фирмы. В теле запроса поле игнорируется.

is_global: boolean

Глобальный (общий) гео-список. В публичных методах создания и изменения поле игнорируется.

fixed: null,boolean

Признак системного (предустановленного) гео-списка. null, если признак не передаётся. В публичных методах создания и изменения поле игнорируется.

emoji: null,string

Эмодзи в короткой записи вида :name: (например, :truck:).

}
Пример запроса
curl 'https://api.ati.su/scrolls/v1/geo/merge' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"list_ids":["4c8a5e2e-3d0f-4a1b-9c2e-1b3d5a7c9e0d","5b1d0c2a-8e3f-4b0a-9d1c-6e2f4a8b0c1d"],"id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e","name":"Ключевые направления","type":1,"description":"Точки для маршрута на юге.","personal":true,"archive_date":"2024-01-15T10:30:00Z","contact_id":902156,"ati_id":"10002457","is_global":false,"fixed":false,"emoji":":truck:"}'
Ответ
200 Объединённый гео-список
Модель
{...}

Публичное представление гео-списка: метаданные и коллекция гео-объектов (город, регион, страна).

id: uuid

Уникальный идентификатор гео-списка. При создании игнорируется — сервер назначает новый; при изменении обязателен, при дублировании задаёт исходный список.

name: null,string

Название гео-списка, обязательное, от 1 до 40 символов.

type: int32

Числовой код типа гео-списка. В теле запроса поле игнорируется.

description: null,string

Текстовое описание гео-списка (опционально), до 80 символов.

personal: boolean

Персональный ли гео-список.

archive_date: date-time

Дата и время архивирования (UTC-офсет), если список в архиве. null, если не архивирован. Заполняется только в ответе: в теле запроса поле игнорируется, заархивировать список можно методом POST /v1/lists/archive.

contact_id: int32

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

ati_id: null,string

Идентификатор фирмы. В теле запроса поле игнорируется.

is_global: boolean

Глобальный (общий) гео-список. В публичных методах создания и изменения поле игнорируется.

fixed: null,boolean

Признак системного (предустановленного) гео-списка. null, если признак не передаётся. В публичных методах создания и изменения поле игнорируется.

emoji: null,string

Эмодзи в короткой записи вида :name: (например, :truck:).

}
Пример
{...}
"id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"name":"Ключевые направления",
"type":1,
"description":"Точки для маршрута на юге.",
"personal":true,
"archive_date":"2024-01-15T10:30:00Z",
"contact_id":902156,
"ati_id":"10002457",
"is_global":false,
"fixed":false,
"emoji":":truck:",
"elements":[...]
{...}
"id":"4c8a5e2e-3d0f-4a1b-9c2e-1b3d5a7c9e0d",
"city_id":77,
"region_id":50,
"country_id":1,
"list_id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"city_name":"Новосибирск",
"region_name":"Новосибирская область",
"country_name":"Россия",
"owner_ati_id":"10002457"
}
]
}
400 Ошибка валидации
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"invalid_input_data",
"reason":"Неверные входные данные."
}
401 Не авторизован
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"un_authorized",
"reason":"Не авторизован"
}
403 Недостаточно прав для управления списками
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"forbidden",
"reason":"Отсутствует разрешение."
}
404 Один или несколько списков не найдены
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"not_found",
"reason":"Ресурс не найден"
}
429 Превышен лимит изменений списков
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"too_many_requests",
"reason":"Слишком много запросов."
}
500 Внутренняя ошибка
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"internal_error",
"reason":"Произошла ошибка во время выполнения запроса."
}
504 Сервер не ответил во время.
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"timeout",
"reason":"Сервер не ответил во время."
}
Добавляет элементы в гео-списки
post /scrolls/v1/geo/elements
Параметры
Параметров нет
Запрос
Модель
[{...}]

Публичное представление элемента гео-списка (страна, регион, город).

id: uuid

Уникальный идентификатор элемента гео-списка.

city_id: int32

Идентификатор города. null, если у элемента нет уровня города.

region_id: int32

Идентификатор региона. null, если у элемента нет уровня региона.

country_id: int32

Идентификатор страны. null, если у элемента нет уровня страны.

list_id: uuid

Идентификатор гео-списка, к которому относится элемент.

city_name: null,string

Название города.

region_name: null,string

Название региона.

country_name: null,string

Название страны.

owner_ati_id: null,string

Внешний идентификатор фирмы-владельца списка.

}]
Пример запроса
curl 'https://api.ati.su/scrolls/v1/geo/elements' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '[{"id":"4c8a5e2e-3d0f-4a1b-9c2e-1b3d5a7c9e0d","city_id":77,"region_id":50,"country_id":1,"list_id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e","city_name":"Новосибирск","region_name":"Новосибирская область","country_name":"Россия","owner_ati_id":"10002457"}]'
Ответ
200 Результаты пакетной операции
Модель
[{...}]

Один «ряд» в ответе на пакетный запрос: у каждой операции из пакета — свои данные (value) и итог (status).

status: int32

Результат по этой операции в пакете: в поле status — числовой итог. Возможные значения:

  • 0 — успех
  • 2 — нет прав на редактирование этого персонального списка (владелец — другой контакт вашей фирмы)
  • 4 — не найдено: список при добавлении элементов, элемент при удалении
  • 5 — некорректные данные элемента: фирма по ati_id не найдена или элемент не прошёл валидацию
  • 6 — такой элемент уже есть в списке
  • 9 — элемент повторяется в одном запросе
}]
Пример
[...]
{...}
"value":{...},
"id":"4c8a5e2e-3d0f-4a1b-9c2e-1b3d5a7c9e0d",
"city_id":77,
"region_id":50,
"country_id":1,
"list_id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"city_name":"Новосибирск",
"region_name":"Новосибирская область",
"country_name":"Россия",
"owner_ati_id":"10002457"
},
"status":0
}
]
400 Массив элементов пустой или содержит больше 100 элементов
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"invalid_input_data",
"reason":"Неверные входные данные."
}
401 Не авторизован
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"un_authorized",
"reason":"Не авторизован"
}
403 Недостаточно прав на изменение списков
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"forbidden",
"reason":"Отсутствует разрешение."
}
429 Превышен лимит изменений списков
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"too_many_requests",
"reason":"Слишком много запросов."
}
500 Произошла ошибка во время выполнения запроса.
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"internal_error",
"reason":"Произошла ошибка во время выполнения запроса."
}
504 Сервер не ответил во время.
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"timeout",
"reason":"Сервер не ответил во время."
}
Удаляет элементы из гео-списков по идентификаторам
delete /scrolls/v1/geo/elements
Параметры
Параметров нет
Запрос
Модель
[uuid]
Пример запроса
curl 'https://api.ati.su/scrolls/v1/geo/elements' \
-X 'DELETE' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '["3fa85f64-5717-4562-b3fc-2c963f66afa6"]'
Ответ
200 Результаты пакетного удаления
Модель
[{...}]

Один «ряд» в ответе на пакетный запрос: у каждой операции из пакета — свои данные (value) и итог (status).

value: uuid

Данные, которые пришли по этой операции (id, модель — как задокументировано у конкретного метода). Если операция не удалась, смотрите status.

status: int32

Результат по этой операции в пакете: в поле status — числовой итог. Возможные значения:

  • 0 — успех
  • 2 — нет прав на редактирование этого персонального списка (владелец — другой контакт вашей фирмы)
  • 4 — не найдено: список при добавлении элементов, элемент при удалении
  • 5 — некорректные данные элемента: фирма по ati_id не найдена или элемент не прошёл валидацию
  • 6 — такой элемент уже есть в списке
  • 9 — элемент повторяется в одном запросе
}]
Пример
[...]
{...}
"status":0,
"value":"00000000-0000-0000-0000-000000000000"
}
]
400 Массив идентификаторов пустой или содержит больше 100 идентификаторов
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"invalid_input_data",
"reason":"Неверные входные данные."
}
401 Не авторизован
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"un_authorized",
"reason":"Не авторизован"
}
403 Недостаточно прав на изменение списков
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"forbidden",
"reason":"Отсутствует разрешение."
}
429 Превышен лимит изменений списков
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"too_many_requests",
"reason":"Слишком много запросов."
}
500 Произошла ошибка во время выполнения запроса.
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"internal_error",
"reason":"Произошла ошибка во время выполнения запроса."
}
504 Сервер не ответил во время.
Модель
{...}

Стандартный ответ с описанием ошибки

error: null,string

Код ошибки

reason: null,string

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

}
Пример
{...}
"error":"timeout",
"reason":"Сервер не ответил во время."
}