Notifications for Shipping Agents
This page will guide you through the notifications you - as a Shipping Agent - might receive in Certified Pick up (CPu). We will guide you through the different types of notifications and what to do with them.
For Shipping Agents, there are three types of CPu notifications:
Responses: asynchronous responses sent to your notification channel after you have sent a request tot the CPu API. These notifications indicate an error and require you to take action
Release Light events: events which relate to the Release Lights of the container (Terminal release, Customs release, Commercial release - released, blocked etc.)
Release Right events: events which happen to the Release Right (transferred to next party, accepted, declined, revoked)
For each type there is an example for display purposes. Click the expand to see the full 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 .
Implementation of the notifications requires you to have read Getting Started with the API integration !
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 if you have not done so already.
Notifications - generic fields
Every notification that is sent by NxtPort will be built up with a generic part, allowing integrators to identify the asset, sender, error or warning messages and a Use case or type specific body.
Field Name | Type | Allowed values | Field Description |
---|---|---|---|
assetId | string | Contains the name or ID of the asset | For CPu, the assetId (NxtPort identification number) is used and contains the value |
id | string | The unique ID linked to the notification | For CPu, the container number is included in this field. |
PublicReferenceId | guid |
| Automatically generated GUID from NxtPort. This is a unique ID throughout our platform. In case of questions, please provide this ID, allowing us to clearly retrieve the corresponding information. |
externalReferenceId | string |
| Your own reference, as provided in the request header (optional). Will be null in case the notification was triggered by another party. |
senderId | string | NxtPort ID | The NxtPort ID of the owner that generated the notification. If a 3rd party triggered the event, this information will still be the owner of the original source that will be listed here. |
receiverId | string | NxtPort ID | This should always be your NxtPort ID as you are the receiver of this message. |
type | enumeration |
| Depending on the notification, one of these values will be used. Within the NxtPort Console, you can use these type to filter out notifications to multiple channels. |
event | enumeration | Multiple values allowed | Values will define the body of the notification and is explained further on in this document. |
body | N/A | N/A | Contains the event specific body related to this notification. This body is included in the details of the notifications and described later on in this document. |
timestamp | DateTime | UTC datetime | The timestamp when the notification was created by the Certified Pick-up platform. This will always be in UTC ISO 8601 format. |
errors | Array | free text | These arrays are not used in CPu notifications. The error message can be found in the body of the notification. |
warnings | Array | free text | These arrays are not used in CPu notifications. The warning message can be found in the body of the notification. |
Notifications list
Responses
As stated previously, CPu is an asynchronous process (with some exceptions), meaning that when data is sent to the API, NxtPort will first receive and ‘store’ the data and then in a separate process will process the action in a CPu context. This means however, that not all errors or issues can be reported in a synchronous API response and that you will need to integrate the notifications you receive to make sure all data you provide is processed correctly.
Response notifications are asynchronous responses sent to your notification channel after you have sent a request tot the CPu API. These notifications indicate an error and are characterized by the "event": "NotValidated"
field in the JSON body.
There is a problem with the action you performed on the Release Right. The error message is included in the "body"
field, all possible messages are listed below, including the mitigation steps.
Example of a notification
Notification | Explanation | How to mitigate? | Notification Body |
---|---|---|---|
Commercial release already exists | Commercial release can not be created or updated since there’s already an active commercial release for this | Delete the active commercial release first. |
CODE
|
Missing Parameters | No Commercial Release action processed due to missing parameters: When mandatory properties such as The body of the notification contains information on the parameters which are missing. | Verify you provided all mandatory values and try again. |
JSON
|
Invalid terminal code | Invalid Terminal Code. When a provided | Verify the provided terminal code. Make sure it is was communicated to NxtPort during the onboarding. |
JSON
|
No match found for identifiers | No Commercial Release action (Update, Revoke etc…) (different from Release) processed due to: no matching release right found for provided identifiers. When a Submit Release Light action (except for the Release action) fails due to no matching release right reference found based on the | Verify the identifiers of the Release Right you provided. Make sure they exist. |
JSON
|
No state change | 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. |
JSON
|
Mismatch in entity | No Release Right Transfer / Accept / Decline due to: mismatch in provided identity When a SubmitReleaseRight 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. |
JSON
|
No matching entity found | No Release Right Transfer / Accept / Decline due to: no matching NxtPort Entity found for provided parameters | Verify if the receiving company has been correctly registered for CPu (check their NxtPort ID or use the Company Registry call) |
JSON
|
No matching release right | 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 ( |
JSON
|
Release Right not pending | 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). |
JSON
|
Release party unknown | No Release Right Transfer due to: no matching NxtPort entity found for 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) |
JSON
|
Release Right transferred to current owner | When a Transfer Release Right action is performed with You will only receive this if you are the current owner of the Release Right. | Make sure to provide the correct identifiers of the |
JSON
|
Release Light events
These are notifications that you will receive that are triggered by either an action you have performed in CPu or by an action by another party, but for a release for which you have sent the Commercial Release.
Example of a notification
Event | Explanation | Notification Body |
---|---|---|
Commercial Release created | You have successfully created a new Commercial Release. The Commercial Release Light switches to GREEN. |
JSON
|
Commercial Release blocked | You have successfully blocked a Commercial Release. The Commercial Release Light switches to RED. |
JSON
|
Commercial Release deleted | You have successfully deleted a Commercial Release. The Release Right is no longer active in CPu. |
JSON
|
Terminal Release submitted | The container has been Released on the terminal by the Terminal Operator (API call or CPu UI). The Terminal Release Light switches to GREEN. |
JSON
|
Terminal Release 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. |
JSON
|
Terminal Operation Discharge submitted | The container has been discharged from the vessel by the Terminal Operator (API call or COARRI DISCHARGE). The Terminal Discharge Light switches to GREEN. |
JSON
|
Terminal Gate Out submitted | The container has left the terminal, this event is triggered by the Terminal Gate Out (CODECO OUT) message. |
JSON
|
Customs Release | The container has been Released by the competent customs authority (CCRM message). The Customs Release Light switches to GREEN. |
JSON
|
Customs Selected for Scan | The container has been selected for scanning by the competent customs authority (CCRM/NGPS message). The Customs Release Light switches to YELLOW. |
CODE
|
Customs Transhipment | The container has been identified by the competent customs authority (CCRM message) as a Transhipment container. The Customs Release Light switches to YELLOW. |
CODE
|
Customs Port Equalisation | There’s a gate-in message for this import container. The Customs Release Light switches to YELLOW. |
CODE
|
Customs FAVV | The container has been identified by the competent customs authority as a FAVV container. The Customs Release Light switches to YELLOW. This information is subject to 1 day delay. |
CODE
|
Customs Documentary Control | The container’s documents are being investigated by the customs authority (PLDA message). The Customs Release Light switches to RED. This information is subject to 1 day delay. |
CODE
|
Customs Progress Partially Cleared | 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. |
CODE
|
Customs Manual Overwrite | The container has been Released manually by the Ship Agent or Terminal Operator. The Customs Release Light switches to GREEN. |
JSON
|
Pick up Right generated | 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. |
JSON
|
Pick up Right updated | 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. |
CODE
|
Pick up Right 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. |
CODE
|
Release Right events
Event notifications are notifications sent to your notification channel when an event occurs on a Release Right for which you are a stakeholder.
Example of a notification
Event | Explanation | Notification Body |
---|---|---|
Release Right transferred | The Release Right was successfully transferred to the |
CODE
|
Release Right revoked | You have revoked the transferred (but not accepted by the |
JSON
|
Release Right accepted | The transferred Release Right was accepted by the |
JSON
|
Release Right declined | The transferred Release Right was declined by the |
JSON
|
You have reached the end of the page. Go back to the integration guidelines.