Skip to content

Commit e2b67d3

Browse files
committed
Merge from upstream main
2 parents 57edd40 + b65dc88 commit e2b67d3

File tree

19 files changed

+285
-92
lines changed

19 files changed

+285
-92
lines changed

Source/FikaAmazonAPI.SampleCode/FeedsSample.cs

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -101,35 +101,54 @@ public void SubmitFeedInventory()
101101
// var feedID = amazonConnection.Feed.SubmitFeed(xml, FeedType.POST_PRODUCT_DATA);
102102

103103
//}
104-
public void SubmitFeedPRICING()
104+
public async void SubmitFeedPRICING(double PRICE, string SKU)
105105
{
106106

107107
ConstructFeedService createDocument = new ConstructFeedService("A3J37AJU4O9RHK", "1.02");
108108

109109
var list = new List<PriceMessage>();
110110
list.Add(new PriceMessage()
111111
{
112-
SKU = "8201031206122...",
112+
SKU = SKU,
113113
StandardPrice = new StandardPrice()
114114
{
115115
currency = BaseCurrencyCode.AED.ToString(),
116-
Value = (201.0522M).ToString("0.00")
116+
Value = (PRICE).ToString("0.00")
117117
}
118118
});
119119
createDocument.AddPriceMessage(list);
120120

121121
var xml = createDocument.GetXML();
122122

123-
var feedID = amazonConnection.Feed.SubmitFeed(xml, FeedType.POST_PRODUCT_PRICING_DATA);
123+
var feedID = await amazonConnection.Feed.SubmitFeedAsync(xml, FeedType.POST_PRODUCT_PRICING_DATA);
124124

125-
var feedOutput = amazonConnection.Feed.GetFeed(feedID);
125+
string ResultFeedDocumentId = string.Empty;
126+
while (string.IsNullOrEmpty(ResultFeedDocumentId))
127+
{
128+
var feedOutput = await amazonConnection.Feed.GetFeedAsync(feedID);
129+
if (feedOutput.ProcessingStatus == AmazonSpApiSDK.Models.Feeds.Feed.ProcessingStatusEnum.DONE)
130+
{
131+
var outPut = await amazonConnection.Feed.GetFeedDocumentAsync(feedOutput.ResultFeedDocumentId);
126132

127-
var outPut = amazonConnection.Feed.GetFeedDocument(feedOutput.ResultFeedDocumentId);
133+
var reportOutput = outPut.Url;
134+
135+
var processingReport = await amazonConnection.Feed.GetFeedDocumentProcessingReportAsync(reportOutput);
136+
137+
Console.WriteLine("MessagesProcessed=" + processingReport.ProcessingSummary.MessagesProcessed);
138+
Console.WriteLine("MessagesSuccessful= " + processingReport.ProcessingSummary.MessagesSuccessful);
139+
Console.WriteLine("MessagesWithError=" + processingReport.ProcessingSummary.MessagesWithError);
140+
Console.WriteLine("MessagesWithWarning=" + processingReport.ProcessingSummary.MessagesWithWarning);
141+
Console.WriteLine("ResultDescription=" + processingReport.Result.FirstOrDefault()?.ResultDescription);
142+
}
143+
144+
if (!(feedOutput.ProcessingStatus == AmazonSpApiSDK.Models.Feeds.Feed.ProcessingStatusEnum.INPROGRESS ||
145+
feedOutput.ProcessingStatus == AmazonSpApiSDK.Models.Feeds.Feed.ProcessingStatusEnum.INQUEUE))
146+
break;
147+
else Thread.Sleep(10000);
148+
}
128149

129-
var reportOutput = outPut.Url;
130150

131151

132-
var processingReport = amazonConnection.Feed.GetFeedDocumentProcessingReport(reportOutput);
133152
}
134153

135154
public void FeebPostOrderFullfillment()

