Documentation Index

Fetch the complete documentation index at: https://docs.lobster-world.com/llms.txt

Use this file to discover all available pages before exploring further.

Lobster CEP Connector

Prev Next

Version 1.0.0

The CEP Connector provides one unified integration for CEP services (Courier, Express, and Parcel providers). It supports shipment booking, label retrieval, and shipment tracking across multiple carriers. Integrate the unified data format LobsterCEP to get started. The CEP Connector handles the rest.


Key use cases

  • Book shipments and generate shipping labels in PDF, ZPL, or PNG formats.

  • Retrieve tracking updates throughout the delivery process near real time.

  • Obtain Proof of Delivery (POD) documents once shipments are delivered.


Requirements

Before you begin, ensure the following requirements are met:

  • Lobster Data Platform, version 25.1 or later.

  • CEP API access and credentials for each carrier (username/password or client ID/client secret).


How it works

Diagram of bidirectional data flow between LobsterCEP Template Profiles and CEP Connector Profiles within a customer LDP environment.

Bidirectional data flow between LobsterCEP Template Profiles and CEP Connector Profiles for shipment tracking and transport order management within a customer LDP environment.

The CEP Connector includes a package of profiles of two different types:

  • CEP_CONNECTOR profiles are fixed implementations containing all the functionality of the CEP Connector. They contain mappings between the API formats of the CEP providers and the unified format LobsterCEP.

  • TEMPLATE_LobsterCEP profiles are predefined templates. They simplify integration through the LobsterCEP format.

IMPORTANT

Do not modify CEP_CONNECTOR profiles. Modifications break the functionality and maintainability of the CEP Connector.

Shipment booking

The shipment booking process books carrier shipments via their public APIs. The CEP Connector calls a mapper profile. It converts the LobsterCEP transport order into the carrier's required format. The connector then sends the data to the CEP system. The CEP system returns a synchronous response. The connector converts this response back to the LobsterCEP structure using a specific CEP mapper profile. Finally, it forwards the processed data to your customer profile as a transport order acknowledgement. The response is either a booking confirmation including the shipment label, or an error response with carrier feedback.

Tracking

The tracking process retrieves shipment status updates from the CEP providers via their public APIs. It reads Lobster Integration configuration files under ./conf/Connectors/CEP/Tracking. These files contain tracking details in CSV format. The polling logic fetches only new tracking events. This prevents redundant data retrieval. When you use the shipment booking process, the CEP Connector creates and updates the tracking configuration files automatically.

You can also fill these files manually for shipments booked elsewhere. The tracking files use the following format:

carrierTrackingNumber;customerShipmentId;latestEventTimestamp;shipmentCreationTimestamp

The latestEventTimestamp field is filled automatically by the connector. Leave it blank during initial setup.

Example: to automatically track shipment test123 with DHL tracking number 1091847043 (created 2025-09-08 at 10:00:00), add the following line to ./conf/Connectors/CEP/Tracking/List_ShipmentTrackingNumbers_DHL.csv:

1091847043;test123;;1757318400000

For FedEx, UPS, or PostNL, use FEDEX.csv, UPS.csv, or PostNL.csv instead of DHL.csv.


Installation

Preconfigured dataflows are available for Lobster Data Platform customers. They simplify integration with your CEP providers. The dataflows include:

  • CEP Connector profiles for integrating various CEP APIs.

  • Template profiles for your mappings to or from the LobsterCEP shipment structure.

  • Partner channels for your CEP providers.

  • System constants to customize the CEP Connector.

Step 1: Import package

  1. Select Home > Start from template.

  2. Select Install on the CEP Connector template tile.

    You are automatically redirected to Integration > DataFlow > Designer.

    The Import package dialog opens. It is organized into four tabs:

    • Contents: Lists all included profiles and DataFlows with type, name, status, and version.

    • Constants: Displays constants included in the package.

    • Partners/Channels: Displays partners and partner channels included in the package with import options.

    • Information: Contains supplementary information about the package.

Contents tab

The Contents tab displays all components included in the package:

