Tapahtumien näyttäminen omalla sivustolla
Tapahtumien näyttämisestä
Fientaan syötettyjä tapahtumia voidaan näyttää suoraan omalla kotisivullasi. Vähäisellä ohjelmoinnilla tapahtumat voidaan muotoilla ja saada toimimaan vastaamaan oman kotisivusi tyylejä ja rakennetta.
Julkinen API
Julkinen APImme perustuu REST protokollaan, palauttaa JSON-muodossa tietoja ja käyttää standardeja HTTP-vastauskoodeja.
Endpoint
Käytä seuraavaa endpointia tekemään pyyntö tietyn järjestäjän kaikista tulevista, julkaistuista ja julkisista tapahtumista:
GET /api/v1/public/events?organizer=<organiser_id><locale>
Kaksikirjaiminen kielilyhenne, joka määrittää halutun tapahtuman kielen.
Jos tapahtumaa ei ole syötetty pyydetyssä kielessä, palautetaan se jollakin muulla kielellä. Jos haluat näyttää vain pyydetyssä kielessä syötettyjä tapahtumia, lisää pyyntöön parametri "locale_strict".
<organiser_id>
Järjestäjän ID Fientassa, jonka arvon löydät vierailemalla Asetukset-sivulla.
Esimerkki: jos Asetukset-sivun osoite on /my/organizers/1234/edit, niin organiser_id arvo on 1234.
Esimerkki: Pyyntö palauttaa järjestäjän 1234 tapahtumat, suosien suomenkielistä sisältöä:
GET /api/v1/public/events?organizer=1234&locale=etEsimerkki: Pyyntö palauttaa järjestäjän 1234 vain englanninkieliset tapahtumat:
GET /api/v1/public/events?organizer=1234&locale_strict=enKatso lisätietoja pyyntöparametreista API dokumentatsioonist.
Pyynnön vastaus
Esimerkki JSON API -vastauksesta
{"events": [
{
"id": 5678,
"title": "Indie festival",
"starts_at": "2020-12-16 19:00:00",
"ends_at": "2020-12-16 21:15:00",
"duration_string": "Mon 16. December 2020 at 19:00 - 21:15",
"venue": "Millennium Park",
"address": "201 E Randolph St, Chicago, IL 60602",
"description": "An award winning festival weekender which takes place on the outskirts of ..",
"url": "https:\/\/fienta.com\/indie-festival",
"buy_tickets_url":"https:\/\/fienta.com\/indie-festival",
"image_url": "https:\/\/fienta.com\/uploads\/5678.jpg",
"organizer_name": "Smdith Events Ltd.",
"organizer_phone": "+81 555 666",
"organizer_email": "[email protected]",
},
]}id
Tapahtuman yksilöllinen ID.
title
Tapahtuman otsikko.
starts_at, ends_at
Tapahtuman alkamis- ja päättymispäivä sekä kellonaika.
duration_string
Tekstimuotoinen ilmaisu tapahtuman ajankohdasta.
venue
Tapahtumapaikan nimi.
address
Tapahtumapaikan osoite ilman maan nimeä.
description
Tapahtuman kuvaus, voi sisältää HTML-merkintöjä.
url
Tapahtumasivun täydellinen verkkosoite Fientassa.
buy_tickets_url
Linkki lippumyyntisivulle. Jos lippumyynti tapahtuu Fientassa, on sama arvo kuin "url"-attribuutilla. Jos lippumyynti tapahtuu jossakin muussa ympäristössä, palautetaan vastaava linkki. Jos tapahtumalla ei ole lippumyyntiä eikä rekisteröitymistä, palautetaan tyhjä arvo.
image_url
Tapahtumakuvan täydellinen verkkosoite.
organizer_name
Järjestäjän tai organisaation nimi.
organizer_phone
Järjestäjän puhelinnumero.
organizer_email
Järjestäjän sähköpostiosoite.
JavaScript-esimerkki
Esimerkki JavaScript- ja jQuery-koodista, joka hakee tapahtumat Fientasta ja näyttää neid verkkosivuston sisällössä:
<div id="events">
<!-- Events will be rendered inside this div -->
</div>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script>
jQuery(document).ready(function() {
// HTML element which will include event list
var container = jQuery('#events');
// Pull upcoming events from Fienta
jQuery.getJSON('/api/v1/public/events?organizer=1234', function(data) {
// Cycle through the results
data.events.forEach(function (event) {
// Write events into DOM
container.append(
'<div>' +
'<img src="' + event.image_url + '">' +
'<h2>' + event.title + '</h2>' +
'<p>' + event.duration_string + ' @ ' +
event.venue + ', ' + event.address + '</p>' +
'<p><a href="' + event.url + '">Buy Ticket</a></p>' +
'<p>' + event.description + '</p>' +
'</div>'
);
});
});
});
</script>
<!-- Optionally, embed ticket purchasing process -->
<script src="/embed.js"></script>