Delivery¶
Piggyback supports three delivery methods:
| Method | Code | Description |
|---|---|---|
| E-Card | ecard |
Instant email delivery with view link |
| Posted | post |
Physical card printed and posted |
| Print at Home | print |
PDF/download for self-printing |
E-Card delivery¶
E-cards are sent via Django's email framework. Recipients receive a branded email with a link to view their card at /cards/view/{token}/.
Configure the public URL for view links:
PIGGYBACK_PUBLIC_URL = "https://cards.yoursite.com"
Postal delivery¶
The built-in PostalDeliveryBackend is a stub that queues cards for fulfilment and generates a tracking reference (PB-00000001). Replace it with your print partner integration:
PIGGYBACK_POSTAL_DELIVERY_BACKEND = "myapp.backends.PrintPartnerBackend"
Scheduled delivery¶
Schedule a card for future delivery:
POST /api/orders/add_to_cart/
{
"card_id": 1,
"recipient_id": 2,
"delivery_method": "ecard",
"scheduled_for": "2026-12-25T09:00:00Z"
}
Gift add-ons¶
Attach gifts to posted cards:
POST /api/orders/add_to_cart/
{
"card_id": 1,
"recipient_id": 2,
"delivery_method": "post",
"gift_addon_id": 1,
"gift_wrap": true
}
Tracking¶
GET /api/deliveries/
Returns delivery status, tracking reference, and view token for each delivery.