API для работы с файлами, логотипами и аватарками
В данном разделе вы можете найти методы для работы с файлами, логотипами и аватарками фирм и контактов
Максимальный разрешенный размер - 20 Мб
Поддерживаемые форматы: .png, .jpeg, .jpg, .jpe, .jif, .jfif, .rtf, .tif, .tiff, .bmp, .doc, .docx, .gif, .odt, .pdf, .xls, .xlsx, .csv, .heic, .txt
Для загрузки логотипов фирм и аватарок контактов: .png, .jpeg, .jpg, .jpe, .jif, .jfif.
Методы для работы с файлами
Добавление файлов
Метод загрузки файлов post /v1/filer/
Файл для загрузки.
Тип доступа к файлу.
- Public - Доступ всем без ограничений
- Firm - Доступ в рамках фирмы
- Contact - Доступ в рамках контакта
- Authorized - Доступ для авторизованных пользователей
Бизнес-тип файла (аватар, лого и т.д.), влияет на access_type и ограничения.
- FirmDocument
- Avatar
- Logo
- Load
- Orders
- CatalogsTrucks
- CatalogsDrivers
Дата автоматического удаления.
Добавить водяной знак.
Идентификатор контакта.
Список доступа для типа AccessList.
Идентификатор фирмы.
Идентификатор контакта.
Внешний ключ файла.
Тег привязки.
curl 'https://api.ati.su/v1/filer/' \ -X 'POST' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: multipart/form-data' \ -F 'file=@{file}' \ -F 'access_type={access_type}' \ -F 'business_type={business_type}' \ -F 'delete_on={delete_on}' \ -F 'with_watermark={with_watermark}' \ -F 'contact_id={contact_id}' \ -F 'access_list={access_list}' \ -F 'file_key_2={file_key_2}' \ -F 'binding_tag={binding_tag}'Процедура Выполнить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", "/v1/filer/"); 200 OK
Документ файла.
Уникальный ключ файла, генерируется сам. Ключ файла будет начинаться с его типа business_type.
Дополнительный ключ файла (связь с другим ключом или дубликат).
Имя файла.
MIME-тип содержимого.
Тип доступа к файлу.
- Public - Доступ всем без ограничений
- Firm - Доступ в рамках фирмы
- Contact - Доступ в рамках контакта
- Authorized - Доступ для авторизованных пользователей
Бизнес-тип файла (аватар, лого и т.д.), влияет на access_type и ограничения.
- FirmDocument
- Avatar
- Logo
- Load
- Orders
- CatalogsTrucks
- CatalogsDrivers
Дата и время добавления записи.
Планируемая дата удаления (отложенное удаление).
Идентификатор фирмы-владельца.
Идентификатор контакта-владельца.
Список дополнительных участников доступа.
Идентификатор фирмы.
Идентификатор контакта.
Признак необходимости водяного знака при отдаче.
Тег привязки (контекст использования файла).
400 Неверные входные данные.
Стандартный ответ с описанием ошибки
Код ошибки
Описание ошибки
403 Отсутствует разрешение.
Стандартный ответ с описанием ошибки
Код ошибки
Описание ошибки
Для некоторых business_type файлов можно указать только определенные access_type:
- для Avatar/Logo можно указать только access_type = Public;
- для FirmDocument, CatalogsTrucks/CatalogsDrivers, Orders и Load можно указать только access_type = Authorized.
Получение файлов
Получение файла по fileKey get /v1/filer/{fileKey}
curl 'https://api.ati.su/v1/filer/{fileKey}' \ -X 'GET' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json'Процедура Выполнить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Запрос("GET", "https://api.ati.su", "/v1/filer/{fileKey}"); 200 OK
400 Неверные входные данные.
Стандартный ответ с описанием ошибки
Код ошибки
Описание ошибки
403 Отсутствует разрешение.
Стандартный ответ с описанием ошибки
Код ошибки
Описание ошибки
Получение информации о файлах post /v1/filer/info
Идентификатор пользователя ATI.
Идентификатор контакта для фильтрации файлов.
Бизнес-тип запрашиваемых файлов.
- FirmDocument
- Avatar
- Logo
- Load
- Orders
- CatalogsTrucks
- CatalogsDrivers
Список ключей файлов (основной набор).
Дополнительный список ключей файлов.
curl 'https://api.ati.su/v1/filer/info' \ -X 'POST' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json' \ --data-raw '{"ati_id":"100500","contact_id":42,"business_type":"Avatar","keys":["firm_100500_logo","contact_42_avatar"],"keys2":["firm_100500_logo_thumb"]}'Процедура Выполнить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", "/v1/filer/info", "{""ati_id"":""100500"",""contact_id"":42,""business_type"":""Avatar"",""keys"":[""firm_100500_logo"",""contact_42_avatar""],""keys2"":[""firm_100500_logo_thumb""]}"); 200 OK
Документ файла.
Уникальный ключ файла, генерируется сам. Ключ файла будет начинаться с его типа business_type.
Дополнительный ключ файла (связь с другим ключом или дубликат).
Имя файла.
MIME-тип содержимого.
Тип доступа к файлу.
- Public - Доступ всем без ограничений
- Firm - Доступ в рамках фирмы
- Contact - Доступ в рамках контакта
- Authorized - Доступ для авторизованных пользователей
Бизнес-тип файла (аватар, лого и т.д.), влияет на access_type и ограничения.
- FirmDocument
- Avatar
- Logo
- Load
- Orders
- CatalogsTrucks
- CatalogsDrivers
Дата и время добавления записи.
Планируемая дата удаления (отложенное удаление).
Идентификатор фирмы-владельца.
Идентификатор контакта-владельца.
Список дополнительных участников доступа.
Идентификатор фирмы.
Идентификатор контакта.
Признак необходимости водяного знака при отдаче.
Тег привязки (контекст использования файла).
400 Неверные входные данные.
Стандартный ответ с описанием ошибки
Код ошибки
Описание ошибки
403 Отсутствует разрешение.
Стандартный ответ с описанием ошибки
Код ошибки
Описание ошибки
Метод возвращает массив информации о файлах этого типа у пользователя, без самих файлов.
Для получения информации о файлах нужно передавать в теле параметры (или):
- “ati_id” и “business_type”;
- “keys”/“keys2”.
Проверка прав на просмотр файла осуществляется через авторизационный хэдер. Чтобы получить информацию о том, кто создал файл, нужно передать в тело запроса параметр “ati_id”или “ati_id” и “contact_id”.
Получение аватарки контакта или логотипа фирмы get /v1/filer/{businessType}/{atiId}/{contactId}
curl 'https://api.ati.su/v1/filer/{businessType}/{atiId}/{contactId}' \ -X 'GET' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json'Процедура Выполнить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Запрос("GET", "https://api.ati.su", "/v1/filer/{businessType}/{atiId}/{contactId}"); 200 OK
400 Неверные входные данные.
Стандартный ответ с описанием ошибки
Код ошибки
Описание ошибки
403 Отсутствует разрешение.
Стандартный ответ с описанием ошибки
Код ошибки
Описание ошибки
Получение дефолтной аватарки контакта или логотипа фирмы get /v1/filer/{businessType}/default
curl 'https://api.ati.su/v1/filer/{businessType}/default' \ -X 'GET' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json'Процедура Выполнить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Запрос("GET", "https://api.ati.su", "/v1/filer/{businessType}/default"); 200 OK
400 Неверные входные данные.
Стандартный ответ с описанием ошибки
Код ошибки
Описание ошибки
403 Отсутствует разрешение.
Стандартный ответ с описанием ошибки
Код ошибки
Описание ошибки
Удаление файлов
Удаление файла по fileKey delete /v1/filer/{fileKey}
curl 'https://api.ati.su/v1/filer/{fileKey}' \ -X 'DELETE' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json'Процедура Выполнить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Запрос("DELETE", "https://api.ati.su", "/v1/filer/{fileKey}"); 200 OK
400 Неверные входные данные.
Стандартный ответ с описанием ошибки
Код ошибки
Описание ошибки
403 Отсутствует разрешение.
Стандартный ответ с описанием ошибки
Код ошибки
Описание ошибки
Файлы FirmDocument, CatalogsTrucks/CatalogsDrivers, Orders и Load можно удалять независимо от прав и расположения в подразделениях.
Удаление аватарки контакта или логотипа фирмы delete /v1/filer/type/{businessType}
curl 'https://api.ati.su/v1/filer/type/{businessType}' \ -X 'DELETE' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json'Процедура Выполнить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Запрос("DELETE", "https://api.ati.su", "/v1/filer/type/{businessType}"); 200 OK
400 Неверные входные данные.
Стандартный ответ с описанием ошибки
Код ошибки
Описание ошибки
403 Отсутствует разрешение.
Стандартный ответ с описанием ошибки
Код ошибки
Описание ошибки
Права на удаление зависят от того, что именно удаляется:
- Логотип фирмы: нужно быть в Головном подразделении и иметь право “Администрировать контакты и подразделения”.
- Свой аватар: нужно иметь права “Редактировать и удалять свою контактную информацию” и “Администрировать контакты и подразделения”.
- Чужой аватар: нужно быть в одном подразделении с контактом и иметь право “Администрировать контакты и подразделения”.