Integraatio

Tapahtumien näyttäminen omalla sivustolla

Tapahtumien näyttämisestä

Fientaan lisättyjä tapahtumia voidaan näyttää suoraan omalla verkkosivustollasi. Pienellä määrällä ohjelmointia tapahtumat voidaan muotoilla sopimaan sivustosi tyyliin ja rakenteeseen.

Julkinen API

Julkinen API:mme perustuu REST-protokollaan, palauttaa JSON-muodossa tietoja ja käyttää standardeja HTTP-vastauskoodeja.

Endpoint

Käytä seuraavaa rajapintaosoitetta hakeaksesi tietyn järjestäjän kaikki tulevat, julkaistut ja julkiset tapahtumat:

GET https://fienta.com/api/v1/public/events?organizer=<organiser_id>

<locale>
Kaksikirjaiminen kielitunnus, joka määrittää halutun tapahtumakielen.

Jos tapahtumaa ei ole syötetty pyydetyllä kielellä, se palautetaan jollakin muulla kielellä. Jos haluat näyttää vain pyydetyllä kielellä syötetyt tapahtumat, lisää pyyntöön parametri "locale_strict".

<organiser_id>
Järjestäjän ID Fientassa. Löydät sen Asetukset-sivun osoitteesta.
Esimerkki: jos Asetukset-sivun osoite on /my/organizers/1234/edit, organiser_id on 1234.

Esimerkki: pyyntö palauttaa järjestäjän 1234 tapahtumat suosien vironkielistä sisältöä:

GET https://fienta.com/api/v1/public/events?organizer=1234&locale=et

Esimerkki: Pyyntö palauttaa järjestäjän 1234 vain englanninkieliset tapahtumat:

GET https://fienta.com/api/v1/public/events?organizer=1234&locale_strict=en

Katso lisätietoja pyyntöparametreista API-dokumentaatiosta.

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, joka voi sisältää HTML-merkintöjä.

url
Tapahtumasivun täydellinen verkkosoite Fientassa.

buy_tickets_url
Linkki lippumyyntisivulle. Jos lippumyynti tapahtuu Fientassa, arvo on sama kuin "url"-attribuutissa. Jos lippumyynti tapahtuu jossakin muussa ympäristössä, palautetaan kyseinen 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ää ne verkkosivustosi 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('https://fienta.com/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="https://fienta.com/embed.js"></script>