Contents-API
Die Contents-API bietet Endpunkte zum Erstellen, Planen, Hochladen von Medien, Inspizieren und Abbrechen von Social-Media-Veröffentlichungsjobs.
📌 Endpunkte
Abschnitt betitelt „📌 Endpunkte“| Methode | Pfad | Beschreibung | Erforderlicher Scope |
|---|---|---|---|
POST | /v1/brand/contents/uploads | Presigned PUT-URL für Bild- und Video-Uploads generieren | publishing:create oder * |
POST | /v1/brand/contents | Sofortigen oder geplanten Post übermitteln (202 Accepted) | publishing:create oder * |
GET | /v1/brand/contents | Brand-Inhalte mit Paginierung und Statusfiltern auflisten | publishing:read oder * |
GET | /v1/brand/contents/{content_id} | Content-Details und Ergebnis des Veröffentlichungs-Jobs abrufen | publishing:read oder * |
DELETE | /v1/brand/contents/{content_id}/cancel | Einen geplanten Post abbrechen, bevor die Verarbeitung beginnt | publishing:delete oder * |
1. Presigned URL für Medien-Upload (POST /v1/brand/contents/uploads)
Abschnitt betitelt „1. Presigned URL für Medien-Upload (POST /v1/brand/contents/uploads)“Um Medien an Posts anzuhängen, fordern Sie eine Presigned Upload-URL an und laden Sie die Binärdatei direkt über HTTP PUT in den S3/R2-Speicher hoch.
Unterstützte Medienformate
Abschnitt betitelt „Unterstützte Medienformate“- Bilder (Max. 20 MB, URL-Ablauf 300s):
image/jpeg,image/png,image/webp,image/gif - Videos (Max. 500 MB, URL-Ablauf 600s):
video/mp4,video/quicktime(.mov),video/webm
Anfragebeispiel
Abschnitt betitelt „Anfragebeispiel“curl -X POST "https://api.ankk.app/v1/brand/contents/uploads" \ -H "Authorization: Bearer spk_live_xxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "filename": "launch-banner.png", "content_type": "image/png", "size": 1420500 }'Antwortbeispiel (200 OK)
Abschnitt betitelt „Antwortbeispiel (200 OK)“{ "upload_url": "https://storage.ankk.app/sns-posts/original/brand_.../launch-banner.png?X-Amz-Signature=...", "asset_ref": "https://cdn.ankk.app/sns-posts/original/brand_.../launch-banner.png", "method": "PUT", "object_key": "sns-posts/original/brand_.../launch-banner.png", "content_type": "image/png", "size": 1420500, "expires_in_seconds": 300}Binärdatei über PUT hochladen
Abschnitt betitelt „Binärdatei über PUT hochladen“curl -X PUT "<upload_url>" \ -H "Content-Type: image/png" \ --data-binary "@/path/to/launch-banner.png"2. Inhalt veröffentlichen (POST /v1/brand/contents)
Abschnitt betitelt „2. Inhalt veröffentlichen (POST /v1/brand/contents)“Übermitteln Sie Text zusammen mit der hochgeladenen asset_ref, um einen Veröffentlichungsjob zu erstellen.
Request-Body-Felder
Abschnitt betitelt „Request-Body-Felder“| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
connection_id | string | Erforderlich | Ziel-SNS-Verbindungs-ID (Connections-API) |
idempotency_key | string | Erforderlich | Eindeutiger, vom Client generierter Key zur Vermeidung doppelter Übermittlungen |
text | string | Optional | Text des Post-Bodys |
media | array | Optional | Array von Medienobjekten mit url oder asset_ref |
scheduled_for | string | Optional | ISO 8601 Zeitstempel für die Planung. Für sofortige Veröffentlichung weglassen |
thread_posts | array | Optional | Zusätzliche Posts für Threads-Konversationsketten |
provider_settings | object | Optional | Plattformspezifische Einstellungen (z. B. YouTube-Kategorie) |
Anfragebeispiel (sofortiger Post)
Abschnitt betitelt „Anfragebeispiel (sofortiger Post)“curl -X POST "https://api.ankk.app/v1/brand/contents" \ -H "Authorization: Bearer spk_live_xxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "connection_id": "conn_01jm8x9k2example", "idempotency_key": "launch-2026-001", "text": "Excited to launch our new product today! 🚀\nhttps://ankk.app", "media": [ { "url": "https://cdn.ankk.app/sns-posts/original/brand_.../launch-banner.png" } ] }'Antwortbeispiel (202 Accepted)
Abschnitt betitelt „Antwortbeispiel (202 Accepted)“{ "content_id": "content_01jm8za2example", "status": "scheduled", "publish_job_id": "job_01jm8za2jobexample", "connection_id": "conn_01jm8x9k2example", "idempotency_key": "launch-2026-001"}3. Inhalte auflisten und inspizieren
Abschnitt betitelt „3. Inhalte auflisten und inspizieren“Inhalte auflisten (GET /v1/brand/contents)
Abschnitt betitelt „Inhalte auflisten (GET /v1/brand/contents)“curl -X GET "https://api.ankk.app/v1/brand/contents?status=published&limit=20" \ -H "Authorization: Bearer spk_live_xxxxxxxx"Content-Details abrufen (GET /v1/brand/contents/{content_id})
Abschnitt betitelt „Content-Details abrufen (GET /v1/brand/contents/{content_id})“curl -X GET "https://api.ankk.app/v1/brand/contents/content_01jm8za2example" \ -H "Authorization: Bearer spk_live_xxxxxxxx"4. Geplanten Post abbrechen (DELETE /v1/brand/contents/{content_id}/cancel)
Abschnitt betitelt „4. Geplanten Post abbrechen (DELETE /v1/brand/contents/{content_id}/cancel)“Brechen Sie einen scheduled (geplanten) Post ab, bevor seine Ausführung beginnt.
curl -X DELETE "https://api.ankk.app/v1/brand/contents/content_01jm8za2example/cancel" \ -H "Authorization: Bearer spk_live_xxxxxxxx"