Import package dialog, Contents tab: list of all included profiles and DataFlows with type, name, status, and version.

Import package dialog, Contents tab: overview of all profiles and DataFlows.

The package contains the following components:

Type

Name

Status

Version

Profile

CEP_CONNECTOR_DHL_ShipmentTransportorder

Active

1

Profile

CEP_CONNECTOR_DHL_ShipmentTransportorderAcknowledgement

Active

1

Profile

CEP_CONNECTOR_FEDEX_ShipmentTransportorder

Active

1

Profile

CEP_CONNECTOR_FEDEX_ShipmentTransportorderAcknowledgement

Active

1

Profile

CEP_CONNECTOR_ShipmentTransportorder

Active

1

Profile

CEP_CONNECTOR_ShipmentTransportorderAcknowledgement

Active

1

Profile

CEP_CONNECTOR_UPS_ShipmentTransportorder

Active

1

Profile

CEP_CONNECTOR_UPS_ShipmentTransportorderAcknowledgement

Active

1

Profile

TEMPLATE_LobsterCEP_ShipmentTransportorder

Active

1

Profile

TEMPLATE_LobsterCEP_ShipmentTransportorder_Smoketest

Active

1

Profile

TEMPLATE_LobsterCEP_ShipmentTransportorderAcknowledgement

Active

1

Profile

CEP_CONNECTOR_FEDEX_ShipmentTracking

Active

1

Profile

CEP_CONNECTOR_DHL_ShipmentTracking

Active

1

Profile

CEP_CONNECTOR_ShipmentTrackingTrigger

Active

1

Profile

CEP_CONNECTOR_UPS_ShipmentTracking

Active

1

Profile

TEMPLATE_LobsterCEP_ShipmentTracking

Active

1

DataFlow

CEP_Connector_Install_V1.00

Active

2

NOTE

All profiles in this package have the status Active and are ready for use immediately after import.

Group selection

Select the appropriate local groups for each profile, or create new ones. Click the folder icon in the Group (local) column.

Constants tab

The Constants tab displays the predefined constants for customizing the CEP Connector.

Import package dialog, Constants tab: table of predefined CEP Connector constants with default values.

Existing constants are not overwritten by default, regardless of whether their values differ.

Partners/Channels tab

The Partners/Channels tab displays the partners and partner channels included in the package. This package contains one partner with three partner channels. Select whether to import or overwrite the preconfigured partner channels. If you do not enable overwrite, updates leave existing channel configurations unchanged.

Import package dialog, Partners/Channels tab: import options for partners and partner channels.

Import package dialog, Partners/Channels tab: import options for partners and partner channels.

The following options are available:

  • Import partners: Imports the CEP Connector partner along with the associated HTTPS channel. This option is enabled by default.

  • Overwrite partners/channels: Overwrites existing partners and channels with the same name. Enable this option only if you intentionally want to replace an existing configuration.

IMPORTANT

If the CEP Connector partner already exists in your environment and you have made custom modifications, leave Overwrite partners/channels disabled to preserve your configuration.

Complete the import

Review the displayed components across all tabs. Select Import and confirm to start the import.

Step 2: Configure credentials

Required credentials per carrier

Carrier

Credential type

Where to get

DHL Express

Basic auth: username and password

DHL Developer Portal

FedEx

Client ID and client secret

FedEx Developer Portal, see "How to get API Credentials"

UPS

Client ID and client secret

UPS Developer Portal, see "Getting Started with UPS APIs"

PostNL

API key

PostNL Developer Portal, see "How to Get Started"

Partner channel configuration

Navigate to Administration > Partner > Partners/Channels > CEP Connector.

DHL_Express_HTTPS
  • Enter the DHL Express username in the Own ID field.

  • Enter the DHL Express password in the Own Password field.

IMPORTANT

The partner address in the package points to the test environment by default. Before deploying to production, update this URL to the production endpoint.

