Tavastia Events-palvelun kohderyhmä- ja kategoria-valinnat

Tavastia Events-palvelussa käytettävät kohderyhmät. Voit käyttää omissa lomakkeissasi/syötöissä myös muita kuin alla listattuja vaihtoehtoja.

Aikuiset                    (yso:p5590)
Ikäihmiset                  (yso:p2434)
Lapset ja lapsiperheet      (yso:p4354 & yso:p13050 & yso:p4363)
Nuoret                      (yso:p11617)
Yrittäjät                   (yso:p1178)
Yritykset ja yhdistykset    (yso:p3128 & yso:p1393)
Opiskelijat                 (yso:p16486)
Harrastajat                 (yso:p10699)

Tavastia Events-palvelussa käytettävät kategoriat. Voit käyttää omissa lomakkeissasi/syötöissä myös muita kuin alla listattuja vaihtoehtoja.

Elokuva                     (yso:p16327)
Kuvataide                   (yso:p2739)
Näyttely                    (yso:p5121)
Museot                      (yso:p4934)
Teatteri                    (yso:p2625)                     
Musiikki                    (yso:p1808)
Leikit ja pelit             (yso:p 318 & yso:p6062)
Liikunta ja urheilu         (yso:p916 & yso:p965)
Tanssi                      (yso:p1278 & yso:p3046)
Ruoat ja juomat             (yso:p368 & yso:p5127)
Koulutukset ja seminaarit   (yso:p84 & yso:p7765)
Tekniikka & Teknologia      (yso:p1586 & yso:p3456 & yso:p2339)
Harrastukset                (yso:p2901)
Hyvinvointi & Terveys       (yso:p22036 & yso:p2762)
Hengelliset                 (yso:p17710)
Messut ja markkinat         (yso:p4892 & yso:p24062)

Tapahtuma lisätään /event endpointtiin.

Tapahtumaa lisätessä on mahdollista syöttää tiedot kolmella kielellä, Suomi, Ruotsi ja Englanti. Tiedot on syötettävä vähintään yhdellä kielellä,
mutta halutessasi tiedot voidaan syöttää kaikilla kolmella kielellä.

Käytettävä content-type:
application/json

Kaikki kentät Kieliversio saatavilla Pakollinen? Max merkkimäärä Tietotyyppi Muoto
keywords Kyllä string/link RAJAPINTA/v1/keyword/{id}/
location Kyllä string/link RAJAPINTA/v1/place/{id}/
name Kyllä Kyllä 255 string
short_description Kyllä 140 string
start_time Kyllä datetime YYYY-MM-DDThh:mm[:ss[.uuuuuu]][+HH:MM|-HH:MM|Z]
accessible Kyllä boolean
pin Kyllä 64 string
offers:is_free Kyllä boolean
offers:description Kyllä string
offers:price Kyllä 1000 string
offers:info_url Kyllä 1000 string/link HTTP:// tai HTTPS://
in_language string/link RAJAPINTA/v1/language/{id}/
external_links:name 100 string
external_links:link 200 string/link HTTP:// tai HTTPS://
external_links:language string/id {language id}
custom_data string
info_url Kyllä 1000 string/link HTTP:// tai HTTPS://
description Kyllä string
provider Kyllä Kyllä 512 string
provider_email 254 email
location_extra_info Kyllä 400 string
end_time datetime YYYY-MM-DDThh:mm[:ss[.uuuuuu]][+HH:MM|-HH:MM|Z]
images string/link RAJAPINTA/v1/image/{id}/
super_event string/link RAJAPINTA/v1/event/{id}/
super_event_type VAIN 'recurring' RAJAPINTA/v1/event/{id}/
audience string/link RAJAPINTA/v1/keyword/{id}/

Toistuvien tapahtumien syöttäminen

Toistuvia tapahtumia voidaan merkitä eri tavoin. Tässä mainitut kohdat ovat suositeltavia, koska sen avulla on mahdollista esittää tapahtumien liittyminen toisiinsa, ja esimerkiksi niiden ryhmittelyn.

