Błąd Spring Global (Spring Omni): uzyskiwanie pustej odpowiedzi podczas pobierania etykiety

Wystąpił problem podczas próby utworzenia przesyłki (Używanie / wysyłki API) i potem ściągaliśmy etykietę (Używanie / wysyłki / {shipment_id} / API plików). Problem polegał na tym, że otrzymaliśmy pustą odpowiedź. Kiedy sprawdzaliśmy przesyłki na zapleczu, wyglądało to jak na poniższym zrzucie ekranu:

Pusta odpowiedź

Kiedy kliknęliśmy na przesyłkę (ze statusem = „koncepcja”), mamy wiadomość jako „Przesyłka została utworzona, ale nie została jeszcze zarejestrowana u przewoźnika (jeszcze).“

Kiedy zrozumieliśmy koncepcję tego nowego procesu tworzenia przesyłek na wiosnę Omni, dowiadujemy się, że w Spring Global musimy zarejestrować przesyłkę, a nie tylko utworzyć przesyłkę przed pobraniem etykiety odpowiadającej przesyłce. Istnieją dwa możliwe scenariusze rejestracji przesyłki:

  1. Utwórz przesyłkę i jednocześnie zarejestruj się
  2. Utwórz przesyłkę, ale zarejestruj ją w określonym czasie, tj. W przyszłości

1. Aby natychmiast zarejestrować przesyłkę

Wysyłając żądanie utworzenia przesyłki, musimy wysłać „register_at„wartość parametru jako 0 lub czas przeszły (znacznik czasu UNIX) w danych żądania.

{
  "data": {
    "type": "shipments",
    "attributes": {
      "recipient_address": {
        "street_1": "Baker Street",
        "street_2": "Marylebone",
        "street_number": 221,
        "street_number_suffix": "B",
        "postal_code": "NW1 6XE",
        "city": "London",
        "region_code": "ENG",
        "country_code": "GB",
        "first_name": "Sherlock",
        "last_name": "Holmes",
        "company": "Holmes Investigations",
        "email": "s.holmes@holmesinvestigations.com",
        "phone_number": "+31 234 567 890"
      },
      "return_address": {
        "street_1": "Baker Street",
        "street_2": "Marylebone",
        "street_number": 221,
        "street_number_suffix": "B",
        "postal_code": "NW1 6XE",
        "city": "London",
        "region_code": "ENG",
        "country_code": "GB",
        "first_name": "Sherlock",
        "last_name": "Holmes",
        "company": "Holmes Investigations",
        "email": "s.holmes@holmesinvestigations.com",
        "phone_number": "+31 234 567 890"
      },
      "sender_address": {
        "street_1": "Baker Street",
        "street_2": "Marylebone",
        "street_number": 221,
        "street_number_suffix": "B",
        "postal_code": "NW1 6XE",
        "city": "London",
        "region_code": "ENG",
        "country_code": "GB",
        "first_name": "Sherlock",
        "last_name": "Holmes",
        "company": "Holmes Investigations",
        "email": "s.holmes@holmesinvestigations.com",
        "phone_number": "+31 234 567 890"
      },
      "pickup_location": {
        "code": "205604",
        "address": {
          "street_1": "Baker Street",
          "street_2": "Marylebone",
          "street_number": 221,
          "street_number_suffix": "B",
          "postal_code": "NW1 6XE",
          "city": "London",
          "region_code": "ENG",
          "country_code": "GB",
          "first_name": "Sherlock",
          "last_name": "Holmes",
          "company": "Holmes Investigations",
          "email": "s.holmes@holmesinvestigations.com",
          "phone_number": "+31 234 567 890"
        }
      },
      "description": "Order #8008135",
      "physical_properties": {
        "height": 150,
        "width": 300,
        "length": 500,
        "volume": 22.5,
        "weight": 5000
      },
      "items": [
        {
          "sku": "123456789",
          "description": "OnePlus X",
          "item_value": {
            "amount": 995,
            "currency": "EUR"
          },
          "quantity": 2,
          "hs_code": "8517.12.00",
          "origin_country_code": "GB",
          "item_weight": 135
        }
      ],
      "customs": {
        "content_type": "merchandise",
        "invoice_number": "9000",
        "non_delivery": "return",
        "incoterm": "DAP",
        "license_number": "218532158",
        "certificate_number": "12122121"
      },
      "register_at": 0
    },
    "relationships": {
      "service_options": {
        "data": [
          {
            "type": "service-options",
            "id": "4c675b1a-516c-4410-abff-d237fd45bcd0"
          }
        ]
      },
      "shop": {
        "data": {
          "type": "shops",
          "id": "35eddf50-1d84-47a3-8479-6bfda729cd99"
        }
      },
      "service": {
        "data": {
          "type": "services",
          "id": "175a235f-aff5-4e44-87b5-3657b75c1deb"
        }
      },
      "contract": {
        "data": {
          "type": "contracts",
          "id": "2cb32706-5762-4b96-9212-327e6afaeeff"
        }
      }
    }
  }
}

