Ga naar hoofdinhoud

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

MethodeEndpointBeschrijving
GET/bannersAlle banners ophalen
GET/banners/{id}Specifieke banner ophalen
POST/bannersNieuwe banner aanmaken
PATCH/banners/{id}Banner bijwerken
DELETE/banners/{id}Banner verwijderen
MethodeEndpointBeschrijving
GET/banners/clientsAlle clients ophalen
GET/banners/clients/{id}Specifieke client ophalen
POST/banners/clientsNieuwe client aanmaken
PATCH/banners/clients/{id}Client bijwerken
DELETE/banners/clients/{id}Client verwijderen
MethodeEndpointBeschrijving
GET/banners/categoriesAlle categorieën ophalen
POST/banners/categoriesNieuwe 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
}
}
]
}
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

VeldTypeBeschrijving
namestringNaam van de banner
catidintCategorie ID

Optionele velden

VeldTypeStandaardBeschrijving
aliasstringautoURL-vriendelijke naam
cidint0Client ID
typeint0Banner type (0=image, 1=custom)
stateint1Publicatiestatus
clickurlstring""Click-through URL
custombannercodestring""Custom HTML code
descriptionstring""Beschrijving
imptotalint0Totaal 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\">"
}'
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
}'
DELETE /api/index.php/v1/banners/{id}

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

VeldTypeBeschrijving
namestringNaam van de client
contactstringContactpersoon
emailstringE-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"
}'

Categorie aanmaken

POST /api/index.php/v1/banners/categories

Request Body

{
"title": "Header Banners",
"alias": "header-banners",
"description": "Banners voor de header sectie"
}
TypeBeschrijving
0Afbeelding
1Custom HTML code
WaardeStatus
-2Prullenbak
0Niet gepubliceerd
1Gepubliceerd
2Gearchiveerd

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

Banners houden automatisch statistieken bij:

VeldBeschrijving
impmadeAantal weergaven
clicksAantal klikken
impressions_leftResterende impressies
info

Het resetten van statistieken moet via de Joomla administrator interface.