Skip to content

PickUpPoint Management

This section gives an overview of the API calls used for managing PickUpPoints.

GetPickUpPoints

Location /v1/PickupPoints/GetPickUpPoints

Gets a list of all the PickUppoints. PickUpPoints will be filtered by currently logged in (api) account. Request and result are paginated.

{
    # Mandatory Fields
    "pageNo": 1,                    # Page number, starting from 1
    "pageSize": 10                  # Number of items on a single page. Min: 1, Max: 500

    # Optional Fields
    "pupUid": "",                   # Unique pick up point identifier to get the details for.
    "includeDetails": false         # Include pick up points details like addresses and reference.
    "searchText": null/""           # Search pick up point by name or address.

}
POST /v1/PickupPoints/GetPickUpPoints HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "pageNo": 1,  
    "pageSize": 10,
    "pupUid": null,
    "includeDetails": false
}
{
  "items": [                        # List of pick up points
    {
      "pupUid": "",                 # Unique Identifier for the pick up point
      "name": "",                   # Name of the pick up point
      "timeZone": ""                # (Optional) code of the timezone of the pickuppoint. See 
                                    # Protocol page for a list of all available timezones.

                                    # If IncludeDetails is TRUE
      "locationAddress": {          # The physical location of the lockers
        "streetName": "",
        "mailbox": "",
        "city": "",
        "countryIso2": ""           
      },
      "deliveryAddress": {          # The location where the mail will be sent and distributed to the Pick Up Points
        "streetName": "",
        "mailbox": "",
        "city": "",
        "countryIso2": ""
      },
      "parkingAddress": {           # The location where the delivery person parks his car to supply the Pick Up Points
        "streetName": "",
        "mailbox": "",
        "city": "",
        "countryIso2": ""
      },
      "externalReference": ""       # External Pick Up Point reference
    } 
  ],
  "pageNo": 1,                      # Result page number
  "pageSize": 10,                   # Requested page size
  "totalItems": 0,                  # Total number of items available, independent 
                                    # of the current page.
  "totalPages": 0,                  # Total number of pages, independent of the current page.
  "success": true/false,            # Command executed successfully
  "error": null,                    # Error code (if any)
  "message": null                   # Error message (if any)
}
{
  "items": [
    {
      "pupUid": "6d35c61f3fba4186a8c276bb9b9a2f63",
      "name": "Pick Up Point One"
      "locationAddress": {
        "streetName": "Singel 93",
        "mailbox": "1234 AB",
        "city": "Amsterdam",
        "countryIso2": "NL"         
      },
      "deliveryAddress": {
        "streetName": "'s-Gravelandseweg 365",
        "mailbox": "1243 BJ",
        "city": "Zaandam",
        "countryIso2": "NL"
      },
      "parkingAddress": null,
      "externalReference": "Ref.12"
    },
    {
      "pupUid": "d84150566fe34861a80c6e9ecf004b95",
      "name": "Pick Up Point Two",
      "locationAddress": {
        "streetName": "Dam 123",
        "mailbox": "1234 AB",
        "city": "Amsterdam",
        "countryIso2": "NL"         
      },
      "deliveryAddress": {
        "streetName": "Kalverstraat 365",
        "mailbox": "1243 BJ",
        "city": "Amsterdam",
        "countryIso2": "NL"
      },
      "parkingAddress": null,
      "externalReference": "Ref.12"
    }
  ],
  "pageNo": 1,
  "pageSize": 10,
  "totalItems": 2,
  "totalPages": 1,
  "success": true,
  "error": null,
  "message": null
}

GetPickUpPointAvailability

Location /v1/PickupPoints/GetPickUpPointAvailability

Gets a list of the PickUpPoint's availability. PickUpPoints will be filtered by currently logged in (api) account. Request and result are paginated.

