Closed mskiba03 closed 1 year ago
Czy ktos może mi pomóc, albo napisać dokumentacje, w której nie trzeba się domyślać o co chodzi. Bo błąd skontaktuj się z nami. Pomożemy jak najszybciej, nie bardzo ma sie do rzeczywistości.
sender to dane nadawcy na etykiecie, pickup to dane gdzie ma podjechać kurier.. Mi ta metoda też nie działa. Ciekawi mnie jak sobie poradziłeś z wyciąganiem numeru ulicy z zamówienia Allegro.
Polecam poprzednią metodę, która jest deprecated (/parcel-management/parcel-create-commands/{commandId}) . Nie musimy wypełniać ubezpieczeń i kwot pobrania, ani pobierać dodatkowych danych..
Zamawianie podjazdu robimy inną metodą jak chcemy.
Dzięi Eskim83 za podpowiedź. Co do numeru ulicy z zamówenia, to rodzielam po stacji do tablicy, jako numer biore ostatnia wartosc tablicy, a jako ulice bire cala wartosc i usuwam z niej to co jest numer budynku ;) Nie jest to doskonale, bo jak bedzie adres Ulica 3 m 3 to jako ulica bedzie Ulica 3 m a jako numer 3, ale to tez przechodzi :D
Głupie, ale w sumie zadziała. Niemniej boję się takie rzeczy robić.. może w polu description jeszcze dodatkowo przekażę ulicę. Ten wątek widzę już był 4 dni temu. Brakuje mi metody, która po prostu wygeneruje przesyłkę do zamówienia, ewentualnie pozwoli poprawić dane odbiorcy. Wiesz - to też kwestia skali.. na kilkuset zamówieniach dziennie takie rozwiązanie może generować problemy, bo użytkownicy są nieprzewidywalni.
Generuje tak ok 400-600 zamowien dziennie i jeszcze problemow nie bylo. Generalnie do tej pory tylko przez api inpost, ale metoda ta sama.
Wracajac do temu to może ktos z allegro sie wypowie nt mojego nic nie mowiacego błedu?
Przy takiej skali są błędy już obecnie w starej metodzie, bo klienci wpisują adresy np. tak Łagodna3m3 .. mam takich przypadków dużo. A co do tematu - 4 dni temu był identyczny wątek - tam problemem było np. brak plusa przed numerem telefonu (?). Generalnie brakuje tutaj ewidentnie jakiejkolwiek informacji zwrotnej o rodzaju błędu.
@mskiba03 W kilku miejscach przekazujesz puste stringi. Usuń je proszę. Jednocześnie konsultuję jeszcze ten problem z zespołem odpowiedzialnym za tę usługę.
Generalnie mamy świadomość, że niektóre komunikat są zbyt ogólne. Cały czas pracujemy nad ich odpowiednim mapowaniem. Współpracujemy z operatorem logistycznym, dlatego może to być wydłużone w czasie.
Dla nas również weryfikacja tego typu zgłoszeń jest dość utrudniona i konieczna jest analiza. Zapewniam, że pracujemy nad tym, aby to zoptymalizować.
Dodam, że poprawiłem nasz poradnik, faktycznie brakowało Content-type
. Dziękuję.
@mskiba03 W polu, w którym obecnie przekazujesz puste stringi "additionalServices":[""]
- przekaż null
.
Panie Łukaszu, ja wszystko rozumiem, ale delikatnie mówią nalegacie na wasze metody wysyłki, przez serwis wszystko działa, ale po api to same problemy. Najpierw powinniście dopracować dokumentacje i działanie funkcji, a potem "nalegać", żebyśmy z tego korzystali.
Wracając do tematu. Dokonałem jednej zmiany a mianowicie, dane do api były pobierane z aplikacji, a w książce adresowej były inne (tzn. takie same, ale inaczej wpisane). Ujednoliciłem te dane i spróbowałem jeszcze raz, I o dziwo, się udało, a nawet wiecej, jedna z wczoraj utworzonych paczek zmienila status z ERROR na SUCCESS, nie wiem czemu ;)
Teraz próbuje i znowu to samo. Przy tworzeniu paczki nie dostaje błędów, ale jak sprawdzam status to jest error. Pytanie, czemu
POST \ 'https://api.allegro.pl/shipment-management/shipments/create-commands'
zwraca mi sukces a jak sprawdzam
GET \ 'https://api.allegro.pl/shipment-management/shipments/create-commands/{command_id}'
to dostaje ogolny blad, zeby sie z Wami skontaktowac?
Response po utworzeniu paczki:
{ "commandId": "27199d54-9de1-47c2-9d0b-5b571074bf98", "input": { "deliveryMethodId": "08c15d0b-9b24-4b3f-89a8-7a2b502abe55", "credentialsId": "", "sender": { "name": "...", "company": "...", "street": "...", "streetNumber": "...", "postalCode": "41-902", "city": "Bytom", "state": null, "countryCode": "PL", "email": "...", "phone": "...", "point": null }, "receiver": { "name": "...", "company": "", "street": "...", "streetNumber": "...", "postalCode": "05-127", "city": "Bia\u0142obrzegi", "state": null, "countryCode": "PL", "email": "...", "phone": "...", "point": "A005978" }, "pickup": { "name": "...", "company": "...", "street": "...", "streetNumber": "...", "postalCode": "41-902", "city": "Bytom", "state": null, "countryCode": "PL", "email": "...", "phone": "...", "point": null }, "referenceNumber": "...", "description": "...", "packages": [ { "type": "PACKAGE", "length": { "value": 64, "unit": "CENTIMETER" }, "width": { "value": 38, "unit": "CENTIMETER" }, "height": { "value": 19, "unit": "CENTIMETER" }, "weight": { "value": 20, "unit": "KILOGRAMS" } } ], "insurance": null, "cashOnDelivery": null, "labelFormat": "PDF", "additionalServices": [ "" ] } }
No i jeszcze kwestia anulowania przesyłki:
dostaje blad: `Array ( [errors] => Array ( [0] => Array ( [code] => ERROR [message] => The request body could not be parsed correctly [details] => [path] => command [userMessage] => Nie można prawidłowo sparsować przesłanego obiektu )
)
)`
Jak probuje usunac przesylke przez allegro dostaje "Nie można anulować przesyłki u przewoźnika Allegro"
To mozna czy nie mozna anulowac przesylke?
I jeszcze kwestia pobierania etykiet. po wywołaniu funkcji nie pobiera mi etykiety. zadnych bledow nie ma
@mskiba03 Sprawdzamy to. Proszę Cię o cierpliwość.
@mskiba03 Kluczową rzeczą jest tutaj przekazywanie pustych stringów dla "additionalServices":[""]
- dla tego przewoźnika nie ma żadnych usług dodatkowych, dlatego należy przekazać null
.
Ponadto nie można anulować przesyłki Allegro One.
@Lukasz-Zurek Dlatego może warto, żebyście zadbali dla własnego przewoźnika o przygotowanie wytycznych dla każdego pola i serializację po waszej stronie danych np. numer telefonu, czy chociażby numer ulicy na której jest paczkomat. Przecież to nie jest normalne, że musimy tutaj was pytać o takie drobne rzeczy.
Dzieki pomoglo.
Mam jeszcze dwa pytania:
curl -X 'POST' \ 'https://api.allegro.pl/shipment-management/label' \ -H 'accept: application/octet-stream' \ -H 'Content-Type: application/vnd.allegro.public.v1+json' \ -d '{ "shipmentIds": [ "ba88f0fb-acf3-438a-877e-580da50c0874" ], "pageSize": "A4", "cutLine": true }'
nie ma zadnych errorow, ale przegladarka nie pobiera listu.
Podejrzewam ze nie wywolalem poprawnie tego w php
$url = "https://api.allegro.pl/shipment-management/label";
$post['shipmentIds'][] = $shipment_id;
$post['pageSize'] = 'A6';
$post['cutLine'] = true;
$post_data = json_encode($post);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = ($result = curl_exec($ch)) === false ? false : json_decode($result, true);
curl_close($ch);`
@Electronc Tak, mamy świadomość tych utrudnień i monitorujemy to. Zależy nam na tym, aby to uściślić z naszym operatorem logistycznym i przede wszystkim, aby dostosować nasze komunikaty, aby były w pełni czytelne.
@mskiba03
Dziękuje. Pojawił się jeszcze problem przy nadaniu przesyłki:
Allegro Pocztex Kurier 48 6eced786-aee4-47ba-9cb6-e24f8b1d3182
Nie pobiera tej przesyłki z https://api.allegro.pl/shipment-management/delivery-services, przec co nie mozna wybrac typu przesyłki:
Blad:
{ "errors": [ { "code": "VALIDATION_ERROR", "message": "musi pasowa\u0107 do wyra\u017cenia DOX|PACKAGE|PALLET|OTHER", "details": "Invalid value: ", "path": "input.packages[0].type", "userMessage": "musi pasowa\u0107 do wyra\u017cenia DOX|PACKAGE|PALLET|OTHER" } ] }
Pozwolę sobie dodać jeszcze inne problemy, które dzisiaj wystąpiły:
Problem dotyczy poprzedniej metody, bo nowej się boję jak już wspomniałem.
Dodam jeszcze, że numer referencyjny ma różne wymagania w zależności od dostawcy (np. PP nie akceptuje znaków ukośnika).
To tak jakby ktoś szukał przyczyn, ze mu nie działa, a nie wie czemu.. na szczęście stara metoda zwraca powód.
@mskiba03 Wskazana metoda już nie istnieje. Została zastąpiona Allegro Kurier Pocztex, zgodnie z newsem.
@Eskim83 Tych dotychczasowych zasobów na ścieżce /parcel-management nie będziemy już rozwijać. Niemniej jednak zależy nam na korzystaniu z nowych na /shipment-management i aby móc ją optymalizować zarówno pod kątem wymienionych pól, jak i komunikatów błędów - aby one były jednoznaczne.
Jeśli mógłbyś sprecyzować dokładnie co zniechęca się do korzystania z nowych zasobów WZA - będziemy wdzięczni. Uwagi przekażę do odpowiedniego zespołu.
W tym wątku nie pojawiła się żadna nowa odpowiedź w ciągu 7 dni, dlatego automatycznie oznaczamy go jako przeterminowany. Jeśli w ciągu kolejnych 7 dni nie pojawi się żadna odpowiedź, wątek zostanie zamknięty. Dziękujemy za zaangażowanie w dyskusję i zachęcamy Cię do wypełnienia ankiety dotyczącej naszego wsparcia na forum.
There was no new reply in this thread within 7 days, therefore, we automatically marked it as expired. If no response is received within the next 7 days, this thread will be closed. Thank you for engaging in the discussion. We encourage you to complete our forum support survey.
Witam, mam problem z nadaniem przezywłi przez Wysyłam z allegro.
Request
{ "commandId": "1f418dc5-7f19-407d-b3a8-ad99e9b23152", "input": { "deliveryMethodId": "08c15d0b-9b24-4b3f-89a8-7a2b502abe55", "credentialsId": "", "sender": { "name": "...", "company": "...", "street": "...", "streetNumber": "...", "postalCode": "41-902", "city": "Bytom", "countryCode": "PL", "email": "...", "phone": "..." }, "receiver": { "name": "...", "company": "", "street": "...", "streetNumber": "...", "postalCode": "05-127", "city": "Białobrzegi", "countryCode": "PL", "email": "...", "phone": "...", "point": "A005978" }, "pickup": { "name": "...", "company": "...", "street": "...", "streetNumber": "...", "postalCode": "41-902", "city": "Bytom", "countryCode": "PL", "email": "...", "phone": "..." }, "referenceNumber": "...", "description": "...", "packages": [ { "type": "PACKAGE", "length": { "value": "64", "unit": "CENTIMETER" }, "width": { "value": "38", "unit": "CENTIMETER" }, "height": { "value": "8", "unit": "CENTIMETER" }, "weight": { "value": "20", "unit": "KILOGRAMS" } } ], "labelFormat": "PDF", "additionalServices": [ "" ], "additionalProperties": [ "" ] } }
Dostaje blad: `( [commandId] => f8d8a826-81ef-44be-9430-ff30a2a565a2 [status] => ERROR [errors] => Array ( [0] => Array ( [code] => PROCESSING_ERROR [message] => Problem with dispatch. Contact us, and we will help as soon as possible. [details] => [path] => [userMessage] => Problem z nadaniem przesyłki. Skontaktuj się z nami. Pomożemy jak najszybciej. )
)`
Zgodnie z poradnikiem: https://developer.allegro.pl/tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-utworzyc-nowa-paczke
Troche chyba nie rozumiem tej dokumentacji, pomijajac w niej braki. np. w poradniki w przykladnie nie ma naglowka "Content-type: application/vnd.allegro.public.v1+json". Ale wracajac do pytania co nalezy wprowadzic dla: "sender":{ - dane nadawcy "receiver":{ - dane odbiorcy "pickup":{ - wymagane, dane nadawcy
Dwa razy dane nadwcy?