Banners API
De Banners API biedt endpoints voor het beheren van banners en banner clients in Joomla.
Base URL
/api/index.php/v1/banners
Endpoints Overzicht
Banners
| Methode | Endpoint | Beschrijving |
|---|---|---|
| GET | /banners | Alle banners ophalen |
| GET | /banners/{id} | Specifieke banner ophalen |
| POST | /banners | Nieuwe banner aanmaken |
| PATCH | /banners/{id} | Banner bijwerken |
| DELETE | /banners/{id} | Banner verwijderen |
Banner Clients
| Methode | Endpoint | Beschrijving |
|---|---|---|
| GET | /banners/clients | Alle clients ophalen |
| GET | /banners/clients/{id} | Specifieke client ophalen |
| POST | /banners/clients | Nieuwe client aanmaken |
| PATCH | /banners/clients/{id} | Client bijwerken |
| DELETE | /banners/clients/{id} | Client verwijderen |
Banner Categories
| Methode | Endpoint | Beschrijving |
|---|---|---|
| GET | /banners/categories | Alle categorieën ophalen |
| POST | /banners/categories | Nieuwe categorie aanmaken |
| PATCH | /banners/categories/{id} | Categorie bijwerken |
| DELETE | /banners/categories/{id} | Categorie verwijderen |
Banners
Alle banners ophalen
GET /api/index.php/v1/banners
Response
{
"data": [
{
"type": "banners",
"id": "1",
"attributes": {
"name": "Advertentie Banner",
"alias": "advertentie-banner",
"catid": 3,
"cid": 1,
"type": 1,
"state": 1,
"clickurl": "https://example.com",
"custombannercode": "<img src=\"banner.jpg\">",
"impressions_left": 0,
"clicks": 25,
"impmade": 1500
}
}
]
}
Banner aanmaken
POST /api/index.php/v1/banners
Request Body
{
"name": "Nieuwe Banner",
"alias": "nieuwe-banner",
"catid": 3,
"cid": 1,
"type": 1,
"state": 1,
"clickurl": "https://example.com",
"custombannercode": "<a href=\"#\"><img src=\"images/banners/banner.jpg\" alt=\"Banner\"></a>",
"description": "Beschrijving van de banner"
}
Verplichte velden
| Veld | Type | Beschrijving |
|---|---|---|
| name | string | Naam van de banner |
| catid | int | Categorie ID |
Optionele velden
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
| alias | string | auto | URL-vriendelijke naam |
| cid | int | 0 | Client ID |
| type | int | 0 | Banner type (0=image, 1=custom) |
| state | int | 1 | Publicatiestatus |
| clickurl | string | "" | Click-through URL |
| custombannercode | string | "" | Custom HTML code |
| description | string | "" | Beschrijving |
| imptotal | int | 0 | Totaal impressies (0=onbeperkt) |
Voorbeeld
curl -X POST "https://jouwesite.nl/api/index.php/v1/banners" \
-H "X-Joomla-Token: JOUW_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Header Banner",
"catid": 3,
"clickurl": "https://example.com",
"custombannercode": "<img src=\"banner.jpg\" alt=\"Banner\">"
}'
Banner bijwerken
PATCH /api/index.php/v1/banners/{id}
Voorbeeld
curl -X PATCH "https://jouwesite.nl/api/index.php/v1/banners/1" \
-H "X-Joomla-Token: JOUW_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"clickurl": "https://nieuwe-url.com",
"state": 0
}'
Banner verwijderen
DELETE /api/index.php/v1/banners/{id}
Banner Clients
Banner clients zijn adverteerders die meerdere banners kunnen hebben.
Client aanmaken
POST /api/index.php/v1/banners/clients
Request Body
{
"name": "Adverteerder BV",
"contact": "Jan Jansen",
"email": "jan@adverteerder.nl",
"extrainfo": "Premium adverteerder",
"state": 1
}
Verplichte velden
| Veld | Type | Beschrijving |
|---|---|---|
| name | string | Naam van de client |
| contact | string | Contactpersoon |
| string | E-mailadres |
Voorbeeld
curl -X POST "https://jouwesite.nl/api/index.php/v1/banners/clients" \
-H "X-Joomla-Token: JOUW_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Adverteerder BV",
"contact": "Jan Jansen",
"email": "jan@adverteerder.nl"
}'
Banner Categories
Categorie aanmaken
POST /api/index.php/v1/banners/categories
Request Body
{
"title": "Header Banners",
"alias": "header-banners",
"description": "Banners voor de header sectie"
}
Banner Types
| Type | Beschrijving |
|---|---|
| 0 | Afbeelding |
| 1 | Custom HTML code |
Banner States
| Waarde | Status |
|---|---|
| -2 | Prullenbak |
| 0 | Niet gepubliceerd |
| 1 | Gepubliceerd |
| 2 | Gearchiveerd |
Filtering
Op categorie
GET /api/index.php/v1/banners?filter[catid]=3
Op client
GET /api/index.php/v1/banners?filter[cid]=1
Op status
GET /api/index.php/v1/banners?filter[state]=1
Banner Statistieken
Banners houden automatisch statistieken bij:
| Veld | Beschrijving |
|---|---|
| impmade | Aantal weergaven |
| clicks | Aantal klikken |
| impressions_left | Resterende impressies |
info
Het resetten van statistieken moet via de Joomla administrator interface.