コード例 #1
0
        public async Task CreateConfiguration(TestShippingConfiguration configuration)
        {
            ShippingConfigurationRequest request = new ShippingConfigurationRequest
            {
                CreatedBy = "data factory tool",
                DefaultServiceLevelCode = (int)configuration.DefaultServiceLevel,
                ExternalIdentifier      = configuration.Identifier,
                ServiceLevels           = GetServiceLevels(configuration.ServiceLevels)
            };

            var response = await _client.ShippingConfigurations.Create(request);

            if (!response.Success)
            {
                throw new Exception("Shipping configuration cannot be created");
            }
        }
コード例 #2
0
        public async Task CreateConfiguration(string identifier, TestShippingConfiguration configuration)
        {
            ShippingConfigurationRequest request = new ShippingConfigurationRequest
            {
                CreatedBy = "data factory tool",
                DefaultServiceLevelCode = ParseDefaultServiceLevel(configuration.DefaultServiceLevel),
                ExternalIdentifier      = identifier,
                ServiceLevels           = MapConfigurationServiceLevels(configuration.ServiceLevels)
            };

            var response = await Client.ShippingConfigurations.Create(request);

            if (!response.Success)
            {
                throw new Exception($"Shipping configuration cannot be created ~> error code: {response.StatusCode}");
            }
        }
コード例 #3
0
        public async Task AllPointsFreeFreight()
        {
            string identifier = "freeFreight15";

            var testUser = new TestUserAccount
            {
                Email = identifier + "@mail.com",
                ContactInformation = new TestContactInformation
                {
                    CompanyName = "dfs",
                    Email       = "*****@*****.**",
                    FirstName   = "John",
                    LastName    = "Doe",
                    PhoneNumber = "1234567890"
                },
                AccountExternalIds = new TestExternalIdentifiers
                {
                    AccountMasterExtId = identifier,
                    ContactExtId       = identifier,
                    LoginExtId         = identifier,
                    UserExtId          = identifier
                }
            };

            testUser = await DataFactoryAllPoints.UserAccounts.CreateUserAccount(testUser);

            //Tiene todos los identifiers
            TestShippingExternals customerCarrierAccount = new TestShippingExternals
            {
                AccountMasterExtId = identifier,
                ConfigurationExtId = identifier,
                FlatRateGroupExtId = identifier,
                HandlingGroupExtId = identifier
            };

            await DataFactoryAllPoints.ShippingConfigurationPreferences.RemoveAccountPreferences(customerCarrierAccount);

            var configuration = new TestShippingConfiguration
            {
                Identifier          = identifier,
                DefaultServiceLevel = ServiceLevelCodesEnum.Nextdayam,
                ServiceLevels       = new List <TestServiceLevel>
                {
                    new TestServiceLevel
                    {
                        Amount = 0,
                        CarrierRateDiscount = 0.5,
                        Code      = ServiceLevelCodesEnum.Nextdayam,
                        SortOrder = 7,
                        Label     = "Next Day AM",
                    },
                    new TestServiceLevel
                    {
                        Amount = 1,
                        CarrierRateDiscount = 0.5,
                        Code      = ServiceLevelCodesEnum.Ground,
                        SortOrder = 1,
                        Label     = "Ground",
                    },
                    new TestServiceLevel
                    {
                        Amount = 0,
                        CarrierRateDiscount = 0.5,
                        Code      = ServiceLevelCodesEnum.Nextdaysaver,
                        SortOrder = 5,
                        Label     = "Next Day Air Saver",
                    },
                    new TestServiceLevel
                    {
                        Amount = 0,
                        CarrierRateDiscount = 0,
                        Code      = ServiceLevelCodesEnum.Showroom,
                        Label     = "Showroom",
                        SortOrder = 8
                    }
                }
            };
            await DataFactoryAllPoints.ShippingConfigurationPreferences.CreateConfiguration(configuration);

            var preferences = new TestShippingPreferences
            {
                ConfigurationExtId = identifier,
                UseCustomerCarrier = false,
                FreeFreightRules   = new List <SAMFreeFreightRule>
                {
                    new SAMFreeFreightRule
                    {
                        ServiceLevelCode = (int)ServiceLevelCodesEnum.Ground,
                        ThresholdAmount  = 500
                    }
                },
                //agregar de la imagen
                FreeFreightForNonContiguousStates = true
            };

            await DataFactoryAllPoints.ShippingConfigurationPreferences.AddAccountPreferences(customerCarrierAccount, preferences);
        }
