Site Logo

Create PUDO Labels

When you ship a parcel to a service point, you are creating a PUDO label. To create a PUDO label, you'll add either the ship_to_service_point_id or ship_from_service_point_id property to your purchase label request to indicate which service point the parcel should either be delivered to or collected from (or both).

Your request body will vary slighty depending on which of the following three types of PUDO label you are creating:

  • Home to Shop: Typically used for merchants who want the carrier to come to their warehouse, office, or home to collect a package and deliver it to a service point for the recipient.
  • Shop to Home: Typically used for merchants who prefer the carrier collects their packages from a service point rather than from their warehouse, office, shop, or home. The service still delivers to the recipient’s home address.
  • Shop to Shop: Used to send a shipment from service point to service point.

Requirements

No matter which type of PUDO label you create, you will need the following:

  • The service_point_id value for the service point you'll be shipping to. Review our Find Service Points page to learn how to get the service_point_id.
  • A carrier that provides PUDO services and a service that allows pickup and/or drop off at a service point.
  • The service_code for the PUDO-supported service.
    • EX: service_code: point_relais_delivery
    • For multiple service codes, separate each with a comma in the service_code array.
  • Any additional properties required by the selected carrier when using PUDO services. Check with your carrier if you are uncertain about properties they require that are specific to using PUDO services.

Each type of PUDO label will have additional requirements, which are detailed in their specific sections below.

PUDO Properties

PropertyRequired?TypeDescription
ship_to_service_point_id✔ *stringNullable.
A unique identifier for the service point where the shipment will be delivered by the carrier. This will take precedence over the shipment's ship_to address.
ship_from_service_point_id✔ *stringNullable.
A unique identifier for the drop-off point where a merchant plans to drop off packages. This will take precedence over a shipment's ship_from address.

* Home to Shop requires ship_to_service_point_id. Shop to Home requires ship_from_service_point_id. Shop to Shop requires both properties.

Home to Shop Labels

Home to Shop (Home2Shop) is typically for merchants who want the carrier to come to their warehouse, office, or home to collect a package and deliver it to a service point for the recipient.

Home2Shop Requirements

In addition to the general requirements listed above, you'll need:

  • The ship_to_service_point_id property with the service point ID value of the service point the carrier will deliver to.

  • The recipient’s physical ship_to address. This is in addition to the ship to service point ID and will not be where the package is delivered.

    The Ship To address that appears on the label may be different from the recipient’s physical address or may show as a code that only the carrier recognizes. The carrier will use the address corresponding to ship_to_service_point_id when it determines where to deliver the package.

Example Request

In this example request, you'll see that the ship_to address and the ship_to_service_point_id are both included in the request body.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
POST /v1/labels HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"ship_to_service_point_id": "614940",
"label_layout": "letter",
"label_format": "pdf",
"shipment": {
"carrier_id": "se-100051",
"service_code": "chrono_shop2shop",
"confirmation": "signature",
"ship_to": {
"name": "Someone Important",
"phone": "061626364656",
"email": "[email protected]",
"address_line1": "4321 boulevard du chat Charpentier",
"address_line2": "le Garage",
"city_locality": "VENCE",
"postal_code": "06140",
"country_code": "FR",
"address_residential_indicator": "no",
"email": "[email protected]"
},
"ship_from": {
"name": "Ermingard Sixshot",
"company_name": "Swanky-Shippers",
"phone": "0605040302",
"email": "[email protected]",
"address_line1": "123 chemin de Chien des Mon Ami",
"address_line2": "Rez de chaussee",
"city_locality": " O N'EST PAS PIERRE",
"postal_code": "69310",
"country_code": "FR",
"address_residential_indicator": "no",
"email": "[email protected]"
},
"packages": [
{
"weight": {
"value": 499,
"unit": "gram"
},
"labelMessage": {
"reference2": "723318467"
}
}
]
}
}

The response will be a standard purchase label response. The addition of the ship_to_service_point_id property in the request does not add any unique properties to the response.

Example Home2Shop Label

The label appearance varies from carrier to carrier, so you may see both the Ship To address and ship_to_service_point_id or perhaps only the latter. This sample label includes both pieces of information, with a box highlighting the service point ID code.

Chronopost Example Label using Home to Shop PUDO Service

Shop to Home Labels

Shop to Home (Shop2Home) is an ideal service for merchants who prefer that a carrier collects their packages from a service point rather from their warehouse, office, shop, or home. The service delivers to the recipient’s ship_to address.

Shop2Home Requirements

In addition to the general requirements listed above, you'll need:

  • The ship_from_service_point_id property with the service point ID value of the service point the package should be collected from.
  • The recipient’s physical ship_to address, just as in a normal purchase label request.
  • A ship_from address. This is necessary for troubleshooting any delivery issues that may arise. Package collection still occurs at the service point and delivery goes to the recipient's address.

Even though the Ship From address may appear on the label, it is different from the address in the request body and is typically the service point address.

