Это обещания тем, кто пишет клиенты и ботов. Не о ценностях — о том, на что можно опереться, когда ваш код уже в проде.
Схема TL — вся, а не выдержки: каждый конструктор, каждый метод, каждый тип, с отдельной страницей и с машиночитаемой выгрузкой. Если метод существует на сервере, он есть в схеме. Скрытых методов, о которых знают только свои клиенты, у нас нет.
Номер слоя — это контракт. Внутри слоя сигнатуры не меняются: если конструктор изменился, у него новый идентификатор и он приходит в новом слое, а старый продолжает работать. Клиент сообщает свой слой при подключении и получает ответы в нём.
Сейчас действует один слой — 223, первый публичный. Следующий появится в журнале слоёв вместе с перечнем изменений; старые слои мы не выпиливаем задним числом.
api_id и api_hash выдаются автоматически на
my.ansible.su — без заявки, без ожидания и
без объяснения, зачем вам клиент. Ключ привязан к аккаунту, а не к компании.
Обратная сторона: ключ может быть заблокирован, если через него идёт
рассылка спама или попытки перебора. Блокировка бьёт по api_id, а не
по вашим пользователям, и мы скажем, за что.
Там, где есть лимит, сервер возвращает FLOOD_WAIT_X с числом
секунд, а не молча роняет соединение. Ошибки — это коды и текст, по которым
можно ветвиться, а не человеческие фразы, меняющиеся от релиза к релизу.
Гарантий доступности (SLA) у нас нет — проект молодой, и обещать четыре девятки было бы враньём. Групповые звонки не реализованы: методы в схеме есть, медиа-часть требует SFU, и он ещё не готов. Часть клиентских сборок отладочные. Полный перечень — на странице технических наработок.
Мы не обещаем совместимость с чужими серверами того же семейства протоколов и не считаем её целью: совместимость нужна для клиентских библиотек, а серверная часть у нас своя.