# Genereller Zugriff auf REST/API

**URL:** https://forum.shopware.com/t/genereller-zugriff-auf-rest-api/98043
**Category:** Programmierung
**Tags:** programming
**Created:** [17. Januar 2023 um 10:32 UTC](https://forum.shopware.com/t/genereller-zugriff-auf-rest-api/98043 "2023-01-17T10:32:55Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![koerte](https://avatars.discourse-cdn.com/v4/letter/k/ecb155/32.png) [@koerte](https://forum.shopware.com/u/koerte)
#### Post date: [17. Januar 2023 um 10:32 UTC](https://forum.shopware.com/t/genereller-zugriff-auf-rest-api/98043/1 "2023-01-17T10:32:55Z")

</div>

Hallo!

Ich versuche meine ersten Schritte mit Shopware und bin leider am verzweifeln. Irgendwie find ich nicht die richtigen Informationen.  
Derzeit möchte ich erstmal einen validen Request an meine Webseite mittels Postman schicken. Aber da geht es schon los.  
[https://meine-domain.de/api/outh/token](https://meine-domain.de/api/outh/token) liefert mir ständig „no route found“  
(auch das ergänzen von „Versionen“ habe ich versucht, obwohl ich nicht weiß, welche Version überhaupt die richtige wäre …) Ach in diesem Zusammenhang: Shopware 6.4.11.1 ist im Einsatz.

Muss ich überhaupt einen Token anfragen? Die entsprechenden Integrationen habe ich mir im Backend generieren lassen. (Macht es einen Unterschied, ob ich das beim User oder bei „Einstellunge =\> Integration“ mache?)

Wenn ich per Postman die URL [https://meine-domain.de/store-api/product](https://meine-domain.de/store-api/product) aufrufe, dann erhalte ich zumindest die Antwort „Unauthorized“, was Sinn ergibt.

Vielleicht ist mein Ansatz auch komplett falsch. Ich möchte eigentlich in Zukunft Produkte und Kategorien mittels REST/API ändern und Bestellungen auslesen.

Falls jemand mir ein kleines Snippet (php) zur Verfügung stellen kann, wie die „ersten Schritte“ aussehen, fände ich das super.

Vielen lieben Dank  
Jens

---

<div class="post-metadata">

### Author: ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)
#### Post date: [17. Januar 2023 um 11:37 UTC](https://forum.shopware.com/t/genereller-zugriff-auf-rest-api/98043/2 "2023-01-17T11:37:07Z")

</div>

```auto
{
        "client_id": "xxx",
        "client_secret": "xxx",
        "grant_type": "client_credentials"
}

```

per POST an `/api/oauth/token`

oauth, nicht outh

```auto
$cURL = curl_init();
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($cURL, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cURL, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($cURL, CURLOPT_HTTPHEADER, ["Authorization: Bearer $bearerToken", 'Content-Type: application/json; charset=utf-8']);

curl_setopt($cURL, CURLOPT_URL, $url);
curl_setopt($cURL, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($cURL, CURLOPT_POSTFIELDS, $json);
$result = curl_exec($cURL);
$httpCode = curl_getinfo($cURL, CURLINFO_HTTP_CODE);

```

---

<div class="post-metadata">

### Author: ![Beuber](https://avatars.discourse-cdn.com/v4/letter/b/a6a055/32.png) [@Beuber](https://forum.shopware.com/u/Beuber)
#### Post date: [17. Januar 2023 um 13:04 UTC](https://forum.shopware.com/t/genereller-zugriff-auf-rest-api/98043/3 "2023-01-17T13:04:03Z")

</div>

Hi, auf der Postmann-Seite gibt es auch Collection für Shopware6, die sind meiner Meinung nach wirklich hilfreich beim Basteln von API-Calls.

Hier mal eine Beispiel-Collection: [Postman](https://www.postman.com/ozon/workspace/sw/collection/584084-55b06198-ae4a-4002-a00d-6499b3b170fd?ctx=documentation)

---

<div class="post-metadata">

### Author: ![koerte](https://avatars.discourse-cdn.com/v4/letter/k/ecb155/32.png) [@koerte](https://forum.shopware.com/u/koerte)
#### Post date: [17. Januar 2023 um 13:28 UTC](https://forum.shopware.com/t/genereller-zugriff-auf-rest-api/98043/4 "2023-01-17T13:28:45Z")

</div>

Hi!

Das hat mir geholfen. Ich musste zwar noch ein paar Sachen anpassen, aber mit folgendem Code hat es funktioniert. Danke.

```auto
	$url = "https://www.xxxxxxxxxxxxxxxxxxx.de";

	$login = [
		"client_id"=>"xxxxxxxxxxxxxxx",
    "client_secret"=>"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "grant_type"=>"client_credentials"
	];

	$json = json_encode($login);

	// Bearer-Token anfragen
	$cURL = curl_init();
	curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($cURL, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
	curl_setopt($cURL, CURLOPT_FOLLOWLOCATION, true);
	curl_setopt($cURL, CURLOPT_SSL_VERIFYHOST, false);
	curl_setopt($cURL, CURLOPT_SSL_VERIFYPEER, false);
	curl_setopt($cURL, CURLOPT_URL, $url."/api/oauth/token");
	curl_setopt($cURL, CURLOPT_CUSTOMREQUEST, 'POST');
	curl_setopt($cURL, CURLOPT_POSTFIELDS, $json);
	$result = json_decode(curl_exec($cURL));
	$bearerToken = $result->access_token;
	
	// Produktliste auslesen
	$cURL = curl_init();
	curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($cURL, CURLOPT_FOLLOWLOCATION, true);
	curl_setopt($cURL, CURLOPT_SSL_VERIFYHOST, false);
	curl_setopt($cURL, CURLOPT_SSL_VERIFYPEER, false);
	curl_setopt($cURL, CURLOPT_HTTPHEADER, ["Authorization: Bearer $bearerToken", 'Content-Type: application/json; charset=utf-8']);

	curl_setopt($cURL, CURLOPT_URL, $url."/api/product");
	curl_setopt($cURL, CURLOPT_CUSTOMREQUEST, 'GET');
	curl_setopt($cURL, CURLOPT_POSTFIELDS, $json);
	$result = json_decode(curl_exec($cURL));

	// Produkttabelle ausgeben
	echo '<table border="1">';
	foreach ($result->data as $object) {
		echo '<tr><td>'.$object->id.'</td><td>'.$object->attributes->productNumber.'</td><td>'.$object->attributes->name.'</td></tr>';
	}
	echo '</table>';

```