FedEx_HTTPS
  1. Select Configure OAuth 2.0….

  2. Enter your client ID and client secret.

  3. Select Client Credentials as the grant type.

  4. Enter the Endpoint URL:

    • Test: https://apis-sandbox.fedex.com/oauth/token

    • Prod: https://apis.fedex.com/oauth/token

  5. Select Fetch Access Token.

  6. Enter the OAuth2 Refresh URL:

    • Test: https://apis-sandbox.fedex.com/oauth/token?grant_type=client_credentials&client_id=<clientId>&client_secret=<clientSecret>

    • Prod: https://apis.fedex.com/oauth/token?grant_type=client_credentials&client_id=<clientId>&client_secret=<clientSecret>

UPS_HTTPS
  1. Select Configure OAuth 2.0….

  2. Enter your client ID and client secret.

  3. Select Send 'client credentials' in header.

  4. Select Authorization Code as the grant type.

  5. Enter the Endpoint URL:

    • Test: https://wwwcie.ups.com/security/v1/oauth/token

    • Prod: https://onlinetools.ups.com/security/v1/oauth/token

  6. Enter the Redirect URL. Use the internal address of your Lobster Data Platform:

    https://<your-server>:<your-port>/dw/oauth2/<your-Application-ID>

    The Application ID starts with _data. You can find it in your OAuth 2.0 settings. Register this URL in the UPS Developer Portal application settings as well.

  7. Enter the OAuth URL:

    • Test: https://wwwcie.ups.com/security/v1/oauth/authorize

    • Prod: https://onlinetools.ups.com/security/v1/oauth/authorize

  8. Select Fetch Access Token. You are redirected to UPS to sign in with your developer account credentials.

  9. After a successful redirect, a blank page with ok is displayed. Reopen the channel. The tokens SYS_HTTP_OAUTH2 and SYS_HTTP_OAUTH2_REFRESH are now visible under Additional IDs.

  10. Enter the OAuth2 Refresh URL:

    • Test: https://wwwcie.ups.com/security/v1/oauth/refresh?grant_type=refresh_token&refresh_token=<refreshToken>&client_id=<clientId>&client_secret=<clientSecret>&useCredentialsInHeader

    • Prod: https://onlinetools.ups.com/security/v1/oauth/refresh?grant_type=refresh_token&refresh_token=<refreshToken>&client_id=<clientId>&client_secret=<clientSecret>&useCredentialsInHeader

PostNL_HTTPS
  • Add your API key as SYS_HTTP_apikey in the Additional IDs tab.

Step 3: Use profile templates for custom mappings

Direction

Template profile

Description

📤 Sending shipments

TEMPLATE_LobsterCEP_ShipmentTransportorder

Send LobsterCEP shipments to the booking connector. Replace the source structure with your custom format and map it to the pre-filled LobsterCEP format.

📥 Receiving shipments

TEMPLATE_LobsterCEP_ShipmentTransportorderAcknowledgement

Receive LobsterCEP shipment acknowledgements. Replace the target structure with your custom format and process the received shipment.

📥 Receiving tracking

TEMPLATE_LobsterCEP_ShipmentTracking

Receive LobsterCEP tracking data. Replace the target structure with your custom format and process the tracking data.

Smoketest

TEMPLATE_LobsterCEP_ShipmentTransportorder_Smoketest

Quickly test the booking connector. Right-click the profile and select Restart > Start Cron. Set LobsterCEP/header/carrierId to one of DHL_EXPRESS, FEDEX, UPS, or POSTNL. The smoketest is guaranteed to fail on the CEP side. You can safely run it in production.

IMPORTANT

Do not modify CEP_CONNECTOR profiles. Modifications break the functionality and maintainability of the CEP Connector.


Configuration constants

The following system constants configure the CEP Connector. (M) = required, (D) = dependent, (O) = optional.

Import package dialog, Constants tab: table of predefined CEP Connector constants with default values.

Constant

Type

Valid values

Default

Description

CEP_CONNECTOR_SYSTEM_ENVIRONMENT

(M)

TEST, PROD

TEST

Indicates the system type. Controls target environments for endpoints and other variables.

CEP_CONNECTOR_ACKNOWLEDGEMENT_TARGET_PROFILE

