Настройка Universal Publisher для любой платформы
Universal Publisher — универсальная интеграция для любой платформы, которой нет в списке PublishIQ. Подключайте кастомные CMS, внутренние инструменты компании или экзотические платформы через webhook или REST API с полным контролем над HTTP-запросами.
Что вам понадобится
✅ API-endpoint целевой платформы
URL для приёма POST/PUT/PATCH запросов. Может быть webhook, REST API или кастомный endpoint вашей CMS.
✅ Документация API
Формат payload (JSON/form-data), обязательные заголовки (Authorization, Content-Type), структура ответа.
Ключевые возможности
🔀 Кастомные HTTP-методы
POST, PUT, PATCH — выберите метод, который требует ваш API.
📝 Шаблоны payload с переменными
Используйте переменные в JSON-шаблоне: {{title}}, {{content}}, {{image_url}}
{
"post_title": "{{title}}",
"body": "{{content}}",
"image": "{{image_url}}"
}🔐 Кастомные заголовки
Добавьте авторизацию, Content-Type и любые другие заголовки:
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json🎯 Парсинг ответа (JSON path)
Укажите путь к ID созданного поста в ответе: data.post_id или result.id
Выберите целевую платформу
1.1. Определите endpoint
Найдите в документации API целевой платформы URL для создания постов/контента. Примеры:
Кастомная CMS:
https://your-cms.com/api/postsВнутренний инструмент:
https://company-tool.internal/webhooks/contentWebhook-сервис (Zapier, Make):
https://hooks.zapier.com/hooks/catch/...1.2. Изучите требования
Уточните в документации:
- • HTTP-метод (обычно POST)
- • Формат тела запроса (JSON, form-data)
- • Обязательные заголовки (Authorization, API-Key, Content-Type)
- • Структура успешного ответа (для парсинга ID)
Создайте API endpoint или webhook
2.1. Получите credentials
Если API требует авторизацию — создайте API-токен/ключ в админ-панели целевой платформы:
Примеры авторизации:
- • Bearer Token:
Authorization: Bearer sk-abc123... - • API Key:
X-API-Key: your-secret-key - • Basic Auth:
Authorization: Basic base64(user:pass)
2.2. Протестируйте вручную (опционально)
Отправьте тестовый запрос через curl или Postman, чтобы убедиться в работоспособности:
curl -X POST https://your-api.com/posts \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title":"Test","content":"Hello World"}'Настройте шаблон payload
3.1. Определите формат
Посмотрите в документации API, какие поля обязательны. Создайте JSON-шаблон с переменными PublishIQ:
Доступные переменные:
- •
{{title}}— заголовок поста - •
{{content}}— текст поста - •
{{image_url}}— URL картинки (если есть) - •
{{scheduled_at}}— дата публикации (ISO 8601)
3.2. Создайте шаблон
Пример шаблона для кастомной CMS:
{
"title": "{{title}}",
"body": "{{content}}",
"featured_image": "{{image_url}}",
"publish_date": "{{scheduled_at}}",
"status": "published"
}💡 Совет:
Если платформа не поддерживает отложенную публикацию, не используйте {{scheduled_at}} — пост опубликуется сразу.
Добавьте заголовки и подключите в PublishIQ
4.1. Настройте заголовки
В PublishIQ → “Подключенные платформы” → “Добавить платформу” → “Universal Publisher” добавьте необходимые заголовки:
Типичные заголовки:
4.2. Укажите путь к ID в ответе
Если API возвращает ID созданного объекта, укажите JSON path для его извлечения:
Пример ответа API:
{
"success": true,
"data": {
"post_id": "abc123",
"url": "https://..."
}
}Для этого ответа укажите путь: data.post_id
4.3. Протестируйте подключение
Нажмите “Проверить подключение” — PublishIQ отправит тестовый запрос и покажет результат.
✅ Готово!
Universal Publisher настроен. Теперь вы можете публиковать контент в любую платформу через webhook или API.
Примеры использования
🏢 Внутренняя CMS компании
Публикуйте корпоративные новости в интранет-портал через REST API:
URL: https://intranet.company.com/api/news
Method: POST
Headers: Authorization: Bearer company_token⚡ Zapier / Make (Integromat)
Создайте webhook-триггер в Zapier/Make и подключите к нему 1000+ сервисов:
URL: https://hooks.zapier.com/hooks/catch/...
Method: POST
Payload: {"text": "{{content}}"}📊 Notion Database
Добавляйте посты как записи в базу данных Notion через Notion API:
URL: https://api.notion.com/v1/pages
Headers: Authorization: Bearer notion_token
Payload: {"parent": {"database_id": "..."}}Частые проблемы и решения
❌ Ошибка “Connection timeout”
Причина: Endpoint недоступен или блокирует запросы от PublishIQ.
Решение:
- Проверьте доступность URL через curl
- Убедитесь что фаервол не блокирует IP PublishIQ
- Проверьте правильность протокола (https/http)
❌ Ошибка “Invalid JSON in payload”
Причина: Синтаксическая ошибка в шаблоне payload.
Решение:
- Проверьте JSON через валидатор (jsonlint.com)
- Убедитесь что переменные в двойных фигурных скобках: {{title}}
- Проверьте запятые и кавычки
❌ Ошибка “401 Unauthorized” или “403 Forbidden”
Причина: Неправильный токен авторизации или недостаточно прав.
Решение:
- Проверьте что токен скопирован полностью
- Убедитесь что заголовок Authorization настроен корректно
- Проверьте права API-токена (scope/permissions)
- Попробуйте регенерировать токен в целевой платформе
❌ Пост публикуется, но не появляется в PublishIQ
Причина: Неправильно указан JSON path для извлечения ID из ответа.
Решение:
- Отправьте тестовый запрос через Postman и посмотрите ответ
- Найдите путь к ID: если ответ
{"data": {"id": "123"}}, путь = data.id - Обновите поле “Response ID path” в настройках
Часто задаваемые вопросы
Какие платформы можно подключить?
Любые, у которых есть REST API или webhook для приёма данных: кастомные CMS (WordPress с плагином, Strapi, Ghost), внутренние инструменты компании, Zapier/Make, Notion, Airtable, Google Sheets (через Apps Script), самописные сервисы. Главное — наличие HTTP-endpoint.
Можно ли использовать несколько видов авторизации?
Да. Добавьте нужные заголовки: Bearer Token (Authorization: Bearer ...), API Key (X-API-Key: ...), Basic Auth (Authorization: Basic ...), или кастомные заголовки. Вы можете комбинировать несколько заголовков одновременно.
Есть ли ограничения на количество запросов?
PublishIQ не ограничивает количество запросов к Universal Publisher. Однако целевая платформа может иметь собственные rate limits — уточните их в документации API.
Как отладить неработающий webhook?
Используйте тестовые сервисы:
- webhook.site — создайте временный endpoint и посмотрите что отправляет PublishIQ
- requestbin.com — аналогично, показывает заголовки и тело запроса
- Скопируйте запрос → протестируйте через curl/Postman → найдите проблему
Официальная документация
📚 Полезные ссылки
- Пошаговая инструкция по настройке Universal Publisher — подробный гайд с примерами
- Universal Publisher — обзор возможностей — feature page с примерами интеграций
- Webhook.site — тестирование вебхуков онлайн
- JSONLint — валидация JSON шаблонов
Готовы подключить свою платформу?
Создайте бесплатный аккаунт PublishIQ и настройте Universal Publisher за 15 минут