Mikäli tapahtuma kestää tietyn ajan säännöllisillä ajoilla, kuten koko viikon joka päivä 8.00 - 16.00, tapahtuma voidaan merkitä yhtenä tapahtumana kirjaten aukioloajat kuvaukseen.

Mikäli tapahtuma kestää esimerkiksi kuukauden ajan, mutta vain arkipäivinä, tapahtuma voidaan merkitä viikoittain(ma-pe) kirjaten kuvaukseen aukioloajat. Tällöin tapahtuma ei näy la-su. Tällöin voidaan hyödyntää alla olevaa tapaa hyödyntää super ja sub event tietoa, jotta viikoittaiset tapahtumat saadaan liitettyä toisiinsa.

Mikäli tapahtuman ajat ja/tai päivät ovat vaihtuvia, voidaan jokainen tapahtuma syöttää omanaan. Tällöin syötä tapahtumasarjan ensimmäiseen tapahtumaan super_event_type arvoksi recurring.
Tämän jälkeen alitapahtumiin syötä super_event arvoksi päätapahtuman @id arvo. Päätapahtumaan päivittyy sub_events kohtaan automaattisesti kaikkien tapahtumaan liittyvien alitapahtumien linkit.
Alla esimerkki

Päätapahtuma

    
{
    {
        # Tapahtuman muita tietoja
    },
    "super_event_type": "recurring"       # Super event type. Only "recurring"
}
    

Alitapahtuma


{
    {
        # Tapahtuman muita tietoja
    },
    "super_event": {
        "@id": "RAJAPINNAN_OSOITE/v1/event/{id}/"      # @ID of the main event.
    }       
}


