Расчет тарифа доставки почтой Австралии - PullRequest
4 голосов
/ 04 октября 2010

Любой, кто имеет опыт работы с любым приложением электронной коммерции, где вы рассчитали стоимость доставки на лету.В частности, я имею в виду почтовую службу Австралии.

Не могли бы вы указать мне правильное направление.Я подумываю об использовании шаблона провайдера, с помощью которого я могу подключить любого провайдера доставки в соответствии с профилем пользователя.

Объяснение согласно австралийской почте - это то, что я ищу, но если у кого-то есть какие-либо предложения с использованием любого другого провайдера,Я в порядке.

К вашему сведению - я имею в виду ASP.net, c # (.Net 4.0) Заранее спасибо,

Ответы [ 2 ]

1 голос
/ 01 июля 2014

Шаг 1: создайте учетную запись и получите ключ

http://auspost.com.au/

Шаг 2: создайте функцию на странице MyPage.aspx.cs

protected string CalculateCharge(string lngth, string wdth, string hgth, string fpcode, string tpcode, string weght, string service_code)
        {
            string url = "https://auspost.com.au/api/postage/parcel/domestic/calculate.xml?";
            url = url + "length=" + HttpUtility.UrlEncode(lngth) + "&width=" + HttpUtility.UrlEncode(wdth) + "&height=" + HttpUtility.UrlEncode(hgth) + "&from_postcode=" + HttpUtility.UrlEncode(fpcode) + "&to_postcode=" + HttpUtility.UrlEncode(tpcode) + "&option_code=&weight=" + HttpUtility.UrlEncode(weght) + "&service_code=" + HttpUtility.UrlEncode(service_code) + "&extra_cover=";
            Uri objURI = new Uri(url);
            HttpWebRequest objwebreq = (HttpWebRequest)WebRequest.Create(objURI);
            objwebreq.ContentType = "text/xml;charset=utf-8;";

            objwebreq.Method = "Get";
            objwebreq.Timeout = 15000;

            objwebreq.Headers.Set("AUTH-KEY", "here enter your key");

            HttpWebResponse objWebResponse = (HttpWebResponse)objwebreq.GetResponse();
            Stream objStream = objWebResponse.GetResponseStream();
            StreamReader objStreamReader = new StreamReader(objStream);
            return objStreamReader.ReadToEnd();

        }

Шаг3: передать параметр при нажатии функциональной кнопки:

protected void btnShippingCalculate_Click(object sender, EventArgs e)
    {


            string xmlresult = CalculateCharge("10", "10", "10", "3216","3217" ,"5", "AUS_PARCEL_REGULAR");
            DataSet ds = new DataSet();
            System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
            doc.LoadXml(xmlresult);
            ds.ReadXml(new System.IO.StringReader(doc.OuterXml));
            GridView1.DataSource = ds;
            GridView1.DataBind();

        }

Примечание:

service_code:

AUS_PARCEL_REGULAR
AUS_PARCEL_EXPRESS
AUS_PARCEL_PLATINUM

Вес: в кг

Вот и все !!!

1 голос
/ 04 октября 2010

Australia Post имеет API калькулятора скорости доставки .

Следующие инструкции разработаны для того, чтобы вы могли получить доступ к функциональности калькулятора доставки Post eDeliver (DRC).непосредственно с вашего торгового сайта.DRC доступен для продавцов, которые хотели бы предложить онлайн оценку стоимости доставки для своих клиентов.

Я этим не пользовался, поэтому больше не могу вам об этом рассказать.

...