![]() | InternetWaybills |
Create and print label and registration documents.
See https://bussgods.se/Content/129139/FRAM-WcfService-Public-Example.zip for more examples.
using System; using System.Collections.Generic; using System.IO; using System.Linq; using FRAM.WcfService.Public.Example.BussgodsReference; namespace FRAM.WcfService.Public.Example { class Program { public static string VIEW_PDF_URL = "http://web-test.bussgods.se/internetfraktsedel/pdf/{0}?viewToken={1}"; public static string DOWNLOAD_PDF_LABEL = "http://web-test.bussgods.se/internetfraktsedel/nedladdning/{0}?viewToken={1}"; public static string DOWNLOAD_PDF_A4 = "http://web-test.bussgods.se/internetfraktsedel/nedladdning/a4/{0}?viewToken={1}"; public static string VIEW_URL = "http://web-test.bussgods.se/internetfraktsedel/{0}?viewToken={1}"; public static FRAMServiceClient _bussgods = new FRAMServiceClient(); public static AuthTicket authTicket; static void Main(string[] args) { CreateInternetWaybills(); Console.WriteLine("Press Any Key..."); Console.ReadKey(); } static void CreateInternetWaybills() { // Cities var cities = _bussgods.GetCities(authTicket); if (!cities.Result) { Console.WriteLine(cities.Message); return; } var fromCity = cities.Data.FirstOrDefault(c => c.Name == "SANDVIKEN"); var toCity = cities.Data.FirstOrDefault(c => c.Name == "JÖNKÖPING"); //var toCity = cities.Data.FirstOrDefault(c => c.Name == "Finland"); /* For Finland */ Console.WriteLine("From City: {0} ({1})", fromCity.Name, fromCity.CityCode); Console.WriteLine("To City: {0} ({1})", toCity.Name, toCity.CityCode); Console.WriteLine(""); // InternetWaybill var internetWaybill = new InternetWaybill { //AccountNumber = "8412041234", //AccountType = "KTO", //Bankgiro = "1234567", //ClearingNumber = "3300", COD = false, //CODReference = "Kalle", CODSum = 0, Contents = "Stones", CustomerNumber = 1, Delivery = false, DeliveryInstructions = "Leave the package on the stairs.", FreeText = "Very nice stones.", InsurancePriceID = null, NumberOfParcels = 1, ParcelType = "Övrigt", //Plusgiro = "12345678", Product = 1, ReceiverAddress = "Gatan 1", ReceiverCity = "Ankeborg", //ReceiverCustomerNumber = 9000, ReceiverCityCode = toCity.CityCode, ReceiverStationNumber = null, ReceiverEmail = "musse@pigg.nu", ReceiverName = "Musse Pigg", ReceiverPhone = "012121212", ReceiverReference = "Musse", ReceiverZipCode = "55625", ReceiverType = 1, SenderCityCode = fromCity.CityCode, SenderStationNumber = null, SenderAddress = "Gatan 2", SenderCity = "Ankeborg", SenderEmail = "kalle@anka.nu", SenderName = "Kalle Anka", SenderPhone = "013131313", SenderReference = "Kalle", SenderZipCode = "81131", TotalWeight = 1, TotalVolume = 0.0024f, }; // Parcels var parcels = new List<InternetWaybillParcel>(); for (int packageNumber = 1; packageNumber <= internetWaybill.NumberOfParcels; packageNumber++) { var internetWaybillParcel = new InternetWaybillParcel { PackageNumber = packageNumber, Height = 10, Length = 20, Weight = 5, Width = 30 }; parcels.Add(internetWaybillParcel); } internetWaybill.InternetWaybillParcels = parcels.ToArray(); // Stations var fromStation = _bussgods.GetSenderStation(authTicket, 81131, internetWaybill.ParcelType, false); var toStation = _bussgods.GetReceiverStation(authTicket, 55625, internetWaybill.ParcelType, internetWaybill.InternetWaybillParcels, false, false, 1, false); //var toStation = _bussgods.GetStation(authTicket, 5301); /* For Finland */ if (!fromStation.Result) { Console.WriteLine(fromStation.Message); return; } if (!toStation.Result) { Console.WriteLine(toStation.Message); return; } Console.WriteLine("From Station: {0} ({1} / City: {2} ({3})", fromStation.Data.Name, fromStation.Data.StationNumber, fromStation.Data.CityName, fromStation.Data.CityCode); Console.WriteLine("To Station: {0} ({1}) / City: {2} ({3})", toStation.Data.Name, toStation.Data.StationNumber, toStation.Data.CityName, toStation.Data.CityCode); Console.WriteLine(""); internetWaybill.SenderStationNumber = fromStation.Data.StationNumber; internetWaybill.ReceiverStationNumber = toStation.Data.StationNumber; // Result var result = _bussgods.SaveInternetWaybill(authTicket, internetWaybill); if (!result.Result) { Console.WriteLine(result.Message); return; } string viewPdfUrl = string.Format(VIEW_PDF_URL, result.Data.ShipmentNumber, result.Data.ViewToken); string downloadPdfLabelUrl = string.Format(DOWNLOAD_PDF_LABEL, result.Data.ShipmentNumber, result.Data.ViewToken); string downloadPdfA4Url = string.Format(DOWNLOAD_PDF_A4, result.Data.ShipmentNumber, result.Data.ViewToken); Console.WriteLine("ShipmentNumber: {0}, View: {1}", result.Data.ShipmentNumber, viewPdfUrl); Console.WriteLine("ShipmentNumber: {0}, Download Label (PDF): {1}", result.Data.ShipmentNumber, downloadPdfLabelUrl); Console.WriteLine("ShipmentNumber: {0}, Download A4 (PDF): {1}", result.Data.ShipmentNumber, downloadPdfA4Url); foreach (var parcel in result.Data.InternetWaybillParcels) { Console.WriteLine("PackageNumber: {0}, ParcelNumber: {1}", parcel.PackageNumber, parcel.ParcelNumber); } Console.WriteLine(""); } } }