PostPlus API
  1. Scenarios And Workflows
PostPlus API
  • Authentication, Environments
  • Endpoints Overview
    • Parcels Endpoints
    • Shipments Endpoints
    • Tracking Endpoints
    • Accounts Endpoints
  • Scenarios And Workflows
    • Working with parcels
    • Create or update parcel record
    • Cancel or delete a parcel record
    • Manifesting parcels in bags and shipments
    • Query parcel tracking events
    • Import parcel tracking events
  • All API Endpoints
    • Parcels
      • Create or update single parcel.
      • Create or update up to 200 parcels in a single request.
      • Get parcel details by parcel Id.
      • Get up to 100 parcels details by parcel Ids.
      • Get parcel details by parcel number (tracking number).
      • Get up to 100 parcels details by parcel numbers (tracking numbers).
      • Get parcel details by sender reference number.
      • Get up to 100 parcel details by sender reference numbers.
      • Query up to 500 parcels.
      • Delete parcel by Id.
      • Delete up to 100 parcels by Ids.
      • Get print details and contents by print Id.
      • Get up to 100 parcel print details and contents by print Ids.
      • Get pickup point details by Id.
      • Query pickup points.
      • Group parcels into bags and link to a shipment (update parcel references). When AllowPartialSuccess is true, valid parcels are updated and invalid ones returned in FailedParcels.
      • Get parcel details by manifest reference numbers.
      • Get up to 100 parcel details by manifest reference numbers.
      • Get parcel details by carrier reference numbers.
      • Get up to 100 parcel details by carrier reference numbers.
    • Shipments
      • Cancel erroneous parcels in a shipment.
      • Delete shipment manifest file.
      • Create new shipment.
      • Create new bag level shipment.
      • Update bag level shipment.
      • Link parcels with specified bag numbers to a shipment.
      • Validate and prepare shipment for submitting.
      • Submit and lock shipment and it's parcels.
      • Group parcels into bags and link to a shipment, then prepare and submit shipment in one transaction.
      • Delete shipment.
      • Update shipment.
      • Get shipment details by shipment id.
      • Query up to 500 shipments.
      • Upload shipment manifest file.
      • Upload shipment document.
      • Get shipment details by shipment number.
    • Documents
      • Download manifest file.
      • Download shipment documents in archive file.
      • Download shipment document file by Id.
      • Download parcel label by Id.
      • Generate and download generic bag labels.
      • Generate and download bag label.
      • Download resulting (processed) manifest file.
      • Generate and download shipment parcel labels.
      • Generate and download parcel commercial invoices.
      • Download resulting (processed) shipment file.
    • Tracking
      • Fetch up to 500 tracking events in cursor fashion.
      • Get event codes and other metadata.
      • Get tracking events by the list of parcel numbers, up to 50, comma separated.
      • Get tracking events by the list of sender reference numbers, up to 50, comma separated.
      • Get tracking events by the list of parcel numbers or sender reference numbers, up to 50, comma separated.
      • Get bag tracking events by the list of bag numbers, up to 50, comma separated.
      • Get bag tracking events by the list of bag numbers or shipment numbers, up to 50, comma separated.
      • Upload tracking events file.
    • Accounts
      • Get current account details.
    • Integrations
      • Add up to 500 tracking events to the processing queue. The whole batch either succeeds or fails.
      • Add tracking event with generic payload.
  • Schemas
    • Schemas
      • AccountInfo
      • CreateAndClosePostalDispatchByShipmentRequest
      • CreateMailTransitConsignmentByShipmentRequest
      • CreateTrackingIntegrationEventsRequest
      • DataSource
      • DeleteManifestFileRequest
      • DeleteManyParcelsRequest
      • DeleteShipmentRequest
      • DownloadResultingManifestFileRequest
      • DownloadResultingShipmentFileRequest
      • GenerateShipmentParcelPrintsRequest
      • GetAccountDetailsRequest
      • GetEventsBatchRequest
      • GetManyEventsByBagNrsRequest
      • GetManyEventsByParcelNrsRequest
      • GetManyEventsBySenderParcelNrsRequest
      • GetManyParcelPrintsRequest
      • GetManyParcelsByCarrierParcelNrsRequest
      • GetManyParcelsByIdsRequest
      • GetManyParcelsByManifestParcelNrsRequest
      • GetManyParcelsByParcelNrsRequest
      • GetManyParcelsBySenderParcelNrsRequest
      • GetParcelByIdRequest
      • GetParcelByCarrierParcelNrRequest
      • GetParcelByParcelNrRequest
      • GetParcelBySenderParcelNrRequest
      • GetParcelByManifestParcelNrRequest
      • GetParcelPrintRequest
      • GetPostalConsignmentDetailsRequest
      • GetPostalConsignmentDetailsResponse
      • GetPostalDispatchDetailsRequest
      • GetPostalDispatchDetailsResponse
      • GetShipmentDetailsRequest
      • PostalConsignmentInfo
      • PostalConsignmentStatus
      • PostalDespatchReceptacleStatus
      • PostalDespatchStatus
      • PostalDispatchInfo
      • PostalDocumentCategory
      • PostalDocumentInfo
      • PostalDocumentStatus
      • PostalDocumentType
      • PostalReceptacleInfo
      • PostalReceptacleOutboundBagInfo
      • PostalReceptacleParcelInfo
      • PostalRouteInfo
      • QueryAccountsRequest
      • QueryAccountsResponse
      • QueryParcelsRequest
      • QueryPickupPointsRequest
      • QueryPostalConsignmentsRequest
      • QueryPostalConsignmentsResponse
      • QueryPostalDispatchesRequest
      • QueryPostalDispatchesResponse
      • QueryShipmentsRequest
      • ResolveHsCodesByDescriptionsRequest
      • SearchManyBagEventsRequest
      • SearchManyParcelEventsRequest
      • TransportModeType
      • UploadManifestFileRequest
    • AccountAddressType
    • AccountCommonSettings
    • AccountSettingsAddressInfo
    • AddressInfo
    • AddTrackingEventsRequest
    • BagEventsResponse
    • BagPrintInfo
    • BagPrintType
    • BagStatus
    • BagTrackingEventInfo
    • BagViewInfo
    • CancelShipmentParcelsWithErrorsRequest
    • ContainerType
    • CreateBagLevelShipmentRequest
    • CreateIntegrationEventsRequest
    • CreateOrUpdateManyParcelsRequest
    • CreateOrUpdateParcelAdditionalInfo
    • IncludePrintSizes
    • CreateOrUpdateParcelIdentifiers
    • LabelSize
    • CreateOrUpdateParcelInfo
    • CreateOrUpdateParcelItemInfo
    • CreateOrUpdateParcelReceiverInfo
    • CreateOrUpdateParcelReferences
    • CreateOrUpdateParcelRequest
    • CreateOrUpdateParcelSenderInfo
    • CreateOrUpdateParcelStatusInfo
    • CreateOrUpdateSingleParcelRequest
    • CreateShipmentRequest
    • CustomsSettings
    • DeleteParcelRequest
    • DownloadBagPrintRequest
    • DownloadManifestFileRequest
    • DownloadParcelPrintRequest
    • DownloadShipmentDocumentRequest
    • DownloadShipmentDocumentsRequest
    • EmaiNotificationsInfo
    • EmaiNotificationsSettings
    • EventCodeInfo
    • FileFormat
    • FileStatus
    • GenerateBagPrintsRequest
    • GenerateParcelCommercialInvoicesRequest
    • GenerateParcelCommercialInvoicesResponse
    • ParcelLinkResultInfo
    • ParcelValidationSettings
    • GenerateShipmentParcelPrintsResponse
    • GetAccountDetailsResponse
    • GetCurrentAccountDetailsRequest
    • GetEventsBatchResponse
    • GetManyParcelPrintsResponse
    • GetPickupPointDetailsRequest
    • GetPickupPointDetailsResponse
    • GetShipmentDetailsResponse
    • LabelsSettings
    • LeanMileSettings
    • LinkBagsToShipmentRequest
    • MailType
    • ManifestAndSubmitShipmentParcelInfo
    • ManifestAndSubmitShipmentRequest
    • ManifestAndSubmitShipmentResponse
    • ManifestFileType
    • ManifestFileViewInfo
    • ManyParcelsDetailsResponse
    • NewIntegrationEvent
    • NewTrackingEvent
    • ParcelAdditionalInfo
    • ParcelAndTrackingEventInfo
    • ParcelCommercialInvoiceInfo
    • ParcelDetailsResponse
    • ParcelDocument
    • ParcelDocumentType
    • LinkBagsToShipmentResponse
    • ParcelEventsResponse
    • ParcelIdentifiers
    • ParcelInfo
    • ParcelItemInfo
    • ParcelNrSequenceInfo
    • ParcelNrType
    • ParcelPrintFormat
    • ParcelPrintInfo
    • UpdateManyParcelReferencesResponse
    • ParcelPrintType
    • ParcelReceiverInfo
    • ParcelReferences
    • ParcelSenderInfo
    • ParcelStatus
    • ParcelStatusInfo
    • ParcelTransactionType
    • PickupPointInfo
    • PickupPointType
    • PostalLabelSettings
    • PostalSettings
    • PrepareShipmentRequest
    • PrepareShipmentResponse
    • QstepSettings
    • QueryParcelsResponse
    • QueryPickupPointsResponse
    • QueryShipmentsResponse
    • RateManagementSettings
    • SearchBagEventsResponse
    • ResendOrRelabelParcelRequest
    • SearchParcelEventsResponse
    • ShipmentArrivalInfo
    • ShipmentArrivalViewInfo
    • ShipmentDocumentType
    • ShipmentDocumentViewInfo
    • ShipmentManifestLevel
    • ShipmentManifestSettings
    • ShipmentStatus
    • ShipmentStatusInfo
    • ShipmentTerminalInfo
    • ShipmentType
    • ShipmentViewInfo
    • SubmitShipmentRequest
    • TaxType
    • TelemetrySettings
    • TrackingEventInfo
    • TrackingParcelInfo
    • UpdateBagLevelShipmentRequest
    • UpdateManyParcelReferencesRequest
    • UpdateShipmentRequest
    • UploadManifestFileResponse
    • UploadShipmentDocumentResponse
    • UploadTrackingEventsFileResponse
    • UpsertBagRequest
    • X7TradeSettings
  1. Scenarios And Workflows

