Direct Shipment

Direct Shipment is a pseudo delivery provider, developed in Litium for testing and direct shipment handling tasks.

Direct Shipment can be used for:

  1. Simulating a delivery provider, without having to configure a real one! This could be useful, until you get your accounts configured from a real delivery provider.
  2. Allowing the placement of e-commerce orders and handle shipments manually.
  3. Custom implementation, for example, to place the purchase order into your ERP system.

Values to replace in template:

  • ports
  • environment
    • ASPNETCORE_HTTPS_PORT
    • AppMetadata__AppUrl
    • LitiumApi__ApiUrl
version: '3'
services:
  direct-shipment:
    image: registry.litium.cloud/apps/direct-shipment:latest
    dns: 
    - 192.168.65.2
    restart: unless-stopped
    ports:
    - "10020:80"
    - "10021:443"
    environment:
    # Enable HTTPS binding
    - ASPNETCORE_URLS=https://+;http://+
    - ASPNETCORE_HTTPS_PORT=10021
    # Configuration for HTTPS inside the container, exported dotnet dev-certs with corresponding password
    - ASPNETCORE_Kestrel__Certificates__Default__Password=${CERT_PWD}
    - ASPNETCORE_Kestrel__Certificates__Default__Path=/https/localhost.pfx
    # Folder for the configuraiton, this is volume-mapped
    - CONFIG_PATH=/app_config
    # Folder where logfiles should be placed, this is volume-mapped
    - APP_LOG_PATH=/logs
    # Don't validate certificates
    - AppConfiguration__ValidateCertificate=false
    # Url to this app
    - AppMetadata__AppUrl=https://customer-app-direct-shipment.localtest.me:10021
    # Url to the litium installation
    - LitiumApi__ApiUrl=https://customer.localtest.me:5001
    volumes:
    - ./data/direct-shipment/config:/app_config
    - ./data/direct-shipment/data:/app_data
    - ./data/direct-shipment/logs:/logs
    - ./data/direct-shipment/DataProtection-Keys:/root/.aspnet/DataProtection-Keys
    - ./data/https:/https:ro
    

Configuration file

{
  "ShippingConfig": {
    "ShippingOptions": [
      {
        "Id": "standardPackage",
        "MerchantAccountId": "",
        "DeliveryCountries": null,
        "DeliveryTimeInDays": 0,
        "ShippingMethod": "NormalPost",
        "IntegrationType": "DeliveryCheckout",
        "FeeType": "Calculated"
      },
      {
        "Id": "expressPackage",
        "MerchantAccountId": "",
        "DeliveryCountries": null,
        "DeliveryTimeInDays": 0,
        "ShippingMethod": "NormalPost",
        "IntegrationType": "DeliveryCheckout",
        "FeeType": "Calculated"
      }
    ]
  }
}
  • Id: The shipping option identifier.
  • MerchantAccountId: the merchant account identifier
  • DeliveryCountries: The delivery countries.
  • DeliveryTimeInDays: The delivery time in days.
  • ShippingMethod: The type of the shipping method. It should be one of these values: "DeliverToDoorStep", "PickUpStore", "PickUpPoint", "AutomatedPickupStation", "DigitalDelivery", "NormalPost", "RegisteredPost", "Other".
  • IntegrationType: The type of the shipping integration. It should be "Inline" or "DeliveryCheckout".
  • FeeType: The type of the shipping fee. It should be "Fixed" or "Calculated".
Is this page helpful?
Thank you for your feedback!