Endpoints
POST

Create shipment

Register a new pickup request. Called by Shop.mn whenever a vendor confirms an order that requires PickPack delivery.

POSThttps://pickpack.api.demo.mn/pickpack/v1/shipments

Request body#

order_idrequired
string
The Shop.mn order identifier this shipment is for. Returned in all webhook events tied to this shipment.
vendor_idrequired
string
The Shop.mn vendor that is shipping the parcel.
pickup_addressrequired
object
The address PickPack should collect the parcel from. See the Address object below.
delivery_addressrequired
object
The customer-facing delivery destination.
parcelrequired
object
Physical dimensions and weight of the parcel.
service_leveloptional
enum
Default: standard
Delivery speed tier requested by the vendor.
standardexpresssame_day
cash_on_deliveryoptional
object
Optional COD instructions. Include amount and currency when present.
metadataoptional
object
Arbitrary key-value pairs Shop.mn attaches for its own tracking. Returned verbatim on every webhook.

The Address object#

Used for both pickup_address and delivery_address.

namerequired
string
Contact name at this address.
phonerequired
string
Contact phone in E.164 format (e.g. +97699112233).
line1required
string
Street address line 1.
line2optional
string
Apartment, door code, or extra delivery hint.
districtrequired
string
District (дүүрэг) name.
cityrequired
string
City name. Defaults to "Ulaanbaatar".
latoptional
number
Latitude of the pin, if the vendor or customer dropped one.
lngoptional
number
Longitude of the pin.

Response#

Returns the newly created Shipment object on success with HTTP 201 Created.

idrequired
string
PickPack shipment ID. Use this on all subsequent webhook events.
statusrequired
enum
Initial status — always `created` on success.
created
tracking_numberrequired
string
Human-friendly tracking number shown to the end customer.
estimated_pickup_atrequired
timestamp
ISO 8601 UTC timestamp of expected courier pickup.
label_urloptional
string
Pre-signed URL to a PDF shipping label, valid for 24 hours.
created_atrequired
timestamp
ISO 8601 UTC timestamp of resource creation.
Use Idempotency-Key
Always send an Idempotency-Key header on this endpoint. A network retry without one can create a duplicate shipment for the same order.
Phone format
All phone numbers must be in E.164 format. Requests with locally-formatted Mongolian numbers (e.g. 99112233) are rejected with 422 Unprocessable Entity.