Overzicht API-endpoints en basisinstructie gebruik

Toegevoegd op donderdag 11 mei 2023 10:53 | Laatst gewijzigd op dinsdag 12 december 2023 11:09
418

Hieronder vind je een overzicht van alle API endpoints en welke opties daar tot nu toe bij beschikbaar zijn.

Toegang tot de API

Om toegang te krijgen tot de API dien je allereerst een token te genereren en die token voldoende rechten te geven. Hieronder vind je gerelateerde artikelen:

Gebruik van endpoints

Het gebruik van de endpoints doe je door de URL bij je verzoek (dit kan een GET, PATCH of POST zijn) uit te breiden met het endpoint die je wilt gebruiken.

Opbouw van het adres

Het basisadres is als volgt, vervang dit uiteraard zodat dit werkt voor jouw Neoforce-omgeving:

https://{bedrijfsdomein}.neoforce.app/api/v1/

Plak daarachter het gewenste endpoint. Als voorbeeld gebruiken we hieronder het endpoint voor organisaties, dat wordt in dit geval dus organisations. De volledige URL wordt dan:

https://{bedrijfsdomein}.neoforce.app/api/v1/organisations

đŸ’¡Verschillende adressen?

Het kan voorkomen dat je in documentatie van Neoforce verschillende soorten adressen tegenkomt. De opbouw die hierboven genoemd wordt, is de aanbevolen opbouw. Echter werkt het gebruik van een adres zoals hieronder ook gewoon.

https://{bedrijfsdomein}.neoforce.app/?api=organisations

Overzicht endpoints

Endpoint Neoforce-entiteit Opties Opmerkingen
users Gebruikers Lezen, Toevoegen, Wijzigen -
timeline_items Tijdlijn-items Lezen, Toevoegen -
lists Opzoeklijsten Lezen -
persons Personen Lezen, Toevoegen, Wijzigen -
organisations Organisaties Lezen, Toevoegen, Wijzigen Extra informatie
processes Processen Lezen Toont ook gekoppelde klanten en personen.
contracts Contracten Lezen Toont ook gekoppelde klanten en personen.
tickets Tickets Lezen, Toevoegen, Wijzigingen -
timesheets Tijd / urenregistratie Lezen -
datasets Alle datasets-schema's Lezen đŸ’¡ Je dient nog te filteren op het schema. Zie ook dit artikel
reservations Reserveringen Lezen -
applications Applicaties Lezen Toont ook gekoppelde klanten en personen.
certificates Certificaten Lezen Toont ook gekoppelde klanten en personen.
databases Databases Lezen Toont ook gekoppelde klanten en personen.
servers Servers Lezen Toont ook gekoppelde klanten en personen.

Voorbeeld requests

In de onderstaande voorbeeld requests halen we een organisatie op en voegen we een nieuwe toe.

Ophalen van organisatie

URL (GET):
https://{bedrijfsdomein}.neoforce.app/api/v1/organisations/?filter[id]=

Headers:

X-Authorization: Bearer [token]

Antwoord: (Let op: ingekort)

[
    {
        "id": 2,
        "active": 1,
        "name": "Cyber4Z BV",
        "customerNr": null,
        "supplierNr": null,
        "shortName": "C4Z",
        "is_supplier": 1,
        "is_customer": 1,
        "typeOrganisation": [
            "customer",
            "supplier",
            "administrator"
        ],
        "relationManagerID": null,
        "accountancyID": null,
        "vatID": {
            "id": 344,
            "parentID": null,
            "spaceID": 1,
            "value": "21%",
            "type": "vat",
            "defaultSelected": 1,
            "meta": {
                "use_visibility": "0",
                "background-color": false,
                "icon": null,
                "code": "",
                "percentage": "21.00"
            },
            "active": 1,
            "position": 3
        },
        "is_vatLiable": 1,
        "is_sublocation": 0,
        "parentLocationID": null,
        "statusID": {
            "id": 9,
            "parentID": null,
            "spaceID": 1,
            "value": "Actief",
            "type": "organisations_status",
            "defaultSelected": 0,
            "meta": {
                "use_visibility": "0",
                "background-color": "#2eb9ff",
                "icon": "fas fa-check-double",
                "percentage": null
            },
            "active": 1,
            "position": 1
        },
        "tags": [],
        "address": "High Tech Campus 9",
        "zipcode": "5656 AE",
        "city": "Eindhoven",
        "country": "nl",
        "locationName": "High Tech Campus",
        "billing_locationName": null,
        "billing_address": null,
        "billing_zipcode": null,
        "billing_email": null,
        "billing_city": null,
        "billing_country": null,
        "post_address": "High Tech Campus 9",
        "post_zipcode": "5656 AE",
        "post_city": "Eindhoven",
        "post_country": "nl",
        "post_postbox": null,
        "post_locationName": "High Tech Campus",
        "has_primaryPerson": 1,
        "has_visitingAddress": 1,
        "has_billingAddress": 0,
        "has_postAddress": 1,
        "email": [
            "4z4u@cyber4z.com"
        ],
        "website": "https://cyber4z.com",
        "linkedIn": null,
        "telephone": [
            null
        ],
                ...............

Bash (cURL)

curl -X GET "https://[bedrijfsdomein].neoforce.app/api/v1/organisations" -H "X-Authorization: Bearer [token]"

PHP

<?php
// Basis URL en token
$bedrijfsdomein = 'uw_bedrijfsdomein'; // Vervang met uw bedrijfsdomein
$token = 'uw_token'; // Vervang met uw token

// Volledige URL
$url = 'https://'.$bedrijfsdomein.'.neoforce.app/api/v1/organisations';

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-Authorization: Bearer ' . $token
];);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

