Skip to content
drRobertDev edited this page Jul 3, 2020 · 1 revision

Welcome to the Fifa-UltimateTeam-Console wiki!

FutClient

Each call can throw FifaSessionException when session expired or somebody logged at same time

Account Loggin

You can provide proxy address/user/pass null if you dont use proxy. FileStorage is file where client will save cookie/session. PersonaIndex you can use values between 0 to 4 if have multiple persona on same account.

throw ArgumentException when data provide on init are invalid

throw FifaConfigException when fifa are wrong

throw FifaInternalServerException When there is issue with EA server

Task<FifaPlatform> Loggin(string username, string password, ITwoFactorCodeProvider twoFactorCodeProvider, string proxyAddress, string proxyUser, string proxyPass, string fileStorage, byte personaIndex = 0);

Account LogOut

Use it only when you need to force logout like when throw funcaptcha like in example provide it

void LogOut()

Get User Config Info

Must be call it after Loggin to get account data. If funcaptcha detected will throw FifaSessionExceptionCaptcha, then you must solve it before you can continue

throw FifaSessionExceptionCaptcha when request to solve funcaptcha

Task<FifaUserResponse> GetUserInfo();

Get Live Message

Must be call it after GetUserInfo will return live message on startup

Task<FifaLiveMessageResponse> GetLiveMessage()

Get Active Message

Must be call it after GetUserInfo and return active message to take care on startup, usually reward

Task<FifaActiveMessages> GetActiveMessage()

Close Live Message

Must be call it when there is Live message, provide message Id

Task<bool> CloseLiveMessage(uint Id)

Close Live Message

Must be call it when there is Active message, provide message Id

Task<bool> GetActiveMessage(uint Id)

Get Session Back When throw FifaSessionException

Call it only when FifaSessionException throw

void ReSession()

Get Current Coins

Usually you dont need to call it cause other calls return this value

void GetCredits()

Get Unassigned Items

Return Items in Unassigned List, rember to cache results for 5 minutes

Task<FifaUnassignedItemsResponse> GetUnassignedItems()

Get TradePile Items

Return Items in TradePile , rember to cache results for 5 minutes

Task<FifaTradeResponse> GetTradePile()

Get WatchList Items

Return Items in WatchList, rember to cache results for 5 minutes

Task<FifaWatchResponse> GetWatchList()

Request Player Variants alias Informs

Return Players variants like inform from assetId, results will be add by it self on InvDb, rember to save it for next time

Task<List<FifaItem>> RequestPlayerVariants(uint baseId)

Request Player Variants alias Informs

Return Price range from itemId, must call it if missing min/max price range before list new item on trade pile

Task<FifaPriceLimitsResponse> PriceLimitsByItemId(uint baseId)

Search Item in Market

Return Items/Players searched in market with parameter provide it *SearchParameters, examples in project

throw FifaStuckException when too much search request, temp ban for search

Task<FifaWatchResponse> Search(FifaSearchParameters searchParameters)

Relist Item in Trade Pile

Relist All item in Trade Pile

throw FifaStuckException when too much trade action request, temp ban for tradepile

Task RelistTradePile()

Remove Sold from Trade Pile

Relist All item in Trade Pile

throw FifaStuckException when too much trade action request, temp ban for tradepile

Task RemoveSoldFromTradePile()

Remove OutBid from Watchlist

Remove specific outbid items/players from Watch List

throw FifaStuckException when too much trade action request, temp ban for tradepile

Task<bool> RemoveOutBidFromWatchlist(IEnumerable<FifaAuctionBase> auctionInfo)

List Item to Trade Pile

List a specific item/player or relist expired with new parameters

throw FifaStuckException when too much trade action request, temp ban for tradepile

throw FifaLogicException when trade pile is full

Task<FifaProcessTradeResponse> ListItem(FifaTradeOrder order)

Place a Bid/Bin on Auction

Put a Bid/Bin on specific auction, Bin is when bidAmount equal Bin Price

throw FifaStuckException when too much bid/bin request, temp ban for bid/bin

throw FifaPermissionDeniedException when somebody put bid/bin higest than your and auction is not refreshed

throw FifaLogicException when not enought coins, unassigned more than 5

Task<FifaWatchResponse> PlaceBid(FifaAuctionRestricted auctionInfo, uint bidAmount)

