Open KrzysztofLukanowski opened 5 years ago
Bardzo brakuje, aby GET /sale/offers/{offerId} oprócz ID produktu zwracał też jego nazwę, pozwoliłoby to na zaprezentowanie użytkownikowi w miarę wiarygodnej informacji o tym czy podpiął sobie właściwy produkt
A czy jest szansa, że dorzucicie taką funkcjonalność jak jest w WWW, czyli podpowiadanie produktu na podstawie nazwy i kategorii w której się znajduje? https://edge.allegro.pl.allegrosandbox.pl/product-facade/suggest?name=PULA%20MARZE%C5%83%20Trigiani&categoryId=91926&seller.id=43950914
Dziękuję za opinie i sugestie, przekazałem Twój głos do zespołu developerskiego. Jak będę miał więcej informacji, dam znać.
Jedziemy dalej, w dokumentacji GET /sale/products zwraca m in. eany produktów pasujących do eanu którego szukamy https://developer.allegro.pl/documentation/#operation/getSaleProducts (pola ean i eans) natomiast w API tych informacji nie ma, a jest niezbędna do przypięcia produktu do oferty.
HTTP/1.1 200 OK
Expires: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
X-XSS-Protection: 1; mode=block
Pragma: no-cache
X-Frame-Options: DENY
Trace-Id: b69aaf0e4ef1a91d
Date: Thu, 21 Mar 2019 21:12:39 GMT
Connection: close
X-Content-Type-Options: nosniff
Content-Type: application/vnd.allegro.beta.v1+json;charset=UTF-8
Content-Length: 1894
{"products":[{"id":"5272069b-0759-4283-8ba7-7f05b416f1d9","name":"Smartfon Apple iPhone 6S srebrny 128 GB","category":{"id":"253002"},"parameters":[{"id":"224017","name":"Kod producenta","valueLabels":["MKQU2PM/A"],"values":["MKQU2PM/A"],"options":{"identifiesProduct":true}},{"id":"127448","name":"Kolor","valueLabels":["srebrny"],"valuesIds":["127448_8"],"options":{"identifiesProduct":true}},{"id":"202869","name":"Wbudowana pamięć","valueLabels":["128 GB"],"valuesIds":["202869_214189"],"options":{"identifiesProduct":true}},{"id":"202865","name":"Pamięć RAM","valueLabels":["2 GB"],"valuesIds":["202865_214129"],"options":{"identifiesProduct":true}},{"id":"202821","name":"Opcje SIM","valueLabels":["Single SIM"],"valuesIds":["202821_213913"],"options":{"identifiesProduct":true}}],"images":[{"url":"https://a.allegroimg.com/original/00e0c9/1d7c95614fd6a7c713b075d0251a/Smartfon-Apple-iPhone-6S-srebrny-128-GB"},{"url":"https://0.allegroimg.com/original/00bfe0/a2e7acb6453896a18c0830f0e7f0/Smartfon-Apple-iPhone-6S-srebrny-128-GB"},{"url":"https://7.allegroimg.com/original/00d092/6e25f2604057a62f810bf3835597/Smartfon-Apple-iPhone-6S-srebrny-128-GB"},{"url":"https://4.allegroimg.com/original/005535/b073af024f67a1e5bf0991dd5f84/Smartfon-Apple-iPhone-6S-srebrny-128-GB"},{"url":"https://1.allegroimg.com/original/00f83c/94168c944c0ab19d5cf47b2bebc1/Smartfon-Apple-iPhone-6S-srebrny-128-GB"},{"url":"https://3.allegroimg.com/original/0013c4/cc4b37da4ee2a4dba948dd89f3c3/Smartfon-Apple-iPhone-6S-srebrny-128-GB"},{"url":"https://6.allegroimg.com/original/00da5a/f2bd0b8d4811ac592aa1142f7126/Smartfon-Apple-iPhone-6S-srebrny-128-GB"},{"url":"https://b.allegroimg.com/original/002550/bd448bd94aa9aedde7f7d4b49aeb/Smartfon-Apple-iPhone-6S-srebrny-128-GB"},{"url":"https://e.allegroimg.com/original/00d857/3f4775404823aea1bc6a997668ae/Smartfon-Apple-iPhone-6S-srebrny-128-GB"}]}],"count":1}
Proszę o wskazówkę w jaki sposób powinniśmy przypiąć parametry do oferty. Wg dokumentacji powinniśmy zastąpić istniejące w ofercie parametry parametrami z produktu. Z tym, że jeśli tak postępujemy, otrzymujemy czasem błąd o brakującym parametrze który jest wymagany. Np. tu.:
pobieramy produkt
HTTP/1.1 200 OK
Expires: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
X-XSS-Protection: 1; mode=block
Pragma: no-cache
X-Frame-Options: DENY
Trace-Id: 6f6ee226d32e0d2c
Date: Mon, 25 Mar 2019 09:57:59 GMT
Connection: close
X-Content-Type-Options: nosniff
Content-Type: application/vnd.allegro.beta.v1+json;charset=UTF-8
Content-Length: 798
{"products":[{"id":"544f59a7-9baf-42ae-a41a-d30ee8450886","name":"Nie śpiewaj przy stole Adriana Trigiani","category":{"id":"91880"},"parameters":[{"id":"223545","name":"Tytuł","valueLabels":["Nie śpiewaj przy stole"],"values":["Nie śpiewaj przy stole"],"options":{"identifiesProduct":true}},{"id":"223489","name":"Autor","valueLabels":["Adriana Trigiani"],"values":["Adriana Trigiani"],"options":{"identifiesProduct":true}},{"id":"75","name":"Okładka","valueLabels":["miękka"],"valuesIds":["75_1"],"options":{"identifiesProduct":true}},{"id":"74","name":"Rok wydania","valueLabels":["2011"],"values":["2011"],"options":{"identifiesProduct":true}}],"images":[{"url":"https://e.allegroimg.com/original/00bc7b/a5bdfb3a453dbd82b58c26b4126e/Nie-spiewaj-przy-stole-Adriana-Trigiani"}]}],"count":1}
aktualizujemy ofertę
PUT https://allegroapi.io/sale/offers/7929263879 HTTP/1.1
Accept: application/vnd.allegro.public.v1+json
Content-Type: application/vnd.allegro.public.v1+json
Authorization: Bearer xxxxx
Api-Key: xxxxxx
Host: allegroapi.io
Content-Length: 1754
Expect: 100-continue
Connection: Close
{"additionalServices":null,"afterSalesServices":{"impliedWarranty":{"id":"6057f6b5-2419-49f9-88fc-8dc48202fac5"},"returnPolicy":{"id":"6bfaa3c2-651d-47f7-9950-0544efafb342"},"warranty":null},"category":{"id":"91880"},"compatibilityList":null,"contact":null,"createdAt":"2019-03-25T09:52:44Z","delivery":{"additionalInfo":"","handlingTime":"PT24H","shipmentDate":null,"shippingRates":null},"description":{"sections":[{"items":[{"type":"TEXT","content":"<p>test</p>"}]}]},"ean":"9788376487632","external":null,"id":"7929263879","images":[],"location":{"city":"Tarnowo Podgórne","countryCode":"PL","postCode":"62-080","province":"WIELKOPOLSKIE"},"name":"test 123 456","parameters":[{"id":"223545","rangeValue":null,"values":["Nie śpiewaj przy stole"],"valuesIds":null,"name":"Tytuł","valueLabels":["Nie śpiewaj przy stole"]},{"id":"223489","rangeValue":null,"values":["Adriana Trigiani"],"valuesIds":null,"name":"Autor","valueLabels":["Adriana Trigiani"]},{"id":"75","rangeValue":null,"values":null,"valuesIds":["75_1"],"name":"Okładka","valueLabels":["miękka"]},{"id":"74","rangeValue":null,"values":["2011"],"valuesIds":null,"name":"Rok wydania","valueLabels":["2011"]}],"payments":{"invoice":"NO_INVOICE"},"product":null,"promotion":{"bold":false,"departmentPage":false,"emphasized":false,"emphasizedHighlightBoldPackage":false,"highlight":false},"publication":{"duration":"PT240H","endingAt":"2019-04-04T08:55:20Z","startingAt":null,"status":"ACTIVE","endedBy":null},"sellingMode":{"format":"BUY_NOW","minimalPrice":null,"price":{"amount":"1","currency":"PLN"},"startingPrice":null},"sizeTable":null,"stock":{"available":666,"unit":"UNIT"},"updatedAt":"2019-03-25T09:56:05.942Z","validation":{"errors":[],"validatedAt":"2019-03-25T09:55:20.415Z"}}
dostajemy 422
HTTP/1.1 422 Unprocessable Entity
Expires: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
X-XSS-Protection: 1; mode=block
Pragma: no-cache
X-Frame-Options: DENY
Trace-Id: 683fc4116a09c27b
Date: Mon, 25 Mar 2019 09:58:06 GMT
Connection: close
X-RateLimit-Remaining: 8917
X-Content-Type-Options: nosniff
Content-Type: application/json
X-RateLimit-Limit: 9000
Content-Length: 161
{"errors":[{"code":"VALIDATION_ERROR","message":"Missing required parameters: Stan.","details":"","path":"","userMessage":"Missing required parameters: Stan."}]}
Parametr "Stan" w większości kategorii jest parametrem obowiązkowym, nie jest on przypisany do produktu, określa go użytkownik - to parametr ofertowy.
OK, rozumiem. A czy są jakieś inne parametry, które mogą zachować się jak powyżej? Jak je rozpoznać, czy parametr "Stan" zawsze ma nazwę "Stan"?
Tak jak napisałem, "Stan" w większości kategorii jest parametrem ofertowym, który jest obowiązkowy. Inne parametry obowiązkowe to parametry produktowe. W naszej bazie produktów nie mamy kompletnych informacji o produkcie, dlatego może się zdarzyć, że parametry uzyskane za pomocą w/w zasobu nie wyczerpują w 100% informacji o produkcie. Wówczas warto rozszerzyć informacje o produkcie w parametrach nieobowiązkowych.
Dzięki. Dokumentacja sugeruje, że parametry oferty należy zamienić z tymi z produktu, a nie merge'ować. Jest jeszcze jeden problem projektowy - produktu nie można przypiąć, jeśli wiąże się to ze zmianą kategorii, a w ofercie są już jakieś zakupy. Tylko że w /sale/offers brakuje informacji o tym czy był w niej jakiś zakup.
Przydałoby się, aby odpowiedź na zapytanie GET /sale/offers
(czyli moich aukcji) zawierała też informację do jakiego produktu jest ona przypisana. Teraz pozostaje mi dla każdej aukcji wywoływanie GET /sale/offers/{offerId}
aby się tego dowiedzieć.
Allegro aktualnie przypisało istniejące aukcje do produktów w sposób automatyczny. Widzę, że są przypadki aukcji, dla których podczas ich edycji (na stronie Allegro) pojawia się informacja, aby zmienić niektóre parametry aby były zgodne z przypisanym do nich produktem (okienko modalne). Czy Allegro nie może tego robić samo? Ew. czy są plany aby robiło to samo tj. jak ja wystawię aukcję i świadomie przypisze ją do produktu? Czy teraz jest okres przejściowy, i Allegro boi się że źle poprawi i w przypadku problemów z kupujących będzie ponosiło część winy?
Odpytania o informacje o produkt (po UUID, tj. GET /sale/products/{productId}
) są bardzo wolne. Zamierzacie je przyspieszyć? Teraz to trwa jakieś 5 sekund, a wydaje się, że po kluczu powinno być natychmiastowe.
Czy planujecie publikować listę produktów, które zmieniły parametry (np. wylistuj listę produktów, które zmieniły się w ostatnich 7 dniach)? Co w przypadku, gdyby okazało się, że przypisany do produktu EAN był błędny i został usunięty? Czy wtedy moja aukcja straci przypisanie do produktu? Czy będę o tym wiedział? Przyznam, że mam bardzo dużo aukcji i raczej nie widzę możliwości aby to śledzić ręcznie.
Co w takim przypadku:
Czy Allegro też zmieni kategorię mojej aukcji? Czy odepnie moją aukcję od produktu?
@rtnet-pl Na tę chwilę, jedynym rozwiązaniem jest zamknięcie oferty i wystawienie nowej z prawidłowym produktem. Nie wykluczamy wprowadzenia rozwiązania, w którym zaadresujemy ten problem. Sprawdzimy ile jest tego typu przypadków.
@pgasidlo W swoich postach często piszesz o grupie produktów, liście grup. Co masz przez to na myśli? Kategorie? Podaj proszę konkretny przykład.
@KrzysztofLukanowski Doprecyzowałem moje pytania. Użyłem nazewnictwa allegro tj. "aukcja" i "produkt". Mam nadzieję, że teraz jest to czytelniejsze.
@pgasidlo
Przydałoby się, aby odpowiedź na zapytanie GET /sale/offers (czyli moich aukcji) zawierała też informację do jakiego produktu jest ona przypisana.
Przyjmuję jako sugestię.
[...] Widzę, że są przypadki aukcji, dla których podczas ich edycji (na stronie Allegro) pojawia się informacja, aby zmienić niektóre parametry aby były zgodne z przypisanym do nich produktem (okienko modalne). Czy Allegro nie może tego robić samo?
Nie, nie możemy zmieniać parametrów oferty, jakie ustawił sprzedający.
Odpytania o informacje o produkt (po UUID, tj. GET /sale/products/{productId}) są bardzo wolne.
Zasoby są dostępne jako beta, gdyż cały czas je doskonalimy.
Czy planujecie publikować listę produktów, które zmieniły parametry (np. wylistuj listę produktów, które zmieniły się w ostatnich 7 dniach)?
Przyjmuję jako sugestię.
Co w przypadku, gdyby okazało się, że przypisany do produktu EAN był błędny i został usunięty? Czy wtedy moja aukcja straci przypisanie do produktu?
Oferty łączymy z produktem na podstawie productId, więc w takiej hipotetycznej sytuacji oferta nie straci połączenia z produktem.
wystawiam aukcję przypisaną do produktu w kategorii X (która jest podana w parametrach produktu), aukcja się rozkręca, ma dużą sprzedaż, produkt po pewnym czasie (moderacja po Państwa stronie, zmiana drzewa kategorii) zmienia swoją kategorię na Y
Taka sytuacja nie powinna mieć miejsca, gdyż dane o produkcie, m.in. kategoria, zaciągane są z naszego katalogu produktów.
@KrzysztofLukanowski Odnośnie zmiany kategorii.
Mam aukcję: 7029868558. Sprzedaż wykręcona. Została zakończona przez nas (chwilowy brak towaru). Teraz chcę wznowić. Do aukcji jest przypisany produkt o ID 645d0a0c-7c39-458a-8679-4372b8f994ff
. Przy wznawianiu problem - brak parametrów. Chce skorzystać z produktu. Lecz dowiaduje się, że produkt jest w innej kategorii niż moja aukcja i jego identyfikatory parametrów nie pokrywają się z moimi (moja aukcja była wystawiona w innej kategorii). Ustawiam parametry z produktu + kategorię z produktu i dostaję:
"You cannot change category after 12 hours from publication.
Co z tym zrobić?
@pgasidlo Niestety na ten moment nie mamy wypracowanego rozwiązania dla takich przypadków. Analizujemy różne podejścia i w przyszłości będziemy je adresować. Póki co nie walidujemy kategorii w ofercie powiązanej z produktem, więc nie trzeba jej uspójniać.
Jeszcze jedno. Niespójność w odpowiedziach. Jeżeli produktu w waszej bazie po EAN 9788326733376
(tj. https://api.allegro.pl/sale/products?ean=9788326733376), to zwrócone dane (wymagane parametry) różnią się od tych, które zwraca wyszukiwanie po identyfikatorze grupy 748eb8be-90ca-4514-abef-f9f44257112e
(tj. https://api.allegro.pl/sale/products/748eb8be-90ca-4514-abef-f9f44257112e`).
W tym przypadku, w wyszukiwaniu po EAN brakuje np. bloku:
object(stdClass)#33 (5) {
["id"]=>
string(6) "223493"
["name"]=>
string(12) "Liczba stron"
["valuesLabels"]=>
array(1) {
[0]=>
string(3) "252"
}
["values"]=>
array(1) {
[0]=>
string(3) "252"
}
["options"]=>
object(stdClass)#34 (1) {
["identifiesProduct"]=>
bool(false)
}
}
Nie wiem czy to celowe, ale wydaje mu się, że dodanie tych danych zlikwidowałoby konieczność wykonywania drugiego zapytania do API (pytanie po EAN -> i pytanie po ID aby mieć wszystkie dane).
@pgasidlo zgadza się - tak to działa - wyszukiwarka zwraca wiele danych o produkcie, ale nie wszystkie. Trzeba osobno pobrać szczegóły danego produktu - na razie są to kategoria i parametry, ale w przyszłości tych danych może być więcej, dlatego zdecydowaliśmy się na takie podejście. Taki proces zalecamy też w naszym poradniku.
@KrzysztofLukanowski Ok, to jeszcze jedno pytanie. Czy można dostać przykład (id) produktu, który ma dwa EANy przypisane?
Chce również zgłosić, że podany wyżej produkt, tj. 748eb8be-90ca-4514-abef-f9f44257112e
powinien mieć dodany również drugi EAN: 9788326735509
obok tego, co już jest, tj. 9788326733376
. Ten nowy EAN pochodzi z dodruku.
@pgasidlo Przykład produktu - 50d155ae-998b-420b-8fa0-1c32c2cf0281. Wkrótce dodamy go również do poradnika.
Na tym etapie nie udostępniamy jeszcze procesu dodawania i uzupełniania produktów. Korzystamy z zewnętrznej bazy danych, pracujemy nad tym by sprzedawcy mogli dodawać nowe produkty i uzupełniać istniejące o dodatkowe dane. Więcej informacji na ten temat już wkrótce.
Aukcja 7897766944
. Chcę ją wznowić, jednocześnie przypisując produkt 3ca06c37-4f56-4fa5-bde7-363ca8a4cab2
. Zarówno aukcja jak i produkt są w dobrej kategorii, tj. 90844
. W produkcie jest parametr Język
(id: 2868
) ustawiony na polski
(wartość: 2868_1
). Ten parametr jest dopuszczalny w kategorii. Jednak, gdy go ustawiam dostają błąd walidacji: Parameter (2868) is not expected
. Co ciekawe, jak próbuje wznowić aukcję na stronie, to pole Język
nie jest wogóle wyświetlane w parametrach aukcji (nie można go wypełnić). Jest za to prezentowane w bloku z wybranym produktem.
To, które przesyłam do PUT sale/offers/7897766944
:
["id"]=>
string(10) "7897766944"
["name"]=>
string(44) "Wióry lecą Renowacja mebli i tapicerka dla"
["category"]=>
object(stdClass)#22 (1) {
["id"]=>
string(5) "79168"
}
["product"]=>
array(1) {
["id"]=>
string(36) "3ca06c37-4f56-4fa5-bde7-363ca8a4cab2"
}
["parameters"]=>
array(8) {
[0]=>
array(4) {
["id"]=>
string(2) "75"
["name"]=>
string(8) "Okładka"
["values"]=>
array(0) {
}
["valuesIds"]=>
array(1) {
[0]=>
string(9) "75_306417"
}
}
[1]=>
array(3) {
["id"]=>
string(2) "74"
["name"]=>
string(11) "Rok wydania"
["values"]=>
array(1) {
[0]=>
string(4) "2019"
}
}
[2]=>
array(4) {
["id"]=>
string(4) "2868"
["name"]=>
string(6) "Język"
["values"]=>
array(0) {
}
["valuesIds"]=>
array(1) {
[0]=>
string(6) "2868_1"
}
}
[3]=>
array(3) {
["id"]=>
string(6) "223545"
["name"]=>
string(6) "Tytuł"
["values"]=>
array(1) {
[0]=>
string(61) "Wióry lecą Renowacja mebli i tapicerka dla początkujących"
}
}
[4]=>
array(3) {
["id"]=>
string(6) "223489"
["name"]=>
string(5) "Autor"
["values"]=>
array(1) {
[0]=>
string(11) "Kasia Sawko"
}
}
[5]=>
array(4) {
["id"]=>
string(6) "223541"
["name"]=>
string(11) "Wydawnictwo"
["values"]=>
array(0) {
}
["valuesIds"]=>
array(1) {
[0]=>
string(13) "223541_302977"
}
}
[6]=>
array(3) {
["id"]=>
string(6) "223493"
["name"]=>
string(12) "Liczba stron"
["values"]=>
array(1) {
[0]=>
string(3) "224"
}
}
[7]=>
array(5) {
["id"]=>
string(5) "11323"
["name"]=>
string(4) "Stan"
["values"]=>
array(0) {
}
["rangeValue"]=>
NULL
["valuesIds"]=>
array(1) {
[0]=>
string(7) "11323_1"
}
}
}
["ean"]=>
string(13) "9788328060722"
["description"]=>
object(stdClass)#48 (1) {
["sections"]=>
array(2) {
[0]=>
object(stdClass)#46 (1) {
["items"]=>
array(2) {
[0]=>
object(stdClass)#44 (2) {
["type"]=>
string(5) "IMAGE"
["url"]=>
string(69) "https://a.allegroimg.com/original/013d23/8f37d0d14007a2930b64bb67d913"
}
[1]=>
object(stdClass)#45 (2) {
["type"]=>
string(4) "TEXT"
["content"]=>
string(251) "<h1>Wióry lecą Renowacja mebli i tapicerka dla początkujących</h1>
<p>Autor: <b>Sawko Kasia</b></p><p>EAN: <b>9788328060722</b></p><p>Strony: <b>224</b></p><p>Oprawa: <b>Miękka ze sk</b></p><p>Wydawca: <b>Buchmann</b></p><p>SID: <b>862962</b></p>"
}
}
}
[1]=>
object(stdClass)#43 (1) {
["items"]=>
array(1) {
[0]=>
object(stdClass)#42 (2) {
["type"]=>
string(4) "TEXT"
["content"]=>
string(953) "<h1>Wióry lecą Renowacja mebli i tapicerka dla początkujących</h1>
<p>Wióry lecą. Renowacja mebli i tapicerka dla początkujących to praktyczny poradnik, dzięki któremu nauczymy się podstaw pracy z drewnem. Książka podzielona jest na dwie części. Pierwsza ? teoretyczna wprowadza nas w tajniki sztuki. Dowiemy się z niej o niezbędnych narzędziach, wyborze odpowiedniego mebla do wykonania i poznamy podstawy warsztatu. Druga ? praktyczna to ponad dwadzieścia instrukcji krok po kroku. Wśród przedmiotów poddanych renowacji znajduje się banalnie prosta deska do krojenia, nieco trudniejszy taboret czy wymagający znacznie więcej pracy słynny fotel 366 Chierowskiego. Bohaterami kolejnych instrukcji są członkowie warsztatów stolarskich, które od kilku lat z powodzeniem prowadzi autorka publikacji ? Katarzyna Sawko.
Wióry lecą to świetna lektura dla osób, które chcą zacząć przygodę z drewnem w domowym zaciszu.</p>"
}
}
}
}
}
["compatibilityList"]=>
NULL
["images"]=>
array(1) {
[0]=>
object(stdClass)#40 (1) {
["url"]=>
string(69) "https://a.allegroimg.com/original/013d23/8f37d0d14007a2930b64bb67d913"
}
}
["sellingMode"]=>
array(2) {
["format"]=>
string(7) "BUY_NOW"
["price"]=>
array(2) {
["amount"]=>
float(29.98)
["currency"]=>
string(3) "PLN"
}
}
["stock"]=>
array(2) {
["available"]=>
string(1) "5"
["unit"]=>
string(4) "UNIT"
}
["publication"]=>
object(stdClass)#37 (5) {
["duration"]=>
NULL
["status"]=>
string(5) "ENDED"
["startingAt"]=>
NULL
["endingAt"]=>
NULL
["endedBy"]=>
string(4) "USER"
}
["delivery"]=>
array(3) {
["shippingRates"]=>
array(1) {
["id"]=>
string(36) "f01fbe47-f8aa-46ac-b2d1-e40f6e17ba13"
}
["handlingTime"]=>
string(5) "PT24H"
["shippmentDate"]=>
NULL
}
["payments"]=>
array(1) {
["invoice"]=>
string(3) "VAT"
}
["afterSalesServices"]=>
array(3) {
["impliedWarranty"]=>
array(1) {
["id"]=>
string(36) "27fcf592-3b8f-45ed-86fb-2bfe2960211e"
}
["returnPolicy"]=>
array(1) {
["id"]=>
string(36) "2b709c19-e22f-4675-a1d4-8dab8364ff76"
}
["warranty"]=>
array(1) {
["id"]=>
string(36) "38c73c1d-0aef-4189-ad03-989dcc6b923f"
}
}
["additionalServices"]=>
NULL
["sizeTable"]=>
NULL
["promotion"]=>
object(stdClass)#29 (5) {
["emphasized"]=>
bool(false)
["bold"]=>
bool(false)
["highlight"]=>
bool(false)
["departmentPage"]=>
bool(false)
["emphasizedHighlightBoldPackage"]=>
bool(false)
}
["location"]=>
array(4) {
["countryCode"]=>
string(2) "PL"
["province"]=>
string(7) "SLASKIE"
["city"]=>
string(14) "Bielsko-Biała"
["postCode"]=>
string(6) "40-382"
}
["external"]=>
NULL
["attachments"]=>
array(0) {
}
["contact"]=>
NULL
["validation"]=>
object(stdClass)#27 (2) {
["errors"]=>
array(0) {
}
["validatedAt"]=>
string(24) "2019-04-09T19:55:43.648Z"
}
["createdAt"]=>
string(20) "2019-03-11T18:32:44Z"
["updatedAt"]=>
string(24) "2019-04-10T11:42:56.356Z"
}
Sprawdziłem ofertę i jest wystawiona w kategorii: Kultura i rozrywka > Książki i Komiksy >Literatura piękna, popularna i faktu > Pozostałe (Id 79168)
W tej kategorii parametry są inne niż dla kategorii, w której jest produkt Kultura i rozrywka >Książki i Komiksy >Poradniki i albumy > Dom i ogród > Naprawy, remonty, majsterkowanie (Id 90844).
Stąd problem. W tej sytuacji najlepiej wystawić nową ofertę w tej samej kategorii, w której jest produkt.
@TomekKaczmarek Ok, coś źle popatrzyłem.
Mam problem z przypisaniem produktu 49e4cfac-d9b8-40fb-afb8-340789d5c8cd
do aukcji. Utworzyłem drafta: 8011067718
. Chodzi o parametr Autor
. W produkcie jest to Reşat Ekrem Koçu
i taki ustawiam w parametrach. Lecz podczas walidacji dostaję błąd: The value of a parameter "Autor" contains illegal characters: ş.
. Jak usunę ten parametr, to dostaję zaś błąd Invalid parameter Autor (223489) value for offer with product. Value should be "Reşat Ekrem Koçu"
. I koło się zamyka.
Czy jest jakiś problem z pobieraniem konkretnych produktów? Pytając o 3698680a-8c55-4a57-a985-a3aecc3d499c
zawsze dostaje w odpowiedzi dane odnośnie grupy e2db1b34-43c1-4ace-9f44-19065d32d43e
.
Czy są jakieś (inne niż dla RestAPI) limity dla wywołań GET /sale/products?ean=XXX
i GET /sale/products/UUID
?
@pgasidlo
@TomekKaczmarek Rozumiem, że zostaną też sprawdzone wszystkie produkty. Bo znam jeszcze trochę podobnych przypadków.
Dodaktowo proszę jeszcze zobaczyć na produkt 1e7fbee8-3624-44f6-846f-1ae825eef952
. Tutaj problem jest inny: Tytuł jest za długi, i podczas tworzenia aukcji dostaję błąd: Value is too long in parameter Tytuł(223545)
. Przykład DRAFTa: 8033928869
.
Może jednak pewnym rozwiązaniem, będzie dodanie jakiegoś parametru podczas edycji/tworzenia aukcji, gdzie podaje/zmieniam product.id
, dodać np. product.forceParameters
, które ustawi wszystkie parametry na takie jakie wymaga grupa.
@pgasidlo
Pracujemy nad wdrożeniem walidacji na poziomie bazy produktów, zgodnej z zasadami, które obowiązują dla wystawiania ofert w Allegro. Docelowo, nie powinno być zatem problemów przy walidacji danych z produktu. Póki co zgłaszaj proszę takie problemy - będziemy je rozwiązywać.
@TomekKaczmarek To lista produktów, których dane nie są poprawne:
EDIT: uzupełniłem o zawartość pól w produkcie.
@pgasidlo dzięki, zgłosiłem do odpowiedniego działu.
Czy jest szansa, żeby przypisując w strukturze oferty w polu product
znaleziony w waszej bazie identyfikator paremetry i pola w strukturze oferty były automatycznie przypisywane? Moim zdaniem tak to właśnie powinno funkcjonować.
Np. robię draft, przypisuję produkt xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx do oferty i mam już w strukturze wypełnione odpowiadające produktowi parametry itp.
Po jakimś czasie produkt w waszej bazie xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx przykładowo ma coś zmienione, coś dodane. W takim wypadku oferta z takim wskaźnikiem na ten produkt automatycznie uwzględnia te zmiany.
No bo w tym momencie de facto należałoby dla wszystkich ofert, po kolei, co jakiś czas (jaki?) zrobić:
pobrać strukturę oferty -> wyszukać w waszej bazie, czy istnieje powiązany produkt -> polecieć po wszystkich wartościach porównując i nadpisując w strukturze oferty
Prosiłbym o jakieś info w tej kwestii
@mjag8 Twoje spostrzeżenie przekażę jako sugestię do działu odpowiedzialnego za rozwój REST API.
Podczas próby wystawienia oferty z produktem dostaję komunikat zwrotny 422 "Nie mogliśmy wystawić oferty. Niektóre wymagane pola nie zostały wypełnione." - niezbyt to jest przydatne. Jak uzyskać informację o tym, czego brakuje?
@chryssalid prześlij proszę Twój pełen request i response w formacie curl (z wyciętym access tokenem). Sprawdzę to.
@AureliuszBrussy
POST
'https://api.allegro.pl.allegrosandbox.pl/sale/product-offers'
-H 'Authorization: Bearer {token}'
-H 'Accept-Charset: UTF-8'
-H 'content-type: application/vnd.allegro.beta.v2+json'
-H 'accept: application/vnd.allegro.beta.v2+json'
{
"sellingMode": {
"format": "BUY_NOW",
"price": {
"amount": "29.29",
"currency": "PLN"
}
},
"stock": {
"available": 1,
"unit": "UNIT"
},
"location": {
"countryCode": "PL",
"province": "ZACHODNIOPOMORSKIE",
"city": "Szczecin",
"postCode": "70-261"
},
"external": {
"id": "113015"
},
"delivery": {
"shippingRates": {
"id": "fdc89cde-4612-4f0c-bb1a-9afb45d55360"
},
"handlingTime": "PT0S"
},
"payments": {
"invoice": "VAT"
},
"afterSalesServices": {
"impliedWarranty": {
"id": "46ba7e50-1f77-4be4-9b1e-83d4c3f64192"
},
"returnPolicy": {
"id": "977c38fb-eb6b-49ff-9aaa-f8303b58d57e"
}
},
"afterSalesServiceConditions": {
"warranty": {
"id": "f6dcf488-092e-4932-a765-abd64ab89b40"
}
},
"product": {
"id": "9788374801737",
"parameters": [
{
"id": "11323",
"valuesIds": [
"11323_1"
],
"values": [],
"rangeValue": null
},
{
"id": "223545",
"valuesIds": null,
"values": [
"Poza cieniem"
],
"rangeValue": null
},
{
"id": "223489",
"valuesIds": null,
"values": [
"Brent Weeks"
],
"rangeValue": null
},
{
"id": "75",
"valuesIds": [
"75_1"
],
"values": [],
"rangeValue": null
},
{
"id": "74",
"valuesIds": [],
"values": [
2010
],
"rangeValue": null
},
{
"id": "223541",
"valuesIds": [
"223541_305725"
],
"values": [],
"rangeValue": null
}
]
},
"images": [
"https:\/\/images.ksiazkiniegryza.pl\/thumb\/500\/0\/zoom\/olejesiuk\/978-83-7480-173-7.jpg"
],
"description": {
"sections": [
{
"items": [
{
"type": "TEXT",
"content": "<h1>Poza cieniem<\/h1>\n<p><b>Autor:<\/b> Brent Weeks<\/p>\n<p><b>Wydawca:<\/b> MAG<\/p>\n\t<p><b>Rok wydania:<\/b> 2010<\/p>\n\t<p><b>ISBN:<\/b> 978-83-7480-173-7<\/p>\n\t<p><b>Stron:<\/b> 616<\/p>\n\t<p><b>Oprawa:<\/b> miękka<\/p>\n\t<p><b>Stan:<\/b> nowa<\/p>\n\n\t<p><b>Format:<\/b> 13.5x20 cm<\/p>\n"
}
]
},
{
"items": [
{
"type": "TEXT",
"content": "<p>SPRZEDAŻ OD 30-06-2010! <\/p><p> Logan Gyre jest królem Cenarii, oblężonego królestwa, dysponującego szczątkową armią i odrobiną nadziei. Ma jedną szansę i desperacki i ryzykowny pomysł, który może zniszczyć jego kraj. Na północy nowy Król-Bóg ma plan. Jeśli go zrealizuje, nikt już nie zdoła go powstrzymać. Kylar Stern nie ma wyboru. Żeby ratować przyjaciół - i być może wrogów - musi dokonać niemożliwego: zamordować boginię. Poza cieniem - to gęste od zwrotów akcji zakończenie trylogii \"Anioła Nocy\".<\/p>"
}
]
},
{
"items": [
{
"type": "TEXT",
"content": "<h2>Jak odczytywać stan ksiażki?<\/h2>\n<ol>\n\t<li>Nowa - tego chyba nie trzeba tłumaczyć :)<\/li>\n\t<li>Stan bardzo dobry - jak nowa, ale użwana, bez sladów czytania<\/li>\n\t<li>Stan dobry\/dobry+ - bez defektów ze śladami czytania<\/li>\n\t<li>Stan dobry - widoczne ślady używania, bez braków, ale możliwe zagięte kartki, podpisy poprzednich właścicieli, pieczęcie<\/li>\n<\/ol>\n\n<p>Wszystkie książki ze stanem gorszym niż dobry są opisywane indywidualnie<\/p>"
}
]
}
]
}
}
@chryssalid w polu product.id podałeś EAN produktu, który nie istnieje w naszej bazie produktów na Sandboxie. Sprawdź najpierw, czy produkt istnieje (GET /sale/products?ean={ean}).
Jeżeli chcesz utworzyć nowy produkt - nie przekazuj product.id, a strukturze żądania w obiekcie product przekaż komplet danych, które opisują sprzedawany produkt. Skorzystaj z GET /sale/categories/{categoryId}/parameters - w polu requiredForProduct znajdziesz informację, czy dany parametr jest wymagany, gdy tworzysz nowy produkt.
Nie zapomnij o wskazaniu kategorii, w której produkt ma zostać wystawiony (pole product.category.id).
@AureliuszBrussy sprawdzę to pod tym kątem, ale powyższy problem pozostaje nierozwiązany - komunikat w takim przypadku niewiele mówi developerowi. Co prawda kategoria w powyższym przykładzie pozostała wycięta, ale to samo otrzymywałem, gdy była podana (i miała requiredForProduct). Sprawdzę, czy to kwestia tego EAN i zobaczę, co się stanie, gdy go nie podam.
@chryssalid rozumiem Twoje spostrzeżenie, zgłosiłem kwestię tego komunikatu błędu do odpowiedniego zespołu.
Od dziś możesz wskazać produkt w ofercie, dzięki temu zgrupujemy ją z pozostałymi ofertami z danym produktem. To nowa opcja, którą wprowadzamy od początku 2019 roku, na razie w wybranych kategoriach. Jej zasięg planujemy stopniowo rozszerzać, a dzięki niej klient łatwiej znajdzie oferty, które spełniają jego oczekiwania.
Udostępniliśmy nowe zasoby w wersji beta i przygotowaliśmy poradnik, w którym znajdziesz szczegółowe informacje o tym, jak powiązać ofertę z produktem.