# Авто.ру API для дилеров: Подключиться и проверить баланс кабинета

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

Первый шаг интеграции дилерской системы: сессия, баланс и подключённые тарифы.

1. Запроси токен авторизации у аккаунт-менеджера Авто.ру. Он передаётся в заголовке x-authorization в каждом запросе.
2. Создай сессию: POST /auth/login с login (телефон или email) и password пользователя кабинета. В ответе session.id — передавай его в заголовке x-session-id во всех операциях с кабинетом и объявлениями.
3. Сессия живёт долго (ttl_sec в ответе), поэтому храни её и создавай новую только после ответа 401, а не перед каждым запросом.
4. Проверь баланс: GET /dealer/account, подключённые тарифы — GET /dealer/campaigns.
5. Если работаешь через агентский аккаунт, добавляй x-dealer-id с ID клиента.

```bash
TOKEN='<токен от менеджера>'
SESSION=$(curl -s -X POST https://apiauto.ru/1.0/auth/login \
  -H "x-authorization: $TOKEN" -H 'Content-Type: application/json' -H 'Accept: application/json' \
  -d '{"login": "dealer@example.ru", "password": "<пароль>"}' | jq -r .session.id)

curl -s https://apiauto.ru/1.0/dealer/account  -H "x-authorization: $TOKEN" -H "x-session-id: $SESSION"
curl -s https://apiauto.ru/1.0/dealer/campaigns -H "x-authorization: $TOKEN" -H "x-session-id: $SESSION"
```

## Базовые 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...'
```

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

### POST /auth/login — Создание сессии

Пример ответа (сокращён):

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `x-authorization` | header | string | да | Токен авторизации |
| `login` | body | string | да | Логин: телефон или email |
| `password` | body | string | да | Пароль |

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

```
curl -i -X POST 'https://apiauto.ru/1.0/auth/login' -H 'x-authorization: 2dtrer432...' -d '{"login":"ivan-ivanov@auto.ru","password":"autoru"}' -H 'Accept: application/json' -H 'Content-Type: application/json'
```

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

```json
{
"session": {
"id": "11112233|152...019.777..0.oWEL...JwyqRHw...",
"user_id": "11112233",
"device_uid": "76ebe2f87d5850c5c12...",
"creation_timestamp": "2018-05-28T14:33:39.697Z",
"expire_timestamp": "2018-08-26T14:33:39.697Z",
"ttl_sec": 7776000
},
"status": "SUCCESS"
}
```

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

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

### GET /dealer/campaigns — Подключённые тарифы дилера

Список тарифов, подключённых дилеру.

## Нюансы

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

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

- [Снять с продажи проданные автомобили](https://mcp-everything.ru/integrations/autoru/scenarios/snyat-s-prodazhi-prodannye-avtomobili.md)
- [Продвинуть объявления платными услугами](https://mcp-everything.ru/integrations/autoru/scenarios/prodvinut-obyavleniya-platnymi-uslugami.md)

---

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