1. Home
  2. Docs
  3. API documentation
  4. partner API
  5. Request a delivery

Request a delivery

Create a delivery request to delivery your order to the client. Use /delivery-requests endpoint for this operation.
Once a successful request for delivery is made:

  • (optional) We will send you an email notifying you of a successful delivery request creation with a PDF label attached.
  • (described later) You should fetch the PDF label for each parcel using /parcels/{id}/label.pdf, print it and stick it to the parcel(s).
  • We will send a courier to pick up the parcel(s) at agreed time.
  • We will notify the customer that we have received a delivery order and that a parcel will be delivered to them.

See an example of an integration:

POST /delivery-requests

{
  "typeOfService": "same-day",
  "description": "string",
  "orderNumber": "string",
  "invoiceValue": "25.50",
  "paymentMode": "prepaid",
  "amountToBeCollected": "25.50",
  "allowReturn": false,
  "notifyOnAccepted": "[email protected]",
  "origin": {
    "contactNumber": "+30 21 4 655 1234",
    "contactEmail": "string",
    "contactName": "Yiannis Papadopoulos",
    "deliveryPartnerId": "7983",
    "title": "ΠΑΝΤΕΛΟΓΛΟΥ ΔΗΜΗΤΡΗΣ",
    "name": "ΠΑΝΤΕΛΟΓΛΟΥ ΔΗΜΗΤΡΗΣ",
    "addressLine1": "ΛΕΩΦΟΡΟΣ ΕΙΡΗΝΗΣ 28",
    "addressLine2": "string",
    "postalCode": "15121",
    "country": "GR",
    "note": "You can find it behind the pet shop",
    "locationId": "string"
  },
  "destination": {
    "contactNumber": "+30 21 4 655 1234",
    "contactEmail": "string",
    "contactName": "Yiannis Papadopoulos",
    "deliveryPartnerId": "7983",
    "title": "ΠΑΝΤΕΛΟΓΛΟΥ ΔΗΜΗΤΡΗΣ",
    "name": "ΠΑΝΤΕΛΟΓΛΟΥ ΔΗΜΗΤΡΗΣ",
    "addressLine1": "ΛΕΩΦΟΡΟΣ ΕΙΡΗΝΗΣ 28",
    "addressLine2": "string",
    "postalCode": "15121",
    "country": "GR",
    "note": "You can find it behind the pet shop",
    "locationId": "string"
  },
  "items": [
    {
      "id": "string",
      "name": "Smartphone",
      "value": "3.45",
      "weight": 0,
      "compartmentSize": 0,
      "originDeliveryParcelId": "415-02914-308",
      "destinationDeliveryParcelId": "415-02914-308"
    }
  ]
}

These parameters are the main identifiers of pick up & delivery locations:

origin: locationId
Warehouse the parcel will be picked up from
destination: locationId
Parcel machine the parcel will be delivered to.

Also, do not forget to pass us the following personal details with each delivery
request:

  • Sender:
    • Name
  • Recipient:
    • Name
    • Phone number
    • Email

Status Code 200

{
  "referenceNumber": "string",
  "parcels": [
    {
      "id": "string"
    }
  ]
}														

Status Code 400

The server cannot or will not process the request due to something that is perceived to be your error (e.g., malformed request syntax, invalid request message). You are to modify the request before sending it again.

{
  "code": "string",
  "message": "string"
}

Status Code 401

Not Authorized. You are either using an expired Access token to access the data or trying to initialize Auth session with invalid data.


Note that items correspond to parcels, but item ID is eshop unique ID (if you do not have
unique ID of each item then create it by order number combined with sequential item
number or any other way) while parcel ID is BoxNow internal unique ID used further to
refer to the parcel.


For sending from APM you can use origin any-APM and destination specific APM.
For delivering to APM where customer will pick up from the same APM you can use both
origin and destination location any-APM.