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

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

fixed: null,boolean

Признак глобального списка. null, если признак не передаётся. При создании со значением true название должно совпадать с названием глобального списка, иначе вернётся 400. В публичном методе изменения поле игнорируется.

id: uuid

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

name*: string
Минимальное количество символов: 1

Название списка фирм, от 1 до 40 символов.

type: enum
[0, 1, 2]

Тип списка фирм.

  • 0 = Neutral (Нейтральный)
  • 1 = Partner (Партнёр)
  • 2 = Black (Чёрный список)
description: null,string

Описание списка фирм (опционально), до 80 символов.

personal: boolean

Персональный ли список фирм.

archive_date: date-time

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

contact_id: int32

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

ati_id: null,string

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

emoji: null,string

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

}]
Пример
[...]
{...}
"fixed":false,
"id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"name":"Надёжные грузоперевозчики",
"type":0,
"description":"Используется в заявках на северном направлении.",
"personal":true,
"archive_date":"2024-01-15T10:30:00Z",
"contact_id":902156,
"ati_id":"10002457",
"emoji":":truck:",
"elements":[...]
{...}
"id":"4c8a5e2e-3d0f-4a1b-9c2e-1b3d5a7c9e0d",
"ati_id":"10002457",
"firm_name":"ООО «Альфа-Транс»",
"comment":"Проверено 2024-03-01",
"comment_id":"2d8f0c1a-4b3e-4f1a-8d9c-0e1f2a3b4c5d",
"list_id":"8e3c1a00-0f0f-4b2a-9a1a-3c4d5e6f7a0b",
"owner_ati_id":"50001234"
}
]
}
]
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/firms/{listId}
Параметры
Параметр Тип Расположение Описание
listId обязательный string (uuid) path
Идентификатор списка фирм. Пример: 7c8dfd22-d196-4a6e-a587-c19d43b548f7
Запрос
Пример запроса
curl 'https://api.ati.su/scrolls/v1/firms/{listId}' \
-X 'GET' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json'
Ответ
200 Данные списка
Модель
{...}

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

fixed: null,boolean

Признак глобального списка. null, если признак не передаётся. При создании со значением true название должно совпадать с названием глобального списка, иначе вернётся 400. В публичном методе изменения поле игнорируется.

id: uuid

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

name*: string
Минимальное количество символов: 1

Название списка фирм, от 1 до 40 символов.

type: enum
[0, 1, 2]

Тип списка фирм.

  • 0 = Neutral (Нейтральный)
  • 1 = Partner (Партнёр)
  • 2 = Black (Чёрный список)
description: null,string

Описание списка фирм (опционально), до 80 символов.

personal: boolean

Персональный ли список фирм.

archive_date: date-time

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

contact_id: int32

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

ati_id: null,string

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

emoji: null,string

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

}
Пример
{...}
"fixed":false,
"id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"name":"Надёжные грузоперевозчики",
"type":0,
"description":"Используется в заявках на северном направлении.",
"personal":true,
"archive_date":"2024-01-15T10:30:00Z",
"contact_id":902156,
"ati_id":"10002457",
"emoji":":truck:",
"elements":[...]
{...}
"id":"4c8a5e2e-3d0f-4a1b-9c2e-1b3d5a7c9e0d",
"ati_id":"10002457",
"firm_name":"ООО «Альфа-Транс»",
"comment":"Проверено 2024-03-01",
"comment_id":"2d8f0c1a-4b3e-4f1a-8d9c-0e1f2a3b4c5d",
"list_id":"8e3c1a00-0f0f-4b2a-9a1a-3c4d5e6f7a0b",
"owner_ati_id":"50001234"
}
]
}
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/firms/ids
Параметры
Параметров нет
Запрос
Модель
[uuid]
Пример запроса
curl 'https://api.ati.su/scrolls/v1/firms/ids' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '["3fa85f64-5717-4562-b3fc-2c963f66afa6"]'
Ответ
200 Массив списков
Модель
[{...}]

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

fixed: null,boolean

