API
Specjalnie dla naszych użytkowników, przygotowaliśmy specjalne API pozwalające na wyświetlenie informacji o kanałach na naszych stronach w prosty sposób.
To w jaki sposób dane te zostaną wykorzystane zależy tylko i wyłącznie od webmastera - i to właśnie on musi zadbać o odpowiednie przetworzenie tych danych. API jest wbrew pozorom bardzo proste. API wyświetla dane plaintextem, używając kodowania UTF-8.
Api znajduje się pod adresem: https://api.pirc.pl
Dokumentacja
Autoryzacja i CORS
API jest otwarte i publiczne. Do uzyskania podstawowych informacji nie jest wymagana żadna autoryzacja, ani nie jest weryfikowany CORS.
Statystyki
Podstawowe informacje o kanale: nazwa, liczba użytkowników, ilość wiadomości i aktualny temat.
| Adres URL | https://api.pirc.pl/stats/NAZWA_KANAŁU |
|---|---|
| Zwracany typ | application/json |
| Przykładowy URL | https://api.pirc.pl/stats/help |
| Przykładowa odpowiedź | {
name: "#help",
users: 19,
messages: 12179,
topic: "Zanim zadasz swoje pytanie, przeczytaj: http://pirc.pl/help || FAQ: http://pirc.pl/faq"
} |
ChanServ
Informacje z serwisu ChanServ: nazwa, właściciel/założyciel i data rejestracji (timestamp)
| Adres URL | https://api.pirc.pl/chanserv/NAZWA_KANAŁU |
|---|---|
| Zwracany typ | application/json |
| Przykładowy URL | https://api.pirc.pl/chanserv/help |
| Przykładowa odpowiedź | {
name: "#help",
time_registered: 1244723078,
founder: "samaelszafran"
} |
Wszystkie informacje
Dla ułatwienia: endpoint zwracający połączone informacje z obu powyższych.
| Adres URL | https://api.pirc.pl/all/NAZWA_KANAŁU |
|---|---|
| Zwracany typ | application/json |
| Przykładowy URL | https://api.pirc.pl/all/help |
| Przykładowa odpowiedź | {
"chanserv": {
"name": "#help",
"time_registered": 1244723078,
"founder": "samaelszafran"
},
"stats": {
"name": "#help",
"users": 19,
"messages": 12179,
"topic": "Zanim zadasz swoje pytanie, przeczytaj: http://pirc.pl/help || FAQ: http://pirc.pl/faq"
}
} |
Przykładowe użycie na stronie
W przypadku strony statycznej (opartej jedynie o HTML, CSS i JavaScript), najłatwiej jest wykorzystać JavaScript do wykonania zapytania do naszego API:
<p>
Na moim kanale jest
<span id="api-channel-users"></span>
użytkowników.
</p>
<script type="text/javascript">
const textContainer = document.getElementById('api-channel-users');
const req = new XMLHttpRequest();
req.open('GET', 'https://api.pirc.pl/all/help', true);
req.onreadystatechange = (event) => {
if (req.readyState !== 4) return;
if (req.status === 200) {
const data = JSON.parse(req.responseText);
textContainer.innerText = data.stats.users;
} else {
textContainer.innerText = 'ERROR';
}
};
req.send(null);
</script>