Objekte

Die oben referenzierten Formen, Feld für Feld. Typen sind informell: string[] ist ein Array von Zeichenketten, A | null kann fehlen.

Umschlag

Bei jedem Ereignis vorhanden, auf dem Stream, in GET /v1/events und in Webhook-Zustellungen.

FeldTypBedeutung
vintUmschlagversion. Heute 1
tstringEreignistyp, aus der Tabelle unten
opcreate | update | deletecreate, update (Anreicherung derselben ID) oder delete
idstringStabile Identität. Hierauf deduplizieren
tsint (ms)Wann es auf X geschah, ms seit der Epoche. X nennt keinen Zeitpunkt für Profiländerungen, Folgen und Entfolgen, neue verifizierte Follower und gelöschte Beiträge: Bei diesen Ereignissen ist es der Zeitpunkt unserer Erkennung
sidstringStream-Position für das Replay; vorhanden auf dem Stream und in der Historie
target.idstringNumerische X-ID des überwachten Kontos (bei search.match: des Beitragsautors)
target.screen_namestringHandle des überwachten Kontos
target.namestringDer Anzeigename des Kontos
dobjectTypspezifische Nutzlast

Tweet-Nutzlast

Das d von tweet.create, tweet.reply, tweet.retweet und tweet.quote sowie die Basis von search.match.

FeldTypBedeutung
tweet_idstringDie ID des Beitrags, als Zeichenkette
kindtweet | reply | retweet | quoteWelche Art von Beitrag es ist
textstringVolltext (auch bei langen Beiträgen)
langstring | nullVon X erkannte Sprache
authorUserDas Konto, das es veröffentlicht hat, als vollständiger User – dasselbe Objekt wie der Autor eines search.match: Handle, Name, Bio, Avatar, Banner, Zähler, Verifizierung, Ort, Link und Beitrittsdatum. Auf einem schlanken ersten Frame das Konto wie zuletzt gelesen; das update trägt es so, wie es mit dem Beitrag gelesen wurde
reply_toBrief+ | nullBei Antworten: der beantwortete Beitrag – ein Brief plus screen_name, tweet_id und user_id seines Autors
retweet_ofBrief | nullBei Reposts: der Originalbeitrag
quotedBrief | nullBei Zitaten: der zitierte Beitrag
mediastring[]Einfache Bild-URLs, eine je Medienelement
media_itemsMedia[]Jedes Medienelement mit Typ, Videovarianten und Abmessungen
urlsstring[]Aufgelöste Links im Beitrag
articleArticle | nullBei Beiträgen, die auf einen X-Artikel verlinken: der Artikel
counts{reply, rt, like, quote, bookmark}Antwort-, Repost-, Like-, Zitat- und Lesezeichen-Zähler zum Zeitpunkt unseres Lesens
viewsint | nullAufrufzähler, wenn X ihn preisgibt
urlstringKanonischer Link zum Beitrag
fullboolfalse bei einem ersten, schlanken create-Frame; true, sobald das Ereignis den ganzen Beitrag trägt
kind_finalbooltrue, wenn kind feststeht. false nur auf einem schlanken ersten Frame, dessen kind tweet ist: Der Beitrag kann sich noch als Zitat herausstellen, das folgende update mit derselben id klärt es
kind_wastweet | null (update only)Nur im update, das die Art eines Beitrags festlegt, und nur, wenn der erste Frame etwas anderes sagte: die Art, die dieser Frame hatte (tweet bei einem Beitrag, der sich als Zitat herausstellte)
edit_ofBrief | nullBei tweet.edit: die Fassung, die diese ersetzt (ihre ID, sowie Text und Autor, wenn wir sie hatten)

Brief

Ein kompakter Beitrag, eingebettet in ein anderes Ereignis: das Original eines Reposts, der zitierte Beitrag, der beantwortete Beitrag oder ein angepinnter Beitrag.