Признак глобального списка. null, если признак не передаётся. При создании со значением true название должно совпадать с названием глобального списка, иначе вернётся 400. В публичном методе изменения поле игнорируется.

id: uuid

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

name*: string
Минимальное количество символов: 1

Название списка фирм, от 1 до 40 символов.

type: enum
[0, 1, 2]

Тип списка фирм.

  • 0 = Neutral (Нейтральный)
  • 1 = Partner (Партнёр)
  • 2 = Black (Чёрный список)
description: null,string

Описание списка фирм (опционально), до 80 символов.

personal: boolean

Персональный ли список фирм.

archive_date: date-time

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

contact_id: int32

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

ati_id: null,string

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

emoji: null,string

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

}]
Пример
[...]
{...}
"fixed":false,
"id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"name":"Надёжные грузоперевозчики",
"type":0,
"description":"Используется в заявках на северном направлении.",
"personal":true,
"archive_date":"2024-01-15T10:30:00Z",
"contact_id":902156,
"ati_id":"10002457",
"emoji":":truck:",
"elements":[...]
{...}
"id":"4c8a5e2e-3d0f-4a1b-9c2e-1b3d5a7c9e0d",
"ati_id":"10002457",
"firm_name":"ООО «Альфа-Транс»",
"comment":"Проверено 2024-03-01",
"comment_id":"2d8f0c1a-4b3e-4f1a-8d9c-0e1f2a3b4c5d",
"list_id":"8e3c1a00-0f0f-4b2a-9a1a-3c4d5e6f7a0b",
"owner_ati_id":"50001234"
}
]
}
]
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/firms
Параметры
Параметров нет
Запрос
Модель
{...}

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

fixed: null,boolean

Признак глобального списка. null, если признак не передаётся. При создании со значением true название должно совпадать с названием глобального списка, иначе вернётся 400. В публичном методе изменения поле игнорируется.

id: uuid

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

name*: string
Минимальное количество символов: 1

Название списка фирм, от 1 до 40 символов.

type: enum
[0, 1, 2]

Тип списка фирм.

  • 0 = Neutral (Нейтральный)
  • 1 = Partner (Партнёр)
  • 2 = Black (Чёрный список)
description: null,string

Описание списка фирм (опционально), до 80 символов.

personal: boolean

Персональный ли список фирм.

archive_date: date-time

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

contact_id: int32

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

ati_id: null,string

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

emoji: null,string

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

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

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

fixed: null,boolean

Признак глобального списка. null, если признак не передаётся. При создании со значением true название должно совпадать с названием глобального списка, иначе вернётся 400. В публичном методе изменения поле игнорируется.

id: uuid

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

name*: string
Минимальное количество символов: 1

Название списка фирм, от 1 до 40 символов.

type: enum
[0, 1, 2]

Тип списка фирм.

  • 0 = Neutral (Нейтральный)
  • 1 = Partner (Партнёр)
  • 2 = Black (Чёрный список)
description: null,string

Описание списка фирм (опционально), до 80 символов.

personal: boolean

Персональный ли список фирм.

archive_date: date-time

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

contact_id: int32

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

ati_id: null,string

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

emoji: null,string

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

}
Пример
{...}
"fixed":false,
"id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"name":"Надёжные грузоперевозчики",
"type":0,
"description":"Используется в заявках на северном направлении.",
"personal":true,
"archive_date":"2024-01-15T10:30:00Z",
"contact_id":902156,
"ati_id":"10002457",
"emoji":":truck:",
"elements":[...]
{...}
"id":"4c8a5e2e-3d0f-4a1b-9c2e-1b3d5a7c9e0d",
"ati_id":"10002457",
"firm_name":"ООО «Альфа-Транс»",
"comment":"Проверено 2024-03-01",
"comment_id":"2d8f0c1a-4b3e-4f1a-8d9c-0e1f2a3b4c5d",
"list_id":"8e3c1a00-0f0f-4b2a-9a1a-3c4d5e6f7a0b",
"owner_ati_id":"50001234"
}
]
}
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/firms
Параметры
Параметров нет
Запрос
Модель
{...}

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