Example Request

In this example request, you'll see that the ship_to address, the ship_from address, and the ship_from_service_point_id are all included in the request body.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
POST /v1/labels HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"display_scheme": "label",
"ship_from_service_point_id": "HS18051",
"shipment": {
"carrier_id": "se-5520529",
"service_code": "colis_prive_store_home_delivery",
"created_at": "2024-02-03T00:32:00+01:00",
"modified_at": "2024-02-03T00:32:00+01:00",
"shipment_status": "pending",
"ship_to": {
"name": "Capt Arthur Hastings",
"phone": "0607654321",
"email": "[email protected]",
"address_line1": "138 rue de Hercule Poirot, La gallerie",
"city_locality": "Les Pennes-Mirabeau",
"state_province": "13",
"postal_code": "13170",
"country_code": "FR",
"address_residential_indicator": "unknown",
"email": "[email protected]"
},
"ship_from": {
"name": "Miss Felicite Lemon",
"phone": "0611234567",
"email": "[email protected]"
"company_name": "TAKE TISANE TODAY",
"address_line1": "63 avenue de David Suchet",
"city_locality": "Sainte-Geneviève-des-Bois",
"state_province": "91",
"postal_code": "91700",
"country_code": "FR",
"address_residential_indicator": "unknown",
"email": "[email protected]"
},
"confirmation": "none",
"insurance_provider": "none",
"packages": [
{
"weight": {
"value": 0.6,
"unit": "kilogram"
},
"dimensions": {
"unit": "centimeter",
"length": 20.0,
"width": 25.0,
"height": 5.0
},
"label_messages": {
"reference1": "FR2024PRO0000422893 "
},
"external_package_id": "FR2024PRO0000422893-0",
"content_description": "Autre"
}
]
}
}

The response will be a standard purchase label response. The addition of the ship_from_service_point_id property in the request does not add any unique properties to the response.

Example Shop2Home Label

How these details print on the label will vary from carrier to carrier. You may see the service point address or simply a code. This sample label shows where a physical address for the ship_from_service_point_id appears and a box highlights the service point ID address.

Colis Prive Example Label using Shop to Home PUDO Service

Shop To Shop Labels

Shop to Shop (Shop2Shop) labels are collected from a service point by the carrier and delivered to another service point, for the recipient to pickup at their convenience.

Shop2Shop Requirements

In addition to the general requirements listed above, you'll need:

  • The ship_to_service_point_id and ship_from_service_point_id properties with the service point ID value of the service points the package should be collected from and delivered to.
  • A ship_to address, just as in a normal purchase label request. This can be the recipient's address or the service point address.
  • A ship_from address. This is necessary for troubleshooting any delivery issues that may arise. Package collection still occurs at the service point.

Example Request

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
POST /v1/labels HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"display_scheme": "label",
"ship_from_service_point_id": "HS78590",
"ship_to_service_point_id": "HS81200",
"shipment": {
"carrier_id": "se-5520529",
"service_code": "colis_prive_store_pudo_delivery",
"created_at": "2024-02-06T13:25:00+01:00",
"modified_at": "2024-02-06T13:25:00+01:00",
"shipment_status": "pending",
"ship_to": {
"name": "Charles de Gaulle",
"phone": "0656565656",
"email": "[email protected]",
"company_name": "DAY & NIGHT SERVICES",
"address_line1": "656 RUE LE JOUR ET LA NUIT",
"city_locality": "SAINT ETIENNEDU BOIS",
"state_province": "01",
"postal_code": "01370",
"country_code": "FR",
"address_residential_indicator": "unknown",
"email": "[email protected]"
},
"ship_from": {
"name": "Lille de France",
"phone": "066939399",
"email": "[email protected]",
"company_name": "PeeweePaw",
"address_line1": "528 allée de la fréquence Hertz",
"city_locality": "Beaumont",
"state_province": "63",
"postal_code": "63110",
"country_code": "FR",
"address_residential_indicator": "unknown",
"email": "[email protected]"
},
"confirmation": "none",
"insurance_provider": "none",
"packages": [
{
"weight": {
"value": 0.2,
"unit": "kilogram"
},
"dimensions": {
"unit": "centimeter",
"length": 20.0,
"width": 12.0,
"height": 4.0
},
"label_messages": {
"reference1": "FR2024PRO0000440578"
},
"external_package_id": "FR2024PRO0000440578-0",
"content_description": "1 Laisse et longe en TPU imperméable"
}
]
}
}

The response will be a standard purchase label response. The addition of the ship_to_service_point_id and ship_from_service_point_id properties in the request does not add any unique properties to the response.

Example Shop2Shop Label

Not all carriers include a shop address on the label. Some will only display the shop ID number. This sample label shows where both a code and a physical address for the ship_to_service_point_id appear and a box highlights the Service Point ID code.

Colis Prive Example Label using Shop to Shop PUDO Service