Knowband Blog | Ecommerce Modules

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:

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