Releases: Agash/GoAffPro.Client
v0.4.0-dev1
TESTERS WANTED!
I need some folks with real access to real data to test this for me, I'd appreciate any help and am happy to answer any questions or write simple test scripts
BREAKING CHANGES
AffiliateEvents are now TrafficEvents all related types and entities were renamed accordingly.
Changed
- spec updates following new insight
- mostly new fields, required params and some new convenience methods
Full Changelog: v0.3.0-dev2...v0.4.0-dev1
v0.3.0 - TESTER WANTED - Client & Spec Migration
TESTERS WANTED!
I need some folks with real access to real data to test this for me, I'd appreciate any help and am happy to answer any questions or write simple test scripts
BREAKING CHANGES
this release practically breaks everything from the previous 0.2.0 api surface!
Changed
- updated order observer polling to always request the full known order field set (
id, number, total, subtotal, line_items, commission, created_at, currency, site_id, sub_id, conversion_details). - kept
productsandtransactionspolling disabled inStartEventObserverAsyncdue to API failing anyway
Notes
- product and transaction feeds are still available in API but are not polled by the observer loop until upstream is working
Full Changelog: v0.3.0-dev1...v0.3.0-dev2
v0.3.0 - TESTER WANTED - Client & Spec Migration
TESTERS WANTED!
I need some folks with real access to real data to test this for me, I'd appreciate any help and am happy to answer any questions or write simple test scripts
BREAKING CHANGES
this release practically breaks everything from the previous api surface!
Highlights
- migrated generation to Kiota using the canonical local spec (
openapi/goaffpro-canonical.yaml) that was written by me since the official spec shows significant spec/api drift and isn't realiable; I believe this is easier than writing overlays for ever single endpoint. But has to be maintained and checked for new endpoints; please open issues/PR if a new endpoint is wanted - wrapper around Kiota client (
client.Api.User.../client.Api.Public...) - refactored event/observer to emit feed models directly (removed old event payload classes since the new spec references schemas correctly)
- expanded observer support for payouts/products/transactions in addition to orders/traffic
- added interactive example app for testing
- targeted to net9.0 and net10.0, drops net8.0
Added
- new events:
PayoutDetectedEventArgsProductDetectedEventArgsTransactionDetectedEventArgs
Changed
GoAffProClientexposes generated Kiota client viaApi.- streams/events now propagate generated types (
UserOrderFeedItem,UserTrafficFeedItem, etc.). - spec includes error response mapping where applicable.
Known Runtime API Instability
as tracked in spec comments:
/user/feed/productsmay timeout/hang./user/feed/rewardsmay return 404/non-JSON./user/feed/transactionsmay return 500/non-JSON./user/payouts/pendingis tracked as parity endpoint also seen under/sdk/user/*.
Full Changelog: v0.2.1-dev1...v0.3.0-dev2
TESTERS WANTED v0.2.1-dev1
TESTERS WANTED! I need some folks with real access to real data to test this for me, I'd appreciate any help and am happy to answer any questions or write simple test scripts
Breaking Changes
GetOrdersAsync,GetAffiliatesAsync,GetRewardsAsync,GetPayoutsAsyncnow acceptfromandtoDate(DateTimeOffset?) parameters for time-based filtering instead of just limit/offset- vent detector
GoAffProEventDetectornow uses time-based filtering instead of tracking Ids with a HashSet
Features
- Time-based filtering for feeds: All feed methods now support
fromandtoDateparameters to filter by timestamp
IMPORTANT: I don't know whether any of the formats used are correct or not, the live API doesn't return any errors for me personally, but since I don't have any proper affiliate sites to test with and no data to verify I can't know whether it silently fails or not - New
GetPayoutsAsyncmethod: Fetches payout feed items from/user/feed/payouts - New
GetProductsAsyncmethod: Fetches product feed items from/user/feed/products - Event detector improvements: Now uses time-based filtering - stores last poll timestamp and fetches only new items since last poll. Added
OrderStartTimeandAffiliateStartTimeproperties for backfilling historical data
Model Updates
IMPORTANT: I don't know whether any of the formats used are correct or not, the live API doesn't return any errors for me personally, but since I don't have any proper affiliate sites to test with and no data to verify I can't know whether it silently fails or not. The same applies to any data models, since their API Descriptions don't clearly define them for our relevant endpoints specifically, returning dynamic objects.
- GoAffProOrder: Added
Subtotal,AffiliateId,Statusfields - GoAffProAffiliate: Added
FirstName,LastName,Phone,Country,GroupIdfields - GoAffProReward: Added
AffiliateId,Type,Metadata,Level,Statusfields - New GoAffProPayout model: id, affiliateId, amount, status, paymentMethod, transactionId, currency, createdAt
- New GoAffProProduct model: id, name, description, price, salePrice, imageUrl, productUrl, category, sku, currency
Full Changelog: v0.2.0...v0.2.1-dev1
v0.2.0 — First Proper Release: Generated GoAffPro .NET Client
GoAffPro.Client v0.2.0
First proper release of GoAffPro.Client: a strongly typed, build-generated .NET client for GoAffPro with improved
developer experience.
Highlights
- Build-time NSwag generation for
/user/*and/public/*clients. - High-level wrapper API (
GoAffProClient) built on top of generated clients. - Strongly typed feed models:
GoAffProOrderGoAffProAffiliateGoAffProReward
- Event detection with both:
IAsyncEnumerablestreams- classic
.NETevents (EventHandler<TEventArgs>)
- Polly-based resilience (retry + circuit breaker).
- DI registration extensions for ASP.NET Core/Hosted services.
- Contract snapshot tests + unit/integration coverage.
Known Limitation
/user/feed/rewardsis currently returning404(observed on API on 2026-02-18).- Reward wrapper/polling APIs are marked
[Obsolete]and currently return no live reward feed data.
Targets
net8.0net10.0