FeldTypBedeutung
idstringBeitrags-ID
userstringHandle des Autors
namestringAnzeigename des Autors
user_idstringNumerische ID des Autors
textstringVolltext
mediastring[]Einfache Bild-URLs
media_itemsMedia[]Medienelemente mit Typ und Videovarianten
created_msintWann er gepostet wurde, ms seit der Epoche
urlstringLink zum Beitrag

Medien

Ein Bild, Video oder GIF. Videos tragen das MP4 mit der höchsten Bitrate, das wir finden konnten; url ist das Vorschaubild.

FeldTypBedeutung
typephoto | video | animated_gifArt des Mediums
urlstringBild-URL oder das Vorschaubild eines Videos
expanded_urlstringDie Medienseite des Beitrags auf X
video_urlstring (video)MP4-URL, höchste verfügbare Bitrate
bitrateint (video)Bitrate dieses MP4
duration_msint (video)Videolänge
widthintOriginalbreite in Pixeln
heightintOriginalhöhe in Pixeln

Artikel

Ein X-Artikel (Langform-Beitrag), auf den ein Beitrag verlinkt. Der erste Frame enthält title und preview; text ist null, bis das update mit derselben id den vollständigen Artikel liefert.

FeldTypBedeutung
idstringArtikel-ID
titlestringTitel
previewstringDie ersten Zeilen des Artikels
textstring | nullVolltext, Absätze durch Leerzeilen getrennt; im ersten Frame null
coverstring | nullURL des Titelbilds
imagesstring[]Bilder im Artikel
urlstringLink zum Artikel auf X

Lösch-Nutzlast

Das d von tweet.delete. Wird nur für einen Beitrag gesendet, den wir gesehen hatten und der jetzt weg ist. Sein ts ist der Zeitpunkt, zu dem die Löschung erkannt wurde; die Zeit des Beitrags selbst steht in seinem früheren create-Frame.

FeldTypBedeutung
tweet_idstringDie ID des gelöschten Beitrags
urlstringWo er früher war

Profiländerungs-Nutzlast

Das d jedes profile.*-Ereignisses. op ist hier update.

FeldTypBedeutung
fieldstringWelches Profilfeld sich geändert hat; dasselbe Wort wie nach profile. im Typ
oldanyDer vorherige Wert
newanyDer neue Wert
tweetBrief (pinned only)Bei profile.pinned: der neu angepinnte Beitrag
old_tweetBrief (pinned only)Bei profile.pinned: der zuvor angepinnte Beitrag, falls wir ihn hatten

Folgt-Nutzlast

Das d von follow.add, follow.remove und followers.verified.add.

FeldTypBedeutung
userUserDas andere Konto, als vollständiger User

Kontostatus-Nutzlast

Das d von account.status. Ein Status ist active, protected (Beiträge nur für bestätigte Follower sichtbar), suspended (von X gesperrt) oder unavailable (deaktiviert, gelöscht oder aus anderem Grund nicht sichtbar). ts ist der Zeitpunkt, zu dem wir die Änderung erkannt haben.

FeldTypBedeutung
oldactive | protected | suspended | unavailableDer Status vorher
newactive | protected | suspended | unavailableDer Status jetzt
reasonstring | nullDer Wortlaut von X, falls vorhanden (zum Beispiel Suspended)

User

Ein vollständiges Kontoprofil, wie es in Folgt-Ereignissen und in search.match eingebettet ist.

FeldTypBedeutung
idstringNumerische ID
screen_namestringHandle
namestringAnzeigename
biostringBio-Text
avatarstringAvatar-Bild-URL
bannerstring | nullBanner-Bild-URL
followersintFollower-Anzahl
followingintAnzahl gefolgter Konten
tweetsintBeitragsanzahl
locationstringStandort als Freitext
urlstring | nullAufgelöster Profil-Link
verifiedboolHat ein Verifizierungsabzeichen
verified_typestring | nullblue, business, government oder null
protectedboolBeiträge sind nur für bestätigte Follower sichtbar
created_atstring (ISO-8601)Wann das Konto erstellt wurde
categorystring | nullBerufliche Kategorie, falls das Konto eine gesetzt hat

