feat: subscription pricing workflow + availability tool#3
Open
dsm5e wants to merge 3 commits intozelentsov-dev:developfrom
Open
feat: subscription pricing workflow + availability tool#3dsm5e wants to merge 3 commits intozelentsov-dev:developfrom
dsm5e wants to merge 3 commits intozelentsov-dev:developfrom
Conversation
- subscriptions_set_availability: enable subscription in all 175 territories (POST /v1/subscriptionAvailabilities)
- subscriptions_set_price: set equalized prices for all 175 territories in one PATCH request
- GET /v1/subscriptionPricePoints/{id}/equalizations + prepend base price point = 175 total
- Uses JSONAPI local ${N} IDs in included array
- intro_offers_set_all_territories: set FREE_TRIAL intro offer for all 175 territories in one PATCH request
- PATCH /v1/subscriptions/{id} with introductoryOffers relationship + included array
- Single request replaces all existing intro offers
- Fixed HTTPClient.patch() generic constraint: Codable → Encodable
- Fixed SetAllSubscriptionPricesRequest model (replaced non-existent subscriptionPriceSchedules)
- Fixed _meta maxResultSizeChars annotations for large result sets
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
8d3066c to
44a0314
Compare
…imecode
Adds PATCH /v1/appPreviews/{id} support via screenshots_update_preview tool.
After uploading an app preview, use this to set the thumbnail frame
(previewFrameTimeCode in HH:MM:SS:FF format, e.g. "00:00:02:00").
- UpdatePreviewRequest model in ScreenshotModels.swift
- updatePreview() handler in ScreenshotsWorker+Handlers.swift
- updatePreviewTool() definition with preview_id + preview_frame_timecode params
- Registered in ScreenshotsWorker.swift (17 tools total)
- Tests updated: count 16→17, validation test for missing params
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
subscriptions_set_availability— enable subscription in all 175 territories (POST /v1/subscriptionAvailabilities)subscriptions_set_price— set equalized prices for all 175 territories in one PATCH requestGET /v1/subscriptionPricePoints/{id}/equalizationsreturns 174 non-base territories; prepend base (USA) = 175 total${N}IDs inincludedarrayintro_offers_set_all_territories— set FREE_TRIAL intro offer for all 175 territories in one PATCH requestPATCH /v1/subscriptions/{id}withintroductoryOffersrelationship +includedarray ofSubscriptionIntroductoryOfferInlineCreateSubscriptionUpdateRequest.Data.RelationshipshasintroductoryOffersfield (same pattern asprices)HTTPClient.patch()generic constraint:Codable → EncodablesubscriptionPriceSchedulesendpoint with correctPATCH /v1/subscriptions/{id}Why this matters
Previously the only documented way to set intro offers was per-territory (175 separate POST requests). By using the
PATCH /v1/subscriptions/{id}withincludedarray, all territories are set in a single atomic request — same technique used for pricing.Test plan
subscriptions_set_availability→ 175 territories enabledsubscriptions_list_price_pointswithterritory=USA→ find base price point IDsubscriptions_set_price→territories_set: 175, state not MISSING_METADATAintro_offers_set_all_territorieswithduration=THREE_DAYS→territories_set: 175READY_TO_SUBMITVerified end-to-end on live App Store Connect (MedScan app).
🤖 Generated with Claude Code