Click or drag to resize

InternetWaybills

Create and print label and registration documents.
See https://bussgods.se/Content/129139/FRAM-WcfService-Public-Example.zip for more examples.

C# example
C#
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("");
        }
    }
}
See Also

Other Resources

Version History