d3bdcc1061093ba0157b1d6da2947c018d5429a3
Business policies: EnsurePoliciesAndLocationAsync fetches fulfillment, payment and return policy IDs from the seller's eBay Account API on first post and caches them for the session. Uses the first policy of each type; gives a clear error pointing to My eBay → Business policies if none are configured. Merchant location: checks for existing locations via GET /sell/inventory/v1/location; if none found, creates a 'home' location using the seller's postcode. Location key is cached so the check only runs once. Cache cleared on disconnect so it works correctly after switching accounts. CreateOfferAsync now sends real fulfillmentPolicyId / paymentPolicyId / returnPolicyId instead of hardcoded policy name strings, and uses the resolved merchantLocationKey instead of the hardcoded "home" string. Removed BuildListingPolicies (inline shipping service codes no longer needed; shipping is governed by the fulfillment policy). Shared HttpClient: replaced BuildClient() (which returned a new HttpClient per call) with a static _http client and MakeRequest() helper that creates a pre-authorised HttpRequestMessage. UploadSinglePhotoAsync likewise uses a static _photoHttp client and HttpRequestMessage instead of new HttpClient() per photo. Removed placeholder ExternalPictureURL from Trading API SOAP body. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
WPF desktop app for creating eBay UK listings with AI photo analysis
Languages
C#
100%