{
    "location": {
        "@id": "RAJAPINNAN_OSOITE/v1/place/{id}/"       # Id for the location, must be found in the API database. Mandatory
    },

    "keywords": [
    {
        "@id": "RAJAPINNAN_OSOITE/v1/keyword/{id}/"     # Id for the keyword, must be found in the API database. Multiple keywords can be added. One keyword is mandatory
    },
    {
        "@id": "RAJAPINNAN_OSOITE/v1/keyword/{id}/"     # Id for the keyword, must be found in the API database. Multiple keywords can be added. One keyword is mandatory
    }
    ],

    "audience": [
    {
        "@id": "RAJAPINNAN_OSOITE/v1/keyword/{id}/"     # Id for the keyword, must be found in the API database. Multiple keywords can be added. One keyword is mandatory
    },
    {
        "@id": "RAJAPINNAN_OSOITE/v1/keyword/{id}/"     # Id for the keyword, must be found in the API database. Multiple keywords can be added. One keyword is mandatory
    }
    ],

    "name": {
        "fi": "Tapahtumalle nimi",      # Tapahtumalle nimi. Enintään 255 merkkiä. Pakollinen yhdellä kielellä
        "sv": "Namn på händelsen",      # Högst 255 tecken, formatering inte tillåtet. Obligatorisk på ett språk
        "en": "Name for the event"      # Max 255 characters, formatting not allowed. Mandatory for atleast one language
    },

    "short_description": {
        "fi": "Lyhyt kuvaus tapahtumalle, max 140 merkkiä",             # Pakollinen yhdellä kielellä. Enintään 140 merkkiä, muotoilu ei sallittu
        "sv": "En kort beskrivning av händelsen, max 140 tecken",       # Obligatorisk på ett språk. Högst 140 tecken, formatering inte tillåtet
        "en": "Short description for the event, max 140 characters"     # Mandatory for atleast one language. Max 140 characters, formatting not allowed
    },

    "description": {
        "fi": "Pitkä kuvaus tapahtumalle",              # Sallittu muotoilu p, div, table, td, th ja tr
        "sv": "En lång beskrivning av händelsen",       # Tillåtet formatering p, div, table, td, th och tr
        "en": "Long description for the event"          # Allowed formatting p, div, table, td, th and tr
    },

    "start_time": "2018-06-21T18:46:12.000Z",       # Event start time, mandatory, UTC +0 
    "end_time": "2018-06-21T19:46:12.000Z",         # Event end time, not mandatory, UTC +0

    "pin": "pin1234"        # Max 64 characters, mandatory

    "accessible": false,    # Boolean. Accessibility information, mandatory

    "in_language": [
    {
    "@id": "RAJAPINNAN_OSOITE/v1/language/{id}/"        # Id for the language, must be found in the API database. Multiple languages can be added. For example the main language of the event
    },
    {
    "@id": "RAJAPINNAN_OSOITE/v1/language/{id}/"        # Id for the language, must be found in the API database. Multiple languages can be added. For example the main language of the event
    }
    ],

    "external_links": [                     # External links related to the event. For example social media links
    {
        "name": "valinnainen nimi",         # Optional, can be left empty. For example name can be the name of the site, such as "google"
        "link": "http://www.google.fi",     # Mandatory, when adding a link. Same link can only added once on the same event
        "language": "{id}"                  # Mandatory, when adding a link. Two letter {id} must be found on the API database, such as "fi"
    },
    {
        "name": "valinnainen nimi",         # Optional, can be left empty. For example name can be the name of the site, such as "google"
        "link": "http://www.google.sv",     # Mandatory, when adding a link. Same link can only added once on the same event
        "language": "{id}"                  # Mandatory, when adding a link. Two letter {id} must be found on the API database, such as "fi"
    }
    ],

    "offers": [             # Price information. Free/paid information at minimum is mandatory
    {
        "price": {
            "fi": "10€ peruslippu, 8€ opiskelijoille",          # Perus hintatiedot, esimerkiksi normaalilipun hinta
            "sv": "10€ för grundbiljett, 8€ för studenter",     # Grundprisinformation, till exempel ett standardbiljettpris
            "en": "10€ for basic ticket, 8€ for students"       # Basic price information, e.g. price for a normal ticket
        },
        "info_url": {
            "fi": "http://osoite.fi/hinnasto",          # Linkki hinnastoon
            "sv": "http://address.sv/prislista",        # Webbadress till prislista
            "en": "http://address.com/pricepage"        # Link to the price list
        },
        "description": {
            "fi": "string",     # Kuvaus hinnastolle, esimerkiksi jos ei ole erillistä verkkosivua hinnastolle
            "sv": "string",     # Beskrivning av prislistan, till exempel om det inte finns någon separat webbsida för prislistan
            "en": "string"      # Description for the pricing, e.g. if there is no separate webpage for the price list
        },
        "is_free": true     # Boolean. If the event is free or paid. Mandatory
    }
    ],

    "custom_data": 
    {
        "key": "value",     # Tapahtumaan liittyvää lisätietoa, esimerkiksi voidaan käyttää identifiointiin omassa järjestelmässä
        "key2": "value2",   # Mer information om evenemanget, t.ex. det kan användas för identifiering i ditt system"
        "key3": "value3"    # Extra information related to the event, e.g. can be used to identify the event in your own system
    },
    
    "info_url": {
        "fi": "http://www.google.fi/",      # Tapahtuman kotisivun www-osoite täydellisenä. Pitää sisältää http:// tai https://
        "sv": "http://www.google.sv/",      # Händelse hemsida fullständig. Måste innehålla http:// eller https://
        "en": "http://www.google.com/"      # Events homepage fully qualified www-address. Must include http:// or https://
    },
    
    "provider": {
        "fi": "Tapahtuman järjestäjä",      # Enintään 512 merkkiä
        "sv": "Event arrangör",             # Högst 512 tecken
        "en": "Event organizer"             # Max 512 characters
    },
    "provider_email": "example@example.com", # Qualified Email

    "location_extra_info": {
        "fi": "Lisätietoa paikalle, kuten käytettävä ovi",                              # Enintään 400 merkkiä
        "sv": "Ytterligare information på platsen, t.ex. dörren som ska användas",      # Högst 400 tecken
        "en": "Extra information for the place, e.g. door to use"                       # Max 400 characters
    },
    
    "images": [
    {
        "@id": "RAJAPINNAN_OSOITE/v1/image/{id}/"   # {id} is a picture id from the API database
    }
    ]
    
}

