# Авто.ру API для дилеров: Продвинуть объявления платными услугами

Сценарий из mcp-everything. Актуально на 2026-10-24.

Поднять в выдаче или выделить автомобили, которые долго стоят на складе.

1. Выбери объявления без продвижения: GET /user/offers/{category} с status = active, no_active_services = true и create_date_to — например, старше 30 дней.
2. Посмотри, как они смотрятся: GET /user/offers/{category}/{offerID}/stats — статистика просмотров.
3. Подключи услугу: POST /user/offers/{category}/{offerID}/products с products[].code — all_sale_fresh (поднятие), all_sale_premium (премиум) и т. д. Для all_sale_badge добавь badges — до трёх рекламных текстов.
4. Ответ 402 — на балансе не хватает средств: проверь GET /dealer/account и не повторяй запрос, пока баланс не пополнен.
5. Отключить услугу можно тем же путём методом DELETE.

```bash
curl -s -X POST "https://apiauto.ru/1.0/user/offers/cars/1022557788-4a6efe8b/products" \
  -H "x-authorization: $TOKEN" -H "x-session-id: $SESSION" \
  -H 'Content-Type: application/json' -H 'Accept: application/json' \
  -d '{"products": [{"code": "all_sale_fresh"}, {"code": "all_sale_badge", "badges": ["Один владелец", "Гарантия"]}]}'
```

## Базовые URL

- Боевой: `https://apiauto.ru/1.0`

## Авторизация

Тип: API-ключ

Токен авторизации запрашивают у аккаунт-менеджера Авто.ру и передают в заголовке `x-authorization` в каждом запросе. Операции с объявлениями и кабинетом дилера дополнительно требуют сессию пользователя: её получают методом `POST /auth/login` и передают в заголовке `x-session-id`. При работе через агентский аккаунт клиента указывают в `x-dealer-id`.

```
curl -i -X GET 'GET https://apiauto.ru/1.0/dealer/account' -H 'x-authorization: fefernrjkgnerkj3453445...'
```

## Методы сценария

### GET /dealer/account — Баланс дилера

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `x-authorization` | header | string | да | Токен авторизации |
| `x-session-id` | header | string | да | Сессия пользователя |

### GET /user/offers/{category} — Список объявлений

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `category` | path | string | да | cars, moto, trucks или all |
| `x-session-id` | header | string | да | Сессия пользователя |
| `x-dealer-id` | header | string | нет | ID клиента для агентского аккаунта |
| `page` | query | integer | нет | Номер страницы, 1–1000 |
| `page_size` | query | integer | нет | Объявлений на странице, максимум 100 |
| `status` | query | string | нет | active, inactive или banned; можно повторять |
| `section` | query | string | нет | NEW или USED |
| `sort` | query | string | нет | cr_date-asc (по умолчанию), cr_date-desc, price-asc, price-desc |
| `price_from` | query | number | нет | Цена от |
| `price_to` | query | number | нет | Цена до |
| `vin` | query | string | нет | VIN; можно повторять |
| `mark_model` | query | string | нет | Марка и модель через %23, например MERCEDES%23C_KLASSE |
| `service` | query | string | нет | Фильтр по услуге, например all_sale_premium |
| `create_date_from` | query | string | нет | Дата создания от, ISO 8601 |
| `create_date_to` | query | string | нет | Дата создания до, ISO 8601 |
| `no_active_services` | query | boolean | нет | Только объявления без услуг |
| `auction` | query | boolean | нет | Только объявления в аукционе |

### POST /user/offers/{category}/{offerID}/products — Подключить услуги объявлению

Отключение услуг — `DELETE /user/offers/{category}/{offerID}/products`.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `category` | path | string | да | cars, moto, trucks или all |
| `offerID` | path | string | да | ID объявления |
| `x-session-id` | header | string | да | Сессия пользователя |
| `products` | body | array | да | Подключаемые услуги |
| `products[].code` | body | string | да | all_sale_fresh (поднятие), all_sale_premium (премиум), all_sale_special (спецпредложение), package_turbo (турбо-продажа), reset (сброс) |
| `products[].badges` | body | array | нет | Рекламные тексты для услуги all_sale_badge, до трёх |

Пример запроса:

```
curl -i -X POST 'https://apiauto.ru/1.0/user/offers/cars/1022557788-4a6efe8b/products' -H 'x-authorization: 2dtrer432...' -d '{"products":[{"code": "all_sale_fresh"}]}' -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'x-session-id: 112_aoR02Tpv...'
```

Пример ответа:

```json
{
"status": "SUCCESS"
}
```

### GET /user/offers/{category}/{offerID}/stats — Статистика объявления

Статистика просмотров объявления.

## Нюансы

- Почти все операции с объявлениями требуют обоих заголовков: `x-authorization` (токен) и `x-session-id` (сессия из `/auth/login`).
- Сессия живёт около 90 дней (`ttl_sec` 7776000; в документации единица указана противоречиво — проверьте).
- Ответ может содержать недокументированные служебные поля, порядок полей не гарантирован.
- Подключение платных услуг при нехватке средств возвращает `402`.

## Другие сценарии

- [Подключиться и проверить баланс кабинета](https://mcp-everything.ru/integrations/autoru/scenarios/podklyuchitsya-i-proverit-balans.md)
- [Снять с продажи проданные автомобили](https://mcp-everything.ru/integrations/autoru/scenarios/snyat-s-prodazhi-prodannye-avtomobili.md)

---

Если этого недостаточно — официальная документация: https://yandex.ru/dev/autoru/doc/ru/
Вся интеграция одним документом: https://mcp-everything.ru/integrations/autoru.md
