Клич

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

Публикуйте объявления из своей системы по HTTPS. Идентификаторы категорий и городов — UUID.

Базовый URL https://klich24.ru/api/v1

Быстрый старт

Три шага до первого запроса.

  1. ЗаявкаКабинет → вкладка «API», укажите HTTPS-адрес сайта.
  2. ТокенПосле одобрения получите Bearer-токен (показывается один раз).
  3. ЗаголовкиAuthorization, X-Klich-Client, X-Request-Id (UUID).
GET/external/catalog

Справочник UUID

Категории, города и теги для полей category_id и city_id.

curl -X GET 'https://klich24.ru/api/v1/external/catalog' \
  -H 'Authorization: Bearer ВАШ_ТОКЕН' \
  -H 'X-Klich-Client: my-crm' \
  -H 'X-Request-Id: 550e8400-e29b-41d4-a716-446655440000'

200 OK

{
  "data": {
    "categories": [ { "uuid": "aaaaaaaa-bbbb-4ccc-8ddd-eeeeeeeeeeee", "name": "Транспорт", "slug": "auto" } ],
    "cities": [ { "uuid": "ffffffff-1111-4222-8333-444444444444", "name": "Москва", "slug": "moskva" } ],
    "tags": [ { "uuid": "…", "name": "велосипед", "slug": "velosiped" } ]
  }
}
400Неверный запрос
401Нет доступа
429Слишком много запросов
POST/external/listings

Создать одно объявление

JSON с image_urls или multipart с файлами.

Обязательные поля

titlestring — заголовок
descriptionstring — текст объявления
category_idstring (UUID) — из /external/catalog
city_idstring (UUID) — из /external/catalog
pricenumber — цена в рублях
districtstring — район
contact_emailstring — email
contact_telegramstring — Telegram
contact_maxstring — MAX
tagsstring[] — имена тегов
image_urlsstring[] — до 10 HTTPS URL, только JSON
images[]file[] — до 10 файлов ≤5 МБ, только multipart

JSON

curl -X POST 'https://klich24.ru/api/v1/external/listings' \
  -H 'Authorization: Bearer ВАШ_ТОКЕН' \
  -H 'X-Klich-Client: my-crm' \
  -H 'X-Request-Id: 550e8400-e29b-41d4-a716-446655440000' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Продам велосипед",
    "description": "Состояние отличное, самовывоз.",
    "category_id": "aaaaaaaa-bbbb-4ccc-8ddd-eeeeeeeeeeee",
    "city_id": "ffffffff-1111-4222-8333-444444444444",
    "price": 15000,
    "district": "Центр",
    "contact_telegram": "@example",
    "tags": ["велосипед"],
    "image_urls": ["https://example.com/photo.jpg"]
  }'

Multipart

curl -X POST 'https://klich24.ru/api/v1/external/listings' \
  -H 'Authorization: Bearer ВАШ_ТОКЕН' \
  -H 'X-Klich-Client: my-crm' \
  -H 'X-Request-Id: 550e8400-e29b-41d4-a716-446655440000' \
  -F 'title=Продам велосипед' \
  -F 'description=Состояние отличное' \
  -F 'category_id=aaaaaaaa-bbbb-4ccc-8ddd-eeeeeeeeeeee' \
  -F 'city_id=ffffffff-1111-4222-8333-444444444444' \
  -F 'price=15000' \
  -F 'images[]=@/path/to/photo.jpg'

201 Created

{
  "data": {
    "uuid": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "title": "Продам велосипед",
    "price": 15000,
    "category": { "uuid": "aaaaaaaa-bbbb-4ccc-8ddd-eeeeeeeeeeee", "name": "Транспорт" },
    "city": { "uuid": "ffffffff-1111-4222-8333-444444444444", "name": "Москва" },
    "is_active": true
  }
}
400Неверный запрос
401Нет доступа
422Ошибка в данных
429Слишком много запросов
POST/external/listings/bulk

Массовое создание

До 50 объявлений за раз. Только JSON.

Тело запроса

listingsobject[] — массив объявлений, до 50

Обязательные поля элемента

titlestring — заголовок
descriptionstring — текст
category_idstring (UUID) — из /external/catalog
city_idstring (UUID) — из /external/catalog
pricenumber — цена в рублях
districtstring — район
contact_emailstring — email
contact_telegramstring — Telegram
contact_maxstring — MAX
tagsstring[] — имена тегов
image_urlsstring[] — HTTPS URL
curl -X POST 'https://klich24.ru/api/v1/external/listings/bulk' \
  -H 'Authorization: Bearer ВАШ_ТОКЕН' \
  -H 'X-Klich-Client: my-crm' \
  -H 'X-Request-Id: 550e8400-e29b-41d4-a716-446655440000' \
  -H 'Content-Type: application/json' \
  -d '{
    "listings": [
      {
        "title": "Объявление 1",
        "description": "Текст",
        "category_id": "aaaaaaaa-bbbb-4ccc-8ddd-eeeeeeeeeeee",
        "city_id": "ffffffff-1111-4222-8333-444444444444",
        "price": 1000,
        "image_urls": ["https://example.com/a.jpg"]
      }
    ]
  }'
201Все созданы
207Частичный успех
422Ничего не создано
{
  "data": {
    "created": [ { "index": 0, "listing": { "uuid": "…", "title": "Объявление 1" } } ],
    "failed":  [ { "index": 1, "errors": { "title": ["required"] } } ],
    "created_count": 1,
    "failed_count": 1
  }
}
400Неверный запрос
401Нет доступа
422Ошибка в данных
429Слишком много запросов

Храните токен в секрете. Для картинок — HTTPS-ссылки или загрузка файлов.