Heya,
einige wissen es bestimmt dass es meine API gibt welche die Battleye GUID <-> SteamID umwandeln kann.
Habe mir endlich ein wenig Zeit genommen um Änderungen an der API und am Backend vorzunehmen
Unter anderem muss ich nun nicht mehr meinen NGINX stoppen um die LetsEncrypt Certs zu updaten (nicht dass ich wiedermal vergesse den WebServer danach zu starten )
Nun ja, die wichtigsten Änderungen sind dass der "neue" endpoint via https://converter.multivitamin.wtf/v2/ erreichbar ist
ein einfaches Beispiel:
GET https://converter.multivitamin.wtf/v2/0e277a925703419d3a502f4347d27260
RESPONSE:
{"error":false,"data":[{"src":"0e277a925703419d3a502f4347d27260","guid":"0e277a925703419d3a502f4347d27260","steamid":"76561198348956718"}]}
Hierbei hat sich nicht viel verändert außer dass Data nun ein JSON Array ist und nicht mehr ein Objekt und dass zusätzlich noch ein "src" mitgeschickt wird über welches die Daten zu stande kamen, heisst hierbei die SRC war die in der URL angegebene Battleye GUID
Weiters wenn die GUID nicht gefunden wird, wird das nicht mehr über den error ausgeschrieben sondern so:
GET https://converter.multivitamin.wtf/v2/0e277a925703419d3a502f4347d272a0
RESPONSE:
{"error":false,"data":[{"src":"0e277a925703419d3a502f4347d272a0","guid":"0e277a925703419d3a502f4347d272a0","steamid":"","error":"SteamID not found!"}]}
Die größte Änderung ist die Möglichkeit für ein POST, damit können nun mehrere IDs gleichzeitig an die API geschickt werden, der Content sollte JSON encoded gesendet werden d.h. auch mit entsprechendem Content Type Header application/json.
Eine POST Request würde dann so aussehen:
POST https://converter.multivitamin.wtf/v2
Content-Type: application/json
["0e73b1ee3f9dd5c9e1ec1e2fd05dd830","0e73b1ee3f9dd5c9e1ec1e2fd05dd830","76561198194737469","8911e7ca49dfb075ea22ebf83afbe9fb","f7293900c7fb8ea97c28fbccec42da9a","f7293900c7fb8ea97c28fbccec42da10"]
RESPONSE:
{
"error":false,
"data":[{
"src":"76561198194737469",
"steamid":"76561198194737469",
"guid":"0e73b1ee3f9dd5c9e1ec1e2fd05dd830"
},{
"src":"0e73b1ee3f9dd5c9e1ec1e2fd05dd830",
"steamid":"76561198194737469",
"guid":"0e73b1ee3f9dd5c9e1ec1e2fd05dd830"
},{
"src":"8911e7ca49dfb075ea22ebf83afbe9fb",
"steamid":"76561198093792825",
"guid":"8911e7ca49dfb075ea22ebf83afbe9fb"
},{
"src":"f7293900c7fb8ea97c28fbccec42da9a",
"steamid":"76561198115220630",
"guid":"f7293900c7fb8ea97c28fbccec42da9a"
},{
"src":"f7293900c7fb8ea97c28fbccec42da10",
"guid":"f7293900c7fb8ea97c28fbccec42da10",
"steamid":"",
"error":"SteamID not found!"
}]
}
Alles anzeigen
Wichtig dabei ist dass auch die SteamID als String mitgesendet wird! Ansonsten wird die komplette Anforderung gestoppt und im Error wird eine kleine Meldung drinnen stehen
Weiters ist der error standardmäßig nicht mehr null sondern false
Weiters ist die Limitierung der Maximalen IDs die auf einmal requested werden können auf 250 begrenzt
Weiters im Backend hat sich nun geändert dass ich kein PHP mehr nutze um die Request an die Datenbank sende sondern NodeJS, damit habe ich die Möglichkeit direkt in der Applikation zu Cachen (von 20k Requests welche die API in den letzten 24 Stunden verarbeitet hatte sind nur noch 5k an die Datenbank gegangen)
Da ich nicht wirklich ein Mann der großen Tastenanschläge bin mach ich auch hier direkt Schluss, falls es fragen oder Anregungen gibt einfach hier Antworten bzw Fragen....