Source/FikaAmazonAPI.SampleCode/ProductPricingSample.cs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
using FikaAmazonAPI.Parameter.ProductPricing;
22
using FikaAmazonAPI.Utils;
3-
using System;
4-
using System.Collections.Generic;
5-
using System.Linq;
6-
using System.Text;
7-
using System.Threading.Tasks;
83
using static FikaAmazonAPI.Utils.Constants;
94

105
namespace FikaAmazonAPI.SampleCode
@@ -88,7 +83,7 @@ public async Task GetItemOffersBatch()
8883
});
8984

9085
;
91-
86+
9287
}
9388

9489

Source/FikaAmazonAPI.SampleCode/Program.cs

Lines changed: 18 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
using FikaAmazonAPI.Parameter.Finance;
44
using FikaAmazonAPI.Parameter.ListingItem;
55
using FikaAmazonAPI.Parameter.ListingsItems;
6-
using FikaAmazonAPI.Parameter.Order;
76
using FikaAmazonAPI.ReportGeneration;
87
using FikaAmazonAPI.Utils;
98
using Microsoft.Extensions.Configuration;
@@ -39,29 +38,29 @@ static async Task Main(string[] args)
3938
MarketPlace = MarketPlace.GetMarketPlaceByID(config.GetSection("FikaAmazonAPI:MarketPlaceID").Value),
4039
});
4140

41+
ReportManager reportManageree = new ReportManager(amazonConnection);
42+
var productsttt = reportManageree.GetProducts(); //GET_MERCHANT_LISTINGS_ALL_DATA
4243

44+
Thread.Sleep(1000 * 60 * 15);
4345

44-
45-
var listSlot = amazonConnection.EasyShip20220323.ListHandoverSlots(new AmazonSpApiSDK.Models.EasyShip20220323.ListHandoverSlotsRequest
46+
FeedsSample feedsSample = new FeedsSample(amazonConnection);
47+
double priceNow = 62;
48+
double minPrice = 0.12;
49+
while (true)
4650
{
47-
AmazonOrderId = "171-2704093-8575999",
48-
PackageDimensions = new AmazonSpApiSDK.Models.EasyShip20220323.Dimensions
49-
{
50-
Height = 20.0M,
51-
Width = 10.0M,
52-
Length = 12.0M,
53-
Unit = "Cm"
54-
},
55-
PackageWeight = new AmazonSpApiSDK.Models.EasyShip20220323.Weight
56-
{
57-
Unit = "G",
58-
Value = 100.0M
59-
}
60-
});
6151

52+
//Thread MapBarcodeToASIN = new Thread(() => feedsSample.SubmitFeedPRICING(priceNow, "843076000518"));
53+
//MapBarcodeToASIN.Start();
6254

63-
FeedsSample feedsSample = new FeedsSample(amazonConnection);
64-
//feedsSample.SubmitFeedOrderAcknowledgement();
55+
Thread MapBarcodeToASIN2 = new Thread(() => feedsSample.SubmitFeedPRICING(priceNow, "074312026102..."));
56+
MapBarcodeToASIN2.Start();
57+
58+
priceNow = priceNow - minPrice;
59+
Thread.Sleep(1000 * 60 * 3);
60+
61+
if (priceNow < 54)
62+
priceNow = 62;
63+
}
6564

