Image description
This Appendix contains reference tables for the ShipSaving New API (v2).

These tables define the valid values and expected behavior for parameters used in
New API (v2) endpoints and may differ from those in other ShipSaving API versions.

br
**Click on any section below to expand and view the full table.**

details
summary
📦 Carrier Service Types (New API v2)
This section documents the relationship between `carrier_code`, `provider_id`,
and `service_level` used in the ShipSaving New API (v2).

Values for these fields must be compatible as defined in the tables below.

### USPS

| carrier_code | provider_id | service_level |
|  --- | --- | --- |
| USPS | USPS_B | USPS_FIRST_CLASS_MAIL |
| USPS | USPS_B | USPS_GROUND_ADVANTAGE |
| USPS | USPS_B | USPS_PRIORITY_MAIL |
| USPS | USPS_B | USPS_PRIORITY_MAIL_EXPRESS |
| USPS | USPS_B | USPS_MEDIA_MAIL |
| USPS | USPS_B | USPS_LIBRARY_MAIL |
| USPS | USPS_B | USPS_FIRST_CLASS_MAIL_INTERNATIONAL |
| USPS | USPS_B | USPS_PRIORITY_MAIL_INTERNATIONAL |
| USPS | USPS_B | USPS_PRIORITY_MAIL_EXPRESS_INTERNATIONAL |


### USPS Returns

| carrier_code | provider_id | service_level |
|  --- | --- | --- |
| USPS | USPS_R | USPS_GROUND_ADVANTAGE_RETURN |
| USPS | USPS_R | USPS_PRIORITY_MAIL_RETURN |
| USPS | USPS_R | USPS_PRIORITY_MAIL_EXPRESS_RETURN |


### UPS

| carrier_code | provider_id | service_level |
|  --- | --- | --- |
| UPS | UPS_SS_DNI | UPS_GROUND |
| UPS | UPS_SS_DNI | UPS_GROUND_SAVER |
| UPS | UPS_SS_DNI | UPS_NEXT_DAY_AIR |
| UPS | UPS_SS_DNI | UPS_NEXT_DAY_AIR_SAVER |
| UPS | UPS_SS_DNI | UPS_NEXT_DAY_AIR_EARLY |
| UPS | UPS_SS_DNI | UPS_2ND_DAY_AIR |
| UPS | UPS_SS_DNI | UPS_2ND_DAY_AIR_AM |
| UPS | UPS_SS_DNI | UPS_3_DAY_SELECT |
| UPS | UPS_SS_DNI | UPS_STANDARD |
| UPS | UPS_SS_DNI | UPS_WORLDWIDE_SAVER |
| UPS | UPS_SS_DNI | UPS_WORLDWIDE_EXPRESS |
| UPS | UPS_SS_DNI | UPS_WORLDWIDE_EXPRESS_PLUS |
| UPS | UPS_SS_DNI | UPS_WORLDWIDE_EXPEDITED |
| UPS | UPS_SS_DNI | UPS_SUREPOST_LESS_THAN_1_LB |
| UPS | UPS_SS_DNI | UPS_SUREPOST_1_LB_OR_GREATER |


### FedEx

| carrier_code | provider_id | service_level |
|  --- | --- | --- |
| FEDEX | FEDEX_X | FEDEX_GROUND |
| FEDEX | FEDEX_X | FEDEX_2_DAY |
| FEDEX | FEDEX_X | FEDEX_2_DAY_AM |
| FEDEX | FEDEX_X | FEDEX_EXPRESS_SAVER |
| FEDEX | FEDEX_X | FEDEX_STANDARD_OVERNIGHT |
| FEDEX | FEDEX_X | FEDEX_FIRST_OVERNIGHT |
| FEDEX | FEDEX_X | FEDEX_PRIORITY_OVERNIGHT |
| FEDEX | FEDEX_X | FEDEX_HOME_DELIVERY |
| FEDEX | FEDEX_X | FEDEX_SMARTPOST |
| FEDEX | FEDEX_X | FEDEX_STANDARD_OVERNIGHT_EXTRA_HOURS |
| FEDEX | FEDEX_X | FEDEX_FIRST_OVERNIGHT_EXTRA_HOURS |
| FEDEX | FEDEX_X | FEDEX_PRIORITY_OVERNIGHT_EXTRA_HOURS |
| FEDEX | FEDEX_X | FEDEX_INTERNATIONAL_ECONOMY |
| FEDEX | FEDEX_X | FEDEX_INTERNATIONAL_FIRST |
| FEDEX | FEDEX_X | FEDEX_INTERNATIONAL_PRIORITY |
| FEDEX | FEDEX_X | FEDEX_INTERNATIONAL_PRIORITY_EXPRESS |
| FEDEX | FEDEX_X | FEDEX_INTERNATIONAL_CONNECT_PLUS |
| FEDEX | FEDEX_X | FEDEX_DATE_CERTAIN_HOME_DELIVERY |
| FEDEX | FEDEX_X | FEDEX_EVENING_HOME_DELIVERY |
| FEDEX | FEDEX_X | FEDEX_APPOINTMENT_HOME_DELIVERY |
| FEDEX | FEDEX_X | FEDEX_INTERNATIONAL_PRIORITY_PR |