Jeśli wyślemy wartość register_at jako bieżący znacznik czasu, możemy uzyskać pewne opóźnienie w rejestracji przesyłki, So Spring Global zasugerował nam wysłanie wartości register_at jako 0, aby czas był brany pod uwagę w przeszłości, a przesyłka zostanie zarejestrowana tak szybko, jak jak to możliwe. Ponieważ przesyłka zostanie zarejestrowana teraz, nie będziemy mogli jej usunąć / edytować.

2. Zarejestruj przesyłkę w przyszłości

Jeśli chcemy edytować / usunąć przesyłkę po jej utworzeniu, musimy tylko zarejestrować przesyłkę w przyszłości lub w określonym czasie. Aby zarejestrować przesyłkę w przyszłości, powiedzmy po godzinach tworzenia przesyłki przez 5, po prostu podaj wartość „register_at” jako przyszły znacznik czasu wynoszący pięć godzin na podstawie bieżącego czasu. Teraz będziemy mogli edytować / usuwać przesyłkę do godziny 5, ale nie będziemy mogli pobrać etykiety i faktury handlowej. Przy podanym znaczniku czasu przesyłka zostanie automatycznie zarejestrowana i będziemy mogli pobrać etykietę i fakturę handlową po upływie określonego czasu.

Są to więc dwa sposoby rejestracji przesyłki. Możemy korzystać zarówno z naszych wymagań.

Odwiedź tutaj, aby uzyskać powiązane informacje:

Błąd Spring Global (Spring Omni): Wymagana jest właściwość numer_telefonu

Wiosenny manifest omni

Spring Global (Spring Omni) Error: Przesyłka nie jest zarejestrowana

Spring Global (Spring Omni): Koncepcja fakturowania

Spring Global (Spring Omni) Error: Resource Not Found


DHL Problem: Lokalizacja docelowa jest nieprawidłowa. Proszę sprawdzić dane

Podczas rezerwacji przesyłki w DHL za pomocą API (w naszym przypadku krajem dostawy była „Irlandia”), otrzymaliśmy błąd w odpowiedzi na żądanie możliwości. Błąd to „Lokalizacja docelowa jest nieprawidłowa. Proszę sprawdzić dane“.

Rozwiązanie: �

W związku z tym problemem podnieśliśmy mandat na DHL, a oni odpowiedzieli, jak poniżej:

Gdy żądasz możliwości, ważne jest, aby podać kompletne i wysokiej jakości dane adresowe. Niezbędne jest określenie dokładnych informacji o routingu i możliwości dla punktu początkowego i docelowego. Przyczyną błędu mogą być:

  1. Możliwe, że na różnych przedmieściach znajduje się więcej niż jedno miasto o tej samej nazwie. Aby więc uzyskać skuteczną odpowiedź, musimy dodać przedmieścia w adresie docelowym specjalnie dla kraju dostawy „Irlandia”.
  2. W przypadku krajów docelowych, w których nie ma żadnych kodów pocztowych, nazwa miasta musi być napisana poprawnie. Na przykład� w IE nie ma miasta o nazwie NORTH ROAD, rzeczywiste miasto nazywa się M50 NORTH ROAD.

Z tej odpowiedzi nie było jasne, czy sprawdzanie poprawności adresu oznacza, skąd mamy wiedzieć, czy adres jest poprawny, czy nie, czy nazwa miasta jest poprawna, czy nie. Na przykład, jeśli wysyłamy nazwę miasta jako „Co. Dublin” w żądaniu utworzenia przesyłki pojawia się błąd dotyczący nieprawidłowej lokalizacji. Dlatego ponownie podnieśliśmy zgłoszenie, aby dowiedzieć się, w jaki sposób możemy zweryfikować adres, aw odpowiedzi DHL zasugerował narzędzie o nazwie DHL Capability Tool (https://dct.dhl.com/). Wystarczy wpisać adres nadawcy i adres docelowy w formularzu i kliknąć przycisk wyszukiwania, jak pokazano na zrzucie ekranu poniżej:

To narzędzie poda wynik, czy adres jest prawidłowy, czy nie. Więc jeśli otrzymujesz błąd dotyczący lokalizacji, możesz zweryfikować adres za pomocą tego narzędzia możliwości.