Tapahtumaa päivitettäessä on suositeltavaa käyttää metodia PUT

Käytettävä content-type:
application/json

Tapahtuman päivittäminen vaatii oikean PIN-koodin syöttämisen päivitystä tehtäessä, eikä PIN-koodia voida jälkikäteen vaihtaa itse.


{
    "location": {
        "@id": "RAJAPINNAN_OSOITE/v1/place/{id}/"       # Id for the location, must be found in the API database. Mandatory
    },

    "keywords": [
    {
        "@id": "RAJAPINNAN_OSOITE/v1/keyword/{id}/"     # Id for the keyword, must be found in the API database. Multiple keywords can be added. One keyword is mandatory
    },
    {
        "@id": "RAJAPINNAN_OSOITE/v1/keyword/{id}/"     # Id for the keyword, must be found in the API database. Multiple keywords can be added. One keyword is mandatory
    }
    ],

    "name": {
        "fi": "Tapahtumalle nimi",      # Tapahtumalle nimi. Enintään 255 merkkiä. Pakollinen yhdellä kielellä
        "sv": "Namn på händelsen",      # Högst 255 tecken, formatering inte tillåtet. Obligatorisk på ett språk
        "en": "Name for the event"      # Max 255 characters, formatting not allowed. Mandatory for atleast one language
    },

    "short_description": {
        "fi": "Lyhyt kuvaus tapahtumalle, max 140 merkkiä",             # Pakollinen yhdellä kielellä. Enintään 140 merkkiä, muotoilu ei sallittu
        "sv": "En kort beskrivning av händelsen, max 140 tecken",       # Obligatorisk på ett språk. Högst 140 tecken, formatering inte tillåtet
        "en": "Short description for the event, max 140 characters"     # Mandatory for atleast one language. Max 140 characters, formatting not allowed
    },

    "description": {
        "fi": "Pitkä kuvaus tapahtumalle",              # Sallittu muotoilu p, div, table, td, th ja tr
        "sv": "En lång beskrivning av händelsen",       # Tillåtet formatering p, div, table, td, th och tr
        "en": "Long description for the event"          # Allowed formatting p, div, table, td, th and tr
    },

    "start_time": "2018-06-21T18:46:12.000Z",       # Event start time, mandatory, UTC +0 
    "end_time": "2018-06-21T19:46:12.000Z",         # Event end time, not mandatory, UTC +0

    "pin": "pin1234"        # Max 64 characters, mandatory

    "accessible": false,    # Boolean. Accessibility information, mandatory

    "in_language": [
    {
    "@id": "RAJAPINNAN_OSOITE/v1/language/{id}/"        # Id for the language, must be found in the API database. Multiple languages can be added. For example the main language of the event
    },
    {
    "@id": "RAJAPINNAN_OSOITE/v1/language/{id}/"        # Id for the language, must be found in the API database. Multiple languages can be added. For example the main language of the event
    }
    ],

    "external_links": [                     # External links related to the event. For example social media links
    {
        "name": "valinnainen nimi",         # Optional, can be left empty. For example name can be the name of the site, such as "google"
        "link": "http://www.google.fi",     # Mandatory, when adding a link. Same link can only added once on the same event
        "language": "{id}"                  # Mandatory, when adding a link. Two letter {id} must be found on the API database, such as "fi"
    },
    {
        "name": "valinnainen nimi",         # Optional, can be left empty. For example name can be the name of the site, such as "google"
        "link": "http://www.google.sv",     # Mandatory, when adding a link. Same link can only added once on the same event
        "language": "{id}"                  # Mandatory, when adding a link. Two letter {id} must be found on the API database, such as "fi"
    }
    ],

    "offers": [             # Price information. Free/paid information at minimum is mandatory
    {
        "price": {
            "fi": "10€ peruslippu, 8€ opiskelijoille",          # Perus hintatiedot, esimerkiksi normaalilipun hinta
            "sv": "10€ för grundbiljett, 8€ för studenter",     # Grundprisinformation, till exempel ett standardbiljettpris
            "en": "10€ for basic ticket, 8€ for students"       # Basic price information, e.g. price for a normal ticket
        },
        "info_url": {
            "fi": "http://osoite.fi/hinnasto",          # Linkki hinnastoon
            "sv": "http://address.sv/prislista",        # Webbadress till prislista
            "en": "http://address.com/pricepage"        # Link to the price list
        },
        "description": {
            "fi": "string",     # Kuvaus hinnastolle, esimerkiksi jos ei ole erillistä verkkosivua hinnastolle
            "sv": "string",     # Beskrivning av prislistan, till exempel om det inte finns någon separat webbsida för prislistan
            "en": "string"      # Description for the pricing, e.g. if there is no separate webpage for the price list
        },
        "is_free": true     # Boolean. If the event is free or paid. Mandatory
    }
    ],

    "custom_data": 
    {
        "key": "value",     # Tapahtumaan liittyvää lisätietoa, esimerkiksi voidaan käyttää identifiointiin omassa järjestelmässä
        "key2": "value2",   # Mer information om evenemanget, t.ex. det kan användas för identifiering i ditt system"
        "key3": "value3"    # Extra information related to the event, e.g. can be used to identify the event in your own system
    },
    
    "info_url": {
        "fi": "http://www.google.fi/",      # Tapahtuman kotisivun www-osoite täydellisenä. Pitää sisältää http:// tai https://
        "sv": "http://www.google.sv/",      # Händelse hemsida fullständig. Måste innehålla http:// eller https://
        "en": "http://www.google.com/"      # Events homepage fully qualified www-address. Must include http:// or https://
    },
    
    "provider": {
        "fi": "Tapahtuman järjestäjä",      # Enintään 512 merkkiä
        "sv": "Event arrangör",             # Högst 512 tecken
        "en": "Event organizer"             # Max 512 characters
    },

    "location_extra_info": {
        "fi": "Lisätietoa paikalle, kuten käytettävä ovi",                              # Enintään 400 merkkiä
        "sv": "Ytterligare information på platsen, t.ex. dörren som ska användas",      # Högst 400 tecken
        "en": "Extra information for the place, e.g. door to use"                       # Max 400 characters
    },
    
    "images": [
    {
        "@id": "RAJAPINNAN_OSOITE/v1/image/{id}/"   # {id} is a picture id from the API database
    }
    ]
    
}