Cancel or delete a parcel record

Overview of parcel related endpoints: Parcels Endpoints
This guide covers when and how to cancel or delete parcel records.

Cancel vs Delete#

ActionEffectUse case
CancelParcel is marked as discarded but remains in system. Suffix added to identifiers, allowing reuse of sender parcel number.Changing service code, correcting core data errors
DeleteParcel is permanently removed from the system.Removing test data, cleaning up duplicates

When to cancel a parcel#

Once a parcel is created successfully, certain core data cannot be updated directly. To change these fields, you must cancel the existing parcel and create a new one:
Service code (channel) - Cannot change the delivery channel after creation
Receiver (consignee) data - Address, country, or other receiver details that affect routing
Parcel number format - Different services use different number formats
Parcel can be updated by calling the API with the same identifiers (senderParcelNr and/or parcelNr). If the update results in an error, cancel the parcel and re-create with corrected data.

Cancel a parcel#

Create or update single parcel
Cancel a parcel by setting isCancelled: true in the status section. Use the same identifiers as the original parcel.
@host = https://api.test.post-plus.io
@apiKey = apitest1234567890

PUT {{host}}/api/v1/parcels
content-type: application/json
X-API-KEY: {{apiKey}}

{
  "identifiers": {
    "senderParcelNr": "Test-SE-0036"
  },
  "status": {
    "isCancelled": true
  }
}
After cancellation:
A suffix is added to senderParcelNr and parcelNr
The original senderParcelNr can be reused for a new parcel
The parcel record remains in the system for audit purposes

Delete a parcel#

Delete parcel by ID
Delete a single parcel by its ID.
@host = https://api.test.post-plus.io
@apiKey = apitest1234567890

DELETE {{host}}/api/v1/parcels/{{parcelId}}
X-API-KEY: {{apiKey}}
Delete up to 100 parcels
Delete multiple parcels in a single request.
@host = https://api.test.post-plus.io
@apiKey = apitest1234567890

DELETE {{host}}/api/v1/parcels/delete-many?Ids={{parcelId1}},{{parcelId2}},{{parcelId3}}
X-API-KEY: {{apiKey}}

Workflow: Changing core parcel data#

1.
Cancel the existing parcel
2.
Create a new parcel with the same senderParcelNr (now available) and corrected data
3.
A new parcelNr will be generated
Previous
Create or update parcel record
Next
Manifesting parcels in bags and shipments
Built with