@@ -56,5 +56,98 @@ public static class TikTokShopClientExecuteOrderExtensions
5656
5757 return await client . SendFlurlRequesAsJsontAsync < Models . OrderBatchGetOrderDetailResponse > ( flurlReq , data : request , cancellationToken : cancellationToken ) . ConfigureAwait ( false ) ;
5858 }
59+
60+ /// <summary>
61+ /// <para>异步调用 [GET] /order/{version}/orders/{order_id}/price_detail 接口。</para>
62+ /// <para>
63+ /// REF: <br/>
64+ /// <![CDATA[ https://partner.tiktokshop.com/docv2/page/66ce16cadefa5102ffda9c6b ]]>
65+ /// </para>
66+ /// </summary>
67+ /// <param name="client"></param>
68+ /// <param name="request"></param>
69+ /// <param name="cancellationToken"></param>
70+ /// <returns></returns>
71+ public static async Task < Models . OrderGetOrderPriceDetailResponse > ExecuteOrderGetOrderPriceDetailAsync ( this TikTokShopClient client , Models . OrderGetOrderPriceDetailRequest request , CancellationToken cancellationToken = default )
72+ {
73+ if ( client is null ) throw new ArgumentNullException ( nameof ( client ) ) ;
74+ if ( request is null ) throw new ArgumentNullException ( nameof ( request ) ) ;
75+
76+ IFlurlRequest flurlReq = client
77+ . CreateFlurlRequest ( request , HttpMethod . Get , "order" , request . ApiVersion , "orders" , request . OrderId , "price_detail" ) ;
78+
79+ return await client . SendFlurlRequesAsJsontAsync < Models . OrderGetOrderPriceDetailResponse > ( flurlReq , data : request , cancellationToken : cancellationToken ) . ConfigureAwait ( false ) ;
80+ }
81+
82+ #region ExternalOrder
83+ /// <summary>
84+ /// <para>异步调用 [POST] /order/{version}/orders/external_orders 接口。</para>
85+ /// <para>
86+ /// REF: <br/>
87+ /// <![CDATA[ https://partner.tiktokshop.com/docv2/page/668cf073a6a5e002e69d4a28 ]]>
88+ /// </para>
89+ /// </summary>
90+ /// <param name="client"></param>
91+ /// <param name="request"></param>
92+ /// <param name="cancellationToken"></param>
93+ /// <returns></returns>
94+ public static async Task < Models . OrderCreateExternalOrderResponse > ExecuteOrderCreateExternalOrderAsync ( this TikTokShopClient client , Models . OrderCreateExternalOrderRequest request , CancellationToken cancellationToken = default )
95+ {
96+ if ( client is null ) throw new ArgumentNullException ( nameof ( client ) ) ;
97+ if ( request is null ) throw new ArgumentNullException ( nameof ( request ) ) ;
98+
99+ IFlurlRequest flurlReq = client
100+ . CreateFlurlRequest ( request , HttpMethod . Post , "order" , request . ApiVersion , "orders" , "external_orders" ) ;
101+
102+ return await client . SendFlurlRequesAsJsontAsync < Models . OrderCreateExternalOrderResponse > ( flurlReq , data : request , cancellationToken : cancellationToken ) . ConfigureAwait ( false ) ;
103+ }
104+
105+ /// <summary>
106+ /// <para>异步调用 [GET] /order/{version}/orders/{order_id}/external_orders 接口。</para>
107+ /// <para>
108+ /// REF: <br/>
109+ /// <![CDATA[ https://partner.tiktokshop.com/docv2/page/668cf073115ebe02f8050b0a ]]>
110+ /// </para>
111+ /// </summary>
112+ /// <param name="client"></param>
113+ /// <param name="request"></param>
114+ /// <param name="cancellationToken"></param>
115+ /// <returns></returns>
116+ public static async Task < Models . OrderGetExternalOrdersResponse > ExecuteOrderGetExternalOrdersAsync ( this TikTokShopClient client , Models . OrderGetExternalOrdersRequest request , CancellationToken cancellationToken = default )
117+ {
118+ if ( client is null ) throw new ArgumentNullException ( nameof ( client ) ) ;
119+ if ( request is null ) throw new ArgumentNullException ( nameof ( request ) ) ;
120+
121+ IFlurlRequest flurlReq = client
122+ . CreateFlurlRequest ( request , HttpMethod . Get , "order" , request . ApiVersion , "orders" , request . OrderId , "external_orders" )
123+ . SetQueryParam ( "platform" , request . Platform ) ;
124+
125+ return await client . SendFlurlRequesAsJsontAsync < Models . OrderGetExternalOrdersResponse > ( flurlReq , data : request , cancellationToken : cancellationToken ) . ConfigureAwait ( false ) ;
126+ }
127+
128+ /// <summary>
129+ /// <para>异步调用 [POST] /order/{version}/orders/external_order_search 接口。</para>
130+ /// <para>
131+ /// REF: <br/>
132+ /// <![CDATA[ https://partner.tiktokshop.com/docv2/page/668cf073737c3702ef051a27 ]]>
133+ /// </para>
134+ /// </summary>
135+ /// <param name="client"></param>
136+ /// <param name="request"></param>
137+ /// <param name="cancellationToken"></param>
138+ /// <returns></returns>
139+ public static async Task < Models . OrderSearchExternalOrdersResponse > ExecuteOrderSearchExternalOrdersAsync ( this TikTokShopClient client , Models . OrderSearchExternalOrdersRequest request , CancellationToken cancellationToken = default )
140+ {
141+ if ( client is null ) throw new ArgumentNullException ( nameof ( client ) ) ;
142+ if ( request is null ) throw new ArgumentNullException ( nameof ( request ) ) ;
143+
144+ IFlurlRequest flurlReq = client
145+ . CreateFlurlRequest ( request , HttpMethod . Post , "order" , request . ApiVersion , "orders" , "external_order_search" )
146+ . SetQueryParam ( "external_order_id" , request . ExternalOrderId )
147+ . SetQueryParam ( "platform" , request . Platform ) ;
148+
149+ return await client . SendFlurlRequesAsJsontAsync < Models . OrderSearchExternalOrdersResponse > ( flurlReq , data : request , cancellationToken : cancellationToken ) . ConfigureAwait ( false ) ;
150+ }
151+ #endregion
59152 }
60153}
0 commit comments