Technische documentatie voor integrators: Difference between revisions

From Sidefish Wiki
Jump to navigation Jump to search
No edit summary
Line 28: Line 28:
|/login
|/login
|POST
|POST
|<syntaxhighlight lang="json">
|<syntaxhighlight lang="ts">
{
{
     email: string,
     email: string,
Line 34: Line 34:
}
}
</syntaxhighlight>
</syntaxhighlight>
|<syntaxhighlight lang="json">
|<syntaxhighlight lang="ts">
{
{
     token: string
     token: string

Revision as of 11:19, 27 October 2022

Sidefish v5 API Documentation

General

The Sidefish API is a RESTFUL JSON HTTP API that serves all server functions for creating, reading, updating and deleting Sidefish Platform data.

Successful calls always return a HTTP status 200.

Errors are returned with corresponding HTTP statuses, like 400, 403, 404 , etc. The response body contains an error description.

Endpoint

The Sidefish API is reachable at:

https://sidefish.app/api/v1/ (PRODUCTION)

https://staging.sidefish.app/api/v1/users (STAGING)

Authentication

A. Bearer token

The Sidefish API supports a bearer token in your HTTP request header.


1. Request a JWT token via the login call.

Endpoint Method Request Body Response Body
/login POST
{
    email: string,
    password: string
}
{
    token: string
}
/logout POST
{}

2. Use the resulting token an auth header with a bearer token:

authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ....

B. Cookie

The Sidefish API also supports a cookie in your HTTP request header.

1. Request a JWT token via the login call (same as method A).

2. Use the resulting token a cookie called access_token:

cookie: access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9....

C. API KEY

The Sidefish API also supports an API Key in your HTTP request header.

1. Get the API key for your user via the Sidefish Platform under "my account".

2. Use the resulting token a cookie called access_token:

x-api-key: 123456789

D. OAuth 2.0

The Sidefish API also provides its own OAuth 2.0 server.


For more info about authentication using OAuth, please contact us at info@sidefish.be.


Portfolios

Customers

Questionlists

Report Specs

Session Requests

Verzoek

POST /sessionrequests

Object

{
    "code": string,
    "url": string,
    "type": "qlist",
    "customer": string, // _id
    "portfolio": string, // _id
    "questionList": string, // _id
    "extraFieldsData"?: [{
        "extraField": string, // ReportSpec.extraFields[]._id
        "value": any,
    }],
    "notificationSms"?: {
        "message"!: string,
        "language"?: string,
    },
    "notificationEmail"?: {
        "from"!: string,
        "bcc"?: string,
        "subject"!: string,
        "message"!: string,
        "language"?: string,
    },
    "notificationReminder"?: {
        "from"!: string,
        "bcc"?: string,
        "subject"!: string,
        "message"!: string,
        "language"?: string,
    },
    "isNotificationScheduled"?: boolean,
    "ccSignedDocuments": undefined | string,
}