Update Auction Status Info

Get Auction Status for Search / Watchlist results not use for TradePile, max 20 items input, when something is outbid rember to call GetCredits(). Usually you need to create a list of items to update by default EA will call each sec if expire in less 30 secs, each 5 sec if expire under 60 sec, each 2 minutes if expire under 10 minutes, other each 10 minutes

Task<FifaAuctionsStatusResponse> GetAuctionsStatusInfo(IEnumerable<long> tradeIds)

QuickSell

Quicksell items/players

Task<FifaQuickSellResponse> QuickSell(long ItemId)

Send Item To TradePile

Move item to Trade Pile, tradeId not required if moving from unassigned then put 0

throw FifaLogicException when tradepile is full

Task<FifaSendItemToResponse> SendItemToTradePile(long itemId, long tradeId)

Send Item To Club

Move item to Club

throw FifaLogicException when destination is full/Duplicate Players

Task<FifaSendItemToResponse> SendItemToClub(long itemId)

Solve Funcaptcha with Proxy Delegate

Use delegate to solve funcaptcha, then all process will be run on server side, require Proxy to work (will use proxy provided on loggin function) require captchaKey

Task<bool> FuncaptchaProxySolver(string captchaKey)

Solve Funcaptcha

Use external Solver, require captchaKey, EaPk/EaBlob must required with GetCaptchaKey(), easyMode mean get less imgs to solve. Check example on project

Task<string> FuncaptchaSolver(string captchaKey, string EaPk, string EaBlob, bool easyMode = true)

Others

There are multiple functions on FutClient not covered here, self explain, some complex operation show on project example

FutManager

Init Library

Must Call it to init Library, you can get UserKey and userSecret using FutUiManager (Included in Library)

void Init(ILogger logger, Guid userKey, string userSecret)

Unload All Instances

Unload all Instance loaded

void UnloadAllInstances()

Get Inventary Database

Inv Db for internal operation, rember to setup after startup. Use GenInvItems/GenInvPlayers methods to create it first time, then we suggest to save on file then just load it.

Dictionary<uint, FifaInvBase> InvDb

Generate Players Inventary

Add Players on Db provide it, Players are from EA db that include base players and legends. Unfortunately not include players inform, must be add by your self. You can iterate all base players with one fifa client and ask players variant

void GenInvPlayers(Dictionary<uint, FifaInvBase> invDb)

Generate Items Inventary

Add Inv Items on Db provide it, Items supported are Contract, Fitness, PlayerTraining and Healt

void GenInvItems(Dictionary<uint, FifaInvBase> invDb)

Convert FifaPlayer to InvPlayer

Add on actual InvDb a Player normal/inform and update RareType and ClubId (cause missing info from GenInvPlayers). Auto call by RequestPlayerVariants on instance

FifaInvPlayer GetInvPlayerFromItem(FifaItemBase fifaItem)

Nations Inventary

Return Inv Nations, Key:Id Value:Nation name.

Dictionary<uint, string> InvNations

Clubs Inventary

Return Inv Clubs, Key:Id Value:Clubs name.

Dictionary<uint, string> InvClubs

Leagues Inventary

Return Inv Leagues, Key:Id Value:Leagues name.

Dictionary<uint, string> InvLeagues

Create New Fut Client Instance

Create a new fifa client instance

IFutClient CreateNewInstance(ILogger logger)

Check if Library support last fifa code

Check if current library version support last fifa code, library auto check it when init and each time one client loggin

bool IsFifaSupported(ILogger logger)

Check a Player Price on Futbin

Try to get Futbin Price, after many calls futbin can lock your IP, to avoid it you can use proxy or reduce number of call

throw UnauthorizedAccessException when futbin locked your local Ip

throw ArgumentException when player data missing on InvDb or not found on Futbin Site

Task<FutBinPriceResponse> GetFutBinPlayerPrice(uint playerId, HttpClient client)

Check a Player Price on Futwiz

Try to get Futwiz Price

throw ArgumentException when player data missing on InvDb or not found on Futwiz Site

Task<FutWizPriceResponse> GetFutWizlayerPrice(uint playerId, HttpClient client)

Others

There are multiple functions on FutManager library not covered here, self explain