fixed: null,boolean

Признак глобального списка. null, если признак не передаётся. При создании со значением true название должно совпадать с названием глобального списка, иначе вернётся 400. В публичном методе изменения поле игнорируется.

id: uuid

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

name*: string
Минимальное количество символов: 1

Название списка фирм, от 1 до 40 символов.

type: enum
[0, 1, 2]

Тип списка фирм.

  • 0 = Neutral (Нейтральный)
  • 1 = Partner (Партнёр)
  • 2 = Black (Чёрный список)
description: null,string

Описание списка фирм (опционально), до 80 символов.

personal: boolean

Персональный ли список фирм.

archive_date: date-time

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

contact_id: int32

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

ati_id: null,string

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

emoji: null,string

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

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

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

fixed: null,boolean

Признак глобального списка. null, если признак не передаётся. При создании со значением true название должно совпадать с названием глобального списка, иначе вернётся 400. В публичном методе изменения поле игнорируется.

id: uuid

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

name*: string
Минимальное количество символов: 1

Название списка фирм, от 1 до 40 символов.

type: enum
[0, 1, 2]

Тип списка фирм.

  • 0 = Neutral (Нейтральный)
  • 1 = Partner (Партнёр)
  • 2 = Black (Чёрный список)
description: null,string

Описание списка фирм (опционально), до 80 символов.

personal: boolean

Персональный ли список фирм.

archive_date: date-time

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

contact_id: int32

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

ati_id: null,string

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

emoji: null,string

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

}
Пример
{...}
"fixed":false,
"id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"name":"Надёжные грузоперевозчики",
"type":0,
"description":"Используется в заявках на северном направлении.",
"personal":true,
"archive_date":"2024-01-15T10:30:00Z",
"contact_id":902156,
"ati_id":"10002457",
"emoji":":truck:",
"elements":[...]
{...}
"id":"4c8a5e2e-3d0f-4a1b-9c2e-1b3d5a7c9e0d",
"ati_id":"10002457",
"firm_name":"ООО «Альфа-Транс»",
"comment":"Проверено 2024-03-01",
"comment_id":"2d8f0c1a-4b3e-4f1a-8d9c-0e1f2a3b4c5d",
"list_id":"8e3c1a00-0f0f-4b2a-9a1a-3c4d5e6f7a0b",
"owner_ati_id":"50001234"
}
]
}
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/firms/{listId}
Параметры
Параметр Тип Расположение Описание
listId обязательный string (uuid) path
Идентификатор списка фирм. Пример: 7c8dfd22-d196-4a6e-a587-c19d43b548f7
Запрос
Пример запроса
curl 'https://api.ati.su/scrolls/v1/firms/{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/firms/merge
Параметры
Параметров нет
Запрос
Модель
{...}

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

list_ids*: [uuid]

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

fixed: null,boolean

Признак глобального списка. null, если признак не передаётся. При создании со значением true название должно совпадать с названием глобального списка, иначе вернётся 400. В публичном методе изменения поле игнорируется.

id: uuid

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

name*: string
Минимальное количество символов: 1

Название списка фирм, от 1 до 40 символов.

type: enum
[0, 1, 2]

Тип списка фирм.

  • 0 = Neutral (Нейтральный)
  • 1 = Partner (Партнёр)
  • 2 = Black (Чёрный список)
description: null,string

Описание списка фирм (опционально), до 80 символов.

personal: boolean

Персональный ли список фирм.

archive_date: date-time

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

contact_id: int32

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

ati_id: null,string

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

emoji: null,string

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

}
Пример запроса
curl 'https://api.ati.su/scrolls/v1/firms/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"],"fixed":false,"id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e","name":"Надёжные грузоперевозчики","type":0,"description":"Используется в заявках на северном направлении.","personal":true,"archive_date":"2024-01-15T10:30:00Z","contact_id":902156,"ati_id":"10002457","emoji":":truck:"}'
Ответ
200 Объединённый список
Модель
{...}

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

