Skip to main content
Skip table of contents

CPu notifications overview

Introduction

This page contains the overview of all the notifications of the CPu platform. The purpose of this page is to allow you to identify a notification.

It is not an overview of all notifications your company may receive, as these are different for each CPu role. Please check the separate pages per role for this purpose.

CPu notifications can be identified by the "type" value in the JSON body: ReleaseRight, ReleaseLight & TerminalEvent . Use the table of contents to navigate to the type you need to look up.

Each type can be subdivided using different notification parameters. These are listed next to the notification scheme of the relevant type. Using the parameters you can check the matrix below the scheme to find out the meaning (and actions you might need to take) of the received notification.

The notification schemes also contain CPu variables (between double curly braces {{}}) which are different for each notification you will receive. An overview & explanation of these CPu variables can be found on this page CPu variables overview .

Under the Generic Services notifications you can find the notifications which are triggered by calling the generic services (Get Release Detail, Get Release Rights List, …).

Important: you need to have set up a notification channel for your company in order to receive and process these notifications. See Setting up notification channels

Find your notification

“type“: “ReleaseRight”

Notification parameters:

  • event

  • body.actionType (not when "event": "NotValidated")

Remarks:

  • expirationDatetimeUtc can be null when no information was provided. Expiration is defaulted in this case. The default validity of a Commercial Release is 60 days from the releaseDatetimeUtc.

Notification scheme:

JSON
{
    "assetId": "00000000-0000-0001-0000-000000000037",
    "body": {
        "sender": {
            "nxtEntityId": "{{sender_identification_code_nxtentityid}}",
            "name": "{{sender_name}}",
            "eori": "{{sender_identification_code_eori}}",
            "tin": "{{sender_identification_code_tin}}",
            "apcs": "{{sender_identification_code_apcs}}",
            "duns": "{{sender_identification_code_duns}}",
            "externalId": "{{sender_identification_code_externalId}}"
        },
        "carrier": {
            "nxtEntityId": "{{carrier_identification_code_nxtentityid}}",
            "name": "{{carrier_name}}",
            "eori": "{{carrier_identification_code_eori}}",
            "tin": "{{carrier_identification_code_tin}}",
            "apcs": "{{carrier_identification_code_apcs}}",
            "duns": "{{carrier_identification_code_duns}}",
            "externalId": "{{carrier_identification_code_externalId}}"
        },
        "releaseTo": {
            "nxtEntityId": "{{releaseTo_identification_code_nxtentityid}}",
            "name": "{{releaseTo_name}}",
            "eori": "{{releaseTo_identification_code_eori}}",
            "tin": "{{releaseTo_identification_code_tin}}",
            "apcs": "{{releaseTo_identification_code_apcs}}",
            "duns": "{{releaseTo_identification_code_duns}}",
            "externalId": "{{releaseTo_identification_code_externalId}}"
        },
        "releaseFrom": {
            "nxtEntityId": "{{releaseFrom_identification_code_nxtentityid}}",
            "name": "{{releaseFrom_name}}",
            "eori": "{{releaseFrom_identification_code_eori}}",
            "tin": "{{releaseFrom_identification_code_tin}}",
            "apcs": "{{releaseFrom_identification_code_apcs}}",
            "duns": "{{releaseFrom_identification_code_duns}}",
            "externalId": "{{releaseFrom_identification_code_externalId}}"
        },
        "equipmentNumber": "{{equipment_number}}",
        "equipmentType": "{{equipment_type}}",
        "portLoCode": "{{port_locode}}",
        "terminalCode": "{{terminal_code}}",
        "actionType": "<see matrix below>",
        "reasonForAction": "{{your_reason_for_action}}",
        "billOfLadingNumbers": [
            "{{bl_number}}",
            "{{bl_number}}"
        ],
        "releaseIdentification": "{{unique_release_identification}}",
        "releaseDatetimeUtc": "{{ISO_timestamp}}",
        "expirationDatetimeUtc": "{{ISO_timestamp}}",
        "emptyReturnReference": "{{empty_return_reference}}",
        "equipmentSupplier": "{{equipment_supplier}}",
        "equipmentStatus": "{{equipment_status}}",
        "fullEmptyIndicator": "{{full_empty_indicator}}",
        "equipmentOperator": "{{equipment_operator}}",
        "vesselName": "{{vessel_name}}",
        "vesselCallSign": "{{vessel_callsign}}",
        "voyageNumber": "{{voyage_number}}",
        "releaseId": {{release_uuid}}
        "isCarrierHaulage": boolean
    },
    "errors": [],
    "event": "<see matrix below>",
    "externalReferenceId": "{{your_external_reference_id}}",
    "id": "{{equipment_number}}",
    "publicReferenceId": "{{nxtport_public_reference_id}}",
    "receiverId": "{{your_nxtentityid}}",
    "senderId": null,
    "timestamp": "{{ISO_timestamp}}",
    "type": "ReleaseRight",
    "warnings": []
}

