API głosowania na serwery
Pobranie informacji o serwerze
Zapytanie umożliwia pobranie kluczowych informacji dotyczących głosowania na dany serwer w serwisie GOSetti.pl. Korzystając z tego zapytania programista ma możliwość między innymi:
- Stworzenia licznika głosów bezpośrednio na własnej stronie.
- Stworzenia dedykowanych grafik z dynamicznie zmieniającymi się danymi.
- Zaznaczenia rankingu serwera na swojej stronie wraz z liczbą zwycięstw w poszczególnych kategoriach.
- I wielu wielu innych.
POST https://gosetti.pl/Api/GosettiVotingCsgoServerGetData.php
Uwaga. Użytkownicy korzystający z powyższego zapytania zobowiązani są do cache'owania wyników po stronie serwera, z rozsądnym czasem (na poziomie co najmniej kilku minut). Zbyt wiele zapytań o dane serwerów poskutkuje automatycznym zablokowaniem ruchu z danego adresu, a w konsekwencji utratą połączenia pomiędzy stroną a GOSetti.pl
Format zapytania
application/json
{
"CsgoServerId": (int) ID Serwera dla którego mają zostać pobrane dane. ID serwera dostępne jest w Panelu Użytkownika.
}
Format odpowiedzi
application/json
{
"PositionGosetti": (int | null) Pozycja serwera w globalnym rankingu lub null, jeśli serwer jest nieklasyfikowany
"PlaceCount_1": (int) Liczba zdobytych pierwszych miejsc
"PlaceCount_2": (int) Liczba zdobytych drugich miejsc
"PlaceCount_3": (int) Liczba zdobytych trzecich miejsc
"PlaceCount_4": (int) Liczba zdobytych losowych miejsc
"VotingTour": { (dotyczy obecnej tury głosowania)
"Position": (int | null) Pozycja serwera w turze głosowania lub null jeśli serwer jest nieklasyfikowany
"PointsTotal": (int) Liczba punktów zdobyta w obecnej turze głosowania
"MethodVotes": { (dotyczy metody "Kliknij i głosuj")
"VotesCountToday": (int) Liczba głosów oddanych dziś na ten serwer
}
}
}
Przykładowa funkcja w języku PHP do pobierania danych z serwera
/**
Funkcja pobierające dane głosowania z portalu GOSetti.pl.
Format wejścia i wyjścia opisany na stronie: https://gosetti.pl/dokumentacje_i_materialy/gosetti_glosowanie_na_serwery_api
*/
function GosettiVotingCsgoServerGetData($CsgoServerId)
{
$RequestBody = json_encode([
'CsgoServerId' => (int) $CsgoServerId
]);
$RequestHeaders = [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
];
$RequestHeadersString = '';
foreach($RequestHeaders as $Header => $Value)
$RequestHeadersString .= $Header . ': ' . $Value . "\r\n";
$ResponseBody = @file_get_contents(
'https://gosetti.pl/Api/GosettiVotingCsgoServerGetData.php',
false,
stream_context_create(['http' => [
'protocol_version' => '1.1',
'method' => 'POST',
'header' => $RequestHeadersString,
'content' => $RequestBody,
]])
);
return @json_decode($ResponseBody);
}