{
    # Mandatory Fields
    "pageNo": 1,                    # Page number, starting from 1
    "pageSize": 10,                 # Number of items on a single page. Min: 1, Max: 500
    "pupUid": ""                    # Unique Id of a single PickUpPoint to get the availability for.
}
POST /v1/PickupPoints/GetPickUpPointAvailability HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "pageNo": 1, 
    "pageSize": 10,
    "pupUid": "4aba1eb179644a95887e3ab37e644193"

}
{
  "items": [                        # List of pick up points, including availability.
    {
      "pupUid": "",                 # Unique id of the pick up point.
      "freeLockers": 0,             # Total number of available/free lockers.
      "occupiedLockers": 0,         # Total number of occupied lockers.
      "totalLockers": 0,            # Total number of lockers in the pick up point.
      "availabilityBySize": [       # List of available locker (types) by size.
        {
          "name": "",               # Name of  the size.
          "freeLockers": 0,         # Total number of free lockers, within this size category.
          "occupiedLockers": 2,     # Total number of occupied lockers, within this size category.
          "totalLockers": 2         # Total number of lockers in the pick up point, within this size category.
        }
      ]
    }
  ],
  "pageNo": 1,                      # Result page number
  "pageSize": 10,                   # Requested page size
  "totalItems": 0,                  # Total number of items available, independent of the current page.
  "totalPages": 0,                  # Total number of pages, independent of the current page.
  "success": true/false,            # Command executed successfully
  "error": null,                    # Error code (if any)
  "message": null                   # Error message (if any)
}
{
  "items": [
    {
      "pupUid": "fa8d3cccc0a4fb3c8fa66399f5ea8767",
      "freeLockers": 8,
      "occupiedLockers": 15,
      "totalLockers": 23,
      "availabilityBySize": [
        {
          "name": "40cm x 60cm x 65cm",
          "freeLockers": 0,
          "occupiedLockers": 2,
          "totalLockers": 2
        },
        {
          "name": "40cm x 60cm x 15cm",
          "freeLockers": 0,
          "occupiedLockers": 12,
          "totalLockers": 12
        },
        {
          "name": "40cm x 60cm x 30cm",
          "freeLockers": 8,
          "occupiedLockers": 1,
          "totalLockers": 9
        }
      ]
    }
  ],
  "pageNo": 1,
  "pageSize": 10,
  "totalItems": 1,
  "totalPages": 1,
  "success": true,
  "error": null,
  "message": null
}

GetDeliveryAddresses

Location /v1/PickupPoints/GetDeliveryAddresses

Gets a list of the delivery addresses of the pick up points. A delivery address is the location where packages are sent to before they are distributed to the pick up points. Pick up points are filtered by the currently logged in (api) account.

{
    # Optional Fields
    "pupUids": null,                # Only return delivery addresses for these pick up point uids.
                                    # When empty all allowed pick up points are used.
    "dispatcherUids": null          # Only return delivery addresses for pick up points of these
                                    # dispatcher uids. When empty all allowed dispatchers are used.
}
POST /v1/PickupPoints/GetDeliveryAddresses HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "pupUids": null,
    "dispatcherUids": null
}
{
  "items": [                        # List of delivery addresses
    {
      "name": "",                   # Display name of the delivery address (street and city).
      "streetName": "",             # Street name, including the house number.
      "mailbox": "",                # Postal code.
      "city": "",                   # City.
      "countryIso2": ""             # ISO 3166-1 alpha-2 country code.
    }
  ],
  "pageNo": 1,                      # Result page number
  "pageSize": 1,                    # Requested page size
  "totalItems": 1,                  # Total number of items available, independent of the current page.
  "totalPages": 1,                  # Total number of pages, independent of the current page.
  "success": true/false,            # Command executed successfully
  "error": null,                    # Error code (if any)
  "message": null                   # Error message (if any)
}
{
    "items": [
        {
            "name": "'s-Gravelandseweg 365 | Zaandam",
            "streetName": "'s-Gravelandseweg 365",
            "mailbox": "1243 BJ",
            "city": "Zaandam",
            "countryIso2": "NL"
        },
        {
            "name": "Kalverstraat 1 | Amsterdam",
            "streetName": "Kalverstraat 1",
            "mailbox": "1012 NX",
            "city": "Amsterdam",
            "countryIso2": "NL"
        }
    ],
    "pageNo": 1,
    "pageSize": 2,
    "totalItems": 2,
    "totalPages": 1,
    "success": true,
    "error": null,
    "message": null
}

GetLockers

Location /v1/PickupPoints/GetLockers

Gets a list of all lockers. Request and result are paginated.

