API Probleme

Hallo Zusammen,
seit Kurzem bekomme ich folgende Fehlermeldung wenn ich die API unserer SW 5.2.9 Shops in PHP ansprechen möchte:

 

Could not decode json
json_last_error: No error occurred
Raw:
NULL

Wenn ich die API im Browser anspreche bekomme ich allerdings eine valide JSON response.
https://xxx/api/articles/LV2017?useNumberAsId=true
 

require_once('shopware_api.php');

$client = new ApiClient(
    //URL of shopware REST server
    'https://www.xxx.de/',
    //Username
    'xxx',
    //User's API-Key
    'xxx'
);
$article_id = 'LV2017';
$response = $client->get('/api/articles/'.$article_id.'?useNumberAsId=true');

var_dump($response);

Wir haben in SW nichts geändert ausser die Installation eines FB Pixel Plugins…

Woran kann das liegen?

 

Vielen Dank!

 

Wenn ich in POSTMAN https://user:apikey@shop/api/articles/LV2017?useNumberAsId=true nutze bekomme ich auch immer 401 - Invalid or missing auth obwohl die Daten stimmen?

@thethe schrieb:

Hallo Zusammen,
seit Kurzem bekomme ich folgende Fehlermeldung wenn ich die API unserer SW 5.2.9 Shops in PHP ansprechen möchte:

 

Could not decode json
json_last_error: No error occurred
Raw:
NULL

Wenn ich die API im Browser anspreche bekomme ich allerdings eine valide JSON response.
https://xxx/api/articles/LV2017?useNumberAsId=true
 

require_once(‚shopware_api.php‘);

$client = new ApiClient(
//URL of shopware REST server
https://www.xxx.de/‘,
//Username
‚xxx‘,
//User’s API-Key
‚xxx‘
);
$article_id = ‚LV2017‘;
$response = $client->get(‚/api/articles/‘.$article_id.‚?useNumberAsId=true‘);

var_dump($response);

Wir haben in SW nichts geändert ausser die Installation eines FB Pixel Plugins…

Woran kann das liegen?

 

Vielen Dank!

 

 

Ist dein Beispiel vollständig?
In den DevDocs wird /api an die URL angehängt: REST API - Basics
Das fehlt in deinem Beispiel.

Die Postman URL ist für deine Version falsch aufgebaut - da gibt es noch keinen Basic Auth:  REST API - Basics
Der ist erst mit 5.3.2 hinzugekommen. In deiner Version musst du den Auth per Header (Digest) senden. 

1 „Gefällt mir“

Hallo Moritz,

/api habe ich hier doch drin?
 

$response = $client->get('/api/articles/'.$article_id.'?useNumberAsId=true');

 

Danke für den Hinweis bezüglich der Authentifizierung.S
Mich wundert es halt das die Anfrage erst seit ein paar Tagen nicht mehr läuft - ohne grosse Änderungen auf der SW Seite .
Wie kann ich denn checken ob es an den Servereinstellungen liegt bzw. was kann ich meinem Hoster fragen?

Vielen Dank!

Über Postman bekomme ich jetzt alles korrekt zurück.
Warum in aller Welt funktioinert dann der Aufruf nicht mehr?

 

echo 'API TEST!';
require_once('shopware_api.php');

$client = new ApiClient(
    //URL of shopware REST server
    'https://shop.xxx.de/api',
    //Username
    'xxx',
    //User's API-Key
    'xxx'
);


$response = $client->get('/articles/LV2017?useNumberAsId=true');

print_r($response);

iimmer noch
 

Could not decode json
json_last_error: No error occurred
Raw:

 

Artikel vielleicht defekt?
Mal einen anderen probiert?
Was ist bei einem direktaufruf der ID?

1 „Gefällt mir“

Artikel ist in Ordung. JSON in Postman ist valide. Mit mehreren Artikeln getestet…Direktaufruf ID gleiches ergebnis :frowning:

Ist vielleicht der führende “/” beim Aufruf zuviel? Probier mal

$client->get('articles/LV2017?useNumberAsId=true');

 

1 „Gefällt mir“

Hallo,

 

vielen Dank für Euere Hilfe.
Der Fehler ist behoben - es war ein falsch implementiertes SSL Zwischenzertifikat in Plesk.

 

Viele Gruesse & Danke