<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://sms-wiki.rrgames.org/index.php?action=history&amp;feed=atom&amp;title=API-Dokumentation</id>
	<title>API-Dokumentation - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://sms-wiki.rrgames.org/index.php?action=history&amp;feed=atom&amp;title=API-Dokumentation"/>
	<link rel="alternate" type="text/html" href="https://sms-wiki.rrgames.org/index.php?title=API-Dokumentation&amp;action=history"/>
	<updated>2026-07-26T07:29:53Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Social Media Simulator Wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://sms-wiki.rrgames.org/index.php?title=API-Dokumentation&amp;diff=27&amp;oldid=prev</id>
		<title>FeGmbH am 16. Juni 2026 um 19:00 Uhr</title>
		<link rel="alternate" type="text/html" href="https://sms-wiki.rrgames.org/index.php?title=API-Dokumentation&amp;diff=27&amp;oldid=prev"/>
		<updated>2026-06-16T19:00:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 16. Juni 2026, 21:00 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l164&quot;&gt;Zeile 164:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 164:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Kategorie:Entwickler-Dokumentation]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key smsimwiki:diff:1.41:old-18:rev-27:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>FeGmbH</name></author>
	</entry>
	<entry>
		<id>https://sms-wiki.rrgames.org/index.php?title=API-Dokumentation&amp;diff=18&amp;oldid=prev</id>
		<title>FeGmbH: Die Seite wurde neu angelegt: „__NOTOC__ Mit dieser API-Schnittstelle kommuniziert der Client (Frontend) des Social Media Simulators mit dem Spring Boot-Backend, um Spielstände zu initialisieren und abzurufen.  == Endpunkte Übersicht ==  {| class=&quot;wikitable&quot; style=&quot;width:100%; border-radius: 8px; overflow: hidden;&quot; ! style=&quot;width: 15%;&quot; | Methode ! style=&quot;width: 35%;&quot; | Endpunkt ! Beschreibung |- | style=&quot;background-color: #28a745; color: white; font-weight: bold; text-align: center;…“</title>
		<link rel="alternate" type="text/html" href="https://sms-wiki.rrgames.org/index.php?title=API-Dokumentation&amp;diff=18&amp;oldid=prev"/>
		<updated>2026-06-16T18:25:09Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „__NOTOC__ Mit dieser API-Schnittstelle kommuniziert der Client (Frontend) des Social Media Simulators mit dem Spring Boot-Backend, um Spielstände zu initialisieren und abzurufen.  == Endpunkte Übersicht ==  {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%; border-radius: 8px; overflow: hidden;&amp;quot; ! style=&amp;quot;width: 15%;&amp;quot; | Methode ! style=&amp;quot;width: 35%;&amp;quot; | Endpunkt ! Beschreibung |- | style=&amp;quot;background-color: #28a745; color: white; font-weight: bold; text-align: center;…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__&lt;br /&gt;
Mit dieser API-Schnittstelle kommuniziert der Client (Frontend) des Social Media Simulators mit dem Spring Boot-Backend, um Spielstände zu initialisieren und abzurufen.&lt;br /&gt;
&lt;br /&gt;
== Endpunkte Übersicht ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%; border-radius: 8px; overflow: hidden;&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot; | Methode&lt;br /&gt;
! style=&amp;quot;width: 35%;&amp;quot; | Endpunkt&lt;br /&gt;
! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color: #28a745; color: white; font-weight: bold; text-align: center;&amp;quot; | GET&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/init&amp;lt;/code&amp;gt;&lt;br /&gt;
| Generiert eine neue Spieler-UUID (UTF-16).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color: #28a745; color: white; font-weight: bold; text-align: center;&amp;quot; | GET&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/game&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ruft den aktuellen Spielstand für eine UUID ab.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color: #007bff; color: white; font-weight: bold; text-align: center;&amp;quot; | POST&lt;br /&gt;
| &amp;lt;code&amp;gt;/api/game/init_recall&amp;lt;/code&amp;gt;&lt;br /&gt;
| Initialisiert ein neues Spiel mit einer Konfiguration.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Dokumentation der Endpunkte ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Spieler-UUID generieren ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Endpunkt:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;/api/init&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Methode:&amp;#039;&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;background-color: #28a745; color: white; padding: 2px 6px; border-radius: 4px; font-weight: bold; font-size: 12px;&amp;quot;&amp;gt;GET&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Format:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;text/plain;charset=utf-16&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Methode generiert eine neue, eindeutige V4-UUID, registriert sie im RAM des Servers in der aktiven Spielerliste und gibt sie als Byte-Array im UTF-16-Format zurück.&lt;br /&gt;
&lt;br /&gt;
==== Rückgabe (Response) (Bsp.!) ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
4f3b89a2-1e4d-4c6a-9b88-123456789abc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
=== 2. Spielstand abrufen ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Endpunkt:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;/api/game&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Methode:&amp;#039;&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;background-color: #28a745; color: white; padding: 2px 6px; border-radius: 4px; font-weight: bold; font-size: 12px;&amp;quot;&amp;gt;GET&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Format:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;application/json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Gibt den aktuellen Zustand der laufenden Simulation für die übergebene UUID zurück. Der Client nutzt diesen Endpunkt für den regelmäßigen Sync oder beim Neuladen des Dashboards.&lt;br /&gt;
&lt;br /&gt;
==== Query-Parameter ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Typ&lt;br /&gt;
! Pflichtfeld&lt;br /&gt;
! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
| UUID&lt;br /&gt;
| Ja&lt;br /&gt;
| Die eindeutige Kennung des Spielers, die über &amp;lt;code&amp;gt;/api/init&amp;lt;/code&amp;gt; generiert wurde.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Rückgabe (Response) ====&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Status 200 (Erfolgreich):&amp;#039;&amp;#039;&amp;#039; Gibt das &amp;lt;code&amp;gt;GameResponse&amp;lt;/code&amp;gt;-JSON-Objekt zurück, wenn die UUID existiert. Falls die ID nicht in der aktiven Spielerliste registriert ist, wird &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;playerId&amp;quot;: &amp;quot;4f3b89a2-1e4d-4c6a-9b88-123456789abc&amp;quot;,&lt;br /&gt;
  &amp;quot;companyName&amp;quot;: &amp;quot;QuatschStudio Tech&amp;quot;,&lt;br /&gt;
  &amp;quot;money&amp;quot;: 50000,&lt;br /&gt;
  &amp;quot;employees&amp;quot;: 1,&lt;br /&gt;
  &amp;quot;researchPoints&amp;quot;: 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Parameter-Spezifikation =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feld&lt;br /&gt;
! Typ&lt;br /&gt;
! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;playerId&amp;lt;/code&amp;gt;&lt;br /&gt;
| String (UUID)&lt;br /&gt;
| Die UUID des Spielers zur Validierung auf Client-Seite.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;companyName&amp;lt;/code&amp;gt;&lt;br /&gt;
| String&lt;br /&gt;
| Der Name des Social-Media-Unternehmens.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;money&amp;lt;/code&amp;gt;&lt;br /&gt;
| Integer&lt;br /&gt;
| Der aktuelle Kontostand des Unternehmens im Spiel.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;employees&amp;lt;/code&amp;gt;&lt;br /&gt;
| Integer&lt;br /&gt;
| Die Anzahl der derzeit eingestellten Mitarbeiter.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;researchPoints&amp;lt;/code&amp;gt;&lt;br /&gt;
| Integer&lt;br /&gt;
| Die aktuell angesammelten Forschungspunkte für neue Features oder Algorithmen-Upgrades.&lt;br /&gt;
|}&lt;br /&gt;
---&lt;br /&gt;
=== 3. Spiel initialisieren ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Endpunkt:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;/api/game/init_recall&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Methode:&amp;#039;&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;background-color: #007bff; color: white; padding: 2px 6px; border-radius: 4px; font-weight: bold; font-size: 12px;&amp;quot;&amp;gt;POST&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Format:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;application/json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initialisiert die Spielmechaniken für eine bereits generierte UUID auf Basis der übergebenen Unternehmenseinstellungen im Request-Body.&lt;br /&gt;
&lt;br /&gt;
==== Query-Parameter ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Typ&lt;br /&gt;
! Pflichtfeld&lt;br /&gt;
! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
| UUID&lt;br /&gt;
| Ja&lt;br /&gt;
| Die ID des Spielers, für den das Spiel gestartet wird.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Payload (Request Body) ====&lt;br /&gt;
Übergabe des &amp;lt;code&amp;gt;GameConfigDTO&amp;lt;/code&amp;gt; als JSON-Objekt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;companyName&amp;quot;: &amp;quot;QuatschStudio Tech&amp;quot;,&lt;br /&gt;
  &amp;quot;infiniteMoney&amp;quot;: false,&lt;br /&gt;
  &amp;quot;startMoney&amp;quot;: 50000,&lt;br /&gt;
  &amp;quot;startEmployees&amp;quot;: 1,&lt;br /&gt;
  &amp;quot;startResearch&amp;quot;: 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Parameter-Spezifikation =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feld&lt;br /&gt;
! Typ&lt;br /&gt;
! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;companyName&amp;lt;/code&amp;gt;&lt;br /&gt;
| String&lt;br /&gt;
| Der Name des zu gründenden Social-Media-Unternehmens.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;infiniteMoney&amp;lt;/code&amp;gt;&lt;br /&gt;
| Boolean&lt;br /&gt;
| Sandbox-Modus. Wenn &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, ist das Startkapital unbegrenzt.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;startMoney&amp;lt;/code&amp;gt;&lt;br /&gt;
| Integer&lt;br /&gt;
| Das verfügbare Startkapital bei Spielbeginn.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;startEmployees&amp;lt;/code&amp;gt;&lt;br /&gt;
| Integer&lt;br /&gt;
| Die Anzahl der Mitarbeiter, mit denen das Unternehmen startet.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;startResearch&amp;lt;/code&amp;gt;&lt;br /&gt;
| Integer&lt;br /&gt;
| Der initiale Wert für bereits generierte Forschungspunkte.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Server-Log (SLF4J) ====&lt;br /&gt;
Beim Aufruf triggert der Controller einen Log-Eintrag auf dem Server (Bsp.!):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2026-06-16T20:23:28.789+02:00  INFO 523700 --- [nio-8080-exec-6] o.r.smsim.api.controller.GameController  : Setting up Game for 737e1e57-3e1d-4f0e-b1a8-1fcad8c145d0:GameConfigDTO [companyName=adsf, infiniteMoney=false, startMoney=1000, startEmployees=1, startResearch=0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>FeGmbH</name></author>
	</entry>
</feed>