{
    # Mandatory Fields
    "pageNo": 1,                    # Page number, starting from 1
    "pageSize": 10,                 # Number of items on a single page. Min: 1, Max: 500
    "pupUid": ""                    # Unique Id of a single PickUpPoint to get the availability for.
}
POST /v1/PickupPoints/GetLockers HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "pageNo": 1, 
    "pageSize": 10,
    "pupUid": "4aba1eb179644a95887e3ab37e644193"

}
{
  "items": [                        # List of pick up points, including availability.
    {
      "pupUid": "",                 # Unique id of the pick up point.
      "lockerUid": "",              # Unique id of the locker.
      "name": "",                   # Name of the locker
      "dimension": {                # Dimension of the locker in centimeters. 
        "width": 1,                  
        "height": 1,                 
        "length": 1,                 
      }
    }
  ],
  "pageNo": 1,                      # Result page number
  "pageSize": 10,                   # Requested page size
  "totalItems": 0,                  # Total number of items available, independent of the current page.
  "totalPages": 0,                  # Total number of pages, independent of the current page.
  "success": true/false,            # Command executed successfully
  "error": null,                    # Error code (if any)
  "message": null                   # Error message (if any)
}
{
    "items": [
        {
            "pupUid": "4aba1eb179644a95887e3ab37e644193",
            "lockerUid": "faea7d0a038744e7b3d5492b7fd34185",
            "name": "1",
            "dimension": {
                "width": 40,
                "height": 15,
                "length": 60
            }
        },
        {
            "pupUid": "4aba1eb179644a95887e3ab37e644193",
            "lockerUid": "c570603d3efd4bc9ae66242946d9f1ff",
            "name": "5",
            "dimension": {
                "width": 40,
                "height": 15,
                "length": 60
            }
        },
        {
            "pupUid": "4aba1eb179644a95887e3ab37e644193",
            "lockerUid": "586b6b755bf24f8ba311f613ddcf37ba",
            "name": "6",
            "dimension": {
                "width": 40,
                "height": 15,
                "length": 60
            }
        }
    ],
    "pageNo": 1,
    "pageSize": 500,
    "totalItems": 3,
    "totalPages": 1,
    "success": true,
    "error": null,
    "message": null
}

GetAvailableLockers

Location /v1/PickupPoints/GetAvailableLockers

Gets a list of the lockers available. This method can be used, for example, to collect free lockers for creating local shipments. Request and result are paginated.

{
    # Mandatory Fields
    "pageNo": 1,                    # Page number, starting from 1
    "pageSize": 10,                 # Number of items on a single page. Min: 1, Max: 500
    "pupUid": ""                    # Unique Id of a single PickUpPoint to get the availability for.
}
POST /v1/PickupPoints/GetAvailableLockers HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "pageNo": 1, 
    "pageSize": 10,
    "pupUid": "4aba1eb179644a95887e3ab37e644193"

}
{
  "items": [                        # List of pick up points, including availability.
    {
      "pupUid": "",                 # Unique id of the pick up point.
      "lockerUid": "",              # Unique id of the locker.
      "name": "",                   # Name of the locker
      "dimension": {                # Dimension of the locker in centimeters. 
        "width": 1,                  
        "height": 1,                 
        "length": 1,                 
      }
    }
  ],
  "pageNo": 1,                      # Result page number
  "pageSize": 10,                   # Requested page size
  "totalItems": 0,                  # Total number of items available, independent of the current page.
  "totalPages": 0,                  # Total number of pages, independent of the current page.
  "success": true/false,            # Command executed successfully
  "error": null,                    # Error code (if any)
  "message": null                   # Error message (if any)
}
{
    "items": [
        {
            "pupUid": "4aba1eb179644a95887e3ab37e644193",
            "lockerUid": "faea7d0a038744e7b3d5492b7fd34185",
            "name": "1",
            "dimension": {
                "width": 40,
                "height": 15,
                "length": 60
            }
        },
        {
            "pupUid": "4aba1eb179644a95887e3ab37e644193",
            "lockerUid": "c570603d3efd4bc9ae66242946d9f1ff",
            "name": "5",
            "dimension": {
                "width": 40,
                "height": 15,
                "length": 60
            }
        },
        {
            "pupUid": "4aba1eb179644a95887e3ab37e644193",
            "lockerUid": "586b6b755bf24f8ba311f613ddcf37ba",
            "name": "6",
            "dimension": {
                "width": 40,
                "height": 15,
                "length": 60
            }
        }
    ],
    "pageNo": 1,
    "pageSize": 500,
    "totalItems": 3,
    "totalPages": 1,
    "success": true,
    "error": null,
    "message": null
}

