Ekom.Shipping.Dropp 0.1.1

dotnet add package Ekom.Shipping.Dropp --version 0.1.1
                    
NuGet\Install-Package Ekom.Shipping.Dropp -Version 0.1.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Ekom.Shipping.Dropp" Version="0.1.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Ekom.Shipping.Dropp" Version="0.1.1" />
                    
Directory.Packages.props
<PackageReference Include="Ekom.Shipping.Dropp" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Ekom.Shipping.Dropp --version 0.1.1
                    
#r "nuget: Ekom.Shipping.Dropp, 0.1.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Ekom.Shipping.Dropp@0.1.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Ekom.Shipping.Dropp&version=0.1.1
                    
Install as a Cake Addin
#tool nuget:?package=Ekom.Shipping.Dropp&version=0.1.1
                    
Install as a Cake Tool

Ekom.Shipping.Dropp

Dropp checkout and fulfillment integration for Ekom. The package supports pickup locations, home-delivery availability, shipment creation and management, labels, extra packages, returns, and tracking.

Official Dropp API documentation

  • Dropp API documentation
  • Production API base URL: https://api.dropp.is/dropp/api/v1/
  • Staging API base URL: https://stage.dropp.is/dropp/api/v1/
  • Production access: create a Dropp account
  • Staging credentials and store ID: contact dropp@dropp.is

Dropp uses Authorization: Basic YOUR-TOKEN. Treat the API key as a secret and keep it in application configuration.

Configuration

{
  "Ekom": {
    "Shipping": {
      "Dropp": {
        "Accounts": {
          "dropp-main": {
            "ApiUrl": "https://api.dropp.is/dropp/api/v1/",
            "ApiKey": "use-a-secret-provider",
            "StoreId": "your-store-id",
            "FulfillmentMode": "Manual",
            "CacheDuration": "06:00:00"
          }
        }
      }
    }
  }
}

Register the package with services.AddDroppShipping(configuration). Set the Ekom shipping provider properties to carrier alias dropp, the configured account name, and service pickup or home-delivery.

FulfillmentMode defaults to Manual. Set it to Automatic to create a shipment during CheckoutEvents.CompleteCheckoutAsync.

Supported API operations

Inject IDroppShippingService for direct access:

Operation Method
List pickup locations GetPickupLocationsAsync
List delivery services for a destination GetServicesAsync
Get home-delivery and Flytjandi postal codes GetDeliveryPostalCodesAsync
Reserve an order barcode ReserveBookingReferenceAsync
Create an Ekom-neutral shipment CreateShipmentAsync
Create a complete Dropp order CreateOrderAsync
Get a Dropp order GetOrderAsync
Update an initial Dropp order UpdateOrderAsync
Delete an order before collection DeleteOrderAsync
Get a shipping label GetLabelAsync
Get a return label GetReturnLabelAsync
Create an extra-package barcode and label CreateExtraPackageLabelAsync
Delete an extra order DeleteExtraOrderAsync
Get tracking JSON GetTrackingAsync
var order = await dropp.GetOrderAsync("dropp-main", droppOrderId, cancellationToken);

await dropp.UpdateOrderAsync(
    "dropp-main",
    droppOrderId,
    new DroppUpdateOrderRequest(Barcode: "ORDER-NEW"),
    cancellationToken);

await dropp.DeleteOrderAsync("dropp-main", droppOrderId, cancellationToken);

For advanced creation, DroppCreateOrderRequest exposes DayDelivery, Comment, and ReturnOrder. Email address and social-security number are optional; name, address, phone number, postal code, town, location, value, and at least one valid product are validated before submission.

DroppShippingDefaults.HomeDeliveryLocationId and DroppShippingDefaults.SamskipLocationId expose the fixed location IDs listed in Dropp's documentation.

Ekom order management

IShippingFulfillmentService keeps Ekom fulfillment state synchronized and is preferred when managing a shipment belonging to an Ekom order. Created shipments expose these order-manager actions:

  • Print shipping label
  • View shipment JSON
  • Delete shipment

Deletion first checks the current Dropp status. Dropp only allows deletion before collection while the order is initial. A confirmed deletion is retained as a tombstone on the Ekom order and is not automatically recreated.

Direct calls to update or delete a Dropp order bypass Ekom state management. Use them only when the application also owns the corresponding synchronization.

Mutation safety

Dropp does not document POST, PATCH, DELETE, extra-package, or extra-order operations as idempotent. Network failures and ambiguous server responses throw ShipmentOutcomeUnknownException; do not blindly retry them. The built-in Ekom orchestration records uncertain creation and deletion outcomes in the order's ShippingProvider.CustomData.

The built-in per-order lock is process-local. Multi-node sites must provide a distributed order lock before enabling automatic fulfillment.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.1 33 9/12/2026