Das d von search.match: eine Tweet-Nutzlast plus drei Felder zum Treffer. Das target des Umschlags ist der Autor des Beitrags, der keines Ihrer Ziele sein muss.

FeldTypBedeutung
keyword.idintID des passenden Stichworts
keyword.querystringSeine Suchanfrage
keyword.labelstring | nullSein Label, falls Sie eines gesetzt haben
authorUserDas vollständige Profil des Autors
author_is_targetbooltrue, wenn der Autor zugleich ein auf diesem System überwachtes Konto ist
…TweetPayloadJedes Feld der Tweet-Nutzlast

Ziel

Ein von Ihnen überwachtes Konto, wie dieser Schlüssel es sieht.

FeldTypBedeutung
idstringNumerische X-ID. Sie ändert sich nie: Schlüsseln Sie Ihre Daten danach
screen_namestringDas aktuelle Handle. Es kann sich ändern; profile.screen_name meldet es
namestringAnzeigename
previous_screen_namesstring[]Frühere Handles des Kontos, das jüngste zuerst. Jedes bezeichnet es weiterhin in /v1/monitor/targets/{target}
push_readyboolAlle Ereignistypen, die Sie für dieses Konto abonniert haben, werden in Echtzeit erfasst. false hält nichts zurück: Das Konto wird ab dem Moment des Abonnierens überwacht, und seine Ereignisse werden zugestellt, sobald sie erfasst sind; warten Sie also nicht auf dieses Flag, bevor Sie sie verarbeiten
last_push_atdatetime | nullWann zuletzt ein Echtzeit-Ereignis dafür eintraf
last_poll_atdatetime | nullWann seine Timeline zuletzt gelesen wurde
state"subscribed"Hier immer subscribed; ausstehende Auflösungen haben ihre eigene Form
event_typesstring[]Die für dieses Konto zugestellten Ereignistypen; leer heißt alle, die Ihr Schlüssel erlaubt
event_types_allbooltrue, wenn event_types leer ist

Ausstehendes Ziel

Was GET /v1/monitor/targets/{target} zurückgibt, solange ein angefragtes Konto noch aufgelöst wird.

FeldTypBedeutung
screen_namestring | nullDas Handle, nach dem Sie gefragt haben, wenn per Handle
user_idstring | nullDie Nutzer-ID, nach der Sie gefragt haben, wenn per ID
state"queued"Immer queued
queued_atint (unix s)Wann Sie gefragt haben
event_typesstring[]Die dafür gewählten Ereignistypen, wirksam sobald es aufgelöst ist
event_types_allbooltrue, wenn event_types leer ist

Stichwort

Eine Suchanfrage, die Sie über die X-Suche beobachten.

FeldTypBedeutung
idintNumerische ID; zum Löschen verwenden
querystringDie Suchanfrage, in X-Suchsyntax
labelstring | nullIhr Label, in jedem Treffer zurückgegeben
activeboolfalse, wenn der Betreiber es pausiert hat
hitsintBisher gelieferte Treffer
last_hit_atdatetime | nullLetzter Treffer
last_run_atdatetime | nullLetzte Suche

Konto

Was GET /v1/account über den verwendeten Schlüssel zurückgibt.

FeldTypBedeutung
namestringDer Name des Schlüssels, wie ausgestellt
planstringTarif-Voreinstellung
key_idstringKurze ID des Schlüssels, in Support-Anfragen gefahrlos nennbar
scopesstring[]Berechtigungen, die der Schlüssel hält
event_typesstring[]Schlüsselweite Positivliste der Ereignistypen, von uns verwaltet; leer bedeutet alle
event_types_allbooltrue, wenn der Filter leer ist
limits.max_targetsintObergrenze überwachter Konten
limits.max_connsintObergrenze gleichzeitiger WebSockets
limits.max_keywordsintObergrenze für Stichwörter
limits.requests_per_minuteintAnfragebudget pro Minute
usage.targetsintDerzeit überwachte Konten
usage.keywordsintDerzeit beobachtete Stichwörter