Notification parameter matrix:

Event

ActionType

Explanation

Sent to

Transferred

Transfer

The Release Right was successfully transferred to the releaseTo party, awaiting their Accept/Decline.

  • Shipping Agent;

  • ReleaseFrom party;

  • ReleaseTo party.

AcceptedByNextParty

Accept

The transferred Release Right was accepted by the releaseTo party, transferring the ownership to the releaseTo party.

  • ReleaseFrom party;

  • ReleaseTo party.

DeclinedByNextParty

Decline

The transferred Release Right was declined by the releaseTo party, returning the ownership to the releaseFrom party.

  • ReleaseFrom party;

  • ReleaseTo party.

RevokedByPreviousParty

Revoke

The transferred (but not accepted by the releaseTo party yet) Release Right was revoked by the releaseFrom party, returning the ownership to the releaseFrom party.

  • ReleaseFrom party;

  • ReleaseTo party.


“type“: “ReleaseRight”, “event“: “ThrownException“

Please contact NxtPort Support when this occurs.



“type“: “ReleaseRight”, “event“: “NotValidated“

This type of notification indicates an error and are sent to the sender of the original request. Check the body value for the error message and see the table below on how to mitigate the error.

Notification parameters:

  • body

Notification scheme:

JSON
{
  "assetId": "00000000-0000-0001-0000-000000000037",
  "body": "<see matrix below>",
  "errors": [],
  "event": "NotValidated",
  "externalReferenceId": "{{your_external_reference_id}}",
  "id": "{{equipment_number}}",
  "publicReferenceId": "{{nxtport_public_reference_id}}",
  "receiverId": "{{your_nxtentityid}}",
  "senderId": null,
  "timestamp": "{{ISO_Timestamp}}",
  "type": "ReleaseRight",
  "warnings": []
}

Notification parameter matrix:

Category

Error messages

Explanation

How to mitigate?

Release Right errors

Release right already exists for {{equipment_number}} with B/L {{bl_number}}

When there’s already an active commercial release in for the combination of equipmentNumber and billOfLadingNumbers

If not relevant anymore delete the commercial release for the equipmentNumber and billOfLadingNumbers combination. You can as well update the existing commercial release according to your needs (e.g. change terminal or update expiry date). You can as well revoke and transfer the commercial to another release party.

Release Right errors

It is not possible to transfer {{equipment_number}} to the current owner

When a Transfer Release Right action is performed with ReleaseTo equal to current owner of Release Right.

Verify that you provided the correct company details in the releaseTo identification.

Release Right errors

Unable to perform SubmitReleaseRight action Revoke on {{equipment_number}} because Release right is not Pending but Accepted

No Release Right Revoke due to: release right not in state ‘Pending’

When a Release Right Revoke is performed on on a Release Right that is not ‘Pending’ (awaiting Accept or Decline) but instead is e.g. active.

Verify if the Release Right you wish to revoke has the Pending status (CPu UI or Get Release Detail call).

Release Right errors

Could not find Release Right for unique key {{equipment_number}}, {{bl_number}}, {{unique_release_identification}}

No Release Right Transfer/Accept/Decline due to: no matching release right found for provided parameters

When a Release Right action with a non-existing Equipment Number / Bill of Lading Number(s) / Release Identification combination is performed.

Verify the provided identifiers (equipmentNumber, billOfLadingNumbers & releaseIdentification ) and try again.

Release Right errors

Could not find a release right to transfer or one of the to-or-from parties is unidentified.

No Release Right Transfer due to: no matching NxtPort entity found for releaseTo parameter.

This response has a special indication showing the request has been logged but could not be completed.

Verify if the receiving company has been correctly registered for CPu (check their NxtPort ID or use the Company Registry call)

Release Right errors

Couldn't find the entities based on the following parameters: IdentificationType: {{identification_type}} and IdentificationCode {{provided_identification_code}}

No matching entity found

No Release Right Transfer/Accept/Decline due to: no matching NxtPort Entity found for provided parameters (NxtEntityId, APCS, DUNS, EORI or TIN)

Verify if the receiving company has been correctly registered for CPu (check their NxtPort ID or use the Company Registry call)

Release Right errors

Unable to perform SubmitReleaseRight action Accept on {{equipment_number}} due to invalid identification

No Release Right Transfer/Accept/Decline due to: mismatch in provided identity

