Mit der PublishAssistant API können Agenturen Artikel automatisiert auf freigegebene Publisher-Websites veröffentlichen.
Die API ist per API-Key abgesichert, damit nur autorisierte Systeme zugreifen können.
1) API-Key anlegen
Im Agency-Panel unter API-Keys kann ein neuer Key erstellt werden.
- Agency-Panel öffnen
- API-Keys wählen
- Name vergeben (z. B. „Kunde X Integration“)
- 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-ListeGET https://agency.publyai.com/panel/api/publish_assistant_sites.php?publisher_tenant_id=...– Websites eines PublishersPOST 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 veröffentlichen
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>Überschrift</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_idsite_idpost_titlepost_html
Optional sind z. B. category_id, project_reference, image_url und meta_description.