### DHL Express

| carrier_code | provider_id | service_level |
|  --- | --- | --- |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_WORLDWIDE_B2C |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_WORLDWIDE_B2C_NONDOC |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_WORLDWIDE_DOC |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_WORLDWIDE_NONDOC |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_JET_LINE_NONDOC |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_SPRINT_LINE |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_EURO_PACK_DOC |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_EURO_PACK_NONDOC |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_BREAK_BULK_EXPRESS |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_MEDICAL_EXPRESS |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_MEDICAL_EXPRESS_NODOC |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_GLOBAL_MAIL_BUSINESS |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_SAME_DAY |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_ENVELOPE |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_0900 |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_0900_NONDOC |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_1030 |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_1030_NONDOC |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_1200_DOC |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_1200_NONDOC |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_DOMESTIC_EXPRESS |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_DOMESTIC_EXPRESS_0900 |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_DOMESTIC_EXPRESS_1030 |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_DOMESTIC_EXPRESS_1200 |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_DOMESTIC_ECONOMY_SELECT |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_ECONOMY_SELECT |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_ECONOMY_SELECT_NONDOC |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_FREIGHT_WORLDWIDE_NONDOC |
| DHL_EXPRESS | DHL_A | DHL_EXPRESS_WORLDWIDE_ECX |


### UPS Canada

| carrier_code | provider_id | service_level |
|  --- | --- | --- |
| UPS_CANADA | UPS_CANADA | UPS_CANADA_EXPEDITED |
| UPS_CANADA | UPS_CANADA | UPS_CANADA_EXPRESS_EARLY |
| UPS_CANADA | UPS_CANADA | UPS_CANADA_EXPRESS_SAVER |
| UPS_CANADA | UPS_CANADA | UPS_CANADA_EXPRESS |
| UPS_CANADA | UPS_CANADA | UPS_CANADA_STANDARD |
| UPS_CANADA | UPS_CANADA | UPS_CANADA_3_DAY_SELECT |
| UPS_CANADA | UPS_CANADA | UPS_CANADA_EXPRESS_EARLY_SM |
| UPS_CANADA | UPS_CANADA | UPS_CANADA_WORLDWIDE_EXPEDITED_SM |
| UPS_CANADA | UPS_CANADA | UPS_CANADA_WORLDWIDE_EXPRESS_PLUS_SM |
| UPS_CANADA | UPS_CANADA | UPS_CANADA_WORLDWIDE_EXPRESS_SM |
| UPS_CANADA | UPS_CANADA | UPS_CANADA_EXPRESS_SAVER_SM |


### GOFO Express

| carrier_code | provider_id | service_level |
|  --- | --- | --- |
| GOFO_EXPRESS | GOFO_EXPRESS_A | GOFO_EXPRESS_ECO |


### SWIFTX

| carrier_code | provider_id | service_level |
|  --- | --- | --- |
| SWIFTX | SWIFTX | SWIFTX_EXP |


details
summary
📦 Carrier Package Codes (New API v2)
The table below lists all supported `carrier_package_code` values
for the ShipSaving New API (v2).

### USPS

| carrier_package_code |
|  --- |
| USPS_LETTER |
| USPS_LARGE_ENVELOPE_OR_FLAT |
| USPS_THICK_ENVELOPE |
| USPS_SMALL_FLAT_RATE_BOX |
| USPS_MEDIUM_FLAT_RATE_BOX |
| USPS_LARGE_FLAT_RATE_BOX |
| USPS_FLAT_RATE_ENVELOPE |
| USPS_PADDED_FLAT_RATE_ENVELOPE |
| USPS_LEGAL_FLAT_RATE_ENVELOPE |


### UPS

