Newsfeeds API
De Newsfeeds API biedt endpoints voor het beheren van RSS/Atom newsfeeds in Joomla.
Base URL
/api/index.php/v1/newsfeeds
Endpoints Overzicht
| Methode | Endpoint | Beschrijving |
|---|---|---|
| GET | /newsfeeds/feeds | Alle newsfeeds ophalen |
| GET | /newsfeeds/feeds/{id} | Specifieke newsfeed ophalen |
| POST | /newsfeeds/feeds | Nieuwe newsfeed aanmaken |
| PATCH | /newsfeeds/feeds/{id} | Newsfeed bijwerken |
| DELETE | /newsfeeds/feeds/{id} | Newsfeed verwijderen |
Alle newsfeeds ophalen
GET /api/index.php/v1/newsfeeds/feeds
Response
{
"data": [
{
"type": "newsfeeds",
"id": "1",
"attributes": {
"name": "Joomla Nieuws",
"alias": "joomla-nieuws",
"link": "https://www.joomla.org/announcements.feed",
"catid": 5,
"numarticles": 5,
"published": 1,
"description": "Officiële Joomla aankondigingen",
"language": "*"
}
}
]
}
Specifieke newsfeed ophalen
GET /api/index.php/v1/newsfeeds/feeds/{id}
Parameters
| Parameter | Type | Beschrijving |
|---|---|---|
| id | integer | Newsfeed ID |
Voorbeeld
curl -X GET "https://jouwesite.nl/api/index.php/v1/newsfeeds/feeds/1" \
-H "X-Joomla-Token: JOUW_API_TOKEN"
Newsfeed aanmaken
POST /api/index.php/v1/newsfeeds/feeds
Request Body
{
"name": "Tech Nieuws",
"alias": "tech-nieuws",
"link": "https://example.com/feed.rss",
"catid": 5,
"numarticles": 10,
"published": 1,
"description": "Laatste tech nieuws",
"access": 1,
"language": "*"
}
Verplichte velden
| Veld | Type | Beschrijving |
|---|---|---|
| name | string | Naam van de newsfeed |
| link | string | URL naar de RSS/Atom feed |
| catid | int | Categorie ID |
Optionele velden
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
| alias | string | auto | URL-vriendelijke naam |
| numarticles | int | 5 | Aantal artikelen te tonen |
| published | int | 1 | Publicatiestatus |
| description | string | "" | Beschrijving |
| access | int | 1 | Toegangsniveau |
| language | string | "*" | Taalcode |
| ordering | int | 0 | Volgorde |
Voorbeeld
curl -X POST "https://jouwesite.nl/api/index.php/v1/newsfeeds/feeds" \
-H "X-Joomla-Token: JOUW_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "BBC Nieuws",
"link": "http://feeds.bbci.co.uk/news/rss.xml",
"catid": 5,
"numarticles": 10
}'
Newsfeed bijwerken
PATCH /api/index.php/v1/newsfeeds/feeds/{id}
Request Body
{
"numarticles": 15,
"description": "Bijgewerkte beschrijving"
}
Voorbeeld
curl -X PATCH "https://jouwesite.nl/api/index.php/v1/newsfeeds/feeds/1" \
-H "X-Joomla-Token: JOUW_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"numarticles": 15
}'
Newsfeed verwijderen
DELETE /api/index.php/v1/newsfeeds/feeds/{id}
Voorbeeld
curl -X DELETE "https://jouwesite.nl/api/index.php/v1/newsfeeds/feeds/1" \
-H "X-Joomla-Token: JOUW_API_TOKEN"
Newsfeed States
| Waarde | Status |
|---|---|
| -2 | Prullenbak |
| 0 | Niet gepubliceerd |
| 1 | Gepubliceerd |
| 2 | Gearchiveerd |
Newsfeed Categorieën
Newsfeeds worden georganiseerd in categorieën.
Categorieën ophalen
GET /api/index.php/v1/newsfeeds/categories
Categorie aanmaken
POST /api/index.php/v1/newsfeeds/categories
{
"title": "Technologie Feeds",
"alias": "technologie-feeds",
"description": "RSS feeds over technologie"
}
Filtering
Op categorie
GET /api/index.php/v1/newsfeeds/feeds?filter[catid]=5
Op publicatiestatus
GET /api/index.php/v1/newsfeeds/feeds?filter[published]=1
Zoeken
GET /api/index.php/v1/newsfeeds/feeds?filter[search]=nieuws
Feed Formaten
De API ondersteunt de volgende feed formaten:
| Formaat | Beschrijving |
|---|---|
| RSS 2.0 | Meest gebruikte RSS formaat |
| RSS 1.0 | Ouder RDF-gebaseerd formaat |
| Atom | Modern alternatief voor RSS |
tip
Controleer of de feed URL correct is en toegankelijk voordat je een newsfeed aanmaakt. Ongeldige URLs zorgen voor errors bij het weergeven.
Voorbeeld: Meerdere feeds toevoegen
# Voeg meerdere feeds toe in een script
feeds=(
"https://feeds.bbci.co.uk/news/technology/rss.xml|BBC Tech"
"https://rss.nytimes.com/services/xml/rss/nyt/Technology.xml|NYT Tech"
)
for feed in "${feeds[@]}"; do
IFS='|' read -r url name <<< "$feed"
curl -X POST "https://jouwesite.nl/api/index.php/v1/newsfeeds/feeds" \
-H "X-Joomla-Token: JOUW_API_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"name\": \"$name\", \"link\": \"$url\", \"catid\": 5}"
done