Knowband Blog | Ecommerce Modules

Erreur Spring Global (Spring Omni): Obtention d'une réponse vide lors de l'extraction d'une étiquette

Nous étions confrontés à un problème pendant que nous essayions de créer une expédition (Utilisation de l'API / expéditions) et ensuite nous avons récupéré l’étiquette (Utilisation de l'API / expéditions / {ID_expédition} / files). Le problème était que nous avions une réponse en blanc. Lorsque nous avons vérifié les envois sur le back-office, la capture d'écran ci-dessous était la suivante:

Lorsque nous avons cliqué sur l'envoi (avec status = "concept"), nous avons reçu un message comme "L'envoi a été créé, mais n'a pas encore été enregistré auprès du transporteur.

Lorsque nous avons compris le concept de ce nouveau processus de création d’envois dans Spring Omni, nous avons appris qu’à Spring Global, nous devions enregistrer un envoi au lieu de le créer uniquement avant de récupérer l’étiquette correspondant à l’envoi. Il existe deux scénarios possibles pour enregistrer un envoi:

  1. Créez l'envoi et enregistrez-le en même temps
  2. Créez l'envoi, mais enregistrez-le à un moment précis, c'est-à-dire à l'avenir

1. Pour enregistrer un envoi instantanément

Lors de l'envoi de la demande de création d'un envoi, nous devons envoyer le "register_at"valeur du paramètre sous 0 ou heure passée (horodatage UNIX) dans les données de la demande. Veuillez vous reporter au code ci-dessous pour obtenir le même résultat:

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

Si nous envoyons la valeur de register_at en tant qu'horodatage actuel, l'enregistrement de l'envoi risque d'être retardé. Spring Global nous a donc suggéré d'envoyer la valeur de register_at au format 0 afin que l'heure soit prise en compte et que l'expédition soit enregistrée dès que possible. comme possible. Puisque l'envoi sera enregistré maintenant, nous ne pourrons pas le supprimer / le modifier.

2. Enregistrer un envoi dans le futur

Si nous souhaitons modifier / supprimer l'envoi après avoir créé celui-ci, il nous suffit de l'enregistrer ultérieurement ou à un moment donné. Par exemple, pour enregistrer un envoi dans le futur, par exemple, après le nombre d’heures de création d’un envoi 5, transmettez simplement la valeur "register_at" comme horodatage futur de cinq heures sur la base de l’heure actuelle. Maintenant, nous pourrons éditer / supprimer l'envoi jusqu'à 5 mais nous ne pourrons pas récupérer l'étiquette et la facture commerciale. À l'heure indiquée, l'envoi sera automatiquement enregistré et nous pourrons récupérer l'étiquette et la facture commerciale après l'heure indiquée.

Ce sont donc les deux manières d’enregistrer l’envoi. Nous pouvons utiliser les deux sur la base de nos besoins.

S'il vous plaît visitez ici pour des informations connexes:

Spring Global (Spring Omni) Error: la propriété phone_number est requise.

Manifeste Omni du printemps

Spring Global (Spring Omni) Error: L'envoi n'est pas enregistré

Spring Global (Spring Omni): Concept de facturation

Erreur Spring Global (Spring Omni): ressource introuvable