コード例 #4
0
        public async Task AllPointsBestRate()
        {
            string identifier = "BestRate01";

            var testUser = new TestUserAccount
            {
                Email = identifier + "@mail.com",
                ContactInformation = new TestContactInformation
                {
                    CompanyName = "dfs",
                    Email       = "*****@*****.**",
                    FirstName   = "John",
                    LastName    = "Doe",
                    PhoneNumber = "1234567890"
                },
                AccountExternalIds = new TestExternalIdentifiers
                {
                    AccountMasterExtId = identifier,
                    ContactExtId       = identifier,
                    LoginExtId         = identifier,
                    UserExtId          = identifier
                }
            };

            testUser = await DataFactoryAllPoints.UserAccounts.CreateUserAccount(testUser);

            TestShippingExternals customerCarrierAccount = new TestShippingExternals
            {
                AccountMasterExtId = identifier,
                ConfigurationExtId = identifier,
                FlatRateGroupExtId = identifier,
                HandlingGroupExtId = identifier,
                FlatRateSchedules  = new List <TestSchedule>
                {
                    new TestSchedule
                    {
                        ExternalIdentifier = identifier + "flatRate",
                        OrderAmountMin     = 100,
                        OrderAmountMax     = 1000,
                        Rate             = 150,
                        ServiceLevelCode = ServiceLevelCodesEnum.Ground
                    },
                    new TestSchedule
                    {
                        ExternalIdentifier = identifier + "flatRate02",
                        OrderAmountMin     = 100,
                        OrderAmountMax     = 500,
                        Rate             = 45,
                        ServiceLevelCode = ServiceLevelCodesEnum.Nextdayam
                    },
                    new TestSchedule
                    {
                        ExternalIdentifier = identifier + "flatRate03",
                        OrderAmountMin     = 100,
                        OrderAmountMax     = 1000,
                        Rate             = 15,
                        ServiceLevelCode = ServiceLevelCodesEnum.Nextdaysaver
                    }
                },
                HandlingSchedules = new List <TestSchedule>
                {
                    new TestSchedule
                    {
                        ExternalIdentifier = identifier + "handling",
                        OrderAmountMin     = 100,
                        OrderAmountMax     = 200,
                        ServiceLevelCode   = ServiceLevelCodesEnum.Ground,
                        Rate = 50
                    },
                    new TestSchedule
                    {
                        ExternalIdentifier = identifier + "handling02",
                        OrderAmountMin     = 100,
                        OrderAmountMax     = 300,
                        Rate             = 5,
                        ServiceLevelCode = ServiceLevelCodesEnum.Nextdayam,
                    },
                    new TestSchedule
                    {
                        ExternalIdentifier = identifier + "handling03",
                        OrderAmountMin     = 100,
                        OrderAmountMax     = 1000,
                        Rate             = 10,
                        ServiceLevelCode = ServiceLevelCodesEnum.Nextdaysaver
                    }
                }
            };

            await DataFactoryAllPoints.ShippingConfigurationPreferences.RemoveAccountPreferences(customerCarrierAccount);

            var configuration = new TestShippingConfiguration
            {
                FreeParcelShipProximityMessageDollar     = 500,
                FreeParcelShipProximityMessagePercentage = 0.5,
                Identifier          = identifier,
                DefaultServiceLevel = ServiceLevelCodesEnum.Nextdayam,
                ServiceLevels       = new List <TestServiceLevel>
                {
                    new TestServiceLevel
                    {
                        Amount = 0,
                        CarrierRateDiscount = 0.5,
                        Code      = ServiceLevelCodesEnum.Nextdayam,
                        SortOrder = 1,
                        Label     = "Next Day AM",
                    },
                    new TestServiceLevel
                    {
                        Amount = 1,
                        CarrierRateDiscount = 0.5,
                        Code      = ServiceLevelCodesEnum.Ground,
                        SortOrder = 7,
                        Label     = "Ground",
                    },
                    new TestServiceLevel
                    {
                        Amount = 0,
                        CarrierRateDiscount = 0.5,
                        Code      = ServiceLevelCodesEnum.Nextdaysaver,
                        SortOrder = 5,
                        Label     = "Next Day Air Saver",
                    },
                    new TestServiceLevel
                    {
                        Amount = 0,
                        CarrierRateDiscount = 0,
                        Code      = ServiceLevelCodesEnum.Showroom,
                        Label     = "Showroom",
                        SortOrder = 8
                    }
                }
            };
            await DataFactoryAllPoints.ShippingConfigurationPreferences.CreateConfiguration(configuration);

            var preferences = new TestShippingPreferences
            {
                UseBestRate        = true,
                ConfigurationExtId = identifier,
                UseCustomerCarrier = false,
                FreeFreightRules   = new List <SAMFreeFreightRule>
                {
                    new SAMFreeFreightRule
                    {
                        ServiceLevelCode = (int)ServiceLevelCodesEnum.Ground,
                        ThresholdAmount  = 500
                    }
                },
                //agregar de la imagen
                FreeFreightForNonContiguousStates = true
            };

            await DataFactoryAllPoints.ShippingConfigurationPreferences.AddAccountPreferences(customerCarrierAccount, preferences);
        }