Käytettävä content-type:
application/x-www-form-urlencoded
multipart/form-data

Tapahtuma poistetaan käyttäen metodia DELETE. Pyynnön mukana on lähetettävä PIN-koodi.

Rajapintaan voidaan lähettää kuvatiedosto, jolloin se tallennetaan Microsoft Azuren Blob Storageen.
Azuren tallennustilan fyysinen sijainti on Pohjois-Eurooppa/Irlanti.
TAI
Rajapintaan voidaan lähettää linkki kuvaan, jos se on jo ladattuna verkkoon.

Kuvaa lähetettäessä on käytettävissä 5 kenttää,

KenttäTarkoitusPakollinen?
nameNimi kuvalle
photographer_nameKuvaajan nimi
licenseLisenssi

Ja kuvatiedosto TAI linkki


KenttäTarkoitusPakollinen?
urlLinkki kuvaanKyllä

TAI


KenttäTarkoitusPakollinen?
imageKuvatiedostoKyllä

Käytössä oleva lisenssi-kenttä sallii ohjeiden kirjoitus hetkellä vain event_only arvon käyttämisen.
Rajapinnan kautta löytyvien kuvien käyttö on rajattu vain tapahtuman tietojen yhteydessä käytettäväksi.
Kuvan maksimikoko on 1mb.

Kuvalle ei ole pakko antaa nimeä, tällöin syöttäessä kuvaa nimeksi asetetaan kuvan osoite.
Kuvaajan nimeä ei ole pakko syöttää.