GetLockerKinds

Location /v1/PickupPoints/GetLockerKinds

Gets a list of the locker kinds. With this method you can request an overview of the different types of lockers.

{
    # Mandatory Fields
    "pupUid": ""                    # Unique Id of a single PickUpPoint to get a list of the locker kinds
}
POST /v1/PickupPoints/GetLockerKinds HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "pupUid": "4aba1eb179644a95887e3ab37e631193"

}
{
  "items": [                        
    {
        "sizeCode": "s",            # locker name code (e.g. large, small, etc).  
                                    # When unavailable this will contain the dimension 
                                    # in the form of [Height]x[Width]x[Length]
        "typeCode": "normal",       # type of the locker (e.g. normal, cooled, etc)
        "dimension": {              # the dimension of the locker
            "width": 40,
            "height": 15,
            "length": 60
        }
    }
  ],
  "pageNo": 1,                      # Result page number
  "pageSize": 1,                    # Requested page size
  "totalItems": 1,                  # Total number of items available, independent of the current page.
  "totalPages": 1,                  # Total number of pages, independent of the current page.
  "success": true/false,            # Command executed successfully
  "error": null,                    # Error code (if any)
  "message": null                   # Error message (if any)
}
{
    "items": [
        {
            "sizeCode": "s",
            "typeCode": "normal",
            "dimension": {
                "width": 40,
                "height": 15,
                "length": 60
            }
        },
        {
            "sizeCode": "m",
            "typeCode": "normal",
            "dimension": {
                "width": 40,
                "height": 30,
                "length": 60
            }
        },
        {
            "sizeCode": "l",
            "typeCode": "normal",
            "dimension": {
                "width": 40,
                "height": 40,
                "length": 60
            }
        },
        {
            "sizeCode": "xl",
            "typeCode": "normal",
            "dimension": {
                "width": 40,
                "height": 70,
                "length": 60
            }
        }
    ],
    "pageNo": 1,
    "pageSize": 4,
    "totalItems": 4,
    "totalPages": 1,
    "success": true,
    "error": null,
    "message": null
}

GetObjectTypes

Location /v1/PickupPoints/GetObjectTypes

Gets a list of all the ObjectTypes. ObjectTypes will be filtered by currently logged in (api) account. Request and result are paginated.

{
    # Optional Fields
    "pupUid": "",                   # Unique pick up point identifier to get the details for.
    "lockerKindFallback": false     # If no object types found, get the list of locker kinds as fallback.
}
POST /v1/PickupPoints/GetObjectTypes HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "pupUid": null,
    "lockerKindFallback": false
}
{
  "items": [                        
    {
        "objectTypeUid": "",        # Unique id of the object type.
        "name": "",                 # Name of the object type
        "dimension": {              # the dimension of object type
            "width": 40,
            "height": 15,
            "length": 60
        },
    }
  ],
  "pageNo": 1,                      # Result page number
  "pageSize": 1,                    # Requested page size
  "totalItems": 1,                  # Total number of items available, independent of the current page.
  "totalPages": 1,                  # Total number of pages, independent of the current page.
  "success": true/false,            # Command executed successfully
  "error": null,                    # Error code (if any)
  "message": null                   # Error message (if any)
}
{
    "items": [
        {
            "objectTypeUid": "9a96fbc7e7a74d47b7fb070549a2351d",
            "name": "Small",
            "dimension": {
                "width": 5,
                "height": 5,
                "length": 5
            }
        },
        {
            "objectTypeUid": "25f0f2ea219c4300a3ce2002bfc6102b",
            "name": "Medium",
            "dimension": {
                "width": 10,
                "height": 10,
                "length": 10
            }
        },
        {
            "objectTypeUid": "a708497c67714f67a836f57227c96ebc",
            "name": "Large",
            "dimension": {
                "width": 15,
                "height": 15,
                "length": 15
            }
        }
    ],
    "pageNo": 0,
    "pageSize": 3,
    "totalItems": 3,
    "totalPages": 1,
    "success": true,
    "error": null,
    "message": null
}