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.
- Agency-Panel oeffnen
- API-Keys waehlen
- 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 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_idsite_idpost_titlepost_html
Optional sind z. B. category_id, project_reference, image_url und meta_description.
