Zum Hauptinhalt springen

CMS-Integration mittels API

Technische Beschreibung einer möglichen Integration im CMS des Kunden

Verfasst von Tobias Oberascher

Einer der wichtigsten Aspekte bei der täglichen redaktionellen Nutzung von Pinpoll ist die nahtlose Integration im CMS des Kunden, z. B. in "LivingDocs" oder von anderen Anbietern.

Idealerweise wird dieser Prozess von Pinpoll Inspire - unserer KI zum Erstellen von Abstimmungen - unterstützt (vgl. Schritt 2).

In diesem Artikel gehen wir konkret auf die technische Umsetzung in vier einfachen Schritten ein.

1) Token anfordern

curl -X POST "https://account.pinpoll.com/api/v1/login" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
--data-raw '{"email":"myemail","password":"mypassword"}'

Dieser Request liefert ein JWT Token zurück:

{"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ…", }

Dieses Token muss bei allen API-Aufrufen mitgeschickt werden. Nach 60 Minuten läuft das Token ab (token_expired error) und muss dann wieder über folgende route refreshed werden: https://account.pinpoll.com/api/v1/auth/refresh

Alternativ kann man sich aber auch einfach wieder neu einloggen. Nach 14 Tagen Inaktivität wird das Token ungültig (token_invalid error), ein erneuter Login ist dann notwendig.

2) Poll-Vorschlag generieren (optional)

curl --get 'https://inspire.pinpoll.com/gen/poll/text' \
--data-urlencode 'title=Spritpreise steigen' \
--data-urlencode 'text=Die Spritpreise steigen weiter, immer weniger Menschen können sich das Benzin noch leisten' \
--data-urlencode 'domain=mydomain.com'

Hinweis: Die Angabe des Parameters "domain" ist wichtig, damit der für dich im System ggf. hinterlegte Prompt verwendet wird, den wir zusammen mit dir im Detail abgestimmt haben.

Dieser Request liefert einen Poll-Vorschlag als json zurück:

{"polls":[{"question":"Wie würden steigende Spritpreise Ihren Alltag am stärksten verändern?","answers":["Ich würde Fahrten deutlich reduzieren.","Ich würde häufiger öffentliche Verkehrsmittel nutzen.","Ich würde auf ein sparsameres Auto umsteigen.","Ich würde Wege besser bündeln und planen."],"note":"Created with OAI"}],"category":24,"og_image":null,"og_site_name":null,"title":"Spritpreise steigen","text":"Die Spritpreise steigen weiter, immer weniger Menschen können sich das Benzin noch leisten","domain":null}

3) Poll anlegen

Mit einem gültigen Token könnt ihr dann die Poll anlegen (Hinweis: "audience_id" = "category" die ihr in Schritt 1 bekommt, z.B. "24" in unserem Beispiel):

curl -X POST "https://tools.pinpoll.com/v3/polls/simple" \
-H "Authorization: Bearer token" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data-raw '{
"question": "Wie würden steigende Spritpreise Ihren Alltag am stärksten verändern?",
"audience_id": 24,
"answers": ["Ich würde Fahrten deutlich reduzieren.", "Ich würde häufiger öffentliche Verkehrsmittel nutzen.", "Ich würde auf ein sparsameres Auto umsteigen.", "Ich würde Wege besser bündeln und planen."]
}'

Dieser Request liefert eine Poll-ID zurück, die ihr dann im Platzhalter verwenden könnt:

{"status":"success","data":{"element":{"id":123456789}}}

4) Platzhalter einbauen

Mit der Poll-ID könnt ihr schlussendlich den Platzhalter im CMS bzw. Artikel hinterlegen:

<div data-pinpoll-id="123456789" data-version="v2"></div>

Das war's auch schon 🚀

Bei Fragen meldet euch gerne im Chat und wir vereinbaren einen Termin mit unseren Technikern.

Hat dies deine Frage beantwortet?