def test_postal_inquiry(self): inquiry = FedexValidatePostalRequest(CONFIG_OBJ) inquiry.Address.PostalCode = '29631' inquiry.Address.CountryCode = 'US' inquiry.send_request() assert inquiry.response assert inquiry.response.HighestSeverity == 'SUCCESS'
def validate_postal_address(self, recipient_address): recipient_details = frappe.db.get_value("Address", recipient_address, "*", as_dict=True) inquiry = FedexValidatePostalRequest(self.config_obj) inquiry.Address.PostalCode = recipient_details.get("pincode") inquiry.Address.CountryCode = recipient_details.get("country_code") inquiry.Address.StreetLines = [recipient_details.get("address_line2"),\ recipient_details.get("address_line1")] inquiry.Address.City = recipient_details.get("city") inquiry.Address.StateOrProvinceCode = recipient_details.get( "state_code") inquiry.send_request() if inquiry.response.HighestSeverity not in [ "SUCCESS", "NOTE", "WARNING" ]: self.show_notification(inquiry) frappe.throw(_('Recipient Address verification failed.'))
#!/usr/bin/env python """ ValidatePostalRequest classes are used to validate and receive additional information about postal codes. """ import logging from example_config import CONFIG_OBJ from fedex.services.country_service import FedexValidatePostalRequest # Set this to the INFO level to see the response from Fedex printed in stdout. logging.basicConfig(level=logging.INFO) # We're using the FedexConfig object from example_config.py in this dir. customer_transaction_id = "*** ValidatePostal Request v4 using Python ***" # Optional transaction_id inquiry = FedexValidatePostalRequest(CONFIG_OBJ, customer_transaction_id=customer_transaction_id) inquiry.Address.PostalCode = '29631' inquiry.Address.CountryCode = 'US' inquiry.Address.StreetLines = ['104 Knox Road'] inquiry.Address.City = 'Clemson' inquiry.Address.StateOrProvinceCode = 'SC' # If you'd like to see some documentation on the country service WSDL, un-comment # this line. (Spammy). # print(inquiry.client) # Un-comment this to see your complete, ready-to-send request as it stands # before it is actually sent. This is useful for seeing what values you can # change. # print(inquiry.CarrierCode) # print(inquiry.Address) # print(inquiry.ShipDateTime)
#!/usr/bin/env python """ ValidatePostalRequest classes are used to validate and receive additional information about postal codes. """ import logging from example_config import CONFIG_OBJ from fedex.services.country_service import FedexValidatePostalRequest # Set this to the INFO level to see the response from Fedex printed in stdout. logging.basicConfig(level=logging.INFO) # We're using the FedexConfig object from example_config.py in this dir. customer_transaction_id = "*** ValidatePostal Request v4 using Python ***" # Optional transaction_id inquiry = FedexValidatePostalRequest( CONFIG_OBJ, customer_transaction_id=customer_transaction_id) inquiry.Address.PostalCode = '29631' inquiry.Address.CountryCode = 'US' inquiry.Address.StreetLines = ['104 Knox Road'] inquiry.Address.City = 'Clemson' inquiry.Address.StateOrProvinceCode = 'SC' # If you'd like to see some documentation on the country service WSDL, un-comment # this line. (Spammy). # print(inquiry.client) # Un-comment this to see your complete, ready-to-send request as it stands # before it is actually sent. This is useful for seeing what values you can # change. # print(inquiry.CarrierCode) # print(inquiry.Address)