To skoro zostałem przywołany...
Pomysł się zrodził już jakiś czas temu, bo co najmniej kilka pytań o API do 4p widziałem (nawet w kontekscia aplikacji mobilnej).
A teraz coś się ruszyło, bo pewien użytkownik (@kq konkretnie) chciał napisać 4programmers.netowego bota do IRC (bot z tego co wiem już napisany i działa btw).
W każdym razie potrzebował funkcji pobierania najnowszych tematów na forum (żeby bot robił powiadomienia), i pierwszy pomysł to było parsowanie strony głównej forum w poszukiwaniu nowych tematów.
Jako że to jest chory pomysł (parsowanie HTMLa tylko po to żeby kilka pól wyciągnąć), stanęło na prostym API do tego (ostatnie 10 tematów w JSONie).
No i to testowe API stoi już i ma się dobrze (nie jest dostępne publicznie, bo to efektywnie hack na kolanie i ten wątek jest po to żeby ustalić co dalej, ale jeśli ktoś jest zainteresowany "na już" to można napisać PW).
To skoro background za nami, to jeszcze coś konstruktywnego odpowiem na pytania:
Po co?
Programiści to zazwyczaj kreatywne istoty, jeśli dać im taką możliwość to mogą zrobić coś przydatnego.
Use casów dla api jest masa, chociażby wspomniany bot do irca (ja kiedyś napisałem jeszcze inne api, i jeszcze bardziej na kolanie, do bota XMPPowego, ale to było dawno (jeszcze na poprzednim serwerze) a tamten bot w końcu nie ruszył nigdy).
Jaki zakres funkcjonalności?
Zakładam, ze @msm miał tutaj na myśli konkretnie API do forum, aby warto by było założyć, że w przyszłości takie API byłoby rozbudowane o np. dział z ofertami pracy czy mikroblogami.
Na pewno wątki i posty na forum (jak Adam napisał), bo to na razie najbardziej aktywna częśc 4p. W przyszłości inne działy też są opcją, ale trzeba się zastanowić które - takie np. API dla ofertów pracy by było przydatne gdyby ktoś się z nim integrował/go używał. Nie mam pojęcia jak wygląda sprawa API dla ofert pracy, kto wie, może jest jakiś standard :P.
Tylko do odczytu czy możliwość publikowania (np. wpisów mikrobloga czy w przyszłości ofert pracy?)
Na pewno możliwośc publikowania by dramatycznie zwiększyła przydatność takiego API. Tylko trzeba by się zastanowić nad bezpieczeństwem tego, bo nie chcemy żeby jakiś abuser za pomocą trzylinijkowego skryptu w javascripcie puszczonego w nocy dodał 500 tysięcy postów do bazy ;).