Spring Global (Spring Omni) Errore: ottenere una risposta vuota durante il recupero dell'etichetta

Stavamo affrontando un problema mentre tentavamo di creare una spedizione (Utilizzo dell'API / spedizioni) e dopo che stavamo recuperando l'etichetta (Utilizzo di / spedizioni / {shipment_id} / file API). Il problema era che avevamo una risposta vuota. Quando abbiamo controllato Spedizioni nel back office, sembrava che sotto lo screenshot:

Risposta vuota

Quando abbiamo cliccato sulla spedizione (con status = "concetto"), abbiamo ricevuto un messaggio come "La spedizione è stata creata, ma non è ancora stata registrata con il corriere.

Quando abbiamo capito il concetto di questo nuovo processo di creazione delle spedizioni in Spring Omni, veniamo a sapere che in Spring Global, abbiamo bisogno di registrare una spedizione invece di creare la spedizione prima di recuperare l'etichetta corrispondente alla spedizione. Esistono due possibili scenari per la registrazione di una spedizione:

  1. Crea la spedizione e registrati allo stesso tempo
  2. Crea la spedizione ma registrala in un dato momento specifico, ad esempio in futuro

1. Per registrare una spedizione istantaneamente

Durante l'invio della richiesta di spedizione, è necessario inviare il messaggio "register_at"valore parametro come 0 o tempo passato (timestamp UNIX) nei dati della richiesta. Si prega di riferirsi al codice sottostante per lo stesso:

{
  "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"
        }
      }
    }
  }
}

Se inviamo il valore register_at come timestamp corrente, potremmo ritenere che la registrazione della spedizione sia ritardata, quindi Spring Global ci ha suggerito di inviare il valore register_at come 0 in modo che l'orario sia considerato in passato e la spedizione sarà registrata al più presto il più possibile Dal momento che la spedizione sarà registrata ora, non saremo in grado di cancellare / modificare lo stesso.

2. Registra una spedizione in futuro

Se vogliamo modificare / eliminare la spedizione dopo aver creato quello, allora abbiamo solo bisogno di registrare la spedizione in futuro o in un dato momento specifico. Per registrare una spedizione in futuro, diciamo dopo ore 5 di creazione della spedizione, è sufficiente passare il valore "register_at" come timestamp futuro di cinque ore sulla base dell'ora corrente. Ora saremo in grado di modificare / cancellare la spedizione fino alle ore 5 ma non sarà possibile recuperare l'etichetta e la fattura commerciale. Alla data e ora, la spedizione verrà registrata automaticamente e potremo ritirare l'etichetta e la fattura commerciale dopo il tempo stabilito.

Quindi questi sono i due modi per registrare la spedizione. Possiamo usare entrambi in base al nostro requisito.

Si prega di visitare qui per informazioni correlate:

Spring Global (Spring Omni) Errore: è richiesta la proprietà phone_number

Spring Omni Manifest

Spring Global (Spring Omni) Errore: la spedizione non è stata registrata

Spring Global (Spring Omni): concetto di fatturazione

Spring Global (Spring Omni) Error: Resource Not Found


Aparajita Singh

Aparajita Singh

Aparajita Singh is an experienced Software engineer in PHP. She also has knowledge of C, JAVA and database design. She has been working in the IT Industry from the last 2yrs and still looking forward to achieving more in the IT industry. She lives in New Delhi and her hobby is to write the technical writeups.

Leave a Reply

Your email address will not be published. Required fields are marked *