When a Release Right Action with a non-existing identification is performed or when the sender’s identity is different from the current owner (during transfer, revoke) or next owner (during accept, decline)

Verify if you are allowed to perform the required action on the Release Right.

Release Right errors

No matching Release Right History was found for eq number : {{equipment_number}} to Accept

No Release Right Accept/Decline due to: releaseTo is not the current stakeholder

When a Release Right Accept/Decline action is performed with a releaseTo that is currently not the owner of the Release Right.

Verify if the transferred Release Right is Pending for your company. Provide your company details in the releaseTo fields.

Release Right errors

It is not possible to transfer {{equipment_number}} because it is assigned for pickup

No Release Right Transfer due to: Pick up Right already generated, no transfer possible.

When the last transport company owning the Release generates a Pick up Right (i.e. assigns a driver for pick up), the Release Right cannot be transferred anymore.

If you need to transfer a Release Right after it has been assigned, un-assign the Right first before transferring.

Release Right errors

It is not possible to transfer {{equipment_number}} because release right expired on {{ISO_Timestamp}}

No Release Right Transfer due to: Release Right expired

When a Release Right has expired (60 days after creation date OR when expiration date has passed, whichever comes first), it cannot be transferred anymore. Contact the Shipping Agent to check why Right has expired.

Contact the submitting Shipping Agent to inform why the Release Right has expired.

NxtPort has no influence on the expiration date whatsoever.

Release Right errors

It is not possible to transfer {{equipment_number}} to a terminal

No Release Right Transfer due to: Release Right not transferrable to Terminal Operator

A Release Right can only be transferred to a Release Party or a Transport Operator. Companies with strictly the Terminal Operator role cannot receive Release Rights.

Verify you have transferred the Release Right to a Release Party or a Transport Operator.

Pick up Right errors

Terminal codes do not match for container {{equipment_number}} and bill of lading {{bl_number}}.

No Pickup Right Assigned due to: provided terminalCode does not match existing terminal for Release Right.

When a Assign/Revoke/Update Pickup action contains a terminalCode that is mapped to a different terminal on the CPu platform then the terminal that is registered for the Release Right.

Verify if you have provided the correct terminal code in the Pickup action call.

Pick up Right errors

Unable to perform SubmitPickupRight action on {{equipment_number}} due to invalid Release Right state : Pending

No Pickup Right Assigned due to: Release Right not active for an owner

When a Assign/Revoke/Update Pickup action is performed via API for a Release Right that is currently in state ‘pending’ (waiting for accept, decline or revoke)

Verify that the Release Right has been accepted before assigning the Pick up.

Pick up Right errors

Unable to perform SubmitPickupRight action Pickup on {{equipment_number}} due to invalid identification

No Pickup Right Assigned due to: invalid owner

When an Assign Pickup action is performed via API with an unidentified Pickup Party: company is not the current owner of the Release Right.

Verify if your company is owner of the Release Right.

Pick up Right errors

Not allowed to revoke the pickup right of {{equipment_number}}

No Pickup Right Revoked due to: invalid owner

When a Revoke/Update Pickup action is performed via API with an unidentified Pickup Party: company is not the current owner of the Release Right.

Verify if your company is owner of the Release Right.

Pick up Right errors

Unable to revoke/update the existing Pickup Right, no matching active Pickup Right was found

No Pickup Right Revoked/Updated: no matching active Pickup Right found

When a Revoke/Update Pickup action is performed via API for a Release Right that is currently has no active Pickup Right assigned.

Verify if the Pickup Right is active before Revoking/Updating.


“type”: “ReleaseLight”

Notification parameters:

  • event

  • body.greenLightName (not when "event": "NotValidated")

  • body.originalValue (not when "event": "NotValidated")

  • body.newValue (not when "event": "NotValidated")

Notification scheme:

JSON
{
    "assetId": "00000000-0000-0001-0000-000000000037",
    "body": {
        "carrier": {
            "nxtEntityId": "{{carrier_identification_code_nxtentityid}}",
            "name": "{{carrier_name}}",
            "eori": "{{carrier_identification_code_eori}}",
            "tin": "{{carrier_identification_code_tin}}",
            "apcs": "{{carrier_identification_code_apcs}}",
            "duns": "{{carrier_identification_code_duns}}",
            "externalId": "{{carrier_identification_code_externalId}}"
        },
        "terminalCode": "{{terminal_code}}",
        "portLoCode": "{{port_locode}}",
        "equipmentNumber": "{{equipment_number}}",
        "billOfLadingNumbers": [
            "{{bl_number}}",
            "{{bl_number}}"
        ],
        "releaseIdentification": "{{unique_release_identification}}",
        "greenLightName": "<see matrix below>",
        "originalValue": "<see matrix below>",
        "newValue": "<see matrix below>",
        "meansOfTransport": "{{meansOfTransport}}",
        "releaseId": "{{release_uuid}}"
    },
    "errors": [],
    "event": "<see matrix below>",
    "externalReferenceId": null,
    "id": "{{equipment_number}}",
    "publicReferenceId": "{{nxtport_public_reference_id}}",
    "receiverId": "{{your_nxtentityid}}",
    "senderId": {{senderId}},
    "timestamp": "{{ISO_Timestamp}}",
    "type": "ReleaseLight",
    "warnings": []
}