// Controleer op fouten
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
} else {
    // Verwerk de response zoals gewenst
    echo $response;
}

// Sluit de cURL sessie
curl_close($ch);
?>

Python

import requests

# Basis URL en token
bedrijfsdomein = 'uw_bedrijfsdomein'  # Vervang met uw bedrijfsdomein
token = 'uw_token'  # Vervang met uw token

# Volledige URL
url = f'https://{bedrijfsdomein}.neoforce.app/api/v1/organisations'

# Headers instellen
headers = {
    'X-Authorization': f'Bearer {token}'
}

# Het GET-verzoek uitvoeren
response = requests.get(url, headers=headers)

# Controleer de statuscode en print de response
if response.status_code == 200:
    print("Succesvolle respons:")
    print(response.json())  # JSON-response
else:
    print(f"Fout bij het aanroepen van API: {response.status_code}")

Aanmaken van een nieuwe organisatie

URL (POST):
https://{bedrijfsdomein}.neoforce.app/api/v1/organisations

Headers:

X-Authorization: Bearer [token]

Body:

{
   "name": "Cyber4Z Solutions BV",
    "cocNr": "77736761",
    "vatNr": "NL861.117.359.B01",
    "ibanNr": "NL64 SNSB 0320 1471 18",
    "website": "https://neoforce.app",
    "email": "support@neoforce.app",
    "telephone": "085 - 487 40 90",
    "has_visitingAddress": "1",
    "address": "Kloosterweg 1",
    "zipcode": "6412CN",
    "city": "Heerlen",
    "country": "nl"
}

Antwoord:

{
    "status": "success",
    "datetime": "2023-12-11T20:50:02+01:00",
    "nonce": "tULPlc0iK8u7gxjYWQ9vIMsrdC1qSpob",
    "message": "Created organisation #964"
}

PHP

<?php
// Basis URL en token
$bedrijfsdomein = 'uw_bedrijfsdomein'; // Vervang met uw bedrijfsdomein
$token = 'uw_token'; // Vervang met uw token

// Volledige URL
$url = "https://{$bedrijfsdomein}.neoforce.app/api/v1/organisations";

// Data voor de body van het verzoek
$data = [
    'name' => 'Cyber4Z Solutions BV',
    'cocNr' => '77736761',
    'vatNr' => 'NL861.117.359.B01',
    'ibanNr' => 'NL64 SNSB 0320 1471 18',
    'website' => 'https://neoforce.app',
    'email' => 'support@neoforce.app',
    'telephone' => '085 - 487 40 90',
    'has_visitingAddress' => '1',
    'address' => 'Kloosterweg 1',
    'zipcode' => '6412CN',
    'city' => 'Heerlen',
    'country' => 'nl'
];

$jsonData = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER,  [
    'X-Authorization: Bearer ' . $token,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($jsonData)
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);

$response = curl_exec($ch);

// Controleer op fouten
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
} else {
    // Verwerk de response zoals gewenst
    echo $response;
}

// Sluit de cURL sessie
curl_close($ch);
?>

Python

import requests
import json

# Basis URL en token
bedrijfsdomein = 'uw_bedrijfsdomein'  # Vervang met uw bedrijfsdomein
token = 'uw_token'  # Vervang met uw token

# Volledige URL
url = f'https://{bedrijfsdomein}.neoforce.app/api/v1/organisations'

# Data voor de body van het verzoek
data = {
    "name": "Cyber4Z Solutions BV",
    "cocNr": "77736761",
    "vatNr": "NL861.117.359.B01",
    "ibanNr": "NL64 SNSB 0320 1471 18",
    "website": "https://neoforce.app",
    "email": "support@neoforce.app",
    "telephone": "085 - 487 40 90",
    "has_visitingAddress": "1",
    "address": "Kloosterweg 1",
    "zipcode": "6412CN",
    "city": "Heerlen",
    "country": "nl"
}

# Headers instellen
headers = {
    'X-Authorization': f'Bearer {token}',
    'Content-Type': 'application/json'
}

# Het POST-verzoek uitvoeren
response = requests.post(url, headers=headers, data=json.dumps(data))

# Controleer de statuscode en print de response
if response.status_code == 200:
    print("Succesvolle respons:")
    print(response.json())  # JSON-response
else:
    print(f"Fout bij het aanroepen van API: {response.status_code}")
Inhoudsopgave