(D)

Profile name

TEMPLATE_LobsterCEP_ShipmentTransportorderAcknowledgement

Profile to receive the booking response. Required when using the shipment booking process.

CEP_CONNECTOR_TRACKING_TARGET_PROFILE

(D)

Profile name

TEMPLATE_LobsterCEP_ShipmentTracking

Profile to receive tracking responses. Required when using the shipment tracking process.

CEP_CONNECTOR_TRACKING_REQUEST_POD

(O)

true, false

true

Automatically include Proof of Delivery documents in tracking responses.

CEP_CONNECTOR_UPS_QUANTUM_VIEW_SUBSCRIPTION_NAMES

(D)

Subscription name(s), comma-separated

-

Required when using UPS shipment tracking. Specify your Quantum View subscription name(s).

CEP_CONNECTOR_DHL_EXPRESS_CHANNEL_ID

(O)

Channel ID

-

Overrides the default DHL Express HTTPS channel. Create this constant manually if you have an existing DHL Express API channel.

CEP_CONNECTOR_FEDEX_CHANNEL_ID

(O)

Channel ID

-

Overrides the default FedEx HTTPS channel. Create this constant manually if you have an existing FedEx API channel.

CEP_CONNECTOR_UPS_CHANNEL_ID

(O)

Channel ID

-

Overrides the default UPS HTTPS channel. Create this constant manually if you have an existing UPS API channel.

CEP_CONNECTOR_POSTNL_CHANNEL_ID

(O)

Channel ID

-

Overrides the default PostNL HTTPS channel. Create this constant manually if you have an existing PostNL API channel.


Input data structure: Shipment booking

Pass the following LobsterCEP data structure to the profile CEP_CONNECTOR_ShipmentTransportorder. The connector MAPS it to the carrier format, calls the carrier API, and forwards the result to your acknowledgement profile.

Output data structure: Shipment booking

Result

Description

Structure

Confirmed

Shipment booked successfully. Label and carrier reference returned.

LobsterCEPResponse

Error

Booking failed. Carrier feedback included in the response.

LobsterCEPErrorResponse

Example: Confirmed booking

{
  "LobsterCEP": {
    "header": {
      "carrierId": "DHL_EXPRESS",
      "processingStatus": {
        "code": "CONFIRMED",
        "realizationDateTime": "2025-08-13T09:33:59+02:00"
      }
    },
    "shipment": {
      "shipmentId": "ABC123456789",
      "carrierReference": "987654321",
      "estimatedDeliveryDate": "2025-08-18T23:59:00Z",
      "documents": [
        {
          "type": "LABEL",
          "name": "LABEL_987654321.pdf",
          "format": "PDF",
          "content": "<base64-encoded content>"
        }
      ],
      "trackingUrl": "https://express.api.dhl.com/mydhlapi/test/shipments/987654321/tracking"
    }
  }
}

Example: Error response

{
  "LobsterCEP": {
    "header": {
      "carrierId": "DHL_EXPRESS",
      "processingStatus": {
        "code": "ERROR",
        "reason": "1001: The requested product(s) (P) not available based on your search criteria.",
        "realizationDateTime": "2025-08-13T09:33:59+02:00"
      }
    },
    "shipment": {
      "shipmentId": "ABC123456789"
    }
  }
}

Output data structure: Tracking

The profile CEP_CONNECTOR_ShipmentTrackingTrigger polls the carrier automatically for new events. It delivers the following LobsterCEP structure to your tracking target profile. No call is required from your side. Configure the tracking CSV files as described in the Tracking section.

Example: Tracking