Notification parameter matrix:

Event

greenLightName

originalValue

newValue

Explanation

Sent to

ReleaseLightChanged

CommercialRelease

UNKNOWN

OK

A new Commercial Release was created within CPu by the Shipping Agent (via API call, COREOR message or CPu UI).

The Commercial Release Light switches to GREEN.

  • Shipping Agent.

  • Terminal Operator

ReleaseLightChanged

CommercialRelease

OK

BLOCKED

A Commercial Release was blocked by the submitting Shipping Agent.

The Commercial Release Light switches to RED.

  • Shipping Agent;

  • Terminal Operator;

  • Current owner;

  • Subscribed parties.

ReleaseLightChanged

CommercialRelease

BLOCKED

OK

A Commercial Release was unblocked by the submitting Shipping Agent.

The Commercial Release Light switches to GREEN.

  • Shipping Agent;

  • Terminal Operator;

  • Current owner;

  • Subscribed parties.

ReleaseLightChanged

TerminalOperation

UNKNOWN

DISCHARGED

The container has been discharged from the vessel by the Terminal Operator (API call or COARRI DISCHARGE).

The Terminal Discharge Light switches to GREEN.

  • Shipping Agent;

  • Terminal Operator.

ReleaseLightChanged

TerminalReady

UNKNOWN or BLOCKED

RELEASED

The container has been released on the terminal by the Terminal Operator (API call or CPu UI).

The Terminal Release Light switches to GREEN.

  • Shipping Agent

  • Terminal Operator

  • Current owner

  • Subscribed parties

ReleaseLightChanged

TerminalReady

RELEASED , RELEASEDBYDEFAULT, or UNKNOWN

BLOCKED

The container has been blocked on the terminal by the Terminal Operator (API call or CPu UI).

The Terminal Release Light switches to RED.

  • Shipping Agent

  • Terminal Operator

  • Current owner

  • Subscribed parties

ReleaseLightChanged

TerminalReady

UNKNOWN , RELEASED , RELEASEDBYDEFAULT or BLOCKED

SELECTEDFORSCAN

The container has been marked selected for scan by the Terminal Operator (API call or CPu UI).

The Terminal Release Light switches to YELLOW.

  • Shipping Agent

  • Terminal Operator

  • Current owner

  • Subscribed parties

ReleaseLightChanged

Customs

NOTRELEASED or DOCUMENTARYCONTROL

RELEASED

The container has been released by the competent customs authority (CCRM message).

The Customs Light switches to GREEN.

  • Shipping Agent;

  • Terminal Operator

  • Current owner;

  • Subscribed parties.

ReleaseLightChanged

Customs

NOTRELEASED

SELECTEDFORSCAN

The container has been selected for scanning by the competent customs authority (CCRM message).

The Customs Light switches to YELLOW.

  • Shipping Agent;

  • Terminal Operator

  • Current owner;

  • Subscribed parties.

ReleaseLightChanged

Customs

NOTRELEASED

TRANSHIPMENT

The container has been identified by the competent customs authority (CCRM message) as a Transhipment container.

The Customs Light switches to YELLOW.

  • Shipping Agent;

  • Terminal Operator

  • Current owner;

  • Subscribed parties.

ReleaseLightChanged

Customs

NOTRELEASED

PORTEQUALISATION

There’s a gate-in message for this import container.

The Customs Light switches to YELLOW.

  • Shipping Agent;

  • Terminal Operator

  • Current owner;

  • Subscribed parties.

ReleaseLightChanged

Customs

NOTRELEASED

FAVV

The container has been identified by the competent customs authority as a FAVV container.

The Customs Light switches to YELLOW.

This information is subject to 1 day delay.

  • Shipping Agent;

  • Terminal Operator

  • Current owner;

  • Subscribed parties.

ReleaseLightChanged

Customs

NOTRELEASED

DOCUMENTARYCONTROL

The container’s documents are being investigated by the customs authority (PLDA message).

The Customs Light switches to RED.

This information is subject to 1 day delay.

  • Shipping Agent;

  • Terminal Operator

  • Current owner;

  • Subscribed parties.

ReleaseLightChanged

