Integratsioon

Ürituste kuvamine oma veebilehel

Ürituste kuvamisest

Fientasse sisestatud üritusi on võimalik kuvada otse oma kodulehel. Vähese programeerimise tulemusena saab üritused vormindada ja panna käituma vastavalt oma kodulehe stiilidele ja ülesehitusele. 

Avalik API

Meie avalik API põhineb REST protokollil, tagastab JSON-formaadis andmeid ning kasutab standardseid HTTP response koode.

Endpoint

Kasuta järgmist endpointi, et teha päringut konkreetse korraldaja kõigist tulevastest, avaldatud ja avalikest üritustest:

GET https://fienta.com/<langugage>/o/<organiser_id>?format=json

<language>
Kahetäheline keelelühend mis märgib soovitud ürituse keelt.

Kui üritust etteantud keeles korraldaja poolt sisetatud ei ole, tagastatakse see mõnes muus keeles. Et kuvada ainult päritud keeles sisestatud üritusi, tuleb päringule lisada parameeter "language_strict=1".

<organiser_id>
Korraldaja ID Fientas, mille väärtust saab leida külastades Seaded lehekülge. 
Näiteks: kui Seaded lehekülje aadress on https://fienta.com/my/organizers/1234/edit, siis organiser_id väärtus on 1234.

Näide: Päring tagastab korraldaja 1234 üritused, eelistades eestikeelset sisu:

GET https://fienta.com/et/o/1234?format=json

Näide: Päring tagastab korraldaja 1234 inglisekeelsed üritused:

GET https://fienta.com/en/o/1234?format=json&language_strict=1

Toimunud üritused
Vaikimisi tagastab päring ainult veel toimumata üritused. Et saada kätte ka minevikus toimunud üritused, lisa past=1 parameeter.

Näide: Päring tagastab korraldaja nii toimunud kui veel toimumata üritused:

GET https://fienta.com/o/1234?format=json&past=1 

Päringu vastus

Näide JSON API vastusest

{"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": "hello@smidthevents.com",
  },
]}

id
Ürituse unikaalne ID.

title
Ürituse pealkiri.

starts_at, ends_at
Ürituse alguse ja lõpu kuupäev ning kellaaeg.

duration_string
Tekstiline väljendus ürituse toimumise ajast.

venue
Toimumise koha nimetus.

address
Toimumise koha aadress ilma riigi nimeta.

description
Ürituse kirjeldus, võib sisaldada HTML märgendeid.

url
Ürituse lehekülje täispikk veebiaadress Fientas.

buy_tickets_url
Link piletimüügi lehele. Kui piletimüük toimub Fientas, omab "url" atribuudiga sama väärtust. Kui piletimüük toimub mõnes muus keskkonnas, tagastatakse vastav link. Kui üritusel piletimüüki ega registeerumist ei ole, tagastatakse tühi väärtus.

image_url
Ürituse pildi täispikk veebiaadress.

organizer_name
Korraldaja või organisatsiooni nimi.

organizer_phone
Korraldaja telefoninumber.

organizer_email
Korraldaja e-posti aadress.

JavaScripti näidis

Näide JavaScripti ja jQueryt kasutavast koodist, mis tõmbab üritused Fientast ning kuvab neid veebisaidi sisus:

<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('https://fienta.com/en/o/1234?format=json', 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="https://fienta.com/embed.js"></script>