Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NEWS] Na początku 2024 roku wyłączymy zasoby /sale/offers służące do tworzenia i edycji ofert / At the beginning of 2024, we will disable the /sale/offers resources for creating and editing offers #5729

Open
AureliuszBrussy opened this issue May 26, 2022 · 23 comments
Assignees
Labels

Comments

@AureliuszBrussy
Copy link
Collaborator

AureliuszBrussy commented May 26, 2022

Planujemy całkowicie wyłączyć zasoby do tworzenia oraz edycji ofert ze ścieżek /sale/offers oraz /sale/offers/{offerId}, dlatego:

  • 1 stycznia 2023 roku oznaczymy je jako Deprecated i zakończymy ich dalsze wsparcie i rozwój,
  • 1 stycznia 2024 roku całkowicie je usuniemy.

W styczniu tego roku udostępniliśmy zasoby /sale/product-offers w wersji public, dzięki którym:

Zasoby /sale/product-offers będą jedynymi, które umożliwią wystawienie oraz edycję oferty. Zadbaj o to, żeby przed całkowitym wyłączeniem zasobów /sale/offers Twoje oprogramowanie korzystało z odpowiedników tych zasobów na ścieżce /sale/product-offers:

Endpoint, który usuniemy Odpowiednik endpointu
POST /sale/offers POST /sale/product-offers
PUT /sale/offers/{offerId} PATCH /sale/product-offers/{offerId}
GET /sale/offers/{offerId} GET /sale/product-offers/{offerId}

Cały czas pracujemy nad rozwijaniem zasobów /sale/product-offers. Weryfikujemy oraz uzupełniamy wszelkie różnice względem /sale/offers, bądź wprowadzamy nowe zasoby, które zapewnią ciągłość dostępu do funkcjonalności.

Przykładem drugiego z tych działań są opcje promowania ofert, które były dostępne w zasobach /sale/offers, ale nie pojawiają się w /sale/product-offers. Zostały one zastąpione dedykowanymi zasobami, które dają użytkownikowi dużo większy zakres funkcjonalny do zarządzania opcjami promowania.

Dlaczego decydujemy się na wyłączenie zasobów?

Od początku 2019 roku grupujemy oferty z tym samym produktem, dzięki czemu kupujący łatwiej znajdzie oferty, które spełniają jego oczekiwania. Zwiększamy stopniowo wymagany udział ofert, które są połączone z Katalogiem produktów w wybranych kategoriach, a docelowo wprowadzimy ten wymóg dla wszystkich ofert.

Zasoby /sale/product-offers stworzyliśmy z myślą o tym stanie docelowym - wprowadziliśmy w nich istotne usprawnienia przy wystawianiu i edycji ofert powiązanych z produktem. Dlatego zdecydowaliśmy, że będziemy utrzymywać i rozwijać jeden spójny interfejs do zarządzania ofertami z produktem.

Więcej informacji o zasobach /sale/product-offers znajdziesz w naszym poradniku.


We plan to completely disable resources for creating and editing offers from the /sale/offers and /sale/offers/{offerId} paths, therefore:

  • on January 1, 2023, we will mark them as Deprecated and end their further support and development,
  • on January 1, 2024 we will remove them completely.

In January this year, we have released the /sale/product-offers resources in the public version, which allows you to:

The /sale/product-offers resource will be the only one to allow listing and editing offers. Ensure that your software uses the equivalent of these resources on the /sale/product-offers path before we completely disable the /sale/offers resource:

Endpoint that we will remove Equivalent to endpoint
POST /sale/offers POST /sale/product-offers
PUT /sale/offers/{offerId} PATCH /sale/product-offers/{offerId}
GET /sale/offers/{offerId} GET /sale/product-offers/{offerId}

We are constantly working on developing /sale/product-offers resources. We verify and complete all differences in relation to /sale/offers, or introduce new resources that will ensure continuity of access to functionality.

An example of the second of these actions is the offer promotion options that were available in the /sale/offers resource, but do not appear in /sale/product-offers. These have been replaced with dedicated resources that give the user a much greater functional coverage to manage promotion options.

Why do we choose to turn off resources?

From the beginning of 2019, we group offers with the same product, making it easier for buyers to find offers that meet their needs. We are gradually increasing the required share of offers that are linked to the Product Catalog in selected categories, and ultimately we will introduce this requirement for all offers.

We created the /sale/product-offers resources with this target state in mind - we have introduced significant improvements in listing and editing offers assigned to the product. That is why we decided to maintain and develop one consistent interface for managing offers with the product.

For more information about /sale/product-offers resources, see our guide.

@tomasz-grzesik
Copy link

Dzięki za wczesne info.

@niksfirefly
Copy link

Dlaczego
GET https://api.allegro.pl/sale/product-offers
zwraca 405 "The HTTP method is not allowed"
jak moge wylistowac oferty?

@AureliuszBrussy
Copy link
Collaborator Author

@niksfirefly aby wylistować oferty korzystaj z GET /sale/offers. Tego endpointu nie usuniemy.

Z GETów usuniemy tylko endpoint do pobierania szczegółów pojedynczej oferty, czyli GET /sale/offers/{offerId} - tutaj dostępna jest alternatywa w postaci GET /sale/product-offers/{offerId}.

@Radeq
Copy link

Radeq commented Jul 6, 2022

@AureliuszBrussy stwierdzenie "edytujesz dowolne pole oferty" w zasobie /sale/product-offers nie jest prawdą. Brakuje możliwości ustawienia własnych parametrów, co zostało wspomniane w #5780 . Kiedy mogę się spodziewać aktualizacji?

