Интеграция Zhivly API в ваши проекты
Подробное руководство по интеграции Zhivly API для автоматического улучшения текстов
Интеграция Zhivly API в ваши проекты
Zhivly API позволяет автоматически улучшать тексты прямо в ваших приложениях и сервисах. Это руководство поможет вам настроить интеграцию.
Что вы можете сделать с API
- Автоматически улучшать описания товаров
- Адаптировать тон коммуникации под аудиторию
- Обрабатывать пользовательский контент
- Интегрироваться в CMS и CRM системы
- Создавать автоматические email-рассылки
Требования
- Аккаунт Zhivly Pro (299 ₽/месяц)
- API ключ (доступен в личном кабинете)
- Базовые навыки программирования
Шаг 1: Получение API ключа
- Войдите в свой аккаунт Zhivly
- Перейдите в раздел "Настройки"
- Скопируйте ваш API ключ
- Храните ключ в безопасности (не передавайте третьим лицам)
Шаг 2: Базовая настройка
Python
import requests
import os
# Конфигурация
API_KEY = os.getenv('ZHIVLY_API_KEY')
API_URL = 'https://api.zhivly.ru/v1'
# Заголовки для запросов
headers = {
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
JavaScript/Node.js
// Конфигурация
const apiKey = process.env.ZHIVLY_API_KEY
const apiUrl = 'https://api.zhivly.ru/v1'
// Заголовки для запросов
const headers = {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
}
PHP
<?php
$apiKey = getenv('ZHIVLY_API_KEY');
$apiUrl = 'https://api.zhivly.ru/v1';
$headers = [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json'
];
?>
Шаг 3: Преобразование текста
Базовый запрос
def transform_text(text, tone='neutral'):
data = {
'text': text,
'tone': tone
}
response = requests.post(
f'{API_URL}/transform',
headers=headers,
json=data
)
if response.status_code == 200:
result = response.json()
return result['data']['result']
else:
raise Exception(f'Error: {response.status_code}')
Примеры использования
Улучшение описания товара
product_description = """
Компания осуществляет реализацию инновационных решений
в сфере автоматизации бизнес-процессов.
"""
improved_description = transform_text(
product_description,
tone='friendly'
)
print(improved_description)
# Результат: Мы предлагаем инновационные решения для автоматизации вашего бизнеса!
Адаптация email-рассылки
email_text = """
Уважаемый клиент! Информируем вас о наличии
новых позиций в нашем ассортименте продукции.
"""
friendly_email = transform_text(email_text, tone='friendly')
print(friendly_email)
# Результат: Привет! У нас появились новинки - заходи посмотреть!
Шаг 4: Обработка ошибок
def transform_text_with_retry(text, tone, max_retries=3):
for attempt in range(max_retries):
try:
response = requests.post(/* параметры запроса */)
if response.status_code == 200:
return response.json()['data']['result']
elif response.status_code == 429:
# Слишком много запросов
retry_after = int(response.headers.get('Retry-After', 1))
time.sleep(retry_after)
continue
elif response.status_code >= 500:
# Ошибка сервера
if attempt < max_retries - 1:
time.sleep(2 ** attempt)
continue
response.raise_for_status()
except requests.exceptions.RequestException as e:
if attempt == max_retries - 1:
raise
raise Exception("Max retries exceeded")
Шаг 5: Практические примеры интеграции
WordPress плагин
<?php
// Автоматическое улучшение постов перед публикацией
add_filter('content_save_pre', 'zhivly_improve_content');
function zhivly_improve_content($content) {
// Проверяем, нужно ли обрабатывать контент
if (get_post_meta(get_the_ID(), '_zhivly_processed', true)) {
return $content;
}
// Отправляем в Zhivly
$improved = zhivly_transform($content, 'neutral');
// Помечаем как обработанный
update_post_meta(get_the_ID(), '_zhivly_processed', true);
return $improved;
}
?>
Telegram бот
import telebot
from zhivly_api import ZhivlyAPI
bot = telebot.TeleBot('YOUR_TELEGRAM_TOKEN')
zhivly = ZhivlyAPI('your_api_key')
@bot.message_handler(func=lambda message: True)
def handle_message(message):
if message.text.startswith('/improve '):
text = message.text[9:] # Убираем команду
try:
improved = zhivly.transform(text, tone='friendly')
bot.reply_to(message, improved)
except Exception as e:
bot.reply_to(message, f'Ошибка: {str(e)}')
bot.polling()
Slack integration
// Обработка сообщений в Slack
app.command('/zhivly', async ({ command, ack, say }) => {
await ack()
const text = command.text
const tone = command.text.includes('?') ? 'friendly' : 'neutral'
try {
const improved = await zhivly.transform(text, tone)
await say(improved)
} catch (error) {
await say(`Произошла ошибка: ${error.message}`)
}
})
Шаг 6: Оптимизация производительности
Кэширование результатов
from functools import lru_cache
import hashlib
@lru_cache(maxsize=1000)
def get_cached_transform(text_hash, tone):
# Проверяем кэш перед запросом к API
pass
def transform_text(text, tone):
# Создаём хэш текста для кэширования
text_hash = hashlib.md5(text.encode()).hexdigest()
# Проверяем кэш
cached = get_cached_transform(text_hash, tone)
if cached:
return cached
# Если нет в кэше - отправляем запрос
result = zhivly_transform(text, tone)
# Сохраняем в кэш
cache_result(text_hash, tone, result)
return result
Асинхронные запросы
import asyncio
import aiohttp
async def async_transform_text(text, tone):
async with aiohttp.ClientSession() as session:
data = {'text': text, 'tone': tone}
async with session.post(
'https://api.zhivly.ru/v1/transform',
headers=headers,
json=data
) as response:
return await response.json()
# Обработка нескольких текстов одновременно
async def process_texts(texts):
tasks = [async_transform_text(text, 'neutral') for text in texts]
return await asyncio.gather(*tasks)
Лимиты и квоты
- Максимальная длина текста: 5000 символов
- Лимит запросов: 100 в минуту
- Месячный лимит: 10,000 запросов
- Доступные тональности: neutral, friendly, formal, professional, casual
Мониторинг использования
def check_usage_stats():
response = requests.get(
f'{API_URL}/stats',
headers=headers
)
stats = response.json()
print(f"Запросов this month: {stats['api_usage']['requests_this_month']}")
print(f"Символов обработано: {stats['api_usage']['characters_this_month']}")
Безопасность
- Храните API ключ в переменных окружения
- Используйте HTTPS для всех запросов
- Валидируйте входные данные
- Ограничьте доступ к API ключу
- Регулярно обновляйте ключ
Пример файла .env
# Zhivly API Configuration
ZHIVLY_API_KEY=your-secret-api-key-here
ZHIVLY_API_URL=https://api.zhivly.ru/v1
Troubleshooting
Частые ошибки
401 Unauthorized
- Проверьте API ключ
- Убедитесь, что подписка Pro активна
429 Too Many Requests
- Соблюдайте лимиты запросов
- Используйте retry логику
413 Payload Too Large
- Проверьте длину текста (максимум 5000 символов)
- Разделите длинные тексты
500 Internal Server Error
- Попробуйте повторить запрос позже
- Проверьте статус сервиса на status.zhivly.ru
Поддержка
Если у вас возникли вопросы:
- Проверьте документацию
- Напишите на [email protected]
- Для Pro-пользователей доступна приоритетная поддержка
Начните интеграцию сегодня и сделайте ваши тексты более естественными!