fixed: null,boolean

Признак глобального списка. null, если признак не передаётся. При создании со значением true название должно совпадать с названием глобального списка, иначе вернётся 400. В публичном методе изменения поле игнорируется.

id: uuid

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

name*: string
Минимальное количество символов: 1

Название списка фирм, от 1 до 40 символов.

type: enum
[0, 1, 2]

Тип списка фирм.

  • 0 = Neutral (Нейтральный)
  • 1 = Partner (Партнёр)
  • 2 = Black (Чёрный список)
description: null,string

Описание списка фирм (опционально), до 80 символов.

personal: boolean

Персональный ли список фирм.

archive_date: date-time

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

contact_id: int32

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

ati_id: null,string

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

emoji: null,string

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

}
Пример
{...}
"fixed":false,
"id":"6b2e0c1a-9a4f-4c3b-8d1e-0f0a1b2c3d4e",
"name":"Надёжные грузоперевозчики",
"type":0,
"description":"Используется в заявках на северном направлении.",
"personal":true,
"archive_date":"2024-01-15T10:30:00Z",
"contact_id":902156,
"ati_id":"10002457",
"emoji":":truck:",
"elements":[...]
{...}
"id":"4c8a5e2e-3d0f-4a1b-9c2e-1b3d5a7c9e0d",
"ati_id":"10002457",
"firm_name":"ООО «Альфа-Транс»",
"comment":"Проверено 2024-03-01",
"comment_id":"2d8f0c1a-4b3e-4f1a-8d9c-0e1f2a3b4c5d",
"list_id":"8e3c1a00-0f0f-4b2a-9a1a-3c4d5e6f7a0b",
"owner_ati_id":"50001234"
}
]
}
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/firms/elements
Параметры
Параметров нет
Запрос
Модель
[{...}]

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

id: uuid

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

ati_id: null,string

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

firm_name: null,string

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

comment: null,string

Текст комментария.

comment_id: uuid

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

list_id: uuid

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

owner_ati_id: null,string

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

}]
Пример запроса
curl 'https://api.ati.su/scrolls/v1/firms/elements' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '[{"id":"4c8a5e2e-3d0f-4a1b-9c2e-1b3d5a7c9e0d","ati_id":"10002457","firm_name":"ООО «Альфа-Транс»","comment":"Проверено 2024-03-01","comment_id":"2d8f0c1a-4b3e-4f1a-8d9c-0e1f2a3b4c5d","list_id":"8e3c1a00-0f0f-4b2a-9a1a-3c4d5e6f7a0b","owner_ati_id":"50001234"}]'
Ответ
200 Результаты пакетной операции
Модель
[{...}]

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

status: int32

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

  • 0 — успех
  • 2 — нет прав на редактирование этого персонального списка (владелец — другой контакт вашей фирмы)
  • 4 — не найдено: список при добавлении элементов, элемент при удалении
  • 5 — некорректные данные элемента: фирма по ati_id не найдена или элемент не прошёл валидацию
  • 6 — такой элемент уже есть в списке
  • 9 — элемент повторяется в одном запросе
}]
Пример
[...]
{...}
"value":{...},
"id":"4c8a5e2e-3d0f-4a1b-9c2e-1b3d5a7c9e0d",
"ati_id":"10002457",
"firm_name":"ООО «Альфа-Транс»",
"comment":"Проверено 2024-03-01",
"comment_id":"2d8f0c1a-4b3e-4f1a-8d9c-0e1f2a3b4c5d",
"list_id":"8e3c1a00-0f0f-4b2a-9a1a-3c4d5e6f7a0b",
"owner_ati_id":"50001234"
},
"status":0
}
]
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":"Отсутствует разрешение."
}
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/firms/elements
Параметры
Параметров нет
Запрос
Модель
[uuid]
Пример запроса
curl 'https://api.ati.su/scrolls/v1/firms/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":"Сервер не ответил во время."
}