@AureliuszBrussy
Copy link
Collaborator Author

@Radeq zgadza się, mamy to na uwadze - przed wyłączeniem zasobów /sale/offers wdrożymy taką możliwość. Oczywiście zakomunikujemy zmianę.

@pgasidlo
Copy link

@AureliuszBrussy Proszę też pamiętać o bloku z wyróżnieniem, tj.

["promotion"]=>
  object(stdClass)#72 (5) {
    ["emphasized"]=>
    bool(false)
    ["bold"]=>
    bool(false)
    ["highlight"]=>
    bool(false)
    ["departmentPage"]=>
    bool(false)
    ["emphasizedHighlightBoldPackage"]=>
    bool(false)
}

Tego też brakuje w nowych metodach.

@AureliuszBrussy
Copy link
Collaborator Author

@pgasidlo tak jak wspomnieliśmy w newsie - opcje promowania ofert, które są dostępne w zasobach /sale/offers, ale nie pojawiają się w /sale/product-offers. Zostały one zastąpione dedykowanymi zasobami, które dają użytkownikowi dużo większy zakres funkcjonalny do zarządzania opcjami promowania.

@maniootek
Copy link

Ja właśnie dostałem powiadomienie o planowanej zmianie dlatego sprawdziłem swój kod. Okazuje się, że faktycznie jeden z moich programów używa zasobu /sale/offers/{offerId} do odczytywania identyfikatora kategorii danej oferty bo jest mi potrzebna do użycia w kalkulatorze opłat i właśnie zmieniłem go na "/sale/product-offers/{offerId} ale dostaje błąd:
{"errors":[{"code":"OfferAccessDeniedException","message":"Forbidden","details":null,"path":"","userMessage":"Access Denied, You don't have permission to access offer."}]}
Co może być nie tak? Token jaki jest wpisany do aplikacji to token z konta, które nie wystawiło tej oferty ale do tej pory kod działał. Konto tokena jest powiązane z innymi kontami.
Proszę o pomoc

@AureliuszBrussy
Copy link
Collaborator Author

@maniootek czy możesz wskazać przykładowy trace-id wywołania, które kończy się tym błędem? Dokładniej to zweryfikuję.

@maniootek
Copy link

jak to sprawdzić?

@AureliuszBrussy
Copy link
Collaborator Author

@maniootek trace-id znajdziesz w nagłówku naszego response'a z błędem.

@maniootek
Copy link

trace-id: 79a2c6e9518038e0

@maniootek
Copy link

maniootek commented Oct 5, 2022

@PrzemyslawLukanowski ja nie korzystam z GET /sale/offers tylko z GET /sale/offers/{offerId}
Mam działającą aplikację, jak tylko zmienię ścieżkę GET /sale/offers/{offerId} na GET /sale/product-offers/{offerId} to przestaje działać. Wydaje mi się, że nowy zasób GET /sale/product-offers/{offerId} nie bierze pod uwagę powiązań konta.

@AureliuszBrussy
Copy link
Collaborator Author

@maniootek ten wątek został wspomniany w innym, stąd powyższe powiadomienie - nie było ono skierowane do Ciebie.

Sprawdziłem Twój przypadek - oferta należy do innego użytkownika, niż token, który używasz w swoim requeście - zweryfikuj to.

@maniootek
Copy link

@AureliuszBrussy tak, zgadza się, użyłem tokena konta głównego aby odpytać ofertę powiązanego konta, do tej pory GET /sale/offers/{offerId} pozwalało na to. Czyli GET /sale/product-offers/{offerId} już nie będzie na to pozwalać?

@AureliuszBrussy
Copy link
Collaborator Author

@maniootek w API nie istnieje funkcjonalność powiązanego konta - nie powinno być w ogóle możliwości pobrania oferty innym tokenem, niż token użytkownika, do którego oferta należy. Masz przykład trace-id gdzie udało ci się pobrać szczegóły oferty z powiązanego konta (za pomocą /sale/offers/{offerId})?

@maniootek
Copy link

@AureliuszBrussy ja cały czas tak działam, że używam tokena konta X i odpytuje ofertę konta Y, Z ...
Te konta wszystkie mają ten sam NIP może dlatego mam taką możliwość, proszę podaje trace-id:
4f8a57dcf7fcf266

@AureliuszBrussy
Copy link
Collaborator Author

@maniootek przepraszam, pomyłka z mojej strony - można pobrać ofertę z konta powiązanego, jednak nie można jej edytować. To prawidłowe zachowanie.

W przypadku GET /sale/product-offers/{offerId} dodaj nagłówek x-representative-of z id użytkownika, do którego należy ta pobierana oferta. W ten sposób pobierzesz ofertę z konta powiązanego i uprawnionego.

@maniootek
Copy link

Nie planujecie przerobić nowej funkcji, żeby działała jak stara?

@AureliuszBrussy
Copy link
Collaborator Author

@maniootek przekazałem sugestię do zespołu odpowiedzialnego za ten zasób, natomiast na ten moment nie planujemy tego zmienić. Poinformuję, jeżeli coś się zmieni w tym temacie.

@maniootek
Copy link

do stycznia 2024 może się uda, trzymam kciuki

@maniootek
Copy link

Czyli nie udało się tego zmienić?

@AureliuszBrussy
Copy link
Collaborator Author

@maniootek nie, taka decyzja nie zapadła. Na ten moment nie planujemy przerobienia tej funkcjonalności.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants