Skip to content

Releases: Agash/GoAffPro.Client

v0.4.0-dev1

26 Feb 10:41

Choose a tag to compare

v0.4.0-dev1 Pre-release
Pre-release

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

25 Feb 10:37

Choose a tag to compare

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 products and transactions polling disabled in StartEventObserverAsync due 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

25 Feb 09:54

Choose a tag to compare

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:
    • PayoutDetectedEventArgs
    • ProductDetectedEventArgs
    • TransactionDetectedEventArgs

Changed

  • GoAffProClient exposes generated Kiota client via Api.
  • 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/products may timeout/hang.
  • /user/feed/rewards may return 404/non-JSON.
  • /user/feed/transactions may return 500/non-JSON.
  • /user/payouts/pending is 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

22 Feb 07:33

Choose a tag to compare

Pre-release

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, GetPayoutsAsync now accept from and toDate (DateTimeOffset?) parameters for time-based filtering instead of just limit/offset
  • vent detector GoAffProEventDetector now uses time-based filtering instead of tracking Ids with a HashSet

Features

  • Time-based filtering for feeds: All feed methods now support from and toDate parameters 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 GetPayoutsAsync method: Fetches payout feed items from /user/feed/payouts
  • New GetProductsAsync method: 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 OrderStartTime and AffiliateStartTime properties 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, Status fields
  • GoAffProAffiliate: Added FirstName, LastName, Phone, Country, GroupId fields
  • GoAffProReward: Added AffiliateId, Type, Metadata, Level, Status fields
  • 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

18 Feb 12:05

Choose a tag to compare

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:
    • GoAffProOrder
    • GoAffProAffiliate
    • GoAffProReward
  • Event detection with both:
    • IAsyncEnumerable streams
    • classic .NET events (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/rewards is currently returning 404 (observed on API on 2026-02-18).
  • Reward wrapper/polling APIs are marked [Obsolete] and currently return no live reward feed data.

Targets

  • net8.0
  • net10.0