📅 30.07.2026 ⏱ 2 мин чтения

API для партнёров

API для партнёров

Для интеграции вашей CRM/ERP с smetach.ru — программная загрузка цен без ручного ввода в дашборде.

База

ПараметрЗначение
Base URLhttps://smetach.ru/partners/api/v1/
АутентификацияOAuth 2.0 через Яндекс ID
ФорматJSON (request и response)
Лимит1000 запросов/час на токен

Аутентификация

GET https://oauth.yandex.ru/authorize?
    response_type=code
    &client_id=<ваш_client_id>
    &redirect_uri=https://smetach.ru/partners/api/callback/
    &scope=login:email+login:info+login:avatar
    &state=<csrf_token>

После редиректа с ?code=<auth_code> обмениваете на токен:

curl -X POST https://oauth.yandex.ru/token \
  -d "grant_type=authorization_code" \
  -d "code=<auth_code>" \
  -d "client_id=<your_client_id>" \
  -d "client_secret=<your_client_secret>"

Получаете access_token — используете в Authorization: Bearer ... header.

Endpoints

GET /profile

Текущий профиль партнёра.

{
  "yandex_id": "yandex-uid-xxx",
  "company_name": "ООО Окна-Плюс",
  "city": "rostov-na-donu",
  "categories": ["okna", "uteplitel"],
  "website": "https://oknaplus.ru",
  "email": "info@oknaplus.ru",
  "verified": true,
  "created_at": "2026-07-30T15:00:00Z",
  "updated_at": "2026-07-30T15:00:00Z"
}

PUT /profile

Обновить профиль (кроме yandex_id, verified).

GET /prices

Список цен по категориям и городам.

{
  "okna": {
    "rostov-na-donu": {
      "profile_58mm_standart": {"price": 12000, "unit": "rub/m2"},
      "profile_70mm_premium": {"price": 18500, "unit": "rub/m2"},
      "installation": {"price": 2500, "unit": "rub/m2"}
    },
    "krasnodar": { ... }
  },
  "uteplitel": { ... }
}

PUT /prices/{category}/{city}

Обновить цены для конкретной категории в конкретном городе.

{
  "profile_58mm_standart": {"price": 11500, "unit": "rub/m2"},
  "profile_70mm_premium": {"price": 18000, "unit": "rub/m2"}
}

GET /stats

Статистика показов за период.

{
  "from": "2026-07-01",
  "to": "2026-07-31",
  "impressions": 1247,
  "clicks_to_profile": 89,
  "clicks_to_website": 23
}

Webhooks

Можно подписаться на события:

Webhook URL указывается в дашборде.

Коды ошибок

КодОписание
400Невалидный JSON
401Нет или невалидный токен
403Не верифицированный аккаунт
404Категория/город не найдены
429Превышен rate limit
500Внутренняя ошибка

OpenAPI спецификация

Скачать OpenAPI 3.0 файл — содержит полную схему всех endpoints.

Примеры на разных языках

Python

import requests

TOKEN = "y0_Ag..."
r = requests.get(
    "https://smetach.ru/partners/api/v1/prices",
    headers={"Authorization": f"Bearer {TOKEN}"}
)
prices = r.json()

curl

curl -H "Authorization: Bearer y0_Ag..." \
     https://smetach.ru/partners/api/v1/prices

Поддержка

support@smetach.ru — по вопросам интеграции.