PublishAssistant API

Mit der PublishAssistant API koennen Agenturen Artikel automatisiert auf freigegebene Publisher-Websites veroeffentlichen.
Die API ist per API-Key abgesichert, damit nur autorisierte Systeme zugreifen koennen.

1) API-Key anlegen

Im Agency-Panel unter API-Keys kann ein neuer Key erstellt werden.

  1. Agency-Panel oeffnen
  2. API-Keys waehlen
  3. Name vergeben (z. B. „Kunde X Integration“)
  4. Key erzeugen

Wichtig: Der Klartext-Key wird nur einmal angezeigt. Danach ist nur noch der Hash gespeichert.

2) Authentifizierung

Die API akzeptiert u. a. folgenden Header:

Authorization: Bearer <api_key>

Alternativ:

X-API-Key: <api_key>

3) Aufbau der Schnittstelle

Die API besteht aus drei zentralen Endpunkten:

  • GET https://agency.publyai.com/panel/api/publish_assistant_publishers.php – Publisher-Liste
  • GET https://agency.publyai.com/panel/api/publish_assistant_sites.php?publisher_tenant_id=... – Websites eines Publishers
  • POST https://agency.publyai.com/panel/api/publish_assistant_publish.php – Artikel veröffentlichen

4) Endpoint-Definitionen

4.1 Publisher-Liste

GET https://agency.publyai.com/panel/api/publish_assistant_publishers.php
Authorization: Bearer <api_key>

Beispielantwort:

{
  "ok": true,
  "publishers": [
    {
      "link_id": 12,
      "publisher_tenant_id": 44,
      "publisher_name": "Publisher X",
      "publisher_slug": "publisher-x"
    }
  ]
}

4.2 Websites-Liste

GET https://agency.publyai.com/panel/api/publish_assistant_sites.php?publisher_tenant_id=44
Authorization: Bearer <api_key>

Beispielantwort:

{
  "ok": true,
  "sites": [
    {
      "site_id": 101,
      "publisher_tenant_id": 44,
      "publisher_name": "Publisher X",
      "publisher_slug": "publisher-x",
      "site_name": "Tech Blog",
      "site_url": "https://example.com"
    }
  ]
}

4.3 Artikel veroeffentlichen

POST https://agency.publyai.com/panel/api/publish_assistant_publish.php
Authorization: Bearer <api_key>
Content-Type: application/json

Beispiel-Body:

{
  "publisher_tenant_id": 44,
  "site_id": 101,
  "category_id": 5,
  "project_reference": "kunde-4711",
  "post_title": "Titel des Artikels",
  "post_html": "<h2>Ueberschrift</h2><p>Inhalt...</p>",
  "post_status": "publish",
  "image_url": "https://cdn.example.com/image.jpg",
  "image_source_url": "https://quelle.example.com",
  "meta_description": "Kurze Beschreibung"
}

Erfolgsantwort:

{
  "ok": true,
  "message": "article published",
  "local_post_id": 777,
  "wp_post_id": 12345,
  "wp_post_url": "https://example.com/my-post",
  "wp_status": "publish"
}

Fehlerantwort (Beispiel):

{
  "ok": false,
  "error": "WordPress error (HTTP 403): Sorry, you are not allowed to create posts as this user.",
  "local_post_id": 778,
  "wp_http_code": 403
}

5) Pflichtfelder beim Publish

  • publisher_tenant_id
  • site_id
  • post_title
  • post_html

Optional sind z. B. category_id, project_reference, image_url und meta_description.

Nach oben scrollen