public static Shipment PostShipmentToBigCommerce(Shipment shipmentToCreate)
        {
            RestClient client = new RestClient($"{BigCommerceHelper.baseUrl}/{bigCommerceOrderId}/shipments");

            string      jsonRequest = JsonConvert.SerializeObject(shipmentToCreate);
            RestRequest request     = BigCommerceHelper.CreateNewPostRequest(jsonRequest);

            IRestResponse shipmentApiResponse = client.Execute(request);

            // If there is an error, the API will send the response as a JArray instead of JObject
            try
            {
                Shipment shipmentCreated = JsonConvert.DeserializeObject <Shipment>(shipmentApiResponse.Content);
                Log.Information($"Shipment created in Big Commerce. Shipment id: {shipmentCreated.ShipmentId}, Big Commerce order id: {bigCommerceOrderId}");

                return(shipmentCreated);
            }
            catch (Exception ex)
            {
                JArray bigCommerceErrorResponse = BigCommerceHelper.ParseApiResponse(shipmentApiResponse.Content);

                string errorMessage = $"Invalid shipment request. Error: {bigCommerceErrorResponse}";
                Log.Error($"Error in PostShipmentToBigCommerce. {errorMessage}");

                throw new Exception(errorMessage);
            }
        }