Webhook

Was GET /v1/account/webhook zurückgibt.

FeldTypBedeutung
urlstring | nullDer registrierte Endpunkt
stats{ok, http_…}Zustellzähler: ok und je ein http_<code> pro gesehenem Fehlerstatus

Meta

Seiteninformationen neben jeder Liste.

FeldTypBedeutung
countintElemente auf dieser Seite
has_moreboolOb eine weitere Seite existiert
next_cursorstring | nullAls ?cursor= zurückgeben; null am Ende

Batch-Ergebnis

Ein Eintrag je an POST /v1/monitor/targets:batch gesendetem Element, in derselben Reihenfolge.

FeldTypBedeutung
indexintPosition des Elements in Ihrer Anfrage
statusintDer HTTP-Status, den der Einzel-Endpunkt zurückgegeben hätte
dataobject (on success)Der Antwort-Body des Einzel-Endpunkts, bei Erfolg
error{code, message, details?} (on failure)Das übliche Fehlerobjekt, bei Misserfolg

Profil (Lesen)

Was GET /v1/users/{screen_name}, /v1/users/by-id/{user_id} und /v1/users/batch je Konto zurückgeben.

FeldTypBedeutung
idstringNumerische ID
namestringAnzeigename
screen_namestringHandle
biostringBio-Text
locationstringStandort als Freitext
urlstring | nullProfil-Link
avatarstringAvatar-Bild-URL
bannerstring | nullBanner-Bild-URL
pinnedstring | nullID des angepinnten Beitrags
verifiedboolHat ein Verifizierungsabzeichen
protectedboolBeiträge nur für bestätigte Follower sichtbar
followersintFollower-Anzahl
followingintAnzahl gefolgter Konten
tweetsintBeitragsanzahl

Tweet (Lesen)

Ein Beitrag, wie ihn die Lese-Endpunkte zurückgeben. Dieselben Informationen wie die Tweet-Nutzlast, in der flacheren Form, die unser Parser erzeugt.

FeldTypBedeutung
idintBeitrags-ID, numerisch
created_msintWann er gepostet wurde, ms seit der Epoche
user_idintNumerische ID des Autors
userstringHandle des Autors
namestringAnzeigename des Autors
textstringVolltext
langstring | nullVon X erkannte Sprache
reply_tostring | nullHandle, dem geantwortet wird
reply_to_status_idstring | nullID des beantworteten Beitrags
reply_to_user_idstring | nullID des Kontos, dem geantwortet wird
conversation_idstringID des Wurzelbeitrags des Threads
is_rtboolEs ist ein Repost
rt_ofBrief | nullDas Original, bei Reposts
is_quoteboolEs zitiert einen anderen Beitrag
quotedBrief | nullDer zitierte Beitrag
mediastring[]Einfache Bild-URLs
media_itemsMedia[]Medienelemente mit Typ und Videovarianten
urlsstring[]Aufgelöste Links
viewsint | nullAufrufzähler
counts{reply, rt, like, quote, bookmark}Antwort-, Repost-, Like-, Zitat- und Lesezeichen-Zähler
articleArticle | nullDer X-Artikel, auf den der Beitrag verweist, falls vorhanden (Titel, Vorschau, Titelbild, Bilder; der volle Text steht unter GET /v1/tweets/{tweet_id}/article)
edit_ofint | nullBei einer bearbeiteten Fassung: die ID der ersten Fassung, sonst null
edit_idsint[]Die IDs aller Fassungen, die älteste zuerst; ein nie bearbeiteter Beitrag nennt nur sich selbst
sourcestring | nullDer Client, mit dem gepostet wurde, so wie X ihn liefert (ein HTML-Link, zum Beispiel Twitter for iPhone)

User-Referenz

Die kompakte Form, die in Folgt-Listen-Lesezugriffen verwendet wird.

FeldTypBedeutung
idstringNumerische ID
screen_namestringHandle
namestringAnzeigename