Käytettävä content-type:
application/json
multipart/form-data

Lähettäessä linkkiä ulkopuoliseen kuvaan content-type voi olla sekä multipart/form-data että application/json.


{
    "name": "Juoksija, valinnainen",
    "photographer_name": "Kuvaajan nimi, valinnainen",
    "url": "https://images.pexels.com/photos/235922/pexels-photo-235922.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940",
    "license": "event_only"
}

Lähetettäessä kuvatiedostoa rajapintaan, content-type on multipart/form-data.

namekuvan_nimi photographer_nameKuvaajan nimi imagekuvatiedosto.jpg licenseevent_only

Paikkoja ei ole mahdollista poistaa tai muokata itse.

Käytettävä content-type:
application/json

Kentät, joissa on kieliversio saatavilla, on tiedot syötettävä vähintään yhdellä kielellä.

postal_code
Kaikki kentät Kieliversio saatavilla Pakollinen? Max merkkimäärä Tietotyyppi Muoto
name Kyllä 255 string
position:latitude Kyllä string WGS 84/srid=4326
position:longitude Kyllä string WGS 84/srid=4326
street_address Kyllä Kyllä 255 string
address_locality Kyllä Kyllä 255
description Kyllä string
email 254 email
telephone Kyllä 128 string
post_office_box_num 128 string
address_country 2 string Kaksi kirjaiminen maakoodi
info_url Kyllä 1000 url
custom_data string
postal_code Kyllä string

{
    "name": {
        "fi": "Hämeenlinnan tori",          # Jos paikalla on tunnettu nimi, se voidaan antaa tässä. Rajapinnassa nimi kenttään lisätään osoite ja kaupunki
        "sv": "Tavastehus marknad",         # Om ett känt namn är närvarande kan det ges här. I gränssnittsnamnet anger du adressen och staden
        "en": "Hämeenlinnas market"         # If a place has a known-name, it can be added here. In the API, address and city is added to the name field
    },
    "street_address": {
        "fi": "Katuosoite 1",           # Pakollinen, katuosoite
        "sv": "Gatuadress 1",           # Obligatoriskt, gatuadress
        "en": "Street address 1"        # Mandatory, street address
    },
    "address_locality": {
        "fi": "Hämeenlinna",        # Pakollinen, kaupunki tai kunta
        "sv": "Tavastehus",         # Obligatoriskt, stad eller kommun
        "en": "Hämeenlinna"         # Mandatory, city or municipality
    },
    "position": {
        "latitude": 60.12345678912345,    # WGS 84
        "longitude": 20.12345678912345    # WGS 84
    },
    "custom_data":
    {
        "key1": "string",       # Tapahtumaan liittyvää lisätietoa, esimerkiksi voidaan käyttää identifiointiin omassa järjestelmässä
        "key2": "string",       # Mer information om evenemanget, t.ex. det kan användas för identifiering i ditt system"
        "key3": "string"        # Extra information related to the event, e.g. can be used to identify the event in your own system
    },
    "info_url": {
        "fi": "http://www.google.fi",      # Jos paikalla on kotisivut ne voidaan lisätä tähän
        "sv": "http://www.google.sv",      # Om det finns en hemsida kan de läggas till här
        "en": "http://www.google.com"      # If the place has a website, it can be added here
    },
    "description": {
        "fi": "Kuvaus paikalle",            # Paikalle voidaan lisätä kuvaus
        "sv": "Beskrivning på platsen",     # En beskrivning kan läggas till platsen
        "en": "Description for the place"   # Description for the place can be added here
    },
    "email": "omistaja@paikka.fi",      # If the place has an contact information, it can be added
    "telephone": {
        "fi": "+1234567890",        # Puhelinnumero paikkaan
        "sv": "+1234567890",        # Telefonnummer till plats
        "en": "+1234567890"         # Phone number for the place
    },
    "postal_code": "13100",                     # ZIP code
    "post_office_box_num": "Postilokero",       # PO box
    "address_country": "FI"                     # Two-letter country code
}