Customs

NOTRELEASED

NOTAPPLICABLE

The container has been reported to be empty.

The Customs Light switches to ORANGE.

  • Shipping Agent;

  • Terminal Operator

  • Current owner;

  • Subscribed parties.

ReleaseLightChanged

Customs

NOTRELEASED

MANUALOVERWRITE

The Customs light has been overruled by Ship Agent or Terminal.

The Customs Light switches to GREEN.

  • Shipping Agent;

  • Terminal Operator

  • Current owner;

  • Subscribed parties.

ReleaseLightChanged

CustomsProgress

UNKNOWN

PARTIALLYCLEARED

The container is partially cleared by the customs authority. At least 1 item for a bill of lading has been cleared by the customs authority.

The Customs Progress Light switches to YELLOW.

This information is subject to 1 day delay.

  • Shipping Agent;

  • Terminal Operator

  • Current owner;

  • Subscribed parties.

ReleaseLightChanged

CustomsProgress

UNKNOWN or PARTIALLYCLEARED

CUSTOMSLIGHTGREEN

The Customs Progress Light automatically switches to GREEN when the Customs Light switches to GREEN.

  • Shipping Agent;

  • Terminal Operator

  • Current owner;

  • Subscribed parties.

ReleaseLightChanged

GateOperation

UNKNOWN

GATEOUTRECEIVED

The container has left the terminal, this event is triggered by the Terminal Gate Out (API gate-out, CODECO OUT, CODECO STRIP) message.

  • Shipping Agent;

  • Terminal Operator;

  • Current owner;

  • Subscribed parties.

ReleaseLightChanged

TerminalReady

RELEASED

ARCHIVED

The container has left the terminal, this event is triggered by the Terminal Gate Out (CODECO OUT) message.

  • Shipping Agent;

  • Terminal Operator;

  • Current owner;

  • Subscribed parties.

ReleaseLightChanged

PickupLight

UNKNOWN

ASSIGNED

A Pick up Right has been generated, meaning a driver, barge - or rail operator was assigned for pick up by the last Transport Operator holding the Release Right.

The Pick up Light switches to GREEN.

  • Shipping Agent;

  • Terminal Operator;

  • Current owner;

  • Subscribed parties.

ReleaseLightChanged

PickupLight

ASSIGNED

REVOKED

A Pick up Right has been revoked, meaning the driver, barge - or rail operator was de-assigned by the last Transport Operator holding the Release Right.

The Pick up Light switches to RED.

  • Shipping Agent;

  • Terminal Operator;

  • Current owner;

  • Subscribed parties.

ReleaseLightChanged

PickupLight

ASSIGNED

ASSIGNED

A Pick up Right has been updated, meaning a new driver, barge - or rail operator was assigned for pick up by the last Transport Operator holding the Release Right.

The Pick up Light remains GREEN.

  • Shipping Agent;

  • Terminal Operator;

  • Current owner;

  • Subscribed parties.


“type“: “ReleaseLight“, “event”: “Update“ or “Delete”

When a Shipping Agent submits an update or delete to an existing Release Right, the sent notification is slightly different as per below:

Notification parameters:

  • event: “Update” or “Delete”

  • body.actionType : “Update” or “Delete”;

Remarks:

  • In case of an update, the body.sender is always the Shipping Agent.

  • The externalReferenceId is the ID provided by the Shipping Agent in their update call.

Notification scheme:

JSON
{
    "assetId": "00000000-0000-0001-0000-000000000037",
    "body": {
        "sender": {
            "nxtEntityId": "{{sender_identification_code_nxtentityid}}",
            "name": "{{sender_name}}",
            "eori": "{{sender_identification_code_eori}}",
            "tin": "{{sender_identification_code_tin}}",
            "apcs": "{{sender_identification_code_apcs}}",
            "duns": "{{sender_identification_code_duns}}",
            "externalId": "{{sender_identification_code_externalId}}"
        },
        "carrier": {
            "nxtEntityId": "{{carrier_identification_code_nxtentityid}}",
            "name": "{{carrier_name}}",
            "eori": "{{carrier_identification_code_eori}}",
            "tin": "{{carrier_identification_code_tin}}",
            "apcs": "{{carrier_identification_code_apcs}}",
            "duns": "{{carrier_identification_code_duns}}",
            "externalId": "{{carrier_identification_code_externalId}}"
        },
        "releaseIdentification": "{{unique_release_identification}}",
        "releaseOrderReference": "{{release_order_reference}}",
        "equipmentNumber": "{{equipment_number}}",
        "billOfLadingNumbers": [
            "{{bl_number}}",
            "{{bl_number}}"
        ],
        "portLoCode": "{{port_locode}}",
        "terminalCode": "{{terminal_code}}",
        "reason": "{{reason}}"
        "actionType": "Delete",
        "releaseDatetimeUtc": "{{ISO_timestamp}}",
        "expirationDatetimeUtc": "{{ISO_timestamp}}"
    },
    "errors": [],
    "event": "Delete",
    "externalReferenceId": "{{shipping_agent_external_reference_id}}",
    "id": "{{equipment_number}}",
    "publicReferenceId": "{{nxtport_public_reference_id}}",
    "receiverId": "{{your_nxtentityid}}",
    "senderId": null,
    "timestamp": "{{ISO_timestamp}}",
    "type": "ReleaseLight",
    "warnings": []
}

