public async Task CreateShipmentsWithError() { string accountNumber = AppConfiguration.AusPostAccountNumber; string username = AppConfiguration.AusPostUsername; string password = AppConfiguration.AusPostPassword; var client = new ShippingClient(accountNumber, username, password); client.Testing = true; var createRequest = CreateCreateShipmentsRequest(); // Make an item way too big createRequest.Shipments[0].Items[1].Width = 20000; var createResponse = await client.CreateShipmentsAsync(createRequest); Assert.AreEqual(false, createResponse.Succeeded); Assert.AreEqual(0, createResponse.Shipments.Count); Assert.AreEqual(1, createResponse.Errors.Count); Assert.AreEqual(0, createResponse.Warnings.Count); }
private async Task CreateShipment() { try { var req = new GrpcNewShipmentRequest() { TrackingCode = MLShipment.TrackingCode, SetAutoUpdate = true, MarketplaceAccountId = AccountId.ToString(), MarketplaceSaleId = MLShipment.OrderId.ToString(), BoundMarketplace = "mercado livre", SetCreatedManually = false, ShippingImplementation = GetShipmentImplementation(), PackageData = new GrpcNewPackageRequest() }; await ShippingClient.CreateShipment(req); } catch (Exception) { throw; } }
private BringRatesSampleBlockView Search(BringRatesSampleBlockView formData) { var user = "******"; var key = "81ab897a-2c94-4f10-8f20-2b04a0b1cae1"; var settings = new ShippingSettings(GetBaseUri(), user, key); var client = new ShippingClient(settings); var shipmentLeg = ParameterMapper.GetShipmentLeg(formData); var packageSize = ParameterMapper.GetPackageSize(formData); var additionalParameters = ParameterMapper.GetAdditionalParameters(formData); var query = new EstimateQuery(shipmentLeg, packageSize, additionalParameters); var result = client.FindAsync <ShipmentEstimate>(query).Result; var estimateGroups = result.Estimates .GroupBy(x => x.GuiInformation.MainDisplayCategory) .Select(x => new BringRatesSampleBlockView.EstimateGroup(x.Key, x)); var model = new BringRatesSampleBlockView(estimateGroups); return(model); }
private async Task CreateShipment(OrderDetailJson order) { var isOrderRegistered = await GetIsOrderRegistered(order); var shipmentDetails = await GetShipmentDetails(order); var trackingCode = shipmentDetails.tracking_number; if (!isOrderRegistered && trackingCode != null) { var req = new gRPC.Client.ShippingClientProto.GrpcNewShipmentRequest() { MarketplaceAccountId = Account.MercadoLivreId.ToString(), TrackingCode = trackingCode, SetAutoUpdate = true, BoundMarketplace = "mercado livre", MarketplaceSaleId = order.id.ToString(), PackageData = new gRPC.Client.ShippingClientProto.GrpcNewPackageRequest(), SetCreatedManually = false, ShippingImplementation = GetShippingImplementation(shipmentDetails) }; await ShippingClient.CreateShipment(req); } }
public async Task DeleteItems() { string accountNumber = AppConfiguration.AusPostAccountNumber; string username = AppConfiguration.AusPostUsername; string password = AppConfiguration.AusPostPassword; var client = new ShippingClient(accountNumber, username, password); client.Testing = true; var createRequest = CreateCreateShipmentsRequest(); var createResponse = await client.CreateShipmentsAsync(createRequest); Assert.AreEqual(true, createResponse.Succeeded, string.Join(", ", createResponse.Errors.Select(e => e.Message))); Assert.AreEqual(1, createResponse.Shipments.Count); Assert.AreEqual(2, createResponse.Shipments[0].Items.Count); var updateResponse = await client.DeleteItemAsync(createResponse.Shipments[0].ShipmentID, createResponse.Shipments[0].Items.First(i => i.ItemReference == "SKU-1").ItemID); // NOTE: This doesn't return anything other than a general success or fail Assert.AreEqual(true, updateResponse.Succeeded, string.Join(", ", updateResponse.Errors.Select(e => e.Message))); Assert.AreEqual(0, createResponse.Errors.Count); Assert.AreEqual(0, createResponse.Warnings.Count); var getShipmentsRequest = CreateGetShipmentsRequest(createResponse); var getShipmentsResponse = await client.GetShipmentsAsync(getShipmentsRequest); Assert.AreEqual(true, getShipmentsResponse.Succeeded, string.Join(", ", getShipmentsResponse.Errors.Select(e => e.Message))); Assert.AreEqual(1, getShipmentsResponse.Shipments.Count); Assert.AreEqual(0, getShipmentsResponse.Errors.Count); Assert.AreEqual(0, getShipmentsResponse.Warnings.Count); Assert.AreEqual(1, getShipmentsResponse.Shipments[0].Items.Count); Assert.AreEqual("SKU-2", getShipmentsResponse.Shipments[0].Items[0].ItemReference); }
public void InitializeClient() { this.shippingClient = new ShippingClient(); shippingClient.Open(); }
public async Task DownloadLabels() { string accountNumber = AppConfiguration.AusPostAccountNumber; string username = AppConfiguration.AusPostUsername; string password = AppConfiguration.AusPostPassword; var client = new ShippingClient(accountNumber, username, password); client.Testing = true; // Delete files from previous runs string folder = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\Labels"; if (!System.IO.Directory.Exists(folder)) { System.IO.Directory.CreateDirectory(folder); } foreach (string file in System.IO.Directory.GetFiles(folder)) { System.IO.File.Delete(file); } var createShipmentsRequest = CreateCreateShipmentsRequest(); var createShipmentsResponse = await client.CreateShipmentsAsync(createShipmentsRequest); Assert.AreEqual(true, createShipmentsResponse.Succeeded, string.Join(", ", createShipmentsResponse.Errors.Select(e => e.Message))); Assert.AreEqual(1, createShipmentsResponse.Shipments.Count); Assert.AreEqual(1, createShipmentsResponse.Shipments[0].Items.Count); var updateRequest = CreateCreateLabelsRequest(createShipmentsResponse.Shipments[0].ShipmentID); var updateResponse = await client.CreateLabelsAsync(updateRequest); Assert.AreEqual(true, updateResponse.Succeeded, string.Join(", ", updateResponse.Errors.Select(e => e.Message))); Assert.AreEqual(1, updateResponse.Labels.Count); Assert.AreEqual(LabelStatus.Pending, updateResponse.Labels[0].Status); Assert.AreEqual(0, createShipmentsResponse.Errors.Count); Assert.AreEqual(0, createShipmentsResponse.Warnings.Count); // HACK: Wait for the labels to be generated... System.Threading.Thread.Sleep(5000); var getShipmentsRequest = CreateGetShipmentsRequest(createShipmentsResponse); var getShipmentsResponse = await client.GetShipmentsAsync(getShipmentsRequest); Assert.AreEqual(true, getShipmentsResponse.Succeeded, string.Join(", ", getShipmentsResponse.Errors.Select(e => e.Message))); Assert.AreEqual(1, getShipmentsResponse.Shipments.Count); Assert.IsTrue(!string.IsNullOrEmpty(getShipmentsResponse.Shipments[0].Items[0].Label.LabelUrl)); Assert.AreEqual(0, getShipmentsResponse.Errors.Count); Assert.AreEqual(0, getShipmentsResponse.Warnings.Count); // Download the PDF string pdfFile = folder + "\\labels.pdf"; Assert.IsFalse(System.IO.File.Exists(pdfFile)); var downloadResponse = await client.DownloadLabelsAsync(getShipmentsResponse.Shipments[0].Items[0].Label.LabelUrl); Assert.AreEqual(true, downloadResponse.Succeeded, string.Join(", ", downloadResponse.Errors.Select(e => e.Message))); downloadResponse.SaveToFile(pdfFile); Assert.IsTrue(System.IO.File.Exists(pdfFile)); }