Babl.nl

Babl voor developers

API

Wil je berichten ophalen of plaatsen vanuit je eigen applicatie, website, widget enz.? Op dit moment kan dat in JSON en RSS, requests kunnen zowel via GET als POST calls gedaan worden, maar eventuele authenticatie parameters moeten altijd gePOST worden.

Authenticatie

Voor een aantal requests & commando's is authenticatie nodig, dat wil zeggen dat een bablgebruikersnaam & wachtwoord meegegeven moet worden. Dit kan op twee manieren:
  • Via Basic Authentication
    (Bijvoorbeeld te testen met een curl parameter "-u gebruikersnaam:wachtwoord".
    Voor wie naar HTTP status codes luistert in responses: wanneer authenticatie verplicht is maar geen credentials worden doorgegeven, wordt statuscode 403 teruggegeven, niet 401)
  • Door de gebruikersnaam en wachtwoord als parameters te POSTen in de vorm
    username=gebruikersnaam&password=wachtwoord
    

RSS

De RSS feeds zijn read-only, maar bieden wel naast de standaard RSS items extra informatie via een namespace "babl", zodat je toch eenvoudig uitgebreidere berichtinformatie uit de feeds kunt trekken.

JSON

De JSON interface geeft altijd als response een variabele "status", met als waarde "OK" als de opdracht/request gelukt is, of als het mislukt is een uitleg waarom het mislukt is.

Verder is het bij alle JSON requests mogelijk om de response in een (javascript-) callbackfunctieaanroep terug te laten geven voor eventuele asynchrone implementatie.
Wanneer je de variable
cb=callbackFunctieNaam
meegeeft aan je request krijgt de response de vorm
callbackFunctieNaam(<JSON output>);


Berichten lezen

Bij het ophalen van berichten is authenticatie alleen nodig als de babl niet publiek is. Authenticatie is mogelijk met elk account dat lid is van de babl.

Nieuwste berichten ophalen

http://bablnaam.babl.nl/feed.json,
http://bablnaam.babl.nl/feed.rss
Geeft de nieuwste 25 berichten en reacties uit de babl terug.

Berichten van een gebruiker

http://bablnaam.babl.nl/user/gebruikersnaam/feed.json,
http://bablnaam.babl.nl/user/gebruikersnaam/feed.rss
Geeft de laatste 25 berichten en reacties die gebruikersnaam in deze babl heeft geplaatst

Reacties op een bericht ophalen

http://bablnaam.babl.nl/message/id/feed.json,
http://bablnaam.babl.nl/message/id/feed.rss
id is hier de ID van het betreffende bericht. Bij het ophalen van nieuwste berichten worden deze ID's meegegeven.


Berichten plaatsen

Voor het plaatsen van een bericht is altijd authenticatie nodig met een bablaccount dat lid is van de betreffende babl waar het bericht in geplaatst moet worden. Dit bablaccount is ook direct de schrijver van het bericht. Bij het plaatsen van berichten wordt op dit moment alleen een JSON response teruggegeven.
http://bablnaam.babl.nl/api/call.json

parameters (verplicht):
method=message.post
message=bericht

optioneel:
parentId=id
bericht is het bericht dat je wilt plaatsen. Als het bericht langer dan 400 tekens is wordt het automatisch afgekapt.
Wanneer de optionele parameter parentId wordt meegegeven, dan wordt het nieuwe bericht geplaatst als reactie op het bericht met id id. Deze id moet zelf een hoofdbericht zijn, er kan dus geen reactie op een reactie gegeven worden.


Heb je nog vragen, suggesties of zou je bepaalde functionaliteit willen zien? Laat het weten op de API & developers babl. Daar houden we je ook op de hoogte van veranderingen en nieuwe features.

Een voorbeeld-implementatie van berichten ophalen met behulp van de API vind je hier.