1
1
using FikaAmazonAPI . AmazonSpApiSDK . Models . MerchantFulfillment ;
2
+ using FikaAmazonAPI . AmazonSpApiSDK . Models . Token ;
2
3
using FikaAmazonAPI . Search ;
3
4
using FikaAmazonAPI . Utils ;
5
+ using System . Collections . Generic ;
4
6
using System . Threading . Tasks ;
5
7
6
8
namespace FikaAmazonAPI . Services
@@ -43,6 +45,19 @@ public Shipment GetShipment(string shipmentId, IParameterBasedPII ParameterBased
43
45
Task . Run ( ( ) => GetShipmentAsync ( shipmentId , ParameterBasedPII = null ) ) . ConfigureAwait ( false ) . GetAwaiter ( ) . GetResult ( ) ;
44
46
public async Task < Shipment > GetShipmentAsync ( string shipmentId , IParameterBasedPII ParameterBasedPII = null )
45
47
{
48
+ if ( ParameterBasedPII != null && ParameterBasedPII . IsNeedRestrictedDataToken && ParameterBasedPII . RestrictedDataTokenRequest == null )
49
+ {
50
+ var restrictedResource = new RestrictedResource ( ) ;
51
+ restrictedResource . method = Method . GET . ToString ( ) ;
52
+ restrictedResource . path = MerchantFulfillmentApiUrls . GetShipment ( shipmentId ) ;
53
+
54
+ var createRDT = new CreateRestrictedDataTokenRequest ( )
55
+ {
56
+ restrictedResources = new List < RestrictedResource > { restrictedResource }
57
+ } ;
58
+ ParameterBasedPII . RestrictedDataTokenRequest = createRDT ;
59
+ }
60
+
46
61
await CreateAuthorizedRequestAsync ( MerchantFulfillmentApiUrls . GetShipment ( shipmentId ) , RestSharp . Method . Get , parameter : ParameterBasedPII ) ;
47
62
48
63
var response = await ExecuteRequestAsync < GetShipmentResponse > ( RateLimitType . MerchantFulFillment_GetShipment ) ;
@@ -54,6 +69,19 @@ public Shipment CancelShipment(string shipmentId, IParameterBasedPII parameterBa
54
69
Task . Run ( ( ) => CancelShipmentAsync ( shipmentId , parameterBasedPII ) ) . ConfigureAwait ( false ) . GetAwaiter ( ) . GetResult ( ) ;
55
70
public async Task < Shipment > CancelShipmentAsync ( string shipmentId , IParameterBasedPII parameterBasedPII = null )
56
71
{
72
+ if ( parameterBasedPII != null && parameterBasedPII . IsNeedRestrictedDataToken && parameterBasedPII . RestrictedDataTokenRequest == null )
73
+ {
74
+ var restrictedResource = new RestrictedResource ( ) ;
75
+ restrictedResource . method = Method . DELETE . ToString ( ) ;
76
+ restrictedResource . path = MerchantFulfillmentApiUrls . GetShipment ( shipmentId ) ;
77
+
78
+ var createRDT = new CreateRestrictedDataTokenRequest ( )
79
+ {
80
+ restrictedResources = new List < RestrictedResource > { restrictedResource }
81
+ } ;
82
+ parameterBasedPII . RestrictedDataTokenRequest = createRDT ;
83
+ }
84
+
57
85
await CreateAuthorizedRequestAsync ( MerchantFulfillmentApiUrls . GetShipment ( shipmentId ) , RestSharp . Method . Delete , parameter : parameterBasedPII ) ;
58
86
59
87
var response = await ExecuteRequestAsync < GetShipmentResponse > ( RateLimitType . MerchantFulFillment_CancelShipment ) ;
@@ -64,9 +92,22 @@ public async Task<Shipment> CancelShipmentAsync(string shipmentId, IParameterBas
64
92
65
93
public Shipment CancelShipmentOld ( string shipmentId , IParameterBasedPII parameterBasedPII = null ) =>
66
94
Task . Run ( ( ) => CancelShipmentOldAsync ( shipmentId , parameterBasedPII ) ) . ConfigureAwait ( false ) . GetAwaiter ( ) . GetResult ( ) ;
67
- public async Task < Shipment > CancelShipmentOldAsync ( string shipmentId , IParameterBasedPII ParameterBasedPII = null )
95
+ public async Task < Shipment > CancelShipmentOldAsync ( string shipmentId , IParameterBasedPII parameterBasedPII = null )
68
96
{
69
- await CreateAuthorizedRequestAsync ( MerchantFulfillmentApiUrls . CancelShipmentOld ( shipmentId ) , RestSharp . Method . Put , parameter : ParameterBasedPII ) ;
97
+ if ( parameterBasedPII != null && parameterBasedPII . IsNeedRestrictedDataToken && parameterBasedPII . RestrictedDataTokenRequest == null )
98
+ {
99
+ var restrictedResource = new RestrictedResource ( ) ;
100
+ restrictedResource . method = Method . PUT . ToString ( ) ;
101
+ restrictedResource . path = MerchantFulfillmentApiUrls . CancelShipmentOld ( shipmentId ) ;
102
+
103
+ var createRDT = new CreateRestrictedDataTokenRequest ( )
104
+ {
105
+ restrictedResources = new List < RestrictedResource > { restrictedResource }
106
+ } ;
107
+ parameterBasedPII . RestrictedDataTokenRequest = createRDT ;
108
+ }
109
+
110
+ await CreateAuthorizedRequestAsync ( MerchantFulfillmentApiUrls . CancelShipmentOld ( shipmentId ) , RestSharp . Method . Put , parameter : parameterBasedPII ) ;
70
111
71
112
var response = await ExecuteRequestAsync < GetShipmentResponse > ( RateLimitType . MerchantFulFillment_CancelShipmentOld ) ;
72
113
if ( response != null && response . Payload != null )
@@ -78,6 +119,19 @@ public Shipment CreateShipment(CreateShipmentRequest createShipmentRequest, IPar
78
119
Task . Run ( ( ) => CreateShipmentAsync ( createShipmentRequest , parameterBasedPII ) ) . ConfigureAwait ( false ) . GetAwaiter ( ) . GetResult ( ) ;
79
120
public async Task < Shipment > CreateShipmentAsync ( CreateShipmentRequest createShipmentRequest , IParameterBasedPII parameterBasedPII = null )
80
121
{
122
+ if ( parameterBasedPII != null && parameterBasedPII . IsNeedRestrictedDataToken && parameterBasedPII . RestrictedDataTokenRequest == null )
123
+ {
124
+ var restrictedResource = new RestrictedResource ( ) ;
125
+ restrictedResource . method = Method . POST . ToString ( ) ;
126
+ restrictedResource . path = MerchantFulfillmentApiUrls . CreateShipment ;
127
+
128
+ var createRDT = new CreateRestrictedDataTokenRequest ( )
129
+ {
130
+ restrictedResources = new List < RestrictedResource > { restrictedResource }
131
+ } ;
132
+ parameterBasedPII . RestrictedDataTokenRequest = createRDT ;
133
+ }
134
+
81
135
await CreateAuthorizedRequestAsync ( MerchantFulfillmentApiUrls . CreateShipment , RestSharp . Method . Post , postJsonObj : createShipmentRequest , parameter : parameterBasedPII ) ;
82
136
83
137
var response = await ExecuteRequestAsync < CreateShipmentResponse > ( RateLimitType . MerchantFulFillment_CreateShipment ) ;
0 commit comments