Proofs

Proofs

Proofs are the evidence collected during the delivery or pickup process to certify what happened. They provide a verifiable record that a parcel was delivered to the right person, that a delivery was attempted but could not be completed, or that a pickup occurred successfully.

Types of proofs

There are four types of proofs, all optional and configurable per parcel:

Photo proof

The driver takes one or more photos at the point of delivery or pickup. Typically used to document where a parcel was left, the condition of the parcel, or the recipient receiving it. Photo URLs are included in the proof data.

ID proof (identification)

The driver verifies the recipient's identity by recording their name and ID number. This is useful for high-value parcels where you need to confirm the person who received the package.

Code proof (PIN verification)

A verification code (PIN) that the recipient must provide to the driver to confirm delivery. The code can be:

  • Internally generated: The platform automatically generates a 4-digit numeric code and notifies the recipient. When using this method, you can subscribe to the proofCodeGenerated webhook to be notified when the code is created.
  • Externally provided: You supply your own code (hashed with SHA256) when configuring the proof. The platform validates the code the recipient provides against your hash.

Comment proof

The driver leaves a text comment about the delivery or pickup. This can include notes about the delivery location, the condition of the parcel, or any issues encountered.

Configuring proofs for a parcel

You can configure which proofs are required for each parcel by setting up a proof of delivery configuration. This allows you to require any combination of the four proof types for the delivery of a specific parcel.

For example, you might require:

  • Only a photo proof for standard deliveries.
  • Photo + ID proof for high-value items.
  • Code proof for sensitive deliveries where recipient verification is critical.

The proof configuration is set per parcel and should be configured after creating the parcel and before it is delivered.

Delivery failure reasons

When a delivery cannot be completed, the driver records a failure reason along with any available proofs. The possible failure reasons are:

  • Recipient not found: No one was available at the delivery address.
  • Rejected: The recipient refused to accept the parcel.
  • Wrong address: The delivery address was incorrect or does not exist.
  • Unsafe zone: The delivery area was considered unsafe.
  • Invalid proof: The proof provided did not meet the requirements (e.g., wrong PIN code).
  • Parcel lost: The parcel was lost during transit.
  • Parcel damaged: The parcel was damaged.
  • Unreadable barcode: The parcel label could not be scanned.
  • Parcel stolen: The parcel was stolen.
  • No delivery attempt: No delivery attempt was made.
  • Postponed by customer: The recipient requested a later delivery.
  • Place closed: The delivery location was closed.
  • Fraud suspected: Suspected fraudulent delivery.
  • Other: Any other reason, typically accompanied by a driver comment.

Where proofs appear

Proof data is included in several places:

  • Parcel status: When you query the status of a parcel, the delivery attempt data includes any proofs that were collected. See Track Parcels.
  • Webhook notifications: When you have a parcel webhook configured, delivery attempt proofs are included in the notification payload. See Notifications.

API reference

For the full proof configuration schemas, see the Logistics API Reference:


Did this page help you?