{
  "LobsterCEP": {
    "header": { "carrierId": "DHL_EXPRESS" },
    "shipment": [
      {
        "shipmentId": "ABC123456789",
        "carrierReference": "987654321",
        "estimatedDeliveryDate": "2025-08-18T23:59:00Z",
        "trackingEvents": [
          {
            "owner": "DHL_EXPRESS",
            "eventDateTime": "2025-09-01T01:43:03Z",
            "eventLocation": "CPH (Copenhagen-DK)",
            "statusDetails": [{ "code": "OK", "statusDescription": "Delivered" }]
          }
        ],
        "documents": [
          {
            "type": "POD",
            "name": "POD_987654321.pdf",
            "format": "PDF",
            "content": "<base64-encoded content>"
          }
        ],
        "trackingUrl": "https://express.api.dhl.com/mydhlapi/test/shipments/987654321/tracking"
      }
    ]
  }
}

LobsterCEP data format

The LobsterCEP object is the unified data format for all CEP Connector operations. The following sections provide a complete field reference.

Contains carrier selection, action type, and document requirements.

Field

Type

Required

Description

carrierId

string

Yes

The carrier to handle the shipment. Values: DHL_EXPRESS, FEDEX, UPS, POSTNL

action

string

Yes

Action to perform. Values: CREATE

requestedDocuments

array of string

No

Documents to return. Labels are always auto-requested. Values: LABEL, COMMERCIAL_INVOICE

Shipment

Contains all shipment details.

Field

Type

Required

Description

shipmentId

string

Yes

Unique identifier for the shipment. It can be identical to shipperReference.

shipperReference

string

Yes

Shipper's own reference for the shipment.

carrierReference

string

No

Carrier reference number. Normally generated by the carrier. For DHL Express, you can set your waybill number here.

consigneeReference

string

No

Recipient's reference number.

serviceType

string

Yes

Type of shipping service. See carrier-specific values below.

shippingDateTime

date-time

Yes

Date and time for shipping. Example: 2023-08-15T08:30:00.000Z

incoTerm

string

No

International Commercial Terms. Values: EXW, FCA, CPT, CIP, DAP, DPU, DDP

incoTermLocation

string

No

Location for the Incoterm.

movementType

string

No

Type of movement. Used to determine inbound/outbound commodity code for DHL Express. Values: INBOUND, OUTBOUND

pickupRequestedFlag

boolean

No

Whether a pickup is requested.

dropOffFlag

boolean

No

Whether a drop-off is requested.

accountNumber.value

string

Yes

Carrier account number.

paymentInformation.transportation

PaymentInformation

No

Who pays for transportation? See Payment information.

paymentInformation.dutiesAndTaxes

PaymentInformation

No

Who pays duties and taxes? See Payment information.

parties

Parties

Yes

All involved parties. See Parties and addresses.

packages

array of Package

Yes

Packages in the shipment. See Packages and line items.

customsInformation

CustomsInformation

No

Shipment-level customs data. See Customs information.

labelSpecifications.fileFormat

string

No

Label format. DHL Express: PDF, ZPL, LP2, EPL. UPS: EPL, SPL, ZPL, GIF. FedEx: not used.

labelSpecifications.template

string

No

DHL Express label template. Default: ECOM26_84_001. Options: ECOM26_84_A4_001, ECOM26_A6_002, ECOM26_84CI_001, and others.

serviceType values by carrier

Carrier

Valid values

DHL Express

P, 1, C, D, E, H, I, K, L, M, N, O, Q, T, U, W, X, Y

FedEx

FEDEX_INTERNATIONAL_PRIORITY_EXPRESS, INTERNATIONAL_FIRST, FEDEX_INTERNATIONAL_PRIORITY, INTERNATIONAL_ECONOMY, FEDEX_GROUND, PRIORITY_OVERNIGHT, STANDARD_OVERNIGHT, FEDEX_2_DAY, SAME_DAY, and others.

UPS

01, 02, 03, 07, 08, 11, 12, 13, 14, 17, 54, 59, 65, M2–M7, and others.

PostNL

ProductCode (default 3085) | Characteristic | Option

Parties and addresses

All parties involved in the shipment. shipper and recipient are required.

Field

Required

Description

shipper

Yes

Sending party.

recipient

Yes

Receiving party.

pickupAddress

No

Pickup location if different from shipper.

deliveryAddress

No

Delivery location if different from recipient.

ultimateConsignee

No

Ultimate consignee address.

importer

No

Importer address.

