Skip to content

Commit 99b26c4

Browse files
Add agent endpoints (#1450)
1 parent b707d46 commit 99b26c4

16 files changed

+423
-2
lines changed

Binance.Net/Binance.Net.xml

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,9 @@
288288
<member name="P:Binance.Net.Clients.CoinFuturesApi.BinanceRestClientCoinFuturesApi.Trading">
289289
<inheritdoc />
290290
</member>
291+
<member name="P:Binance.Net.Clients.CoinFuturesApi.BinanceRestClientCoinFuturesApi.Agent">
292+
<inheritdoc />
293+
</member>
291294
<member name="P:Binance.Net.Clients.CoinFuturesApi.BinanceRestClientCoinFuturesApi.ExchangeName">
292295
<inheritdoc />
293296
</member>
@@ -397,6 +400,9 @@
397400
<member name="M:Binance.Net.Clients.CoinFuturesApi.BinanceRestClientCoinFuturesApiAccount.GetDownloadLinkForTradeHistoryAsync(System.String,System.Nullable{System.Int64},System.Threading.CancellationToken)">
398401
<inheritdoc />
399402
</member>
403+
<member name="T:Binance.Net.Clients.CoinFuturesApi.BinanceRestClientCoinFuturesApiAgent">
404+
<inheritdoc />
405+
</member>
400406
<member name="T:Binance.Net.Clients.CoinFuturesApi.BinanceRestClientCoinFuturesApiExchangeData">
401407
<inheritdoc />
402408
</member>
@@ -1168,6 +1174,9 @@
11681174
<member name="P:Binance.Net.Clients.SpotApi.BinanceRestClientSpotApi.Trading">
11691175
<inheritdoc />
11701176
</member>
1177+
<member name="P:Binance.Net.Clients.SpotApi.BinanceRestClientSpotApi.Agent">
1178+
<inheritdoc />
1179+
</member>
11711180
<member name="P:Binance.Net.Clients.SpotApi.BinanceRestClientSpotApi.ExchangeName">
11721181
<inheritdoc />
11731182
</member>
@@ -1430,6 +1439,9 @@
14301439
<member name="M:Binance.Net.Clients.SpotApi.BinanceRestClientSpotApiAccount.GetCommissionRatesAsync(System.String,System.Nullable{System.Int32},System.Threading.CancellationToken)">
14311440
<inheritdoc />
14321441
</member>
1442+
<member name="T:Binance.Net.Clients.SpotApi.BinanceRestClientSpotApiAgent">
1443+
<inheritdoc />
1444+
</member>
14331445
<member name="T:Binance.Net.Clients.SpotApi.BinanceRestClientSpotApiExchangeData">
14341446
<inheritdoc />
14351447
</member>
@@ -1937,6 +1949,9 @@
19371949
<member name="P:Binance.Net.Clients.UsdFuturesApi.BinanceRestClientUsdFuturesApi.Trading">
19381950
<inheritdoc />
19391951
</member>
1952+
<member name="P:Binance.Net.Clients.UsdFuturesApi.BinanceRestClientUsdFuturesApi.Agent">
1953+
<inheritdoc />
1954+
</member>
19401955
<member name="P:Binance.Net.Clients.UsdFuturesApi.BinanceRestClientUsdFuturesApi.ExchangeName">
19411956
<inheritdoc />
19421957
</member>
@@ -2073,6 +2088,9 @@
20732088
<member name="M:Binance.Net.Clients.UsdFuturesApi.BinanceRestClientUsdFuturesApiAccount.GetAccountConfigurationAsync(System.Nullable{System.Int64},System.Threading.CancellationToken)">
20742089
<inheritdoc />
20752090
</member>
2091+
<member name="T:Binance.Net.Clients.UsdFuturesApi.BinanceRestClientUsdFuturesApiAgent">
2092+
<inheritdoc />
2093+
</member>
20762094
<member name="T:Binance.Net.Clients.UsdFuturesApi.BinanceRestClientUsdFuturesApiExchangeData">
20772095
<inheritdoc />
20782096
</member>
@@ -3626,6 +3644,21 @@
36263644
Terminated
36273645
</summary>
36283646
</member>
3647+
<member name="T:Binance.Net.Enums.IfNewUserMarginedFuturesType">
3648+
<summary>
3649+
Margined futures type
3650+
</summary>
3651+
</member>
3652+
<member name="F:Binance.Net.Enums.IfNewUserMarginedFuturesType.UsdtMarginedFutures">
3653+
<summary>
3654+
Processing
3655+
</summary>
3656+
</member>
3657+
<member name="F:Binance.Net.Enums.IfNewUserMarginedFuturesType.CoinMarginedFutures">
3658+
<summary>
3659+
Canceled
3660+
</summary>
3661+
</member>
36293662
<member name="T:Binance.Net.Enums.IncomeType">
36303663
<summary>
36313664
Type of futures income
@@ -5595,6 +5628,11 @@
55955628
Get the shared rest requests client. This interface is shared with other exhanges to allow for a common implementation for different exchanges.
55965629
</summary>
55975630
</member>
5631+
<member name="P:Binance.Net.Interfaces.Clients.CoinFuturesApi.IBinanceRestClientCoinFuturesApi.Agent">
5632+
<summary>
5633+
Endpoints related to query user data.
5634+
</summary>
5635+
</member>
55985636
<member name="T:Binance.Net.Interfaces.Clients.CoinFuturesApi.IBinanceRestClientCoinFuturesApiAccount">
55995637
<summary>
56005638
Binance COIN-M futures account endpoints. Account endpoints include balance info, withdraw/deposit info and requesting and account settings
@@ -5830,6 +5868,22 @@
58305868
<param name="ct">Cancellation token</param>
58315869
<returns></returns>
58325870
</member>
5871+
<member name="T:Binance.Net.Interfaces.Clients.CoinFuturesApi.IBinanceRestClientCoinFuturesApiAgent">
5872+
<summary>
5873+
Binance Futures Api-Agent Endpoints.
5874+
</summary>
5875+
</member>
5876+
<member name="M:Binance.Net.Interfaces.Clients.CoinFuturesApi.IBinanceRestClientCoinFuturesApiAgent.IfNewUser(System.String,System.Nullable{System.Int32},System.Threading.CancellationToken)">
5877+
<summary>
5878+
Query Client If The New User.
5879+
<para><a href="https://binance-docs.github.io/apiAgent-API-EN/api_rebate_endpoints_futures_EN/" /></para>
5880+
<para><a href="https://binance-docs.github.io/apiAgent-API-CN/api_rebate_endpoints_futures_CN/" /></para>
5881+
</summary>
5882+
<param name="brokerId">Api Broker Id</param>
5883+
<param name="receiveWindow">The receive window for which this request is active. When the request takes longer than this to complete the server will reject the request</param>
5884+
<param name="ct">Cancellation token</param>
5885+
<returns>USER DATA</returns>
5886+
</member>
58335887
<member name="T:Binance.Net.Interfaces.Clients.CoinFuturesApi.IBinanceRestClientCoinFuturesApiExchangeData">
58345888
<summary>
58355889
Binance COIN-M futures exchange data endpoints. Exchange data includes market data (tickers, order books, etc) and system status.
@@ -8643,6 +8697,11 @@
86438697
Get the shared rest requests client. This interface is shared with other exhanges to allow for a common implementation for different exchanges.
86448698
</summary>
86458699
</member>
8700+
<member name="P:Binance.Net.Interfaces.Clients.SpotApi.IBinanceRestClientSpotApi.Agent">
8701+
<summary>
8702+
Endpoints related to query user data.
8703+
</summary>
8704+
</member>
86468705
<member name="T:Binance.Net.Interfaces.Clients.SpotApi.IBinanceRestClientSpotApiAccount">
86478706
<summary>
86488707
Binance Spot account endpoints. Account endpoints include balance info, withdraw/deposit info and requesting and account settings
@@ -9468,6 +9527,22 @@
94689527
<param name="ct">Cancellation token</param>
94699528
<returns></returns>
94709529
</member>
9530+
<member name="T:Binance.Net.Interfaces.Clients.SpotApi.IBinanceRestClientSpotApiAgent">
9531+
<summary>
9532+
Binance Spot Api-Agent Endpoints.
9533+
</summary>
9534+
</member>
9535+
<member name="M:Binance.Net.Interfaces.Clients.SpotApi.IBinanceRestClientSpotApiAgent.IfNewUser(System.String,System.Nullable{System.Int32},System.Threading.CancellationToken)">
9536+
<summary>
9537+
Query Client If The New User.
9538+
<para><a href="https://binance-docs.github.io/apiAgent-API-EN/api_rebate_endpoints_spot_EN/" /></para>
9539+
<para><a href="https://binance-docs.github.io/apiAgent-API-CN/api_rebate_endpoints_spot_CN/" /></para>
9540+
</summary>
9541+
<param name="apiAgentCode">Api Agent Code</param>
9542+
<param name="receiveWindow">The receive window for which this request is active. When the request takes longer than this to complete the server will reject the request</param>
9543+
<param name="ct">Cancellation token</param>
9544+
<returns>USER DATA</returns>
9545+
</member>
94719546
<member name="T:Binance.Net.Interfaces.Clients.SpotApi.IBinanceRestClientSpotApiExchangeData">
94729547
<summary>
94739548
Binance Spot exchange data endpoints. Exchange data includes market data (tickers, order books, etc) and system status.
@@ -11387,6 +11462,11 @@
1138711462
Get the shared rest requests client. This interface is shared with other exhanges to allow for a common implementation for different exchanges.
1138811463
</summary>
1138911464
</member>
11465+
<member name="P:Binance.Net.Interfaces.Clients.UsdFuturesApi.IBinanceRestClientUsdFuturesApi.Agent">
11466+
<summary>
11467+
Endpoints related to query user data.
11468+
</summary>
11469+
</member>
1139011470
<member name="T:Binance.Net.Interfaces.Clients.UsdFuturesApi.IBinanceRestClientUsdFuturesApiAccount">
1139111471
<summary>
1139211472
Binance USD-M futures account endpoints. Account endpoints include balance info, withdraw/deposit info and requesting and account settings
@@ -11703,6 +11783,22 @@
1170311783
<param name="receiveWindow">The receive window for which this request is active. When the request takes longer than this to complete the server will reject the request</param>
1170411784
<param name="ct">Cancellation token</param>
1170511785
</member>
11786+
<member name="T:Binance.Net.Interfaces.Clients.UsdFuturesApi.IBinanceRestClientUsdFuturesApiAgent">
11787+
<summary>
11788+
Binance Futures Api-Agent Endpoints.
11789+
</summary>
11790+
</member>
11791+
<member name="M:Binance.Net.Interfaces.Clients.UsdFuturesApi.IBinanceRestClientUsdFuturesApiAgent.IfNewUser(System.String,System.Nullable{System.Int32},System.Threading.CancellationToken)">
11792+
<summary>
11793+
Query Client If The New User.
11794+
<para><a href="https://binance-docs.github.io/apiAgent-API-EN/api_rebate_endpoints_futures_EN/" /></para>
11795+
<para><a href="https://binance-docs.github.io/apiAgent-API-CN/api_rebate_endpoints_futures_CN/" /></para>
11796+
</summary>
11797+
<param name="brokerId">Api Broker Id</param>
11798+
<param name="receiveWindow">The receive window for which this request is active. When the request takes longer than this to complete the server will reject the request</param>
11799+
<param name="ct">Cancellation token</param>
11800+
<returns>USER DATA</returns>
11801+
</member>
1170611802
<member name="T:Binance.Net.Interfaces.Clients.UsdFuturesApi.IBinanceRestClientUsdFuturesApiExchangeData">
1170711803
<summary>
1170811804
Binance USD-M futures exchange data endpoints. Exchange data includes market data (tickers, order books, etc) and system status.
@@ -17141,6 +17237,31 @@
1714117237
Unrealized profit
1714217238
</summary>
1714317239
</member>
17240+
<member name="T:Binance.Net.Objects.Models.Spot.BinanceIfNewUser">
17241+
<summary>
17242+
If the new user info
17243+
</summary>
17244+
</member>
17245+
<member name="P:Binance.Net.Objects.Models.Spot.BinanceIfNewUser.ApiAgentCode">
17246+
<summary>
17247+
Api Agen tCode
17248+
</summary>
17249+
</member>
17250+
<member name="P:Binance.Net.Objects.Models.Spot.BinanceIfNewUser.RebateWorking">
17251+
<summary>
17252+
If the apiAgentCode is working
17253+
</summary>
17254+
</member>
17255+
<member name="P:Binance.Net.Objects.Models.Spot.BinanceIfNewUser.IfNewUser">
17256+
<summary>
17257+
If new user
17258+
</summary>
17259+
</member>
17260+
<member name="P:Binance.Net.Objects.Models.Spot.BinanceIfNewUser.ReferrerId">
17261+
<summary>
17262+
Referrer Id
17263+
</summary>
17264+
</member>
1714417265
<member name="T:Binance.Net.Objects.Models.Spot.BinanceIpRestriction">
1714517266
<summary>
1714617267
IP restriction info
@@ -27739,6 +27860,26 @@
2773927860
<member name="P:Binance.Net.Objects.Models.Futures.BinanceFuturesUsdtKline.TakerBuyQuoteVolume">
2774027861
<inheritdoc/>
2774127862
</member>
27863+
<member name="T:Binance.Net.Objects.Models.Futures.BinanceIfNewUser">
27864+
<summary>
27865+
If the new user info
27866+
</summary>
27867+
</member>
27868+
<member name="P:Binance.Net.Objects.Models.Futures.BinanceIfNewUser.BrokerId">
27869+
<summary>
27870+
Broker Id
27871+
</summary>
27872+
</member>
27873+
<member name="P:Binance.Net.Objects.Models.Futures.BinanceIfNewUser.RebateWorking">
27874+
<summary>
27875+
If the apiAgentCode is working
27876+
</summary>
27877+
</member>
27878+
<member name="P:Binance.Net.Objects.Models.Futures.BinanceIfNewUser.IfNewUser">
27879+
<summary>
27880+
If new user
27881+
</summary>
27882+
</member>
2774227883
<member name="T:Binance.Net.Objects.Models.Futures.BinancePositionBase">
2774327884
<summary>
2774427885
Base position info

Binance.Net/Clients/CoinFuturesApi/BinanceRestClientCoinFuturesApi.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ internal partial class BinanceRestClientCoinFuturesApi : RestApiClient, IBinance
3737
/// <inheritdoc />
3838
public IBinanceRestClientCoinFuturesApiTrading Trading { get; }
3939
/// <inheritdoc />
40+
public IBinanceRestClientCoinFuturesApiAgent Agent { get; }
41+
/// <inheritdoc />
4042
public string ExchangeName => "Binance";
4143
#endregion
4244

@@ -56,6 +58,7 @@ internal BinanceRestClientCoinFuturesApi(ILogger logger, HttpClient? httpClient,
5658
Account = new BinanceRestClientCoinFuturesApiAccount(this);
5759
ExchangeData = new BinanceRestClientCoinFuturesApiExchangeData(logger, this);
5860
Trading = new BinanceRestClientCoinFuturesApiTrading(logger, this);
61+
Agent = new BinanceRestClientCoinFuturesApiAgent(this);
5962

6063
RequestBodyEmptyContent = "";
6164
RequestBodyFormat = RequestBodyFormat.FormData;
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
using Binance.Net.Enums;
2+
using Binance.Net.Interfaces.Clients.CoinFuturesApi;
3+
using Binance.Net.Objects.Models.Futures;
4+
5+
namespace Binance.Net.Clients.CoinFuturesApi
6+
{
7+
/// <inheritdoc />
8+
internal class BinanceRestClientCoinFuturesApiAgent : IBinanceRestClientCoinFuturesApiAgent
9+
{
10+
private static readonly RequestDefinitionCache _definitions = new RequestDefinitionCache();
11+
12+
private readonly BinanceRestClientCoinFuturesApi _baseClient;
13+
14+
internal BinanceRestClientCoinFuturesApiAgent(BinanceRestClientCoinFuturesApi baseClient)
15+
{
16+
_baseClient = baseClient;
17+
}
18+
19+
#region If New User
20+
21+
public async Task<WebCallResult<BinanceIfNewUser>> IfNewUser(string brokerId, int? receiveWindow = null, CancellationToken ct = default)
22+
{
23+
brokerId.ValidateNotNull(nameof(brokerId));
24+
25+
var parameters = new ParameterCollection
26+
{
27+
{ "brokerId", brokerId }
28+
};
29+
parameters.AddEnum("type", IfNewUserMarginedFuturesType.CoinMarginedFutures);
30+
parameters.AddOptionalParameter("recvWindow", receiveWindow?.ToString(CultureInfo.InvariantCulture) ?? _baseClient.ClientOptions.ReceiveWindow.TotalMilliseconds.ToString(CultureInfo.InvariantCulture));
31+
32+
var request = _definitions.GetOrCreate(HttpMethod.Get, "fapi/v1/apiReferral/ifNewUser", BinanceExchange.RateLimiter.SpotRestIp, 100, true);
33+
return await _baseClient.SendAsync<BinanceIfNewUser>(request, parameters, ct).ConfigureAwait(false);
34+
}
35+
36+
#endregion
37+
38+
}
39+
}

Binance.Net/Clients/SpotApi/BinanceRestClientSpotApi.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ internal partial class BinanceRestClientSpotApi : RestApiClient, IBinanceRestCli
3838
/// <inheritdoc />
3939
public IBinanceRestClientSpotApiTrading Trading { get; }
4040
/// <inheritdoc />
41+
public IBinanceRestClientSpotApiAgent Agent { get; }
42+
/// <inheritdoc />
4143
public string ExchangeName => "Binance";
4244
#endregion
4345

@@ -57,6 +59,7 @@ internal BinanceRestClientSpotApi(ILogger logger, HttpClient? httpClient, Binanc
5759
Account = new BinanceRestClientSpotApiAccount(this);
5860
ExchangeData = new BinanceRestClientSpotApiExchangeData(logger, this);
5961
Trading = new BinanceRestClientSpotApiTrading(logger, this);
62+
Agent = new BinanceRestClientSpotApiAgent(this);
6063

6164
RequestBodyEmptyContent = "";
6265
RequestBodyFormat = RequestBodyFormat.FormData;
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
using Binance.Net.Interfaces.Clients.SpotApi;
2+
using Binance.Net.Objects.Models.Spot;
3+
4+
namespace Binance.Net.Clients.SpotApi
5+
{
6+
/// <inheritdoc />
7+
internal class BinanceRestClientSpotApiAgent : IBinanceRestClientSpotApiAgent
8+
{
9+
private static readonly RequestDefinitionCache _definitions = new RequestDefinitionCache();
10+
11+
private readonly BinanceRestClientSpotApi _baseClient;
12+
13+
internal BinanceRestClientSpotApiAgent(BinanceRestClientSpotApi baseClient)
14+
{
15+
_baseClient = baseClient;
16+
}
17+
18+
#region If New User
19+
20+
public async Task<WebCallResult<BinanceIfNewUser>> IfNewUser(string apiAgentCode, int? receiveWindow = null, CancellationToken ct = default)
21+
{
22+
apiAgentCode.ValidateNotNull(nameof(apiAgentCode));
23+
24+
var parameters = new ParameterCollection
25+
{
26+
{ "apiAgentCode", apiAgentCode }
27+
};
28+
parameters.AddOptionalParameter("recvWindow", receiveWindow?.ToString(CultureInfo.InvariantCulture) ?? _baseClient.ClientOptions.ReceiveWindow.TotalMilliseconds.ToString(CultureInfo.InvariantCulture));
29+
30+
var request = _definitions.GetOrCreate(HttpMethod.Get, "sapi/v1/apiReferral/ifNewUser", BinanceExchange.RateLimiter.SpotRestIp, 100, true);
31+
return await _baseClient.SendAsync<BinanceIfNewUser>(request, parameters, ct).ConfigureAwait(false);
32+
}
33+
34+
#endregion
35+
}
36+
}

Binance.Net/Clients/UsdFuturesApi/BinanceRestClientUsdFuturesApi.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ internal partial class BinanceRestClientUsdFuturesApi : RestApiClient, IBinanceR
3636
/// <inheritdoc />
3737
public IBinanceRestClientUsdFuturesApiTrading Trading { get; }
3838
/// <inheritdoc />
39+
public IBinanceRestClientUsdFuturesApiAgent Agent { get; }
40+
/// <inheritdoc />
3941
public string ExchangeName => "Binance";
4042
#endregion
4143

@@ -59,6 +61,7 @@ internal BinanceRestClientUsdFuturesApi(ILogger logger, HttpClient? httpClient,
5961
Account = new BinanceRestClientUsdFuturesApiAccount(this);
6062
ExchangeData = new BinanceRestClientUsdFuturesApiExchangeData(logger, this);
6163
Trading = new BinanceRestClientUsdFuturesApiTrading(logger, this);
64+
Agent = new BinanceRestClientUsdFuturesApiAgent(this);
6265

6366
RequestBodyEmptyContent = "";
6467
RequestBodyFormat = RequestBodyFormat.FormData;

0 commit comments

Comments
 (0)