Plugin Authentication

Site-scoped keys, signed requests.

Relevant Bot and AutoPoster authenticate with a per-site key pair rather than one global plugin key — so revoking one customer's access never affects another.

Credentials

site_id — public identifier for the connected WordPress site.
site_secret — random secret, generated on connect, stored securely.

Request signing

Every request carries X-JacAI-Site, X-JacAI-Timestamp, and X-JacAI-Signature — an HMAC-SHA256 of timestamp + method + path + body_hash, signed with site_secret. Stale timestamps are rejected.

Relevant Bot → JacAI

How content reaches JacAI Core.

Relevant Bot scans a customer's WordPress site — posts, pages, WooCommerce products — and pushes a normalized content object to JacAI, which decides what happens next.

POSThttps://api.jacai.ai/sites/{site_id}/content
{
  "id": "wp-382",
  "site_id": "site_abc123",
  "source": "wordpress",
  "type": "post",
  "title": "How to Repair a Leaking Gutter",
  "url": "https://example.com/post",
  "excerpt": "...",
  "content": "...",
  "categories": ["Gutter Repair"],
  "tags": ["DIY", "Rain Gutters"],
  "language": "en",
  "featured_image": "...",
  "published_at": "...",
  "modified_at": "...",
  "campaign_status": "unused"
}

JacAI Core then decides: ignore, archive, campaign candidate, refresh article, translate, social snippets, reel, or sales post. SZAM only receives content once it reaches scheduling stage.

SZAM Scheduler API

Regional, timezone-aware job scheduling.

SZAM decides when content goes out. It doesn't publish anything itself — it hands due jobs back to the SMM router.

Endpoints

GET/health
POST/enqueue
GET/jobs
GET/jobs/{job_id}
POST/jobs/{job_id}/cancel
POST/jobs/{job_id}/retry
POST/schedule/best-time

Example enqueue

{
  "organization_id": 12,
  "campaign_item_id": 998,
  "target": "instagram",
  "country": "BR",
  "language": "pt-BR",
  "timezone": "America/Sao_Paulo",
  "content_type": "reel",
  "best_time": true
}
WordPress Plugins

Two free plugins, one connector architecture.

Your WordPress install stays lightweight — the heavy AI work runs in JacAI Cloud, not on your server.

Live · WordPress.org Compliant

AutoPoster

Publishes and republishes content straight from your site, driven by JacAI campaigns and SZAM's schedule.

In Progress · V2

Relevant Bot

Scans posts, pages, and WooCommerce products and pushes them to JacAI Core as content candidates. Final V2 build underway — normalized schema, campaign-state tracking, and authenticated push.

Python Worker

SZAM runs on FastAPI + APScheduler.

Python 3.11+, SQLAlchemy, Pydantic, Uvicorn — a real worker service, not a JSON queue file. Deployed as an internal service on scheduler.jacai.ai, called by PHP over a signed internal request rather than exposed raw.

Want Early API Access?

We'll notify developers first when keys go live.