exporter

No

Exporter address.

buyer

No

Buyer address.

payer

No

Payer address.

Address fields

Field

Required

Description

name1

Yes

Primary name (usually company name).

name2

No

Secondary name (for example, department).

name3

No

Tertiary name.

street1

Yes

Street address line 1.

street2

No

Street address line 2.

zipcode

Yes

Postal/ZIP code..

city

Yes

City name

countryCode

Yes

ISO country code (for example, DE).

countryName

No

Country name.

stateCode

No

State/province code.

stateName

No

State/province name.

reference

No

External customer reference.

addressIdentifiers

No

Additional identifiers (VAT, EOR, UEN, GLN).

contacts

No

Array of contact persons (name, e-mail, phone, fax). Name and phone are required per contact.

Payment information

Field

Description

paymentType

Who is responsible for payment: SHIPPER, RECEIVER, THIRD_PARTY

accountNumber

Billing account number with the carrier.

countryCode

ISO 3166-1 alpha-2 country code associated with the billing account.

Packages and line items

Package fields

Field

Required

Description

packageId

Yes

Package identifier.

shipperReference

Yes

Shipper's reference for this package.

carrierReference

No

Carrier's reference for this package.

consigneeReference

No

Recipient's reference for this package.

ssccCode

No

Serial Shipping Container Code.

packageType

No

Type of package (for example, BOX). Currently not in use.

dimensions

Yes

Physical dimensions. See Dimensions below.

lineItems

No

Array of line items in the package.

customsInformation

No

Package-level customs data.

dangerousGoods

No

Array of dangerous goods declarations.

Dimensions

All measurement values have a value (number) and unit field.

Field

Required

Units

grossWeight

Yes

g, kg, lb

netWeight

No

g, kg, lb

length

No

cm, m, in

width

No

cm, m, in

height

No

cm, m, in

grossVolume

No

cm3, m3, ft3

netVolume

No

cm3, m3, ft3

Line item fields

Field

Required

Description

itemNumber

Yes

Item number/SKU.

lineItemPos

No

Position in line items list.

itemDescription

No

Description of the item.

price.value

No

Price value (number).

price.currency

No

ISO 4217 three-letter currency code.

quantity.quantity

No

Quantity amount.

quantity.quantityUnit

No

Unit of quantity (for example, PCS).

manufacturingCountry

No

ISO country code of manufacture.

exportReasonType

No

Reason for export. DHL Express only. Values: permanent, temporary, return, gift, sample, warranty_replacement, and others.

dimensions

No

Item dimensions.

customsInformation

No

Item-level customs data, including HS codes.

Customs information

Available at shipment level, package level, and line item level.

Field

Level

Description

goodsDescription

All

Description of goods for customs.

goodsValue.value

All

Value of goods (number).

goodsValue.unit

All

ISO 4217 currency code.

hsCodes

Shipment & line item

Array of Harmonized System codes.

exportDeclarationNumber

Shipment

Export declaration number.

invoiceNumber

Shipment

Commercial invoice number.

invoiceDate

Shipment

Date of invoice.

Documents

Documents are returned in the booking acknowledgement and tracking responses.

Field

Required

Description

type

Yes

Document type: LABEL, INVOICE, POD

name

Yes

Filename (for example, LABEL_987654321.pdf).

format

Yes

Document format: PDF, ZPL, PNG, and others.

content

Yes

Base64-encoded document content.

Tracking response

Tracking event fields

Field

Required

Description

eventDateTime

Yes

Date and time when the event occurred (ISO 8601).

statusDetails.statusCode

Yes

Status code (for example, PICKED_UP, OK, DF).

owner

No

Carrier that owns this status: DHL_EXPRESS, FEDEX, UPS

creationDateTime

No

Creation date and time of the event.

eventLocation

No

Location where the event occurred.

statusDetails.statusReason

No

Reason for the status.

statusDetails.statusDescription

No

Human-readable description.

signedBy

No

Name of person who signed for delivery.


Support

For questions about DataFlow configuration, contact the Lobster Support team.