Royal Mail Guide
Royal Mail offers domestic and international shipping solutions for shipments originating in Great Britain. ShipEngine's integration with Royal Mail allows our UK-based ecommerce merchants with a Royal Mail Online Business Account - OBA to create domestic and international shipping labels for small parcels to be delivered anywhere within Royal Mail's extensive delivery network.
This guide provides developers an overview of shipping services that Royal Mail offers and the service codes that you will use to create Royal Mail shipments.
Connect Your Account
ShipEngine API allows you to connect your Royal Mail OBA accounts programmatically without logging in to the ShipEngine API dashboard. This is useful if you have wrapped a custom UI around the ShipEngine API toolset and want to add or disconnect existing carrier accounts without exposing your end users to the API dashboard.
These APIs can be used in parallel with the ShipEngine Partner APIs to programmatically create new ShipEngine users, and then connect existing Royal Mail accounts all via the API without logging into a dashboard. Together these APIs empower you to completely white-label the ShipEngine experience for your end users.
Continue below for instructions on how to programatically connect Royal Mail using the ShipEngine API.
For instructions on connecting Royal Mail via the ShipEngine dashboard, go to our Royal Mail help article.
Account the Connection Workflow
The Royal Mail connection process involves several manual steps. This connection request notifies both ShipEngine and Royal Mail. Your Royal Mail account will remain in an inactive pending
state until Royal Mail sends ShipEngine your validated OBA Credentials.
Once ShipEngine has received your OBA Credentials from Royal Mail, your account will be configured. If you have services that use personalized tracking numbers, a request will be put in to Royal Mail to obtain tracking number ranges for your account. If you do not have personalized tracking ranges, you will be notified and your account will be activated. If a tracking range had to be requested, your account will be activated when Royal Mail sends back the valid ranges.
The credential verification process and the tracking range request process may take up to 5 business days each.
When your Royal Mail carrier connection is fully activated and verified you will receive an email notification, a notification in the ShipEngine dashboard, and if you are subscribed, the API_CARRIER_CONNECTED webhook.
Should any errors on the registration form cause Royal Mail to reject the registration request, ShipEngine will email you to let you know that corrections are needed. Potential errors could result from your shipping address, OBA email, or Royal Mail account number.
Royal Mail Account Information Model
Property | Type | Description |
---|---|---|
nickname | string | required |
account_number | string | required |
oba_email | string | required This is your Royal Mail OBA email address used on the OBA login page. |
company_name | string | required |
contact_name | string | required |
string | required Email address (used by ShipEngine to notify you when Royal Mail is fully configured in your ShipEngine account. It can be the same as the OBA email address, or can be a different one). | |
street_line1 | string | required |
street_line2 | string | ----- |
city | string | required |
postal_code | string | required |
phone | string | required |
posting_location_number | string | required |
Example POST Call to Connect a Royal Mail Account
POST /v1/connections/carriers/royal_mail
Example POST Response
Your account will now appear in your carriers list with an assigned carrier_id
that you will specify when creating Royal Mail shipments.
How to Confirm an Active OBA Account
To locate your OBA account number:
- Log in to your Royal Mail OBA account​.
- Click the ​Access Online Business Account​​ button. This will take you to your OBA account Welcome page.
- Click the ​Access Online Business Account​​ button provided on this screen.
If your OBA account is active you will be directed to your online Business account.
If your account is not active the page will either reload and you will be returned to the same page or you will be directed onto another page headed ‘Sap NetWeaver’.
If your OBA account is not active please ​contact Royal Mail​​ to reactivate your OBA account.
Your Royal Mail OBA Account Number and OBA Company Name will appear above the list of invoices for your account. - Find your ​Account Number​ under the ​Invoices​​ tab.
Royal Mail Service Details
Domestic Services
CLICK TO VIEW Royal Mail Domestic Services
Service | Max. weight (in grams) | Carrier Code | Service API Codes |
---|---|---|---|
1st Class - BPL (Letter, Large Letter, Parcel) | 100, 750, 20000 | BPL_1ST | rm_1st_class |
2nd Class - BPL (Letter, Large Letter, Parcel) | 100, 750, 20000 | BPL_2ND | rm_2nd_class |
1st Class Signed For - BPR (Letter, Large Letter, Parcel) | 100, 750, 20000 | rm_1st_class_signed_for | |
2nd Class Signed For - BPR (Letter, Large Letter, Parcel) | 100, 750, 20000 | BPR_2ND | rm_2nd_class_signed_for |
1st Class Account Mail - STL (Letter, Large Letter, Parcel) | 100, 750, 20000 | STL_1ST | rm_1st_class_account_mail |
2nd Class Account Mail - STL (Letter, Large Letter, Parcel) | 100, 750, 20000 | STL_2ND | rm_2nd_class_account_mail |
Tracked 24 - TPN | 30000 | TPN | rm_tracked_24 |
Tracked 48 - TPS | 30000 | TPS | rm_tracked_48 |
Tracked 24 Letterbox - TRN | 30000 | TRN | rm_tracked_24_letterbox |
Tracked 48 Letterbox - TRS | 30000 | TRS | rm_tracked_48_letterbox |
Special Delivery Guaranteed by 1pm (£750) - SD1 | 10000 | SD1 | rm_special_delivery_1pm_750 |
Special Delivery Guaranteed by 1pm (£1000) - SD2 | 10000 | SD2 | rm_special_delivery_1pm_1000 |
Special Delivery Guaranteed by 1pm (£2500) - SD3 | 10000 | SD3 | rm_special_delivery_1pm_2500 |
Special Delivery Guaranteed by 9am (£750) - SD4 | 2000 | SD4 | rm_special_delivery_9am_750 |
Special Delivery Guaranteed by 9am (£1000) - SD5 | 2000 | SD5 | rm_special_delivery_9am_1000 |
Special Delivery Guaranteed by 9am (£2500) - SD6 | 2000 | SD6 | rm_special_delivery_9am_2500 |
Royal Mail 24 - CRL | ------- | CRL_24 | rm_24 |
Royal Mail 48 - CRL | ------- | CRL_48 | rm_48 |
Royal Mail 24 (sort8) (P) Flat Rate - PK1 | 20000 | PK1 | rm_24_parcel_flat_rate_sort8 |
Royal Mail 48 (sort8) (P) Flat Rate - PK2 | 2000 | PK2 | rm_48_parcel_flat_rate_sort8 |
Royal Mail 24 (sort8) (P) Daily Rate - PK3 | 750, 20000 | PK3 | rm_24_parcel_daily_rate_sort8 |
Royal Mail 48 (sort8) (P) Daily Rate - PK4 | 2000 | PK4 | rm_48_parcel_daily_rate_sort8 |
Royal Mail 24 (sort8) (LL) Daily Rate - FS1 | 750 | FS1 | rm_24_large_letter_daily_rate_sort8 |
Royal Mail 48 (sort8) (LL) Daily Rate - FS2 | 750 | FS2 | rm_48_large_letter_daily_rate_sort8 |
Royal Mail 24 (P) Flat Rate - PPF | 20000 | PPF_24 | rm_24_packetpost_parcel_flat_rate |
Royal Mail 48 (P) Flat Rate - PPF | 20000 | PPF_48 | rm_48_packetpost_parcel_flat_rate |
HM Forces Mail - BF1 | ------- | BF1 | rm_hm_forces_mail |
HM Forces Signed For - BF2 | ------- | BF2 | rm_hm_forces_signed_for |
HM Forces Special Delivery - BF7 | ------- | BF7 | rm_hm_forces_special_delivery |
HM Forces Special Delivery (£1000) - BF8 | ------- | BF8 | rm_hm_forces_special_delivery_1000 |
HM Forces Special Delivery (£2500) - BF9 | ------- | BF9 | rm_hm_forces_special_delivery_2500 |
Tracked 24 High Volume - TPM | ------- | TPM | rm_tracked_24_high_volume |
Tracked 48 High Volume - TPL | ------- | TPL | rm_tracked_48_high_volume |
Tracked 24 Letterbox High Volume - TRM | ------- | TRM | rm_tracked_24_letterbox_high_volume |
Tracked 48 Letterbox High Volume - TRL | ------- | TRL | rm_tracked_48_letterbox_high_volume |
Royal Mail 24 (Presorted) (LL) - FS7 | ------- | FS7 | rm_24_presorted_large_letter |
Royal Mail 48 (Presorted) (LL) - FS8 | ------- | FS8 | rm_48_presorted_large_letter |
Royal Mail 48 (LL) Flat Rate - PK0 | ------- | PK0 | rm_48_large_letter_flat_rate |
Royal Mail 24 (Presorted) (P) - PK7 | ------- | PK7 | rm_24_presorted_parcel |
Royal Mail 48 (Presorted) (P) - PK8 | ------- | PK8 | rm_48_presorted_parcel |
Royal Mail 24 (LL) Flat Rate - PK9 | ------- | PK9 | rm_24_large_letter_flat_rate |
Royal Mail 24 (LL) Annual Flat Rate - PPS | ------- | PPS | rm_24_annual_flat_rate |
Royal Mail 48 (LL) Annual Flat Rate - PPT | ------- | PPT | rm_48_annual_flat_rate |
Royal Mail 48 (sort8) (P) Annual Flat Rate - RM0 | 2000 | RM0 | rm_48_sort8_annual_flat_rate |
Royal Mail 24 (LL) Daily Rate - RM1 | 750 | RM1 | rm_24_large_letter_daily_rate |
Royal Mail 24 (P) Daily Rate - RM2 | 20000 | RM2 | rm_24_parcel_daily_rate |
Royal Mail 48 (LL) Daily Rate - RM3 | 750 | RM3 | rm_48_large_letter_daily_rate |
Royal Mail 48 (P) Daily Rate - RM4 | 2000 | RM4 | rm_48_parcel_daily_rate |
Royal Mail 24 (P) Flat Rate - RM5 | 20000 | RM5 | rm_24_parcel_flat_rate |
Royal Mail 48 (P) Flat Rate - RM6 | 2000 | RM6 | rm_48_parcel_flat_rate |
Royal Mail 24 (sort8) (LL) Annual Flat Rate - RM7 | 750 | RM7 | rm_24_sort8_annual_flat_rate |
Royal Mail 24 (Sort8)(P) Annual Flat Rate - RM8 | 20000 | RM8 | rm_24_sort8_p_annual_flat_rate |
Royal Mail 48 (Sort8)(LL) Annual Flat Rate - RM9 | 750 | RM9 | rm_48_sort8_p_annual_flat_rate |
Tracked Returns 24 - TSN | ------- | TSN | rm_tracked_returns_24 |
Tracked Returns 48 - TSS | ------- | TSS | rm_tracked_returns_25 |
Royal Mail 24 (Presorted)(P) Annual Flat Rate - PKB | ------- | PKB | rm_24_presorted_p_annual_flat_rate |
Royal Mail 48 (Presorted)(P) Annual Flat Rate - PKD | ------- | PKD | rm_48_presorted_p_annual_flat_rate |
Royal Mail 48 (Presorted)(LL) Annual Flat Rate - PKK | ------- | PKK | rm_48_presorted_large_letter_annual_flat_rate |
Royal Mail24 (Presorted)(LL) Annual Flat Rate - PKM | ------- | PKM | rm_24_presorted_large_letter_annual_flat_rate |
Royal Mail 24 Parcelpost Flat Rate (Annual) - PPJ | ------- | PPJ_24 | rm24_rate_annual_flat_rate_annual |
Royal Mail 48 Parcelpost Flat Rate (Annual) - PPJ | ------- | PPJ_48 | rm48_rate_annual_flat_rate_annual |
DE Import Std 24 Parcel | ------- | DEA | intersoft_royalmail_de_import_std_24_parcel |
DE Import Std 48 Parcel | ------- | DEB | intersoft_royalmail_de_import_std_48_parcel |
DE Import Std 24 LLTR | ------- | DEC | intersoft_royalmail_de_import_std_24_lltr |
DE Import Std 48 LLTR | ------- | DED | intersoft_royalmail_de_import_std_48_lltr |
SD GUARANTEED BY 1PM (ID) (£750) | 10000 | SDA | intersoft_royalmail_sd_guaranteed_1pm_750 |
SD GUARANTEED BY 1PM (ID) (£1000) | 10000 | SDB | intersoft_royalmail_sd_guaranteed_1pm_1000 |
SD GUARANTEED BY 1PM (ID) (£2500) | 10000 | SDC | intersoft_royalmail_sd_guaranteed_1pm_2500 |
SD GUARANTEED BY 9AM (ID) (£750) | 2000 | SDE | intersoft_royalmail_sd_guaranteed_9am_750 |
SD GUARANTEED BY 9AM (ID) (£1000) | 2000 | SDF | intersoft_royalmail_sd_guaranteed_9am_1000 |
SD GUARANTEED BY 9AM (ID) (£2500) | 2000 | SDG | intersoft_royalmail_sd_guaranteed_9am_2500 |
SD GUARANTEED BY 1PM (AGE) | 10000 | SDH | intersoft_royalmail_sd_guaranteed_1pm_age |
SD GUARANTEED BY 1PM (IAGE) (£1000) | 10000 | SDJ | intersoft_royalmail_sd_guaranteed_1pm_iage_1000 |
SD GUARANTEED BY 1PM (AGE) (£2500) | 10000 | SDK | intersoft_royalmail_sd_guaranteed_1pm_age_2500 |
SD GUARANTEED BY 9AM (AGE) (£750) | 2000 | SDM | intersoft_royalmail_sd_guaranteed_9am_age_750 |
SD GUARANTEED BY 9AM (AGE) (£1000) | 2000 | SDN | intersoft_royalmail_sd_guaranteed_9am_age_1000 |
SD GUARANTEED BY 9AM (AGE) (£2500) | 2000 | SDQ | intersoft_royalmail_sd_guaranteed_9am_age_2500 |
Royal Mail Tracked 24 (HV) - With Signature (AGE) | 30000 | TPA | intersoft_royalmail_tracked_24_hv_with_signature |
Royal Mail Tracked 48 (HV) - With Signature (AGE) | 30000 | TPB | intersoft_royalmail_tracked_48_hv_with_signature |
Royal Mail Tracked 24 - With Signature (AGE) | 30000 | TPC | intersoft_royalmail_tracked_24_with_signature |
Royal Mail Tracked 48 - With Signature (AGE) | 30000 | TPD | intersoft_royalmail_tracked_48_with_signature |
ROYAL MAIL TRACKED 48 NO SIGNATURE | 30000 | TPSN | intersoft_royalmail_tracked_48_no_signature |
ROYAL MAIL TRACKED 48 SIGNATURE | 30000 | TPSS | intersoft_royalmail_tracked_48_signature |
Special Delivery Guaranteed Weekend (£750) - SEB | 10000 | SEB | rm_special_delivery_weekend_750 |
Special Delivery Guaranteed Weekend (£1000) - SEC | 10000 | SEC | rm_special_delivery_weekend_1000 |
Special Delivery Guaranteed Weekend (£2500) - SED | 10000 | SED | rm_special_delivery_weekend_2500 |
Special Delivery Guaranteed Weekend (AGE) (£750) - SDV | 10000 | SDV | rm_special_delivery_weekend_age_750 |
Special Delivery Guaranteed Weekend (AGE) (£1000) - SDW | 10000 | SDW | rm_special_delivery_weekend_age_1000 |
Special Delivery Guaranteed Weekend (AGE) (£2500) - SDX | 10000 | SDX | rm_special_delivery_weekend_age_2500 |
Special Delivery Guaranteed Weekend (ID) (£750) - SDY | 10000 | SDY | rm_special_delivery_weekend_id_750 |
Special Delivery Guaranteed Weekend (ID) (£1000) - SDZ | 10000 | SDZ | rm_special_delivery_weekend_id_1000 |
Special Delivery Guaranteed Weekend (ID) (£2500) - SEA | 10000 | SEA | rm_special_delivery_weekend_id_2500 |
International Services
CLICK TO VIEW Royal Mail International Services
Service | Max. weight (in grams) | Carrier Code | Service API Codes |
---|---|---|---|
Intl Business Mail Tracked (Zonal Pricing) - MTI | 100 | MTI | rm_intl_business_mail_tracked_zonal |
Intl Business Mail Tracked (Country Pricing) - MTK | 500 | MTK | rm_intl_business_mail_tracked_country |
Intl Business Mail Tracked Extra Comp (Zonal Pricing) - MTJ | 100 | MTJ | rm_intl_business_mail_tracked_extra_zonal |
Intl Business Parcels Tracked (Zonal Pricing) - MP1 | 5000 | MP1 | rm_intl_business_parcels_tracked_zonal |
Intl Business Parcels Tracked (Country Pricing) - MP7 | 5000 | MP7 | rm_intl_business_parcels_tracked_country |
Intl Business Parcels Tracked Extra Comp (Zonal Pricing) - MP4 | 5000 | MP4 | rm_intl_business_parcels_tracked_extra_zonal |
Intl Business Parcels Tracked Extra Comp (Country Pricing) - MP8 | 5000 | MP8 | rm_intl_business_parcels_tracked_extra_country |
Intl Tracked On Account - OTA (Letter, Large Letter, Parcel) | 100, 750, 20000 | OTA | rm_intl_tracked_on_account |
Intl Tracked On Account Extra Comp - OTB(Letter, Large Letter, Parcel) | 100, 750, 20000 | OTB | rm_intl_tracked_on_account_extra |
Intl Business Mail Signed (Zonal Pricing) - MTM (Letter, Large Letter) | 100, 500 | MTM | rm_intl_business_mail_signed_zonal |
Intl Business Mail Signed (Country Pricing) - MTO (Letter, Large Letter) | 100, 500 | MTO | rm_intl_business_mail_signed_country |
Intl Business Mail Signed Extra Comp (Zonal Pricing) - MTN (Letter, Large Letter) | 100, 500 | MTN | rm_intl_business_mail_signed_extra_zonal |
Intl Business Mail Signed Extra Comp (Country Pricing) - MTP | 500 | MTP | rm_intl_business_mail_signed_extra_country |
Intl Business Parcels Signed (Zonal Pricing) - MP5 | 2000 | MP5 | rm_intl_business_parcels_signed_zonal |
Intl Business Parcels Signed (Country Pricing) - MP9 | 2000 | MP9 | rm_intl_business_parcels_signed_country |
Intl Business Parcels Signed Extra Comp (Zonal Pricing) - MP6 | 2000 | MP6 | rm_intl_business_parcels_signed_extra_zonal |
Intl Business Parcels Signed Extra Comp (Country Pricing) - MP0 | 2000 | MP0 | rm_intl_business_parcels_signed_extra_country |
Intl Signed On Account - OSA (Letter, Large Letter, Parcel) | 100, 750, 20000 | OSA | rm_intl_signed_on_account |
Intl Signed On Account Extra Comp - OSB | ------- | OSB | rm_intl_signed_on_account_extra |
Intl Business Mail Tracked & Signed (Zonal Pricing) - MTC (Letter, Large Letter) | 100, 500 | MTC | rm_intl_business_mail_tracked_signed_zonal |
Intl Business Mail Tracked & Signed (Country Pricing) - MTG | 500 | MTG | rm_intl_business_mail_tracked_signed_country |
Intl Business Mail Tracked & Signed Extra Comp (Zonal Pricing) - MTD (Letter, Large Letter) | 100, 500 | MTD | rm_intl_business_mail_tracked_signed_extra_zonal |
Intl Business Mail Tracked & Signed Extra Comp (Country Pricing) - MTH | ------- | MTH | rm_intl_business_mail_tracked_signed_extra_country |
Intl Business Parcels Tracked & Signed (Zonal Pricing) - MTA (Parcel, Printed Paper) | 5000 | MTA | rm_intl_business_parcels_tracked_signed_zonal |
Intl Business Parcels Tracked & Signed (Country Pricing) - MTE | ------- | MTE | rm_intl_business_parcels_tracked_signed_country |
Intl Business Parcels Tracked & Signed Extra Comp (Zonal Pricing) - MTB (Parcel, Printed Paper) | 5000 | MTB | rm_intl_business_parcels_tracked_signed_extra_zonal |
Intl Business Parcels Tracked & Signed Extra Comp (Country Pricing) - MTF (Parcel, Printed Paper) | 5000 | MTF | rm_intl_business_parcels_tracked_signed_extra_country |
Intl Tracked & Signed On Account - OTC (Letter, Large Letter, Parcel) | 100, 750, 2000, 5000 | OTC | rm_intl_tracked_signed_on_account |
Intl Tracked & Signed On Account Extra Comp - OTD (Letter, Large Letter, Parcel) | 100, 750, 2000, 5000 | OTD | rm_intl_tracked_signed_on_account_extra |
Intl Business Mail Large Letter Priority (Max Sort) - PS7 | 500 | PS7 | rm_intl_business_mail_ll_max_sort_priority |
Intl Standard On Account - OLA (Letter, Large Letter, Parcel) | 100, 750, 2000, 5000 | OLA | rm_intl_standard_on_account |
Intl Business Mail Large Letter Standard (Max Sort) - PSB | 500 | PSB | rm_intl_business_mail_ll_max_sort_standard |
Intl Economy On Account - OLS (Letter, Large Letter, Parcel) | 100, 750, 2000, 5000 | OLS | rm_intl_economy_on_account |
Intl Business Mail Large Letter Economy (Max Sort) - PS8 | 500 | PS8 | rm_intl_business_mail_ll_max_sort_economy |
Intl Business Parcels Economy (Zero Sort Lo Vol) - DE6 | 2000 | DE6 | rm_intl_business_parcels_economy_zero_sort_lo_vol |
Intl Business Mail Large Letter Economy (Country Sort Hi Vol) - DG3 | 500 | DG3 | rm_intl_business_mail_economy_ll_ctry_sort_hi_vol |
Intl Business Mail Large Letter Economy (Country Sort Lo Vol) - DG6 | 500 | DG6 | rm_intl_business_mail_economy_ll_ctry_sort_lo_vol |
Intl Business Parcels Economy (Zone Sort) - IE3 | 2000 | IE3 | rm_intl_business_parcels_economy_zone_sort |
Intl Business Mail Large Letter Economy (Zone Sort) - IG3 | 500 | IG3 | rm_intl_business_mail_economy_ll_zone_sort |
Intl Business Mail Large Letter Economy (Zone Sort Machineable) - IG6 | 500 | IG6 | rm_intl_business_mail_economy_ll_zone_sort_machineable |
Intl Business Parcels Standard (Print Direct) - MB2 | ------- | MB2 | rm_intl_business_parcels_standard_print_direct |
Intl Business Parcels Economy (Print Direct) - MB3 | ------- | MB3 | rm_intl_business_parcels_economy_print_direct |
Intl Business Mail Economy (Mixed Zone Sort) - OZ3 | 5000 | OZ3 | rm_intl_business_mail_economy_mixed_zone_sort |
Intl Business Mail Economy (Mixed Zone Sort Machineable) - OZ6 | 5000 | OZ6 | rm_intl_business_mail_economy_mixed_zone_sort_machineable |
Intl Business Parcels Economy (Zero Sort) - WE3 | ------- | WE3 | rm_intl_business_parcels_economy_print_direct_zero_sort |
Intl Business Mail Large Letter Economy (Zero Sort) - WG3 | ------- | WG3 | rm_intl_business_mail_economy_ll_zero_sort |
Intl Business Mail Large Letter Economy (Zero Sort Machineable) - WG6 | ------- | WG6 | rm_intl_business_mail_economy_ll_zero_sort_machineable |
Intl Business Mail Economy (Mixed Zero Sort) - WW3 | ------- | WW3 | rm_intl_business_mail_economy_mixed_zero_sort |
Intl Business Parcels (Zero Sort Hi Vol Priority) - DE1 | 2000 | DE1 | rm_intl_business_parcels_zero_sort_hivol_priority |
Intl Business Parcels(Zero Sort Low Vol Priority) - DE4 | 5000 | DE4 | rm_intl_business_parcels_zero_sort_lowvol_priority |
Intl Business Mail Large Letter (Country Sort Hi Vol Priority) - DG1 | 500 | DG1 | rm_intl_business_mail_large_letter_ctry_hivol_priority |
Intl Business Mail Large Letter (Country Sort Lo Vol Priority) - DG4 | 500 | DG4 | rm_intl_business_mail_large_letter_ctry_lowvol_priority |
Intl Business Parcels (Zone Sort Priority) - IE1 (Parcel, Printed Paper) | 2000, 5000 | IE1 | rm_intl_business_parcels_zone_sort_priority_ie |
Intl Business Parcels Mail Large Letter (Zone Sort) - IG1 | 500 | IG1 | rm_intl_business_parcels_mail_large_letter_zone_sort |
Intl Business Parcels Print Direct Priority - MB1 | ------- | MB1 | rm_intl_business_parcels_print_direct_priority |
Intl Business Parcels Mail (Mixed Zone Sort Priority) OZ1 | ------- | OZ1 | rm_intl_business_parcels_mixed_zone_sort_priority |
Intl Business Parcels Mail (Mixed Zone Sort Priority Machinable) - OZ4 | ------- | OZ4 | rm_intl_business_parcels_mixed_zone-sort_priority_match |
Intl Business Parcels (Zero Sort Priority) - WE1 | ------- | WE1 | rm_intl_business_parcels_zero_sort_priority |
Intl Business Parcels Mail Large Letter (Zero Sort Priority) - WG1 | ------- | WG1 | rm_intl_business_parcels_large_letter_zero_sort_priority |
Intl Business Parcels Mail Large Letter (Zero Sort Priority Machinable) - WG4 | ------- | WG4 | rm_intl_business_parcels_large_letter_zero_sort_priority_match |
Intl Business Parcels Mail (Mixed Zero Sort Priority) - WW1 | ------- | WW1 | rm_intl_business_parcels_mixed_zero_sort_priority Active |
Intl Business Parcels Mail Large Letter (Zone Sort Priority Machineable) - IG4 | ------- | IG4 | rm_intl_business_parcels_mail_large_letter_zone_sort_priority_match |
Intl Business Mail Tracked Letter (Country Pricing Hi Vol) - MPL | ------- | MPL | rm_intl_business_mail_tracked_letter_country_hi_vol |
Intl Business Mail Tracked & Signed Letter (Hi Vol) - MPM | ------- | MPM | rm_intl_business_mail_tracked_signed_letter_hi_vol |
Intl Bus Mail Tracked & Signed Letter Extra Comp (Country Pricing Hi Vol) - MPP | ------- | MPP | rm_intl_business_mail_tracked_signed_letter_extra_comp_country_hi_vol |
Intl Business Mail Signed Letter (Country Pricing Hi Vol) - MPN | 100 | MPN | rm_intl_business_mail_signed_letter_country_hi_vol |
Intl Business Mail Tracked Extra Comp (Country Pricing Hi Vol) - MPO | ------- | MPO | rm_intl_business_mail_tracked_extra_comp_country_hi_vol |
Intl Business Mail (Mixed Zero Sort Priority Machineable) - WW4 | ------- | WW4 | rm_intl_business_mail_mixed_zero_sort_priority_machineable |
Cross-Border Import Tracked 48 High Volume - ITL | ------- | ITL | rm_cb_tracked_48_high_volume |
Cross-Border Import Tracked 24 High Volume - ITM | ------- | ITM | rm_cb_tracked_24_high_volume |
Cross-Border Import Tracked Letter - boxable 24 High Volume - ITC | ------- | ITC | rm_cb_tracked_24_letterbox_high_volume |
Cross-Border Import Tracked Letter - boxable 48 High Volume - ITD | ------- | ITD | rm_cb_tracked_48_letterbox_high_volume |
Cross-Border Import Tracked 24 - ITN | ------- | ITN | rm_cb_tracked_24 |
Cross-Border Import Tracked 48 - ITS | ------- | ITS | rm_cb_tracked_48 |
Cross-Border Import Tracked Letter - boxable 48 - ITE | ------- | ITE | rm_cb_tracked_48_letterbox |
Cross-Border Import Tracked Letter - boxable 24 - ITF | ------- | ITF | rm_cb_tracked_24_letterbox |
Cross-Border Import Tracked Returns 24 - ITA | ------- | ITA | rm_cb_tracked_returns_24 |
Cross-Border Import Tracked Returns 48 - ITB | ------- | ITB | rm_cb_tracked_returns_25 |
Intl Business Parcels Tracked Box (Country Pricing) - MPR | ------- | MPR | rm_intl_business_parcels_tracked_box_lovol_country |
Intl Business Parcels Bespoke Postal - DW1 | ------- | DW1 | rm_international_business_parcels_bespoke_portal |
INTL BUS MAIL LRG LTR MAX SORT RES PRI | ------- | BG1 | intersoft_royalmail_intl_business_mail_lrg_ltr_max_sort_pri |
INTL BUS MAIL LRG LTR MAX SORT RES STD | ------- | BG2 | intersoft_royalmail_intl_business_mail_lrg_ltr_max_sort_std |
INTL BUS MAIL L LTR MAX SORT RES ECONOMY | ------- | BG3 | intersoft_royalmail_intl_business_lrg_ltr_max_sort_econ |
INTL BUS MAIL LETTERS MAX SORT RES PRI | ------- | BP1 | intersoft_royalmail_intl_business_mail_letter_max_sort_pri |
INTL BUS MAIL LETTERS MAX SORT RES STD | ------- | BP2 | intersoft_royalmail_intl_business_mail_letters_max_sort_std |
INTL BUS MAIL LTR MAX SORT RES ECONOMY | ------- | BP3 | intersoft_royalmail_intl_business_mail_ltr_max_sort_econ |
DE Import to EU Tracked & Signed LLTR | 500 | DEE | intersoft_royalmail_de_import_eu_tracked_signed_lltr |
DE Import to EU Max Sort LLTR | 500 | DEG | intersoft_royalmail_de_import_eu_max_sort_lltr |
DE Import to EU Tracked Parcel | 5000 | DEI | intersoft_royalmail_de_import_eu_tracked_parcel |
DE Import to EU Tracked Parcel & Signed Parcel | 5000 | DEJ | intersoft_royalmail_de_import_eu_tracked_parcel_signed_parcel |
DE Import to EU Tracked LLTR | 500 | DEK | intersoft_royalmail_de_import_eu_tracked_lltr |
DE Import to EU Max Sort Parcel | 2000 | DEM | intersoft_royalmail_de_import_eu_max_sort_parcel |
DE Import to EU Signed Parcel (Parcel, Printed Paper) | 2000, 5000 | ITR | intersoft_royalmail_de_import_eu_signed_parcel |
INTL BUS MAIL LTR CTRY SORT HI VOL PRI | 100 | DP1 | intersoft_royalmail_intl_business_mail_ltr_ctry_hi_vol_pri |
INTL BUS MAIL LTR CTRY SORT HI VOL ECON | 100 | DP3 | intersoft_royalmail_intl_business_mail_ltr_ctry_sort_hi_vol_econ |
INTL BUS MAIL LTR CTRY SORT LO VOL PRI | 100 | DP4 | intersoft_royalmail_intl_business_mail_ltr_ctry_sort_lo_vol_pri |
INTL BUS MAIL LTR CTRY SORT LO VOL ECON | 500 | DP6 | intersoft_royalmail_intl_business_mail_ltr_ctry_sort_lo_vol_econ |
INTL BUS MAIL LTR ZONE SORT PRI | 100 | IP1 | intersoft_royalmail_intl_business_mail_ltr_zone_sort_pri |
INTL BUS MAIL LTR ZONE SORT ECONOMY | 100 | IP3 | intersoft_royalmail_intl_business_mail_ltr_zone_sort_economy |
INTL BUS MAIL LETTERS ZONE SORT PRI MCH | 100 | IP4 | intersoft_royalmail_intl_business_mail_letters_zone_sort_pri_mch |
INTL BUS MAIL LTR ZONE SRT ECONOMY MCH | 100 | IP6 | intersoft_royalmail_intl_business_mail_ltr_zone_srt_economy_mch |
INTL BUS PRCLS TRK&SGN DDP | ------- | MTV | intersoft_royalmail_intl_bus_prcls_trk_sgn_ddp |
INTL BUS PARCELS BOXABLE ZONE SORT PRI | ------- | MUC | intersoft_royalmail_intl_bus_parcels_boxable_zone_sort_pri |
INTL BUS PARCELS BOXABLE ZONE SORT ECON | ------- | MUD | intersoft_royalmail_intl_bus_parcels_boxable_zone_sort_econ |
INTL BUS PARCELS TRACKED BOX ZONE SORT | ------- | MUG | intersoft_royalmail_intl_bus_parcels_tracked_box_zone_sort |
INTL BUS PRCL TRCKD BOX ZONE SRT XTR CMP | ------- | MUH | intersoft_royalmail_intl_bus_prcl_trckd_box_zone_srt_xtr_cmp |
INTL BUS MAIL LETTERS MAX SORT STANDARD | ------- | PSA | intersoft_royalmail_intl_bus_mail_letters_max_sort_standard |
QM/10 Option 2 over 500g | 2000 | TC1 | intersoft_royalmail_qm_10_option_2_over_500g |
QM/10 Option 2 Mixed Mail | 5000 | TC2 | intersoft_royalmail_qm_10_option_2_mixed_mail |
INTL Business-PC-MaxSort-LTR | ------- | PS5 | rm_intl_business_pc_maxsort_ltr |
INTL Business PrintedMatter PKT | ------- | BPI | rm_intl_business_printedmatter_pkt |
Packages
Name | API Code | Package Attributes |
---|---|---|
Large Letter | large_letter | International, Domestic |
Parcel | parcel | International, Domestic |
Small Parcel | royal_mail_small_parcel | Domestic |
Medium Parcel | royal_mail_medium_parcel | Domestic |
Printed Papers | royal_mail_printed_papers | International |
Royal Mail Enhancement Codes
Royal Mail has enhancement codes that correspond to delivery confirmation types in ShipEngine.
For example, the Royal Mail enhancement code for the Signed For service maps to the confirmation type direct_signature
.
Only certain services allow certain enhancements. If you choose an option that is not supported with a selected service, then you’ll get a generic error, like Error code E0004 - Failed Schema Validation.
Please consult with Royal Mail for the latest version of Key FAQs for Royal Mail API Shipping, their page RMG Shipping API Technical User Guide, or similar documentation to learn more about enhancement codes.
Return Services
To create return labels, Royal Mail must approve you for at least one of the following services:
Service | Max. weight (in grams) | Carrier Code | Service API Codes |
---|---|---|---|
Tracked Returns 24 - TSN | 30000 | TSN | rm_tracked_returns_24 |
Tracked Returns 48 - TSS | 30000 | TSS | rm_tracked_returns_25 |
Both Royal Mail return services support labelless shipping. Review our Paperless Labels guide for details on creating paperless labels in ShipEngine.
Review the Return Shipping Labels page for details on creating return labels with ShipEngine.
Shipping with Royal Mail
Requirements
- Royal Mail requires a Ship from address with both Name and Company Name included.
- VAT and EORI numbers are required for international shipments.
These are added in the Tax Identifiers Object when creating your international label.
Adding Shipment Insurance
Adding shipment insurance is not supported for this carrier.
Advanced Options
Royal Mail supports the following advanced options:
- Saturday/Weekend Delivery
To ensure your parcels are delivered on Saturday when you create Royal Mail shipments on a Friday, select one of the Special Delivery Guaranteed services when you configure your label. See the Royal Mail page on Special Delivery for more information and restrictions. - Carrier SMS and Email tracking notifications
Royal Mail supports theNotificationPhone
andNotificationEmail
advanced options. When these fields and values are present when creating a Royal Mail label, Royal Mail will then send the recipient SMS or Email notifications while the shipment is en route to its destination.
To see what advanced options are available with any carrier, use the List Carrier Advanced Options call.
Royal Mail Customs Declarations
Custom forms will print with the label for your international shipments.
- ShipEngine does not provide CN22 forms, only CN23. However, CN23 forms are sufficient for both low and high-value shipments.
- If there are too many different content types to fit on one page, the CN23 automatically extends to an additional page.
Shipping to the Channel Islands
Guernsey and Jersey: Royal Mail requires customs declarations for Channel Islands shipments to Guernsey and Jersey. Please use the country code GE and JE, respectively. Royal Mail will not produce these forms if the country code is GB.
Isle of Man: Change the country code to IM and then the proper forms will be included with the label. Isle of Man (IOM) shipments do not require customs and there is no option to select IOM
as a country code.
Royal Mail Additional Details
- Royal Mail shipments do not set a default confirmation type.
- ShipEngine cannot return estimated rates for Royal Mail services, as Royal Mail does not currently allow third-party apps, like ShipEngine, to connect to their Rates API.
- Address line has a character limit of 35.
- Only Label Message 1 is supported. It has a character limit of 20.
- You must set pickups (daily and other schedules) within Royal Mail. This cannot be done via ShipEngine.
Royal Mail Troubleshooting Tips
Here are tips on how to handle some common issues when shipping with Royal Mail.
Issue | How to troubleshoot or resolve |
---|---|
Error: Confirmation value direct_signature is currently only supported by FedEx | What it means: Royal Mail enhancement code for the Signed For service now maps to the confirmation type direct_signature. What to do: Resend the API call, and map direct_signature as the enhancement code for the Royal Mail Signed For service confirmation type. |
Error: Unable to generate Royal Mail label. Label (Bad Request, Carrier Error Code: E1000). Recorded Signed For is not a valid enhancement for the TPSS service. RecordedSignedFor (Bad Request, Carrier error Code: E1437). (400,28024f52=6eb5-4102-b245-49ca414598fc) | What it means: You are trying to use a service with an enhancement code that is not allowed. Some enhancements can only be added to certain services. For example, Tracked 48 can only have Signature, not Signed For/Recorded. What to do: Double-check the options and extras for that service. |
End of Day error: "Error transmitting to OBA. Details: Access Denied (not authenticated)" | What it means: You may have a "Pre-paid" Royal Mail account. This type of account cannot be accessed via a third-party shipping platform and thus is not supported. What to do: Contact Royal Mail for asssistance. |
Error: Invalid Origin Address Postal Code for {warehouse.OriginName} | What it means: The Ship From Origin Address entered is not valid per Royal Mail. What to do: Check the address on Royal Mail's address verification site and correct as needed. |
Error: A shipping carrier error occurred: The field destinationCompanyName exceeds the maximum allowable length of 35 (Bad Request, Carrier Error Code: E1205). | What it means: The Company Name in the request contains too many characters. What to do: Check the Company Name and truncate the name to fall within the 35-character limit. |
Error: One or more errors were encountered when attempting to close shipments. Please review the errors below. | What it means: You are trying to close shipments from the previous week after the time limit. Every Friday evening (UK time), Royal Mail auto-closes shipments for the previous week, which means you can no longer close them in ShipEngine. For example, you'll see this error if you try to close a shipment from March 18th on March 20th. What to do: If you require the physical manifest, contact ShipEngine UK's support and we can try to generate this internally for you. |
Error: Error transmitting to OBA. Details: Access Denied (not authenticated) | What it means: If you receive this error message, it may indicate that you have a 'Pre-paid' Royal Mail account. This type of account cannot be accessed via a third-party shipping platform and thus is not supported. What to do: Direct any questions to Royal Mail. |
Error: Attempting to divide by zero | What it means: This means you are missing customs declaration information for one of your shipments. What to do: Check the customs declarations for the shipments contained in the End of Day to ensure they include all the required information: Description, Quantity, Value, Content Type, and Country of Origin. |
Error: Royal Mail: The given key was not present in the dictionary | What it means: This error typically means that when you attempted to get a rate or create a label, you selected Small Parcel for an international shipment. The package type Small Parcel is only available for domestic UK shipments. What to do: Select the Parcel package type. To check if the Parcel package type option is available in your account, use the call to List Carrier Package Types. |
Example Label
This is an example of a label using Royal Mail 48 - CRL service.
You are now ready to create shipments using Royal Mail via ShipEngine!