| carrier_package_code |
|  --- |
| UPS_LETTER |
| UPS_25KG_BOX |
| UPS_10KG_BOX |
| UPS_TUBE |
| UPS_PAK |
| UPS_EXPRESS_BOX_SMALL |
| UPS_EXPRESS_BOX_MEDIUM |
| UPS_EXPRESS_BOX_LARGE |


### FedEx

| carrier_package_code |
|  --- |
| FEDEX_ENVELOPE |
| FEDEX_PAK |
| FEDEX_TUBE |
| FEDEX_EXTRA_SMALL_BOX |
| FEDEX_SMALL_BOX |
| FEDEX_MEDIUM_BOX |
| FEDEX_LARGE_BOX |
| FEDEX_EXTRA_LARGE_BOX |
| FEDEX_BOX |
| FEDEX_10KG_BOX |
| FEDEX_25KG_BOX |


### UPS Canada

| carrier_package_code |
|  --- |
| UPS_CANADA_LETTER |
| UPS_CANADA_25KG_BOX |
| UPS_CANADA_10KG_BOX |
| UPS_CANADA_TUBE |
| UPS_CANADA_PAK |
| UPS_CANADA_EXPRESS_BOX |
| UPS_CANADA_EXPRESS_BOX_SMALL |
| UPS_CANADA_EXPRESS_BOX_MEDIUM |
| UPS_CANADA_EXPRESS_BOX_LARGE |


details
summary
🛃 Exemption Code Name Table
The table below lists all supported exemption code name values that may be used
for the `eel_pfc_code` field across ShipSaving APIs.

These values are applicable **only when** the corresponding `eel_pfc_type`
is set to `EXEMPTION_CODE`.

| Exemption Code Name |
|  --- |
| NOEEI 30.2(d)(1) |
| NOEEI 30.2(d)(2) |
| NOEEI 30.2(d)(4) |
| NOEEI 30.26(a) |
| NOEEI 30.30(j) |
| NOEEI 30.36 |
| NOEEI 30.37(a) |
| NOEEI 30.37(b) |
| NOEEI 30.37(c) |
| NOEEI 30.37(d) |
| NOEEI 30.37(e) |
| NOEEI 30.37(f) |
| NOEEI 30.37(g) |
| NOEEI 30.37(h) |
| NOEEI 30.37(i) |
| NOEEI 30.37(j) |
| NOEEI 30.37(k) |
| NOEEI 30.37(l) |
| NOEEI 30.37(m) |
| NOEEI 30.37(n) |
| NOEEI 30.37(o) |
| NOEEI 30.37(p) |
| NOEEI 30.37(q) |
| NOEEI 30.37(r) |
| NOEEI 30.37(s) |
| NOEEI 30.37(t) |
| NOEEI 30.37(u) |
| NOEEI 30.37 (v) |
| NOEEI 30.37 (w) |
| NOEEI 30.37(x) |
| NOEEI 30.37(y) |
| NOEEI 30.37(y)(1) |
| NOEEI 30.37(y)(2) |
| NOEEI 30.37(y)(3) |
| NOEEI 30.37(y)(4) |
| NOEEI 30.37(y)(5) |
| NOEEI 30.37(y)(6) |
| NOEEI 30.39 |
| NOEEI 30.40(a) |
| NOEEI 30.40(b) |
| NOEEI 30.40(c) |
| NOEEI 30.40(d) |
| NOEEI 30.8(b) |


details
summary
🚫 Error Codes
This section lists the error codes that may be returned by endpoints in the ShipSaving New API (v2), organized by module.

### Pickup Error Codes

#### POST /api/shipment/pickup/add

| Error Code | Message |
|  --- | --- |
| `pickup.shipment_not_exist` | Shipment does not exist. |
| `pickup.carrier_provider_not_allowed` | Carrier provider is not allowed. |
| `pickup.shipment_status_not_allowed` | Shipment status is not allowed. |
| `pickup.shipment_tracking_status_not_allowed` | Shipment tracking status is not allowed. |
| `pickup.shipment_label_print_type_not_allowed` | Shipment label print type is not allowed. |
| `pickup.pickup_location_illegal` | Pickup location is invalid. |
| `pickup.shipment_already_in_pickup` | Shipment is already in pickup (tracking no: {tracking_no}). |
| `common.shipment.pickup_carrier_not_support` | The selected carrier is not supported. |
| `common.shipment.pickup_create_fail` | Failed to create pickup. |


#### POST /api/shipment/pickup/cancel

| Error Code | Message |
|  --- | --- |
| `pickup.pickup_not_exist` | Pickup does not exist. |
| `pickup.pickup_is_canceled` | Pickup is already canceled. |