Event

ActionType

Explanation

Sent to

Update

Update

An update to a Release Right (combo equipment number, B/L number & Release Identification) was submitted by the Shipping Agent. Notification contains the new information for the Release Right. Example of data that could be updated is terminalCode, expirationDatetimeUtc.

  • Shipping Agent;

  • Terminal Operator;

  • Current owner;

  • Subscribed parties.

Delete

Delete

The Release Right has been deleted by the Shipping Agent. Notification contains the information for the Release Right. A reason for the delete can be provided by the Shipping Agent.

  • Shipping Agent;

  • Terminal Operator;

  • Current owner;

  • Subscribed parties.


“type”: “ReleaseLight”, “event“: “NotValidated“

This type of notification indicates an error and are sent to the sender of the original request. Check the body value for the error message and see the table below on how to mitigate the error.

Notification parameters:

  • body

Notification scheme:

JSON
{
  "assetId": "00000000-0000-0001-0000-000000000037",
  "body": "<see error messages>",
  "errors": [],
  "event": "NotValidated",
  "externalReferenceId": "{{your_external_reference_id}}",
  "id": "{{equipment_number}}",
  "publicReferenceId": "{{nxtport_public_reference_id}}",
  "receiverId": "{{your_nxtentityid}}",
  "senderId": null,
  "timestamp": "{{ISO_Timestamp}}",
  "type": "ReleaseLight",
  "warnings": []
}

Notification parameter matrix:

Error messages

Explanation

How to mitigate?

No change detected for Light {{greenLightName}} - Value: {{greenLightValue}}

No Commercial Release/Terminal Release/… action processed due to: the current state of the Release Light is identical to the new provided state.

When a Terminal/Commercial/… Light is received but the value is identical to the existing value for this light.

Verify the current state of the Release Light and find out which action you want/need to take.

No releaseRightReference found for unique key {{equipment_number}}, {{bl_number}}, {{unique_release_identification}}

No Commercial Release action (Update, Revoke etc…) (different from Release) processed due to: no matching release right found for provided identifiers.

When a Release Light action (except for the Release action) fails due to no matching release right reference found based on the equipmentNumber, one or more billOfLading & releaseIdentification.

Verify the identifiers of the Release Right you provided. Make sure they exist.

PublicReferenceId: {{nxtport_public_reference_id}} => SubmitReleaseLightActionCommand does not have a valid terminal code {{provided_terminal_code}} for port BEANR. No NxtEntityId found.

Invalid Terminal Code.

When a provided terminalCode in the Submit Commercial Release request could not be matched with an existing terminal code or NxtPort entity.

Verify the provided terminal code. Make sure it is was communicated to NxtPort during the onboarding.

'Equipment Number' must not be empty.

'Bill Of Lading Numbers' must not be empty.

'Port Lo Code' must not be empty.

'Port Lo Code' must be equal to 'BEANR'.

No Commercial Release action processed due to missing parameters:

When mandatory properties such as equipmentNumber, BillOfLading, portLocode are missing or invalid; a list of all missing/invalid properties is returned as a notification.

The body of the notification should contain the information you will need to know which parameters are missing.

Verify you provided all mandatory values and try again.

Release right already exists for equipment number {{equipment_number}} with B/L {{bl_number}}

No Commercial Release action processed due to Release Right already found in CPu.

If you need to update an existing Commercial Release, use the update method.

If you want to delete an existing Release and submit a new one, be sure to use a different releaseIdentification.


“type”: “terminalEvent”

“type”: “terminalEvent”, “event“: ”GateOut”

Remarks:

N/A

Notification:

JSON
{
    "assetId": "00000000-0000-0001-0000-000000000037",
    "body": "Gate Out for {{equipment_number}} has been performed",
    "errors": [],
    "event": "GateOut",
    "externalReferenceId": "{{terminal_external_reference_id}}",
    "id": "{{equipment_number}}",
    "publicReferenceId": "{{nxtport_public_reference_id}}",
    "receiverId": "{{your_nxtentityid}",
    "senderId": null,
    "timestamp": "{{ISO_timestamp}}",
    "type": "TerminalEvent",
    "warnings": []
}

