2010-10-04 5 views
5

Ist jemand Erfahrung mit jeder e-Commerce-Anwendung, wo Sie Versandkosten auf Fly berechnet haben. Ich beziehe mich insbesondere auf den Dienst Australien Post.Australien Post Versand Rate Berechnung

Könnten Sie bitte führen Sie mich in die richtige Richtung. Ich denke daran, Provider-Muster zu verwenden, mit denen ich jeden Versandanbieter nach Benutzerprofil pluginieren kann.

Erklärung wie nach Australien Post ist was ich suche, aber wenn jemand irgendwelche Vorschläge mit einem anderen Anbieter hat, mir geht es gut.

FYI - ich beziehe mich auf ASP.net, C# (.NET 4.0) Vielen Dank im Voraus,

Antwort

1

Australia Post eine Delivery Rate Calculator API hat.

Die folgenden Anweisungen wurden entwickelt, damit Sie direkt von Ihrer Händler-Website aus auf die Funktionen des Post eDeliver Delivery Rate Calculators (DRC) zugreifen können. Der DRC steht Händlern zur Verfügung, die ihren Kunden eine Online-Schätzung der Versandkosten anbieten möchten.

Ich habe es nicht benutzt, kann Ihnen nicht mehr darüber erzählen.

+1

Ich habe gerade versucht, dies für Kicks, aber es funktioniert nicht - "Gebühr = 0 Tage = 0 err_msg = Service ist nicht mehr verfügbar, bitte verwenden Sie andere Service-Typ." - Tut mir leid, es funktioniert, nur nicht für 'AIR' aus irgendeinem Grund. –

+1

Gefällt mir: http://drc.edeliver.com.au/ratecalc.asp?Pickup_Postcode=4000&Destination_Postcode=2000&Country=AU&Weight=200&Service_Type=STANDARD&Length=100&Width=100&Height=100&Quantity=1 –

+0

@Kirk - Es würde mich auch nicht lassen senden Sie etwas von Bris nach Melb durch SEA;) Haha. http://drc.edeliver.com.au/ratecalc.asp?Pickup_Postcode=4000&Destination_Postcode=3000&Country=AU&Weight=300&Service_Type=SEA&Length=200&Width=200&Height=200&Quantity=1 – Dhaust

1

Schritt-1: Konto erstellen und Key

http://auspost.com.au/

Schritt 2 erhalten: create-Funktion in Ihrer MyPage.aspx.cs Seite

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(); 

     } 

Schritt-3: Pass Parameter in Funktion Knopfklick:

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(); 

     } 

Hinweis:

service_code:

AUS_PARCEL_REGULAR
AUS_PARCEL_EXPRESS
AUS_PARCEL_PLATINUM

Gewicht: in KG

Das ist es !!!