6665
var alllll = amazonConnection.ProductPricing.GetItemOffers(new Parameter.ProductPricing.ParameterGetItemOffers
6766
{
@@ -218,14 +217,6 @@ static async Task Main(string[] args)
218217
var products2 = await reportManager2.GetReturnFBAOrderAsync(3); //GET_MERCHANT_LISTINGS_ALL_DATA
219218

220219

221-
ParameterOrderList serachOrderList = new ParameterOrderList();
222-
serachOrderList.CreatedAfter = DateTime.UtcNow.AddDays(-100);
223-
224-
serachOrderList.OrderStatuses = new List<OrderStatuses>();
225-
serachOrderList.OrderStatuses.Add(OrderStatuses.Shipped);
226-
227-
228-
var orders = await amazonConnection.Orders.GetOrdersAsync(serachOrderList);
229220

230221

231222
//var parameterOrderList = new ParameterOrderList

Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInbound/BoxContentsSource.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
* Generated by: https://github.com/swagger-api/swagger-codegen.git
99
*/
1010

11+
using System.Runtime.Serialization;
12+
1113
namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInbound
1214
{
1315
/// <summary>
@@ -33,7 +35,7 @@ public enum BoxContentsSource
3335
/// <summary>
3436
/// Enum _2DBARCODE for value: 2D_BARCODE
3537
/// </summary>
36-
38+
[EnumMember(Value = "2D_BARCODE")]
3739
_2DBARCODE,
3840

3941
/// <summary>

Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInbound/PackageStatus.cs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,17 @@
88
* Generated by: https://github.com/swagger-api/swagger-codegen.git
99
*/
1010

11+
using Newtonsoft.Json;
12+
using Newtonsoft.Json.Converters;
13+
using System.Runtime.Serialization;
14+
1115
namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInbound
1216
{
1317
/// <summary>
1418
/// The shipment status of the package.
1519
/// </summary>
1620
/// <value>The shipment status of the package.</value>
17-
21+
[JsonConverter(typeof(StringEnumConverter))]
1822
public enum PackageStatus
1923
{
2024

@@ -25,10 +29,11 @@ public enum PackageStatus
2529
SHIPPED,
2630

2731
/// <summary>
28-
/// Enum INTRANSIT for value: IN_TRANSIT
32+
/// Enum INTRANSIT for value: INTRANSIT
2933
/// </summary>
3034

31-
INTRANSIT,
35+
[EnumMember(Value = "IN_TRANSIT")]
36+
IN_TRANSIT,
3237

3338
/// <summary>
3439
/// Enum DELIVERED for value: DELIVERED
@@ -39,8 +44,8 @@ public enum PackageStatus
3944
/// <summary>
4045
/// Enum CHECKEDIN for value: CHECKED_IN
4146
/// </summary>
42-
43-
CHECKEDIN,
47+
[EnumMember(Value = "CHECKED_IN")]
48+
CHECKED_IN,
4449

4550
/// <summary>
4651
/// Enum RECEIVING for value: RECEIVING

Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInbound/ShipmentStatus.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public enum ShipmentStatus
7070
/// Enum INTRANSIT for value: IN_TRANSIT
7171
/// </summary>
7272
[EnumMember(Value = "IN_TRANSIT")]
73-
INTRANSIT = 8,
73+
IN_TRANSIT = 8,
7474

7575
/// <summary>
7676
/// Enum DELIVERED for value: DELIVERED
@@ -82,7 +82,7 @@ public enum ShipmentStatus
8282
/// Enum CHECKEDIN for value: CHECKED_IN
8383
/// </summary>
8484
[EnumMember(Value = "CHECKED_IN")]
85-
CHECKEDIN = 10
85+
CHECKED_IN = 10
8686
}
8787

8888
}

Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentOutbound/CurrentStatus.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public enum CurrentStatus
2222
/// Enum INTRANSIT for value: IN_TRANSIT
2323
/// </summary>
2424

25-
INTRANSIT,
25+
IN_TRANSIT,
2626

2727
/// <summary>
2828
/// Enum DELIVERED for value: DELIVERED

Source/FikaAmazonAPI/AmazonSpApiSDK/Runtime/AWSSignerHelper.cs

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -177,17 +177,20 @@ public virtual string BuildStringToSign(DateTime signingDate, string hashedCanon
177177
/// <returns>Date and time used for x-amz-date, in UTC</returns>
178178
public virtual DateTime InitializeHeaders(IRestRequest restRequest, string host)
179179
{
180-
restRequest.Parameters.RemoveAll(parameter => ParameterType.HttpHeader.Equals(parameter.Type)
181-
&& parameter.Name == XAmzDateHeaderName);
182-
restRequest.Parameters.RemoveAll(parameter => ParameterType.HttpHeader.Equals(parameter.Type)
183-
&& parameter.Name == HostHeaderName);
180+
lock (restRequest)
181+
{
182+
restRequest.Parameters.RemoveAll(parameter => ParameterType.HttpHeader.Equals(parameter.Type)
183+
&& parameter.Name == XAmzDateHeaderName);
184+
restRequest.Parameters.RemoveAll(parameter => ParameterType.HttpHeader.Equals(parameter.Type)
185+
&& parameter.Name == HostHeaderName);
184186

185-
DateTime signingDate = DateHelper.GetUtcNow();
187+
DateTime signingDate = DateHelper.GetUtcNow();
186188

187-
restRequest.AddOrUpdateHeader(XAmzDateHeaderName, signingDate.ToString(ISO8601BasicDateTimeFormat, CultureInfo.InvariantCulture));
188-
restRequest.AddOrUpdateHeader(HostHeaderName, host);
189+
restRequest.AddOrUpdateHeader(XAmzDateHeaderName, signingDate.ToString(ISO8601BasicDateTimeFormat, CultureInfo.InvariantCulture));
190+
restRequest.AddOrUpdateHeader(HostHeaderName, host);
189191

190-
return signingDate;
192+
return signingDate;
193+
}
191194
}
192195

193196
/// <summary>
@@ -230,14 +233,18 @@ public virtual void AddSignature(IRestRequest restRequest,
230233
string region,
231234
DateTime signingDate)
232235
{
233-
string scope = BuildScope(signingDate, region);
234-
StringBuilder authorizationHeaderValueBuilder = new StringBuilder();
235-
authorizationHeaderValueBuilder.AppendFormat("{0}-{1}", Scheme, Algorithm);
236-
authorizationHeaderValueBuilder.AppendFormat(" {0}={1}/{2},", CredentialSubHeaderName, accessKeyId, scope);
237-
authorizationHeaderValueBuilder.AppendFormat(" {0}={1},", SignedHeadersSubHeaderName, signedHeaders);
238-
authorizationHeaderValueBuilder.AppendFormat(" {0}={1}", SignatureSubHeaderName, signature);
236+
lock (restRequest)
237+
{
238+
string scope = BuildScope(signingDate, region);
239+
StringBuilder authorizationHeaderValueBuilder = new StringBuilder();
240+
authorizationHeaderValueBuilder.AppendFormat("{0}-{1}", Scheme, Algorithm);
241+
authorizationHeaderValueBuilder.AppendFormat(" {0}={1}/{2},", CredentialSubHeaderName, accessKeyId, scope);
242+
authorizationHeaderValueBuilder.AppendFormat(" {0}={1},", SignedHeadersSubHeaderName, signedHeaders);
243+
authorizationHeaderValueBuilder.AppendFormat(" {0}={1}", SignatureSubHeaderName, signature);
244+
245+
restRequest.AddOrUpdateHeader(AuthorizationHeaderName, authorizationHeaderValueBuilder.ToString());
246+
}
239247

240-
restRequest.AddOrUpdateHeader(AuthorizationHeaderName, authorizationHeaderValueBuilder.ToString());
241248
}
242249

243250
private static string BuildScope(DateTime signingDate, string region)

Source/FikaAmazonAPI/FikaAmazonAPI.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
<Product>CSharp Amazon Sp API</Product>
88
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
99
<LangVersion>8.0</LangVersion>
10-
<Version>1.4.20</Version>
11-
<AssemblyVersion>1.4.20</AssemblyVersion>
12-
<FileVersion>1.4.20</FileVersion>
10+
<Version>1.4.23</Version>
11+
<AssemblyVersion>1.4.23</AssemblyVersion>
12+
<FileVersion>1.4.23</FileVersion>
1313
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
1414
<PackageProjectUrl>https://github.com/abuzuhri/Amazon-SP-API-CSharp</PackageProjectUrl>
1515
<PackageLicenseExpression>MIT</PackageLicenseExpression>

0 commit comments

Comments
 (0)