OData v4 REST

Unsere OData REST-Schnittstelle liefert und empfängt Daten gemäss dem Open Data Protocol.

Folgende Tutorials empfehlen wir zum Studium vor der Verwendung unserer Schnittstelle:

Die Metadaten unserer Schnittstelle rufen Sie hier ab.

Token

Für die geschützten Funktionen der REST-Schnittstelle benötigen Sie einen Bearer-Token. Diesen fordern Sie wie folgt an:

HttpRequest  
Type POST
Url /Token

Headers
 
Content-Type   application/x-www.form-urlencoded

Body
 
grant_type password
username Benutzername für den API-Zugriff
password Passwort für den API-Zugriff

 

Diesen Token verwenden Sie beim Aufruf mit vorangestelltem "Bearer ". Also z.B. 

Bearer 123456789

 

Erwartete Rückgabe (Beispiel)

{
"access_token": "Beispiel",
"token_type": "bearer",
"expires_in": 3599,
"userName": "00000000-0000-0000-0000-000000000000",
".issued": "Sat, 04 Apr 2020 08:05:08 GMT",
".expires": "Sat, 04 Apr 2020 09:05:08 GMT"
}

API-Url

Die Url für den API-Zugriff ist: https://api.beyond-sw.ch.

API-Benutzername und API-Passwort

Für das Anfordern eines Tokens benötigen Sie einen Benutzernamen und ein Passwort. Dieses erhalten Sie bei support@beyond-sw.ch an.

Beispiel "Zum Newsletter anmelden"

HttpRequest  
Type POST
Url /AdressenEMailsNewsletter

Headers
 
Content-Type   application/json
Authorization Ihr Token

Body 
(Beispiel)  

{
"adressenEMailsNewsletterRowguid":"00000000-0000-0000-0000-000000000000",
"adressenEMailsRowguid":"00000000-0000-0000-0000-000000000000",
"newsletterTypenID":"news1"
}

 

Erwartete Rückgabe (Beispiel)

{
"@odata.context": "http://localhost/$metadata#AdressenEMailsNewsletter/$entity",
"adressenEMailsNewsletterRowguid": "00000000-0000-0000-0000-000000000000",
"adressenEMailsRowguid": "00000000-0000-0000-0000-000000000000",
"newsletterTypenID": "news1"
}

Beispiel "Vom Newsletter abmelden"

HttpRequest  
Type DELETE
Url (Beispiel) /AdressenEMailsNewsletter(00000000-0000-0000-0000-000000000000)

Headers
 
Content-Type   application/json
Authorization Ihr Token

 

Erwartete Rückgabe

HTTP/1.1 200 OK

Beispiel für php

<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php 
$url = 'https://api.beyond-sw.ch/';
$userName = 'Benutzername für den API-Zugriff';
$key = 'Passwort für den API-Zugriff';
$token = requestToken();

$values = requestValues('kurse');
var_dump($values[0]['value']);

function requestToken()
{
global $url, $userName, $key;

$data =  array(
'grant_type'        => 'password',
'username'         => $userName,
'password'         => $key);

$handle = curl_init($url .'token');

curl_setopt($handle, CURLOPT_POST, 1);
curl_setopt($handle, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($handle, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($handle,  CURLOPT_RETURNTRANSFER, 1);

$response = curl_exec($handle);
$jsonRaw = json_decode($response, true);

curl_close($handle);

return $jsonRaw['access_token'];
}

function requestValues($path, $returnField = null )
{
global $url, $token;

$header =  array(
'Content-Type: application/json',
'Authorization: Bearer ' . $token);

$handle = curl_init();

curl_setopt($handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($handle, CURLOPT_TIMEOUT, 100);
curl_setopt($handle, CURLOPT_HTTPHEADER, $header);
curl_setopt($handle, CURLOPT_URL, $url . $path);

$response = curl_exec($handle);

if ($returnField == null)
$jsonRaw = json_decode("[". $response . "]", true);
else
$jsonRaw = json_decode($response, true);

curl_close($handle);

if ($returnField == null)
return $jsonRaw;
else
return $jsonRaw[$returnField];
}
?> 
</body>
</html>
War dieser Beitrag hilfreich?
0 von 0 fanden dies hilfreich
Haben Sie Fragen? Anfrage einreichen

Kommentare

0 Kommentare

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.