Authentication

Pika-aloitus

Jokainen API-pyyntö edellyttää Authorization-otsaketta, jossa on tunnuksesi, sekä X-Client-System -otsaketta, joka yksilöi sovelluksesi:

curl https://app.fenerum.com/api/v1/accounts/ \
  -H "Authorization: Token your-token-here" \
  -H "X-Client-System: YourAppName"

Pidä API-tunnus salassa! Kohtele sitä kuin salasanaa — älä koskaan tallenna sitä versionhallintaan tai paljasta asiakaspuolen koodissa.

Näin todennus toimii

Fenerum API käyttää tunnuspohjaista todennusta. Lisää API-tunnuksesi jokaisen pyynnön Authorization-otsakkeeseen seuraavassa muodossa:

Authorization: Token <your-token>

Kaikki pyynnöt tulee tehdä HTTPS:n yli osoitteeseen https://app.fenerum.com/

API-tunnuksen luominen

Luo API-tunnus Fenerum-organisaatiosi asetuksista:

  1. Siirry kohtaan SettingsIntegrations
  2. Napsauta Fenerum-osiossa Create API user

Tämä luo API USERIN, jolla on yksilöllinen tunnus. API USER näkyy käyttäjälistassasi ja sillä on oletuksena täydet oikeudet — voit mukauttaa oikeuksia käyttäjäprofiilissa.

Pakolliset otsakkeet

Jokaisessa API-pyynnössä on oltava seuraavat otsakkeet:

HeaderRequiredExampleDescription
AuthorizationPakollinenToken abc123def456API-tunnuksesi. Muoto: Token <your-token>
X-Client-SystemPakollinenMyAwesomeCRMSovelluksesi tai integraatiosi nimi. Käytetään tuessa ja tarkastuslokeissa.
X-UserSuositeltujohn.doeJärjestelmäsi käyttäjätunnus. Mahdollistaa yksityiskohtaiset tarkastuslokit (audit trail), jotka osoittavat, mikä käyttäjä teki minkäkin muutoksen.

X-User-otsake on erityisen hyödyllinen vianmäärityksessä ja compliance-vaatimusten täyttämisessä — sen avulla voit jäljittää jokaisen API-toiminnon järjestelmäsi tiettyyn käyttäjään.

Esimerkkejä

Tietojen noutaminen

curl https://app.fenerum.com/api/v1/accounts/ \
  -H "Authorization: Token abc123def456" \
  -H "X-Client-System: MyAwesomeCRM" \
  -H "X-User: john.doe"

Resurssien luominen

curl -X POST https://app.fenerum.com/api/v1/accounts/ \
  -H "Authorization: Token abc123def456" \
  -H "X-Client-System: MyAwesomeCRM" \
  -H "X-User: john.doe" \
  -H "Content-Type: application/json" \
  -d '{
    "code": "CUST001",
    "name": "Acme Corporation",
    "email": "contact@acme.com"
  }'

Täydellinen HTTP-pyyntö

POST /api/v1/accounts/ HTTP/1.1
Host: app.fenerum.com
Authorization: Token abc123def456
X-Client-System: MyAwesomeCRM
X-User: john.doe
Content-Type: application/json

{
  "code": "CUST001",
  "name": "Acme Corporation",
  "email": "contact@acme.com"
}

Tärkeitä tietoja

Perus-URL

Kaikki API-päätepisteet ovat suhteessa tähän osoitteeseen:

https://app.fenerum.com/

Loppukauttaviivat ovat pakollisia

Kaikki API-URL-osoitteet päättyvät loppukauttaviivaan (/).

Tämä on erityisen tärkeää POST-, PUT- ja PATCH-pyynnöissä. Automaattinen uudelleenohjaus osoitteesta ilman loppukauttaviivaa osoitteeseen, jossa on loppukauttaviiva, on mahdollinen pyynnöille, joiden runko on tyhjä (GET, HEAD, OPTIONS, DELETE), mutta ei pyynnöille, joissa on sisältö (kuten POST, PUT tai PATCH).

Oikein:

/api/v1/accounts/
/api/v1/accounts/123/

Väärin:

/api/v1/accounts
/api/v1/accounts/123

Määrityksen testaaminen

Varmista todennuksen toimivuus yksinkertaisella pyynnöllä:

curl https://app.fenerum.com/api/v1/accounts/ \
  -H "Authorization: Token your-token-here" \
  -H "X-Client-System: TestClient"

Onnistunut vastaus (HTTP 200)

{
  "count": 10,
  "next": "https://app.fenerum.com/api/v1/accounts/?page=2",
  "previous": null,
  "results": [
    {
      "uuid": "123e4567-e89b-12d3-a456-426614174000",
      "code": "CUST001",
      "name": "Acme Corporation",
      "email": "contact@acme.com"
    }
  ]
}

Virhevastaus (HTTP 401)

{
  "detail": "Invalid token."
}

Vianmääritys

Jos saat todennusvirheitä, tarkista:

  • Puuttuva Authorization-otsake — Jokaisessa pyynnössä on oltava tämä otsake
  • Väärä tunnuksen muoto — Muodon on oltava Token <your-token>, ei pelkästään tunnuksen arvo
  • Vanhentunut tai peruttu tunnus — Tunnukset voidaan poistaa käytöstä käyttäjäasetuksissa
  • Väärä organisaatio — Tunnukset ovat organisaatiokohtaisia eivätkä toimi organisaatioiden välillä
  • Puuttuva X-Client-System — Tämä pakollinen otsake on oltava kaikissa pyynnöissä

Ongelmia edelleen? Ota yhteyttä tukitiimiimme ja toimita pyyntösi tiedot (ilman tunnustasi).

background logo

We invoice 2 billion DKK annually for our customers. Let's put your invoicing on autopilot today!