royal_mail_rest_api package¶
Submodules¶
royal_mail_rest_api.api module¶
Main module.
royal_mail_rest_api.errors module¶
royal_mail_rest_api.example module¶
royal_mail_rest_api.get_credentials module¶
royal_mail_rest_api.shipping module¶
-
class
royal_mail_rest_api.shipping.
ShippingApi
(client_id, client_secret, username, password)[source]¶ Bases:
royal_mail_rest_api.api.RoyalMailBaseClass
Royal Mail Shipping Class, used to communicate with the Royal Mail Rest API to create labels
-
delete_shipment
(shipment_number)[source]¶ Description
Delete a shipment. Send a shipment identifier in Url. Successful response will be 200 with no content.
Returns:
-
delete_shipment_url
= '/shipping/v2/'¶
-
get_token
()[source]¶ Method to get a JWT token
This method will accept a DMO/NEOPOST user name and password. On successful validation of the user credential it will issue a JWT token to the user which will be valid for 4 hours. On subsequent requests, user will pass the JWT token in the request header.
Returns:
-
post_domestic
(data)[source]¶ Operation to create a shipment
This method will take a domestic shipment request in the body and on successful response, it will return the shipment numbers and item details. :return:
-
post_domestic_url
= '/shipping/v2/domestic'¶
-
post_manifest_url
= '/shipping/v2/manifest'¶
-
put_manifest
(sales_order_number=None, manifest_batch_number=None)[source]¶ This method return a manifest label for a previously manifested shipment.
Returns:
-
put_shipment
(shipment_number, data)[source]¶ updateShipment
Update a shipment. Send a shipment request in body. On successful response, it will return shipment number and warnings. Service related information can not be updated, and if passed as part of request, it will be ignored.
Returns:
-
put_shipment_label
(shipment_number)[source]¶ This method returns a label for the shipment identifier passed in the url.
Returns:
-
put_shipment_label_url
= '/shipping/v2/'¶
-
put_shipment_update_url
= '/shipping/v2/'¶
-
token_url
= '/shipping/v2/token'¶
-
royal_mail_rest_api.tools module¶
-
class
royal_mail_rest_api.tools.
RoyalMailBody
(shipment_type)[source]¶ Bases:
object
-
add_items
(number, weight, unit_of_measure)[source]¶ Add items- currently only a single item :param number: :param weight: :param unit_of_measure: :return:
-
add_receipient_address
(address_line1, post_town, county, postcode, country, building_name=None, building_number=None, address_line2=None, address_line3=None)[source]¶ Add address of receipient :param address_line1: :param post_town: :param county: :param postcode: :param country: :param building_name: :param building_number: :param address_line2: :param address_line3: :return:
-
add_receipient_contact
(name, email, complementary_name=None, telephone=None)[source]¶ Add the name and contact of who this is being sent to :param name: :param email: :param complementary_name: :param telephone: :return:
-
add_service_enhancements
(enhancement)[source]¶ add a single service enhancement, can be called multiple times to append required items :param enhancement: :return:
-
add_service_format
(format=None)[source]¶ add a valid service format using our friendly names :param format: :return:
-
add_service_offering
(service_offering=None)[source]¶ add a valid service offering using our friendly names :param service_offering: :return:
-
add_service_type
(service_type=None)[source]¶ add a valid service type using our friendly names :param service_type: :return:
-
add_ship_date
(date_obj=None)[source]¶ take a datetime object and format it to royal mails Y-m-d format :param date_obj: :return:
-
add_signature
(signature=False)[source]¶ Do we want a signature on delivery :param signature: :return:
-
static
remove_none_values
(iterable)[source]¶ take out values of None by removing the key :param iterable: :return: dictionary
-
service_enhancements
= {'e-mail_notification': '14', 'local_collect': '22', 'loss_1000': '1', 'loss_10000': '5', 'loss_2500': '2', 'loss_5000': '3', 'loss_750': '11', 'loss_7500': '4', 'recorded': '6', 'safeplace': '15', 'saturday_guaranteed': '24', 'signature': '12', 'sms_and_e-mail_notification': '16', 'sms_notification': '13'}¶
-
service_formats
= {'inland_format_not_applicable': 'N', 'inland_large_letter': 'F', 'inland_letter': 'L', 'inland_parcel': 'P', 'international_format_not_applicable': 'N', 'international_large_letter': 'G', 'international_letter': 'P', 'international_parcel': 'E'}¶
-
service_offerings
= {'1st_and_2nd_class_account_mail': 'STL', 'international_signed_on_account': 'OSA', 'international_tracked_and_signed_on_acct': 'OTC', 'international_tracked_on_account': 'OTA', 'intl_bus_mail_l_ltr_ctry_srt_hi_vol_economy_': 'DG3', 'intl_bus_mail_l_ltr_ctry_srt_hi_vol_priority_': 'DG1', 'intl_bus_mail_l_ltr_ctry_srt_lo_vol_economy_': 'DG6', 'intl_bus_mail_l_ltr_ctry_srt_lo_vol_priority_': 'DG4', 'intl_bus_mail_l_ltr_zero_srt_economy_mch': 'WG6', 'intl_bus_mail_l_ltr_zone_srt_economy_mch_': 'IG6', 'intl_bus_mail_lrg_ltr_max_sort_economy': 'PS8', 'intl_bus_mail_lrg_ltr_max_sort_priority': 'PS7', 'intl_bus_mail_lrg_ltr_max_sort_standard': 'PSB', 'intl_bus_mail_lrg_ltr_zero_sort_economy': 'WG3', 'intl_bus_mail_lrg_ltr_zero_srt_pri_mch': 'WG4', 'intl_bus_mail_lrg_ltr_zero_srt_priority': 'WG1', 'intl_bus_mail_lrg_ltr_zone_sort_economy': 'IG3', 'intl_bus_mail_lrg_ltr_zone_sort_pri': 'IG1', 'intl_bus_mail_lrg_ltr_zone_srt_pri_mch': 'IG4', 'intl_bus_mail_mixd_zero_srt_economy_mch': 'WW6', 'intl_bus_mail_mixed_zero_sort_economy': 'WW3', 'intl_bus_mail_mixed_zero_sort_premium': 'ZC1', 'intl_bus_mail_mixed_zero_sort_pri_mch': 'WW4', 'intl_bus_mail_mixed_zero_sort_priority': 'WW1', 'intl_bus_mail_mixed_zone_sort_economy': 'OZ3', 'intl_bus_mail_mixed_zone_sort_pri_mch': 'OZ4', 'intl_bus_mail_mixed_zone_sort_priority': 'OZ1', 'intl_bus_mail_mixed_zone_srt_economy_mch': 'OZ6', 'intl_bus_mail_signed': 'MTM', 'intl_bus_mail_signed_country_priced': 'MTO', 'intl_bus_mail_signed_extra_comp': 'MTN', 'intl_bus_mail_signed_extra_comp_country': 'MTP', 'intl_bus_mail_track_and_sign_xtr_comp_ctry': 'MTH', 'intl_bus_mail_tracked': 'MTI', 'intl_bus_mail_tracked_and_signed': 'MTC', 'intl_bus_mail_tracked_and_signed_country': 'MTG', 'intl_bus_mail_tracked_and_signed_xtr_comp': 'MTD', 'intl_bus_mail_tracked_country_priced': 'MTK', 'intl_bus_mail_tracked_extra_comp': 'MTJ', 'intl_bus_mail_tracked_extra_comp_ctry': 'MTL', 'intl_bus_parcel_track&sign_xtr_cmp_ctry': 'MTF', 'intl_bus_parcels_max_sort_economy': 'PS0', 'intl_bus_parcels_max_sort_priority': 'PS9', 'intl_bus_parcels_max_sort_standard': 'PSC', 'intl_bus_parcels_print_direct_economy': 'MB3', 'intl_bus_parcels_print_direct_priority': 'MB1', 'intl_bus_parcels_print_direct_standard': 'MB2', 'intl_bus_parcels_signed': 'MP5', 'intl_bus_parcels_signed_country_priced': 'MP9', 'intl_bus_parcels_signed_extra_comp': 'MP6', 'intl_bus_parcels_signed_extra_comp_ctry': 'MP0', 'intl_bus_parcels_tracked': 'MP1', 'intl_bus_parcels_tracked_and_signed': 'MTA', 'intl_bus_parcels_tracked_and_signed__ctry': 'MTE', 'intl_bus_parcels_tracked_country_priced': 'MP7', 'intl_bus_parcels_tracked_extra_comp': 'MP4', 'intl_bus_parcels_tracked_extra_comp_ctry': 'MP8', 'intl_bus_parcels_tracked_signed_xtr_comp': 'MTB', 'intl_bus_parcels_zero_sort_economy': 'WE3', 'intl_bus_parcels_zero_sort_hi_vol_economy_': 'DE3', 'intl_bus_parcels_zero_sort_hi_vol_priority_i': 'DE1', 'intl_bus_parcels_zero_sort_priority': 'WE1', 'intl_bus_parcels_zero_srt_lo_vol_economy_': 'DE6', 'intl_bus_parcels_zero_srt_lo_vol_priority_': 'DE4', 'intl_bus_parcels_zone_sort_economy': 'IE3', 'intl_bus_parcels_zone_sort_plus_priority': 'MTQ', 'intl_bus_parcels_zone_sort_priority_': 'IE1', 'intl_bus_parcels_zone_srt_plus_economy': 'MTS', 'intl_economy_on_account': 'OLS', 'intl_signed_on_account_extra_comp': 'OSB', 'intl_standard_on_account': 'OLA', 'intl_tracked_and_signed_on_acct_extra_comp': 'OTD', 'intl_tracked_on_account_extra_comp': 'OTB', 'royal_mail_24_48': 'CRL', 'royal_mail_24_48_p_flat_rate': 'PPF', 'royal_mail_24_ll_daily_rate': 'RM1', 'royal_mail_24_ll_flat_rate': 'PK9', 'royal_mail_24_p_daily_rate': 'RM2', 'royal_mail_24_p_flat_rate': 'RM5', 'royal_mail_24_sort8_ll_daily_rate': 'RM7', 'royal_mail_24_sort8_ll_flat_rate': 'FS1', 'royal_mail_24_sort8_llp_daily_rate': 'PK3', 'royal_mail_24_sort8_p_daily_rate': 'RM8', 'royal_mail_24_sort8_p_flat_rate': 'PK1', 'royal_mail_48_ll_daily_rate': 'RM3', 'royal_mail_48_ll_flat_rate': 'PK0', 'royal_mail_48_p_daily_rate': 'RM4', 'royal_mail_48_p_flat_rate': 'RM6', 'royal_mail_48_sort8_ll_daily_rate': 'RM9', 'royal_mail_48_sort8_ll_flat_rate': 'FS2', 'royal_mail_48_sort8_llp_daily_rate': 'PK4', 'royal_mail_48_sort8_p_daily_rate': 'RM0', 'royal_mail_48_sort8_p_flat_rate': 'PK2', 'royal_mail_tracked_24': 'TPN', 'royal_mail_tracked_24_hv': 'TPM', 'royal_mail_tracked_24_lbt': 'TRN', 'royal_mail_tracked_24_lbt_hv': 'TRM', 'royal_mail_tracked_48': 'TPS', 'royal_mail_tracked_48_hv': 'TPL', 'royal_mail_tracked_48_lbt': 'TRS', 'royal_mail_tracked_48_lbt_hv': 'TRL', 'royal_mail_tracked_returns_24': 'TSN', 'royal_mail_tracked_returns_48': 'TSS', 'sd_guaranteed_by_1pm': 'SD1', 'sd_guaranteed_by_1pm_1000': 'SD2', 'sd_guaranteed_by_1pm_2500': 'SD3', 'sd_guaranteed_by_9am': 'SD4', 'sd_guaranteed_by_9am_1000': 'SD5', 'sd_guaranteed_by_9am_2500': 'SD6'}¶
-
service_types
= {'BFPO': 'H', 'Royal Mail 48': '2', 'international': 'I', 'royal_mail_24': '1', 'royal_mail_tracked': 'T', 'special_delivery': 'D', 'tracked_returns': 'R'}¶
-
-
class
royal_mail_rest_api.tools.
valid_service
(serviceType, serviceOffering, serviceFormat, enhancementType, signatureTracked, safePlace)¶ Bases:
tuple
-
enhancementType
¶ Alias for field number 3
-
safePlace
¶ Alias for field number 5
-
serviceFormat
¶ Alias for field number 2
-
serviceOffering
¶ Alias for field number 1
-
serviceType
¶ Alias for field number 0
-
signatureTracked
¶ Alias for field number 4
-
royal_mail_rest_api.tracking module¶
-
class
royal_mail_rest_api.tracking.
TrackingApi
(client_id, client_secret)[source]¶ Bases:
royal_mail_rest_api.api.RoyalMailBaseClass
Start class for royal mail shipping api
-
history
(tracking_number)[source]¶ Return history for a tracked item :param tracking_number: :return:
-
history_url
= 'mailPieces/{}/history'¶
-
pod_url
= 'mailPieces/{}/proofOfDelivery'¶
-
proof_of_delivery
(tracking_number)[source]¶ recover proof of delivery :param tracking_number: :return:
-
summary
(tracking_number)[source]¶ takes 13 digit tracking number and requests summary data :param tracking_number: :return: tracking_summary
-
summary_url
= 'mailPieces/{}/summary'¶
-
Module contents¶
Top-level package for Royal Mail Rest API.