Event

isValid

Explanation

Sent to

GateOut

N/A

The container has left the terminal, this event is triggered by the Terminal Gate Out message.

  • Shipping Agent

  • Terminal Operator

  • Last owner


Generic Services notifications

Get Release Rights List

You will receive this notification after calling the Generic Service - Get Release Right List API call. It contains all current information & details about the Release Rights currently owned by your company.

Remarks:

  • You need to have provided valid query parameters;

  • Following key-value pairs in the body object are only relevant when applying filters:

    • "dateStart": null,

    • "dateEnd": null,

    • "billOfLadingNumberFilter": null,

    • "shippingAgentNameFilter": null,

    • "shippingAgentTinFilter": null,

    • "currentStakeholderNameFilter": null,

    • "currentStakeholderTinFilter": null,

    • "releaseRightStatusFilter": 0

  • All Release Rights currently owned by your company are listed in the body.result array, see below.

Notification scheme:

JSON
{
    "assetId": "00000000-0000-0001-0000-000000000037",
    "body": {
        "page": 1,
        "pageSize": 25,
        "totalRows": 8,
        "pendingReleaseCount": 0,
        "dateStart": null,
        "dateEnd": null,
        "status": "Active",
        "billOfLadingNumberFilter": null,
        "shippingAgentNameFilter": null,
        "shippingAgentTinFilter": null,
        "currentStakeholderNameFilter": null,
        "currentStakeholderTinFilter": null,
        "releaseRightStatusFilter": 0,
        "result": [
            // array of result objects, see below
        ],
        "publicReferenceId": "{{nxtport_public_reference_id}}",
        "externalReferenceId": "{{your_external_reference_id}}"
    },
    "errors": [],
    "event": "GetPagedContainers",
    "externalReferenceId": "{{your_external_reference_id}}",
    "id": "Unknown",
    "publicReferenceId": "{{nxtport_public_reference_id}}",
    "receiverId": "{{your_nxtentityid}}",
    "senderId": null,
    "timestamp": "{{ISO_timestamp}}",
    "type": "ReleaseRight",
    "warnings": []
}

Remarks:

  • Adjacent result object is repeated for as many times as there are totalRows (depending on page & pageSize)

  • Extra fields:

    • operationalStatus

    • dataBrokerName

    • pickUpReleaseRightStatus

    • releaseLightStatus

    • releaseRightStatus

    • releaseRightActions

      • Indicates which actions have already been performed on the Release Right

    • commercialReleaseActions

Result object scheme

JSON
{
    "equipmentNumber": "{{equipment_number}}",
    "releaseIdentification": "{{unique_release_identification}}",
    "expirationDateTimeUtc": "{{ISO_timestamp}}",
    "operationalStatus": 0,
    "originatorNxtEntityId": "{{shipping_agent_identification_code_nxtentityid}}",
    "originatorName": "{{shipping_agent_name}}",
    "releaseDateTimeUtc": "{{ISO_timestamp}}",
    "terminalNxtEntityId": "{{terminal_identification_code_nxtentityid}}",
    "terminalName": "{{terminal_name}}",
    "terminalCode": "{{terminal_code}}",
    "portLoCode": "{{port_locode}}",
    "startDate": "{{ISO_timestamp}}",
    "releaseFromName": "{{releaseFrom_name}}",
    "releaseFromNxtEntityId": "{{releaseFrom_identification_code_nxtentityid}}",
    "releaseFromVatNumber": "{{releaseFrom_identification_code_tin}}",
    "releaseToName": "{{releaseTo_name}}",
    "releaseToNxtEntityId": "{{releaseTo_identification_code_nxtentityid}}",
    "releaseToVatNumber": "{{releaseTo_identification_code_tin}}",
    "dataBrokerName": null,
    "releaseOrderReference": "{{release_order_reference}}",
    "emptyReturnReference": "{{empty_return_reference}}",
    "equipmentType": "{{equipment_type}}",
    "pickUpReleaseRightStatus": 0,
    "releaseRightStatus": 3,
    "releaseLightStatus": 1,
    "billOfLadingNumbers": [
        "{{bl_number}}",
        "{{bl_number}}"
    ],
    "releaseRightActions": [
        {
            "label": "Transfer",
            "isEnabled": boolean
        },
        {
            "label": "Pick-Up",
            "isEnabled": boolean
        }
    ],
    "commercialReleaseActions": [],
    "alfapassNumberMask": "{{alfapass_number_mask}}"
}

Get Release Right Detail

