Есть ли у Циана API для управления ставками
Короткий ответ: нет. В публичном API Циана всё, что касается аукциона, доступно только на чтение — поставить ставку методом API нельзя. Управлять ей программно можно единственным способом: подставлять значение в XML-фид, который забирает площадка.
Что в API есть на самом деле
В спецификации публичного API Циана (public-api.cian.ru/swagger/latest) на сентябрь 2026 года пятьдесят методов. Аукциона касаются четыре, и все — читающие:
- get-auction — текущая позиция объявления и ставка лидера;
- get-auction-predictions — прогноз показов по объявлениям;
- get-cpc-promotion-parameters — справочные параметры CPC-продвижения;
- get-cpc-promotion-competitions — сводка по конкуренции, остаток дневного лимита и платные просмотры за сутки.
Рядом лежат полезные вещи, о которых мало кто знает: get-order возвращает все объявления аккаунта со статусами, get-operations — биллинговые списания по сотрудникам мастер-аккаунта, то есть фактический расход, а get-views-statistics — просмотры и раскрытия телефона по каждому объявлению.
Чего в нём нет и почему это важно
Метода, который записывает ставку, в публичном API нет ни одного. Ни set-auction, ни update-bet, ни чего-либо похожего. Это не пробел в документации — это архитектурное решение площадки: ставка считается частью данных объявления, а данные объявления Циан принимает из фида.
Практическое следствие важнее самого факта. Любой сервис, который обещает управлять вашими ставками на Циане, работает через ваш фид — других вариантов не существует. А значит, вопрос «есть ли у вас интеграция по API» при выборе такого сервиса бессмысленный. Правильный вопрос звучит иначе: куда в кабинете Циан будет указывать адрес выгрузки и что произойдёт, если сервис окажется недоступен.
Единственный рабочий путь — фид
Ставка живёт в выгрузке, в блоке аукциона у каждого объекта:
<object>
<ExternalId>1105103</ExternalId>
<auction>
<bet>520</bet>
</auction>
</object>
Схема управления получается такой: выгрузка формируется вашей CRM как формировалась, сервис забирает её, подставляет рассчитанные ставки и отдаёт дальше по своему адресу. В кабинете Циан меняется одна ссылка. Описания, фотографии, цены и статусы проходят насквозь без изменений.
Со стороны CRM при этом не меняется ничего, и участие её разработчиков не требуется. Требуется другое — согласие тех, кто отвечает за выгрузку, на смену адреса. Для крупной компании это не галочка, а решение, и обсуждать его лучше до начала работ, а не после.
Почему ставку вообще приходится пересчитывать, а не выставить один раз — в разборе как устроен аукцион продвижения на Циан. Как считать, во что обходится обращение, — в материале сколько стоит продвижение на Циан.
Как быстро изменение доезжает до выдачи
Индексатор Циана забирает фид примерно раз в тридцать четыре минуты. Это задаёт практический предел: как бы часто сервис ни пересчитывал ставку внутри себя, до выдачи изменение доедет не быстрее очередного обхода.
Отсюда же следует и оценка риска: если сервис, стоящий между вашей CRM и Цианом, окажется недоступен, площадка не получит обновление ровно один цикл. Разумная реализация на такой случай отдаёт последнюю удачную версию выгрузки, а не ошибку — иначе объявления рискуют уехать в Циан с пустыми ставками.
Грабли, на которые наступают при первой интеграции
Ставка из API и ставка из фида — разные величины. Значение currentBet, которое отдаёт get-auction, приходит вместе со стоимостью пакета продвижения: для «Топа» это порядка 1577 ₽. Если взять его и положить обратно в фид как ставку, Циан прибавит стоимость пакета заново. Контур замыкается в петлю, и ставка растёт на эту сумму при каждом цикле: 40 → 1617 → 3177 и дальше. Обнаруживается это обычно по счёту.
Регистр тегов в фидах различается. Встречаются и <Auction><Bet>, и <auction><bet> — Циан принимает оба написания. А вот разбор по точному имени тега находит только своё: код, написанный под один фид, на другом молча создаёт второй блок ставки рядом с существующим.
Объявление может стоять в Топе вообще без ставки. Пакет продвижения оплачивается отдельно от участия в аукционе. Объект с PromotionType=top и без блока <auction> показывается в самом низу того блока, за который уже заплачено. В крупных выгрузках таких объектов бывают десятки, и в отчётах это никак не видно.
Про объекты в Топе без ставки есть отдельный разбор с инструкцией, как посчитать их у себя по выгрузке: почему объявление в Топе, а показывается внизу.
Цены в фиде бывают не в рублях. В премиальном сегменте часть объектов выставляется в долларах и евро — валюта лежит в BargainTerms/Currency. Любое правило вида «объекты дороже ста миллионов ведём отдельно» обязано считаться по курсу, иначе дом за шесть миллионов долларов попадёт в дешёвый сегмент и получит чужой потолок ставки.