2023-01-24 19:00:39 +01:00
..
2023-01-24 19:00:39 +01:00
2023-01-24 19:00:39 +01:00
2023-01-24 19:00:39 +01:00
2023-01-24 19:00:39 +01:00

ESS Bibliography API documentation
Version: 0.1

Further Info: May Dousak (may.dousak@fdv.uni-lj.si)

--------------------------------------------------------------------------------
1. GENERAL PRINCIPLES
2. LIST OF CALLS
--------------------------------------------------------------------------------
1. GENERAL PRINCIPLES

1.1 SENDING REQUESTS 

    Your client should request queries using a POST parameter to:

    a) API URL

        default: https://bibliography.europeansocialsurvey.org/api

    b) an appropriate command, passed as a POST variable w

    c) (optional) parameters as additional POST variables


1.2 RECEIVING RESPONSES

    In case of success, data is received along with HTTP code 200 ("OK").

    In case of wrong call, http code 400 ("Invalid request") is returned.

    In case of error in server side appropriate HTTP response code along with 
        text content is returned.

    In essence: check the response codes before reporting bugs!



1.3 JQUERY CLIENT EXAMPLE

    The following simple example requests the lists of countries and fills the 
    according drop-down ("affiliation"). 

        $.ajax ({
            method: "POST",
            url: API_URL,
            data: {
                w: 'list_countries'
            }
        })
        .done (function (msg) {
            if (msg == '') {
                console.log('No response received from API!');
            }
            else {
                $('#affiliation').html('<option value="0">Any</option>');

                if (msg['status'] == "200") {
                    msg['data'].forEach(function (item) {
                        $('#affiliation').html( $('#affiliation').html() + '<option value="' + item['id'] + '">' + item['name'] + '</option>');
                    });
                }
                else {
                    console.log(msg);
                }
            }
        })
        .fail (function() {
            console.log('No response received from API!');
        });


--------------------------------------------------------------------------------

2. LIST OF COMMANDS


    browse

        Displays list of entries based on the browse data
        
        Extra POST variables: 
            (in progress. Please refer to classes/browse.php)

        Response: json array of results.



    browse2spreadsheet

        Exports the current list of entries into a spreadsheet (CSV).
        
        Extra POST variables: 
            (in progress. Please refer to classes/browse.php)

        Response: CSV file.



    display_item

        Displays details for the selected item (from search_suggestions)

        Extra POST variables: 
            id - id of the item

        Response: array (
            name : item name
            label : item label
            block : block item resides in
            txt : item full text )        
   

    doi

        Fetches bibliographic data from DOI record. Please use sparingly as it
        connects to third-party servers (DOI) and we do not want to get blocked.

        Extra post varialbes: 
            doi : doi record

        Response: array containing citation data.



    item2spreadsheet

        Exports item citations into a spreadsheet

        Extra POST variables: 
            id: item id

        Response: CSV file.        
      
        
    item_citations

        Displays all the bibliographic entries "using" the selected item.

        Extra POST variables: 
            id: item id

        Response: json list of entries using the given item.



    list_countries

        returns list of countries (for which there are bibliographic entries) 
        you might want to use in a form for searching records.

        Extra POST variables: none
        Response: array(country_id => country_name)


    list_items

        returns list of ESS items you might want to use in a form for searching 
        records.

        Extra POST variables: none
        Response: array(item_id => item_name)


   list_journalField

        returns list of journal fields you might want to use in a form for 
        searching records.

        Extra POST variables: none
        Response: array(journal_id => journal_name)

    list_modules

        returns list of ESS modules you might want to use in a form for 
        searching records.

        Extra POST variables: none
        Response: array(module_id => module_name)


    list_pubType

        returns list of all publication types you might want to use in a form 
        for searching records.

        Extra POST variables: none
        Response: array(pubType_id => pubType_name)


    list_rounds

        returns list of ESS rounds you might want to use in a form for 
        searching records.

        Extra POST variables: none
        Response: array(round_id => round_name)


    list_topics

        returns list of ESS topics countries you might want to use in a form for
        searching records.

        Extra POST variables: none
        Response: array(topic_id => topic_name)


    search

        See search_suggestions.
        When fulltext is enabled, it will return list of all results.   

          
  
    search_suggestions

        returns list of search suggestions for fulltext search.
        Currently, it only works on item search (need to update it to fulltext)

        Extra POST variables: 
            txt - fulltext to search for

        Response: array (
            id : item ID
            name : item name
            label : item label
            block : block item resides in
            txt : item full text )        


    total_items_published

        Returns the number of records in the database.

        Extra POST variables: none
        Response: number of bibliographic entries (integer).