Overview

The Goana API is designed as a RESTful Service. All data is being transferred as in JSON Format 

The API consists of the following elements:


Resources

A resource is an object with a type, associated data, relationships to other resources, and a set of methods that operate on it.


The following resources are available.



References

Sometimes we use titles or names as references. Hell yeah! While we agree this is not best practice, we're try to keep things easy. Just remember always stick with the english version of the title / name. Example: If you're using the statusName filter on the jobs resources, don't search for "In Bearbeitung" or "En course" but for "In Progress". The reason for this is, that the english language is used as the fallback language and fields in that translation will never be empty while some particular translations might be missing. If you refering to titles or names you have set yourself (such as job template title), the english translation field will be filled with the same value per default. E.g. your working in German language and creating a job template with name "Pizza Lieferung". Now the english will also be set to "Pizza Lieferung" since it cannot be empty. When you change your language to english, feel free to change the title to "Pizza delivery" or similar. Now you're only editing the english translation.


Methods

The following Methods can be used to manage the resources. Note, that not all methods can be used with all resources.


GET - Get a specific object or a list of objects
POST - Add new object or change existing
PUT - Change existing object
DELETE - Delete a specific object


Data

Data is the actual information being retrieved or sent to the resource. It is in JSON Format and contain

  • Primitive types like a string e.g.
{
    title: "Hello"
}


  • An object containing primitive types or sub-objects
{
    contact:
    {
        firstname: "Francesco",
        name: "Della Rovere",
        reference: "DE123"
    }
}


Authentication

The API can be accessed via Https on your Goana - Deployment


https://my.goana.net/api/v1.0



The authentication is implemented as Basic - Http Authentication described in RFC2617


As described in the RFC2617, encode a "username:password" String in Base64 Encoding and pass it with the Basic Prefix in the Authorization Header.


Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==


You can authenticate with any of your Goana-Users. 

As Username Password, you can either use the Users Emailaddress and personal password or the Keyword "api" as Username and ApiKey as password


e.g. 


I can Base64 encode either the string travis@sequens.ch:{password} or api:fe5e0978-bc37-4024-ac02-6f144ffa5314

in order to authenticate with User travis