You will receive this notification after calling the Generic Service - Get Release Right Detail API call. It contains all current information & details about the Release Right.

Remarks:

  • You need to have provided valid Release Right identifiers (equipment number, bl number(s) & release identification) in order to receive this notification;

  • The body.additionalDataFields.value values are provided by the Shipping Agents. These can be empty strings if no data was provided.

Notification format:

JSON
{
    "assetId": "00000000-0000-0001-0000-000000000037",
    "body": {
        "equipmentNumber": "{{equipment_number}}",
        "releaseIdentification": "{{unique_release_identification}}",
        "billOfLadingNumbers": [
            "{{bl_number}}"
        ],
        "releaseOrderReference": "{{release_order_reference}}",
        "emptyReturnReference": "{{empty_return_reference}}",
        "terminalName": "{{terminal_name}}",
        "terminalCode": "{{terminal_code}}",
        "portLoCode": "{{port_locode}}",
        "lights": [
            {
                "greenLightName": "CommercialRelease",
                "greenLightValue": "{{greenlight_value}}",
                "color": "{{greenlight_color}}",
                "dateLastUpdated": "{{ISO_Timestamp}}"
            },
            {
                "greenLightName": "TerminalOperation",
                "greenLightValue": "{{greenlight_value}}",
                "color": "{{greenlight_color}}",
                "dateLastUpdated": "{{ISO_Timestamp}}"
            },
            {
                "greenLightName": "TerminalReady",
                "greenLightValue": "{{greenlight_value}}",
                "color": "{{greenlight_color}}",
                "dateLastUpdated": "{{ISO_Timestamp}}"
            },
            {
                "greenLightName": "Customs",
                "greenLightValue": "{{greenlight_value}}",
                "color": "{{greenlight_color}}",
                "dateLastUpdated": "{{ISO_Timestamp}}"
            },
            {
                "greenLightName": "CustomsProgress",
                "greenLightValue": "{{greenlight_value}}",
                "color": "{{greenlight_color}}",
                "dateLastUpdated": "{{ISO_Timestamp}}"
            },
            {
                "greenLightName": "GateOperation",
                "greenLightValue": "{{greenlight_value}}",
                "color": "{{greenlight_color}}",
                "dateLastUpdated": "{{ISO_Timestamp}}"
            },
            {
                "greenLightName": "PickupLight",
                "greenLightValue": "{{greenlight_value}}",
                "color": "{{greenlight_color}}",
                "dateLastUpdated": "{{ISO_Timestamp}}"
            }
        ],
        "releaseDateTimeUtc": "{{ISO_Timestamp}}",
        "expirationDateTimeUtc": "{{ISO_Timestamp}}",
        "shippingAgentName": "{{shipping_agent_name}}",
        "alfapassNumberMask": "{{alfapass_number_mask}}",
        "alias": "{{driver_alias}}",
        "additionalDataFields": [
            {
                "code": "COREOR_EQUIPMENTSUPPLIER",
                "label": "Equipment Supplier",
                "source": "COREOR",
                "value": ""
            },
            {
                "code": "COREOR_EQUIPMENTSTATUS",
                "label": "Equipment Status",
                "source": "COREOR",
                "value": ""
            },
            {
                "code": "COREOR_FULLEMPTYINDICATOR",
                "label": "Full/Empty?",
                "source": "COREOR",
                "value": ""
            },
            {
                "code": "COREOR_EQUIPMENTOPERATOR",
                "label": "Equipment Operator",
                "source": "COREOR",
                "value": ""
            },
            {
                "code": "COREOR_VESSELNAME",
                "label": "Vessel Name",
                "source": "COREOR",
                "value": ""
            },
            {
                "code": "COREOR_VESSELCALLSIGN",
                "label": "Callsign",
                "source": "COREOR",
                "value": ""
            },
            {
                "code": "COREOR_VOYAGENUMBER",
                "label": "Voyage Number",
                "source": "COREOR",
                "value": ""
            },
            {
                "code": "COMMERCIAL_RELEASE_ISCARRIERHAULAGE",
                "label": "Carrier Haulage",
                "source": "COMMREL",
                "value": "false"
            }
        ],
        "publicReferenceId": "{{nxtport_public_reference_id}}",
        "externalReferenceId": "{{your_external_reference_id}}"
    },
    "errors": [],
    "event": "GetReleaseDetail",
    "externalReferenceId": "{{your_external_reference_id}}",
    "id": "Unknown",
    "publicReferenceId": "{{nxtport_public_reference_id}}",
    "receiverId": "{{your_nxtentityid}}",
    "senderId": null,
    "timestamp": "{{ISO_Timestamp}}",
    "type": "ReleaseRight",
    "warnings": []
}
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.