Skip to main content
Published: December 04 2014, 7:42:00 AMUpdated: November 28 2020, 12:59:22 PM

Creating Shipping Profile using eBay Business Policies Management API

The code sample was created by giving a WSDL web reference to Business Policies Management WSDL 
http://developer.ebay.com/webservices/business-policies/latest/SellerProfilesManagementService.wsdl

Add a web service reference to the eBay Business Policies Management WSDL (Please use the latest version of the WSDL)
http://developer.ebay.com/webservices/business-policies/latest/SellerProfilesManagementService.wsdl


Create a custom service by overriding the GetWebRequest method

CustomBusinessPoliciesManagement.cs

using System;

using System.Collections.Generic;

using System.Text;

using System.Net;

using BusinessPoliciesManagement_API_Sample.com.ebay.developer;

 

namespace BusinessPoliciesManagement_API_Sample

{

    public class CustomBusinessPoliciesManagement: SellerProfilesManagementService

    {

        protected override WebRequest GetWebRequest(Uri uri)

        {

            try

            {

                HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(uri);

                request.Headers.Add("X-EBAY-SOA-OPERATION-NAME", "getSellerProfiles");

                request.Headers.Add("X-EBAY-SOA-SECURITY-TOKEN", "YOUR-TOKEN-HERE");

                request.Headers.Add("X-EBAY-SOA-GLOBAL-ID", "EBAY-US");

                return request;

            }

            catch (Exception ex)

            {

                throw ex;

            }

        }

    }

}

 

 



 Call the custom service and make the addSellerProfile API as follows to create Shipping Profile


Program.cs

using System;

using System.Collections.Generic;

using System.Text;

using BusinessPoliciesManagement_API_Sample.com.ebay.developer;

 

namespace BusinessPoliciesManagement_API_Sample

{

    class Program

    {

        static void Main(string[] args)

        {

            try

            {

                CustomBusinessPoliciesManagement service = new CustomBusinessPoliciesManagement();

                service.Url = @"http://svcs.sandbox.ebay.com/services/selling/v1/SellerProfilesManagementService";

 

                AddSellerProfileRequest request = new AddSellerProfileRequest();

                ShippingPolicyProfile shipProfile = new ShippingPolicyProfile();

                shipProfile.profileName = "UPSGroundShippingOnly1";

                shipProfile.profileType = ProfileType.SHIPPING;

                shipProfile.profileDesc = "Shipping policy created through API - Test description ";

                // Category Group

                CategoryGroup category = new CategoryGroup();

                category.@default = false;

                category.name = "ALL";

                CategoryGroup[] categoryArray = { category };

                shipProfile.categoryGroups = categoryArray;

 

                // Shipping Policy Info container

                ShippingPolicyInfo shipPolicyInfo = new ShippingPolicyInfo();

                shipPolicyInfo.dispatchTimeMaxSpecified = true;

                shipPolicyInfo.dispatchTimeMax = 3;

                shipPolicyInfo.domesticShippingType = "Flat";

                shipPolicyInfo.intlShippingType = "Flat";

                shipPolicyInfo.shippingPolicyCurrency = IsoCurrencyCode.USD;

 

                // Domestic Shipping

                ShippingPolicyInfoService domesticService = new ShippingPolicyInfoService();

                domesticService.shippingService = "USPSPriority";

                domesticService.shippingServiceCost = new Amount();

                domesticService.shippingServiceCost.Value = 5.00;

                domesticService.shippingServiceAdditionalCost = new Amount();

                domesticService.shippingServiceAdditionalCost.Value = 2.50;

                domesticService.sortOrderIdSpecified = true;

                domesticService.sortOrderId = 1;

                ShippingPolicyInfoService[] domesticShipping = { domesticService };

                shipPolicyInfo.domesticShippingPolicyInfoService = domesticShipping;

 

                // International Shipping

                ShippingPolicyInfoService intlService = new ShippingPolicyInfoService();

                intlService.shippingService = "USPSPriorityMailInternational";

                intlService.shippingServiceCost = new Amount();

                intlService.shippingServiceCost.Value = 10.00;

                intlService.shippingServiceAdditionalCost = new Amount();

                intlService.shippingServiceAdditionalCost.Value = 5.50;

                intlService.sortOrderIdSpecified = true;

                intlService.sortOrderId = 1;

                string[] shipToLocs = { "WorldWide" };

                intlService.shipToLocation = shipToLocs;

                ShippingPolicyInfoService[] intlShipping = { intlService };

                shipPolicyInfo.intlShippingPolicyInfoService = intlShipping;

 

                // Adding to Shipping Profile object

                shipProfile.shippingPolicyInfo = shipPolicyInfo;

                request.shippingPolicyProfile = shipProfile;

 

                AddSellerProfileResponse response = new AddSellerProfileResponse();

                response = service.addSellerProfile(request);

 

                if (response.ack == AckValue.Success)

                {

                    Console.WriteLine("Ack: " + response.ack.ToString());

                    Console.WriteLine("Shipping Profile Details:");

                    Console.WriteLine("Profile Name: " + response.shippingPolicyProfile.profileId);

                    Console.WriteLine("Profile ID: " + response.shippingPolicyProfile.profileName);

                }

                else

                {

                    foreach (ErrorData error in response.errorMessage)

                    {

                        Console.WriteLine("Error ID: " + error.errorId);

                        Console.WriteLine("Error Message: " + error.message);

                    }

                }

 

            }

            catch (Exception ex)

            {

                throw ex;

            }

            Console.ReadLine();

        }

    }

}

 



OutPut:

See the attached screen shot for reference

Attachments
How well did this answer your question?
Answers others found helpful