Blogent

Universal Webhook Integration

Universal JSON contract for any custom website or CMS.

Universal integration: Blogent sends a POST with JSON to your endpoint. You accept the data and publish articles.

HTML tags that require styling

h1, h2, h3, h4

p, ul, ol, li, a, strong, img

table, thead, tbody, tr, th, td

details, summary

For <a>, make sure the rel and target attributes are supported.

.tldr - for the first p (can be styled with larger font size)

.faq-section - wrapper for <details> in FAQ

What you need

  • HTTPS endpoint that accepts POST with Content-Type: application/json.
  • Optional custom authorization header is supported: for example Authorization: c0ef7fe65b75676c6d8a5807b.
  • Store images locally (the image field is a temporary URL).
  • Return {"posted": true} after successful publishing.
  • If publishing fails, return {"posted": false, "message": "..."}, where message briefly explains the error reason. This makes troubleshooting much faster.

JSON payload

{
   "image": "https://.../article.webp",
   "image_category": "desert-tours",
   "alias": "string-for-url",
   "date": "0000-00-00 00:00:00",
   "rubric": "category-slug",
   "params": "key:value|value;key2:value;",
   "author": {
     "id": 7,
     "identifiers": {"lovable": "cms-author-42"},
     "name": "Olena Kovalenko",
     "gender": "female",
     "age": 37,
     "position": "Head of Customer Success",
     "description": "Works with customer onboarding and retention strategy."
   },
   "article": {
     "en": {
       "title": "text",
       "alias": "string-for-url-en",
       "preview": "html",
       "meta_title": "text",
       "meta_description": "text",
       "reading_time_minutes": 7,
       "toc": [
         {
           "title": "Main section",
           "id": "main-section",
           "children": [
             {
               "title": "Nested point",
               "id": "nested-point",
               "children": []
             }
           ]
         }
       ],
       "text": "html"
     }
   }
}

Fields

  • rubric — category slug in your CMS.
  • params — product attributes in key=value1|value2; format (optional).
  • alias — primary alias (slug) for backward compatibility.
  • image — temporary cover URL; store the file locally/CDN before publishing.
  • image_category — key for custom images; map it to your IDs (if enabled).
  • author — optional selected company author with internal Blogent id, a platform-scoped identifiers object, name, gender, age, position, and description. Only the ID for the configured publishing platform is sent; the field is omitted when no author is configured.
  • article — object with languages (e.g. en, uk). Each language includes title, alias, preview (HTML), text (HTML), meta_title, meta_description, reading_time_minutes, toc (nested H2/H3/H4 anchors).
Product params

If you need product matching, pass attributes in params (format key=value1|value2;). Store the values in your CMS to filter the catalog or show recommendations.

Authorization header

In the dashboard webhook settings, you can optionally add any custom header pair. Example: Authorization + c0ef7fe65b75676c6d8a5807b. Blogent will include it in the webhook request headers.

Shortcodes

Blogent can automatically insert a shortcode into the article body so marketing or interactive blocks appear directly inside the content.

How it works
  • In the SEO Blog dashboard, you specify one shortcode for the blog, for example [contact-form] or [products_slider category="chairs"].
  • During article generation, Blogent places this shortcode in a natural position in the middle of the content without breaking the article structure.
  • Your website or CMS must process that shortcode and replace it with the final block: a form, CTA, promo code, product slider, banner, and so on.
  • If the shortcode requires parameters, pass them in the format expected by your website or plugin.
Usage examples
  • Marketing call to action: [cta]
  • Discount promo code: [promo_code]
  • Contact form: [contact-form]
  • Product slider: [products_slider]
  • Featured product selection: [featured_products]
  • Banner or info widget: [info_banner]

Shortcode names and parameters depend on your website. If shortcode support is not implemented yet, your developer needs to add the handler or install the relevant plugin.

PHP example

$data = json_decode(file_get_contents('php://input'), true);

if (json_last_error() === JSON_ERROR_NONE) {
    $primaryAlias = $data['alias'] ?? '';
    $date = $data['date'] ?? '';
    $rubric = $data['rubric'] ?? '';
    $params = $data['params'] ?? '';
    $imageCategory = $data['image_category'] ?? '';

    foreach ($data['article'] as $lang => $article) {
        $title = $article['title'] ?? '';
        $languageAlias = $article['alias'] ?? '';
        $preview = $article['preview'] ?? '';
        $text = $article['text'] ?? '';
        $metaTitle = $article['meta_title'] ?? '';
        $metaDescription = $article['meta_description'] ?? '';
        $readingTimeMinutes = (int) ($article['reading_time_minutes'] ?? 0);
        $toc = is_array($article['toc'] ?? null) ? $article['toc'] : [];
    }

    $imageUrl = $data['image'] ?? '';
    if ($imageUrl) {
        $imagePath = 'images/' . basename($imageUrl);
        if ($image = @file_get_contents($imageUrl)) {
            file_put_contents($imagePath, $image);
        }
    }

    header('Content-Type: application/json');
    echo json_encode(['posted' => true]);
}

Webhook tester

Send a test article to your endpoint and check how the CMS processes the data. Edit the JSON if needed.

Edit the JSON to test different data and language codes.

Put your SEO blog on autopilot

Create a blog, connect Webhook, and Blogent will plan, write, link, and publish articles automatically.

Start now