allegro / allegro/allegro-api

Allegro Delivery – błąd ShipmentIdNotReceivedException (IN_PROGRESS) mimo utworzenia przesyłki – ryzyko duplikowania przesyłek

Aperta
#13,889 4 commenti 0 reazioni 1 assegnatario Rivendicata da @PrzemyslawLukanowski Vedi su GitHub
brak_odpowiedzi Orders - shipment management
Lingua principale
Nessun dato sulla lingua
Stelle
244
Fork
40
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Dzień dobry,
Przesyłam następujący problem od naszego zespołu wprowadzającego nowe formy dostaw(allegro delivery) - aktualnie testują wszystko na testowej wersji sandbox i spotkali się z takimi problemami:

Zauważyliśmy dwa problemy przy testowaniu zakładania przesyłek.
Dla przykładu zlecenia 6t3vwekfmd+13e1f6199@user.allegrogroup.pl
Zlecenie ma dwie paczki.
Pierwsza paczka.
Utworzył się komunikat założenia przesyłki RFT:
{
"input" : {
"sender" : {
"company" : "STALCO",
"street" : "Ofiar Katynia 1",
"postalCode" : "32-050",
"city" : "Skawina",
"countryCode" : "PL",
"email" : "xxx,
"phone" : "xxx"
},
"receiver" : {
"company" : "Jakub xx",
"street" : "xx,
"postalCode" : "30-122",
"city" : "Kraków",
"countryCode" : "PL",
"email" : "6t3vwekfmd+13e1f6199@user.allegrogroup.pl",
"phone" : "+48 xxx,
"point" : "764630"
},
"packages" : [ {
"type" : "PACKAGE",
"length" : {
"value" : "44",
"unit" : "CENTIMETER"
},
"width" : {
"value" : "40",
"unit" : "CENTIMETER"
},
"height" : {
"value" : "20",
"unit" : "CENTIMETER"
},
"weight" : {
"value" : "5",
"unit" : "KILOGRAMS"
}
} ]
}
}

W odpowiedzi błąd:
RESPONSE BODY : {"RESPONSE_STATUS":"ER","RESPONSE_TXT":"pl.quantum.l4s.qallegro.exceptions.ShipmentIdNotReceivedException: {\"commandId\":\"fb4200b7-cb53-48d4-87ac-3d96c69dd78f\",\"status\":\"IN_PROGRESS\",\"errors\":null,\"shipmentId\":null}\r\n\tat pl.quantum.l4s.qallegro.services.QCreateCommandsStatus.getShipmentId(QCreateCommandsStatus.java:79)\r\n\tat pl.quantum.l4s.qallegro.services.QCreateCommandsStatus.createCommandsStatus(QCreateCommandsStatus.java:63)\r\n\tat pl.quantum.l4s.qallegro.services.QCreateCommandsService.readResponse(QCreateCommandsService.java:289)\r\n\tat pl.quantum.l4s.qallegro.services.QCreateCommandsService.createCommands(QCreateCommandsService.java:94)\r\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)\r\n\tat java.base/java.lang.reflect.Method.invoke(Method.java:580)\r\n\tat org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:154)\r\n\tat org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:118)\r\n\tat org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(ResourceMethodInvoker.java:560)\r\n\tat org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter(ResourceMethodInvoker.java:452)\r\n\tat org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$2(ResourceMethodInvoker.java:413)\r\n\tat org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:321)\r\n\tat org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:415)\r\n\tat org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:378)\r\n\tat org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:356)\r\n\tat org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:70)\r\n\tat org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:429)\r\n\tat org.jboss.resteasy.core.SynchronousDispatcher.lambda$invokePropagateNotFound$6(SynchronousDispatcher.java:275)\r\n\tat org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:154)\r\n\tat org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:321)\r\n\tat org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:157)\r\n\tat org.jboss.resteasy.core.SynchronousDispatcher.invokePropagateNotFound(SynchronousDispatcher.java:260)\r\n\tat org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:224)\r\n\tat org.jboss.resteasy.plugins.server.servlet.FilterDispatcher.doFilter(FilterDispatcher.java:62)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)\r\n\tat org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:70)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)\r\n\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)\r\n\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)\r\n\tat org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)\r\n\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)\r\n\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:90)\r\n\tat org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:664)\r\n\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)\r\n\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)\r\n\tat org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)\r\n\tat org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n\tat org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n\tat org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1776)\r\n\tat org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n\tat org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:975)\r\n\tat org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:493)\r\n\tat org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\r\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\r\n\n"}
Przesyłka nie złożona, błąd w odpowiedzi.

Druga paczka:
Utworzył się komunikat założenia przesyłki RFT:
{
"input" : {
"sender" : {
"company" : "STALCO",
"street" : "Ofiar Katynia 1",
"postalCode" : "32-050",
"city" : "Skawina",
"countryCode" : "PL",
"email" : "sxxxo.pl",
"phone" : "xxx"
},
"receiver" : {
"company" : "Jakub xx",
"street" : "Lxxx,
"postalCode" : "30-122",
"city" : "Kraków",
"countryCode" : "PL",
"email" : "6t3vwekfmd+13e1f6199@user.allegrogroup.pl",
"phone" : "+48 xxxx",
"point" : "764630"
},
"packages" : [ {
"type" : "PACKAGE",
"length" : {
"value" : "44",
"unit" : "CENTIMETER"
},
"width" : {
"value" : "40",
"unit" : "CENTIMETER"
},
"height" : {
"value" : "15",
"unit" : "CENTIMETER"
},
"weight" : {
"value" : "5",
"unit" : "KILOGRAMS"
}
} ]
}
}

W odpowiedzi potwierdzenie złożenia przesyłki : cc1ebd35-b337-441f-bd82-1da4a11d1526
RESPONSE BODY : {"RESPONSE_STATUS":"OK","RESPONSE_REF_NR":"cc1ebd35-b337-441f-bd82-1da4a11d1526","RESPONSE_PACKAGE_INFO":[{"TRACKING_NR":"3401009616921","ADDITIONAL_INFO":"AD0CBSF7BFMF6M1QN"}]}
Potem wyszedł komunikat na pobranie etykiety i tu przetworzyło się prawidłowo etykieta się pobrała.

Pierwszy problem jest taki, przy testach dostajemy bardzo często błąd:
RESPONSE BODY : {"RESPONSE_STATUS":"ER","RESPONSE_TXT":"pl.quantum.l4s.qallegro.exceptions.ShipmentIdNotReceivedException: {\"commandId\":\"fb4200b7-cb53-48d4-87ac-3d96c69dd78f\",\"status\":\"IN_PROGRESS\",\"errors\":null,\"shipmentId\":null}

Z czym jest on związany?

Drugi problem jest taki, że mimo odpowiedź o błędzie złożenia przesyłki to na koncie Allegro widać, że przesyłka się złożyła.
To potencjalnie tworzy problemy przy dalszym procesowaniu przesyłek z błędem.
Jak ponowimy komunikat na błędną przesyłkę i uda się go przetworzyć, to na koncie Allegro będą widoczne trzy przesyłki a realnie są dwie.
Tu powinien być mechanizm, że nie zakłada się przesyłka bez pozytywnej odpowiedzi na komunikat złożenia przesyłki.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.