Skip to main content
Webhooks

Webhooks

Written By Afonso Carvalho

Last updated 5 months ago

You can have Arvow send a POST request to your website every time a publication is created.

  • The Secret that you write on your integration will correspond to the value of the X-SECRET header. Use it for validation.

  • You should return status 200 and an optional JSON body with { url: string } if you care about passing a generated URL to Arvow. It will use this URL and attach it to the corresponding Publication.

    ⚠️ The url you return must be the full link, starting with https://

The payload of the request looks like this:

{
  "id": "12345", // This is a unique ID for the article
  "title": "Sample Title",
  "content": "<h2>example</h2><p>This is a sample content for demonstration purposes</p>",
  "content_markdown": "##example\nThis is a sample content for demonstration purposes",
  "tags": [
      "my-tag-123",
      "another tag"
  ],
  "thumbnail": "https://example.com/sample-thumbnail.jpg",
  "thumbnail_alt_text": "Sample thumbnail description",
  "metadescription": "This is a sample meta description for SEO purposes.",
  "keyword_seed": "focus keyword",
  "language_code": "en",
  "campaign_id": "026c94d7-6807-4030-ad08-c80bf62569e8", // This is the ID of the campaign (visible on the URL like automation/autoblogs/026c94d7-6807-4030-ad08-c80bf62569e8),
  "campaign_name": "Default Campaign",
  "batch_id": "026c94d7-6807-4030-ad08-c80bf62569e8" // This is the ID of the request (useful if you trigger generation via API) 
}

A typical HTTP response from your Webhook looks like this:

// 200
{
  "url": "https://example.com/blog/my-blog-post" // This is optional
}