Skip to content

Typed IDs

Every entity in the SDK has its own dedicated ID type (e.g. FacilityId, OrderId, StockId). Passing the wrong ID type to a method is a compile error — you can never accidentally pass a FacilityId where a ConnectionId is expected.

Constructing an ID

All ID types follow the same builder pattern:

java
import de.joesst.dev.fulfillmenttools.id.FacilityId;

FacilityId facilityId = FacilityId.builder().value("fac-001").build();

value() returns the raw string:

java
System.out.println(facilityId.value()); // "fac-001"

toString() also returns the raw value, so IDs print cleanly in logs.

Type Hierarchy

TypedId
├── PlatformId   — system-assigned UUID (most IDs)
└── TenantId     — customer-defined string (TenantFacilityId, TenantOrderId, …)

PlatformId — these values are generated by the fulfillmenttools platform and returned in API responses. You read them from a response and pass them back into subsequent calls.

TenantId — these are identifiers you assign yourself (e.g. your own facility code or order number). They have an additional toUrn() method for tenant-ID lookups.

Tenant IDs and URN Lookups

TenantId types expose a toUrn(String resourceType) helper that produces the URN path segment required when looking up resources by their tenant-defined identifier:

java
import de.joesst.dev.fulfillmenttools.id.TenantFacilityId;

TenantFacilityId id = TenantFacilityId.builder().value("wh-berlin").build();
String urn = id.toUrn("facility:tenantFacilityId");
// → "urn:fft:facility:tenantFacilityId:wh-berlin"

All ID Types

Platform IDs

ID typeUsed by
CarrierIdCarriers client
ConnectionIdFacility Connections client
ExternalActionIdExternal Actions client
FacilityDiscountIdFacility Discounts client
FacilityGroupIdFacility Groups client
FacilityIdFacilities, Storage Locations, Facility Connections, Facility Discounts clients
HandoverJobIdHandovers client
ListingIdListings / stock management
OrderIdOrders client
PackJobIdPacking client
PickJobIdPicking client
ProcessIdExternal Actions client (processRef)
RatingResultIdSourcing Options client (rating result identifiers); use RatingResultType for the criterion type (e.g. StandardRating, ToolkitRating)
ReservationIdReservations client
ReturnIdReturns client
RoutingPlanIdRouting Plans client
RoutingStrategyIdRouting Strategy client
RoutingStrategyNodeIdRouting Strategy client (strategy nodes)
SourcingOptionIdSourcing Options client (individual options)
SourcingOptionNodeIdSourcing Options client (facility nodes within options)
SourcingOptionsRequestIdSourcing Options client (evaluation requests)
SourcingOptionsRunIdSourcing Options client (evaluation runs)
StockIdStocks client
StorageLocationIdStorage Locations client
StowJobIdInbound / stow jobs
SubscriptionIdEventing client
TagIdTags
UserIdUsers client

Tenant IDs

ID typeRepresents
TenantArticleIdCustomer-defined article identifier
TenantFacilityIdCustomer-defined facility identifier
TenantOrderIdCustomer-defined order identifier
TenantStockIdCustomer-defined stock identifier