Projekt

Allgemein

Profil

Aktionen

GX-Bug #67042

geschlossen

On some servers, retrieving orders via Billbee does not work if the URL already contains the parameter page and per_page.

Von Till Tepelmann vor fast 4 Jahren hinzugefügt. Vor fast 3 Jahren aktualisiert.

Status:
Erledigt
Priorität:
Dringend
Zugewiesen an:
Marvin Muxfeld
Kategorie:
REST-API
Zielversion:
% erledigt:

0%

Geschätzter Aufwand:
Steps to reproduce:
Betroffene Versionen:
4.1.1.0
Release Notes Langtext:

Bestellungen können über die REST-API wieder zuverlässig abgerufen werden


Beschreibung

Auf einigen Server funktioniert das Abfrufen von Bestellungen über Billbee nicht, wenn die URL bereits die Paramter page und per_page enthalten sind.

Wir senden folgenden Call an den Shop:

GET /api.php/v2/orders?page=1&per_page=50&fields=id%2CpurchaseDate HTTP/1.1

Übersetzt heißt das: Gib mir die ersten 50 Bestellungen und zwar nur die ID und das pruchaseDate.

In der Antwort schickt Gambio die ersten 50 Bestellungen (von 2011) und einen HTTP Header, in dem ein Link auf die letzte Seite steht, die die neuesten Bestellungen enthält.

Der Shop schickt den Header hier zurück:

Link: </api.php/v2/orders?page=1&per_page=50&fields=id%2CpurchaseDate?page=2&per_page=50&fields=id%2CpurchaseDate>; rel="next", <api.php/v2/orders?page=1&per_page=50&fields=id%2CpurchaseDate?page=222&per_page=50&fields=id%2CpurchaseDate>; rel="last"

wir suchen nach rel="last" und zerlegen den Part dann um nach der letzten Seite zu suchen:

</api.php/v2/orders?
page=1&per_page=50&fields=id%2CpurchaseDate?
page=222&per_page=50&fields=id%2CpurchaseDate>; rel="last"

Der Shop gibt hier zweimal mit page= antwortet. Die richtige Seite ist die 222, leider schreibt er davor auch noch page=1 in den Header.
Das führt in der aktuellen Billbee Version dazu, dass wir page = 1 erkennen und damit nur seite 1 auslesen, die aber nur alte Bestellungen von 2011 enthält.


On some servers, retrieving orders via Billbee does not work if the URL already contains the parameter page and per_page.

We send the following call to the shop:

GET /api.php/v2/orders?page=1&per_page=50&fields=id%2CpurchaseDate HTTP/1.1

Translated this means: Give me the first 50 orders and only the ID and the pruchaseDate.

In the answer Gambio sends the first 50 orders (from 2011) and a HTTP header with a link to the last page containing the latest orders.

The shop sends the header back here:

link: </api.php/v2/orders?page=1&per_page=50&fields=id%2CpurchaseDate?page=2&per_page=50&fields=id%2CpurchaseDate>; rel="next", <api. php/v2/orders?page=1&per_page=50&fields=id%2CpurchaseDate?page=222&per_page=50&fields=id%2CpurchaseDate>; rel="last".

we search for rel="last" and then split the part to search for the last page:

</api.php/v2/orders?
page=1&per_page=50&fields=id%2CpurchaseDate?
page=222&per_page=50&fields=id%2CpurchaseDate>; rel="last"

The shop answers here twice with page=. The correct page is 222, but unfortunately he also writes page=1 in the header before that.
In the current Billbee version, this leads to the fact that we recognize page = 1 and thus only read page 1, which however only contains old orders from 2011.


Aktionen #1

Von Till Tepelmann vor fast 4 Jahren aktualisiert

Aktionen #2

Von Till Tepelmann vor fast 4 Jahren aktualisiert

  • Status wurde von Gemeldet zu Testing geändert
  • Zugewiesen an wurde auf Core-Entwickler gesetzt
  • Zielversion wurde von 133 zu 4.1.2.0 beta1 geändert
  • Release Notes Langtext aktualisiert (Vergleich)
Aktionen #3

Von Moritz Bunjes vor fast 4 Jahren aktualisiert

  • Zielversion wurde von 4.1.2.0 beta1 zu 4.1.1.1 geändert
Aktionen #4

Von Daniel Wu vor fast 4 Jahren aktualisiert

  • Tags wurde auf 4.1.1.1 gesetzt
Aktionen #5

Von Marvin Muxfeld vor fast 4 Jahren aktualisiert

  • Zugewiesen an wurde von Core-Entwickler zu Marvin Muxfeld geändert
Aktionen #6

Von Marvin Muxfeld vor fast 4 Jahren aktualisiert

  • Status wurde von Testing zu Erledigt geändert
Aktionen #7

Von Moritz Bunjes vor fast 4 Jahren aktualisiert

  • Release Notes Langtext aktualisiert (Vergleich)
Aktionen #8

Von Moritz Bunjes vor fast 3 Jahren aktualisiert

  • Tags 4.1.1.1 wurde gelöscht
Aktionen

Auch abrufbar als: Atom PDF