🎉 Новые пользователи %50 скидка! в корзине YENI50 используйте код. зарегистрируйтесь бесплатно →
SSiberMakale

Документация API

Подключите SiberMakale к вашему собственному приложению, сайту или средствам автоматизации (Zapier, Make, n8n): создавайте статьи, отслеживайте их статус, получайте контент в формате HTML / Markdown.

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

  1. Создать бесплатный аккаунт или войдите, затем создайте API-ключ на этой странице.
  2. POST ?r=articles и отправьте тему и ключевые слова.
  3. GET ?r=jobs&id=… и опрашивайте, пока статус не станет «done».
  4. GET ?r=article&id=… получите статью целиком с помощью

Базовый адрес: https://sibermakale.info/api/v1.php · Все ответы в JSON (UTF-8) · Для каждой статьи списывается 1 лимит(а) статей.

🔑 Ваши API-ключи

Войдите в систему, чтобы создать ключ API.

Войти Бесплатная регистрация

Ни с кем не делитесь своим ключом и не размещайте его в общедоступном коде, выполняемом в браузере; храните его на стороне сервера. Ключ хранится только в виде хеша, мы тоже не имеем к нему доступа.

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

Передавайте ключ в каждом запросе Authorization в заголовке:

Authorization: Bearer sm_ANAHTARINIZ

Альтернатива: X-API-Key: sm_ANAHTARINIZ

📡 Эндпоинты

GET?r=me

Информация об аккаунте и балансы (лимит статей, кредиты инструментов, окончание срока действия безлимитного пакета).

Пример ответа
{"ok":true,"user":{"id":12,"name":"Ayşe","email":"ayse@ornek.com","article_credits":18,"tool_credits":5,"unlimited_until":null}}
GET?r=options

Список доступных значений языка, тональности, длины, типа контента, изображений и акцентов.

Пример ответа
{"ok":true,"options":{"language":["tr","en","de",…],"tone":["profesyonel",…],"length":[500,1000,1500,…],…}}
POST?r=articles

Запускает задачу создания статьи. Каждая статья использует 1 лимит статей; лимит за статьи с ошибкой возвращается автоматически. Сведения о параметрах тела запроса см. ниже.

Пример ответа
{"ok":true,"job":{"id":345,"status":"planning","total":1,"done":0,"articles":[{"id":901,"status":"pending","title":""}]}}
GET?r=jobs&id=345

Статус задачи. Каждый запрос продвигает задачу на один шаг; опрашивайте статус каждые 10–20 секунды, пока статус не станет «done» (или используйте webhook_url).

Пример ответа
{"ok":true,"job":{"id":345,"status":"done","total":1,"done":1,"articles":[{"id":901,"status":"done","title":"Kahve Makinesi Nasıl Seçilir?","word_count":1540,"originality":96.4}]}}
GET?r=articles&limit=20

Последние готовые статьи (до 100).

Пример ответа
{"ok":true,"articles":[{"id":901,"job_id":345,"title":"…","slug":"kahve-makinesi-nasil-secilir","word_count":1540}]}
GET?r=article&id=901&format=html

Полный текст статьи. format: html (по умолчанию), markdown или text.

Пример ответа
{"ok":true,"article":{"id":901,"title":"…","seo_title":"…","meta_description":"…","slug":"…","format":"html","content":"<h2>…</h2><p>…</p>"}}

🧩 Параметры статьи (POST ?r=articles)

Тело JSON (Content-Type: application/json) или отправлены как форма.

ПолеТипОбязательноОписание
topicтекстДа*Тема статьи / идея заголовка (не менее 3 символов).
topicsмассив / строкиНетМассовое написание: каждый элемент — отдельная статья (макс. 10). Если указано, используется вместо topic.
keywordsмассив / текст через запятуюДаКлючевые слова (1–10).
languageтекстНетКод языка, напр. tr, en, de. По умолчанию tr.
lengthчислоНетЦелевой объём (options → length). По умолчанию 1000.
toneтекстНетТон текста (options → tone). По умолчанию профессиональный.
content_typeтекстНетТип контента: блог, руководство, список, сравнение… (options → content_type).
seoboolНетSEO-оптимизация. В API по умолчанию включено.
highlightсериалНетШаблоны выделения (options → highlight).
faq / toc / takeaways / aeo / citationsboolНетFAQ, оглавление, ключевые моменты, оптимизация под ИИ-поиск, источники.
image_strategyтекстНетnone (по умолчанию), ai или web (options → image_strategy).
images_per_articleчислоНет1–5 изображений.
use_brandboolНетПисать по данным профиля бренда.
link_urlтекстНетВаш сайт для ссылок в статье.
webhook_urlадрес httpsНетПосле завершения результат отправляется на этот адрес методом POST в формате JSON.

* Требуется topic или topics.

🔄 Типичный сценарий

POST articles→job.status: planning→running→done ✓→GET article

В зависимости от настроек статья обычно готова за 1–4 мин. Статус задачи: planning, running, done, failed. Статус статьи: pending, running, done, failed.

🪝 Webhook

Вместо опроса webhook_url если укажете, по завершении задачи на ваш адрес будет отправлено следующее тело запроса: POST :

{"event":"job.done","job":{"id":345,"status":"done","total":1,"done":1,"articles":[…]}}

Проверка: X-SiberMakale-Signature заголовок, текста HMAC-SHA256 подпись; в качестве ключа используется хэш SHA-256 API-ключа, запустившего задачу: hash_hmac('sha256', $govde, hash('sha256', $apiAnahtari)). Задача выполняется в фоновом режиме, даже если вы её не опрашиваете, и по завершении отправляется webhook (только https-адреса).

💻 Примеры кода

curl -X POST "https://sibermakale.info/api/v1.php?r=articles" \
  -H "Authorization: Bearer sm_ANAHTARINIZ" \
  -H "Content-Type: application/json" \
  -d '{"topic":"Kahve makinesi nasıl seçilir","keywords":["kahve makinesi","espresso"],"language":"tr","length":1500,"faq":true}'

⚠ Коды ошибок

{"ok":false,"error":{"type":"invalid_request","message":"En az bir anahtar kelime girin."}}
HTTPtypeЗначение
401unauthorizedКлюч отсутствует или недействителен.
402insufficient_creditsНедостаточно статей.
404not_foundЗадание / статья не найдены или нет эндпоинта.
422invalid_requestОтсутствует или неверный параметр (подробности в сообщении).
429rate_limitedПревышен лимит в 60 запросов в минуту (см. заголовок Retry-After).
500server_errorНепредвиденная ошибка; попробуйте снова.

📏 Лимиты и тарификация

  • 60 запросов в минуту (на ключ).
  • Не более 10 статей за один запрос; каждая статья расходует 1 квоту статей. Для безлимитных тарифов действует суточный лимит добросовестного использования.
  • Сам API бесплатен; списываются только созданные статьи из квоты. О тарифах см. пакеты страницу.