Replies: 2 comments
|
It will be interesting to see if Etsy entertain any part of this request.
This to me feels like this functionality would allow the seller to send a link to the buyer asking them to leave a review, outside of any Etsy app layer.
Something Etsy has been strong on, historically at least, is that communications with customer must happen within their apps and not via 3rd party tools or apps. This is why they won't provide endpoint to Etsy messages etc.
Sent from Outlook for Android<https://aka.ms/AAb9ysg>
…________________________________
From: Danny Burt ***@***.***>
Sent: Tuesday, 18 August 2026 01:29:52
To: etsy/open-api ***@***.***>
Cc: Subscribed ***@***.***>
Subject: [etsy/open-api] Expose a per-transaction review link (or review-eligibility fields) on ShopReceipt / ShopReceiptTransaction (Discussion #1694)
Expose a per-transaction review link (or review-eligibility fields) on ShopReceipt / ShopReceiptTransaction
Category: Ideas
What's missing
There is currently no way for a seller's integration to point a buyer at the place where they'd leave a review for their order.
The v3 API has exactly two review endpoints, both read-only:
GET /v3/application/shops/{shop_id}/reviews getReviewsByShop
GET /v3/application/listings/{listing_id}/reviews getReviewsByListing
That's enough to read reviews after the fact. It's nothing to act on before one exists.
The only buyer-facing URL is https://www.etsy.com/your/purchases, which is account-scoped, not order-scoped. A seller can put that in an email, but it drops the buyer on their full order history and asks them to find the right item themselves. For a buyer with a lot of Etsy orders, that's a real drop-off, and the link is identical for every customer, so it can't be personalized or tracked.
Why a URL can't be constructed today
This isn't something a developer can work around by building a URL by hand. TransactionReview is keyed on transaction_id and buyer_user_id, so a review is scoped to a specific ShopReceipt Transaction. There is no shop-level or listing-level review composer to deep-link to, the way Google Business Profile and Yelp both expose one. The review object doesn't exist without the purchase, so the entry point has to come from Etsy.
Proposal
In rough order of preference. Any of these would solve it.
1. A review_url field on ShopReceiptTransaction.
A deep link that lands a signed-in, eligible buyer on the review composer for that transaction. Read-only, available under the existing transactions_r scope, no new write surface. Something like:
{
"transaction_id": 1234567890,
"listing_id": 987654321,
"receipt_id": 2345678901,
"review_url": "https://www.etsy.com/your/purchases/review/1234567890",
"...": "existing fields"
}
2. A dedicated endpoint.
GET /v3/application/shops/{shop_id}/receipts/{receipt_id}/review-link
returning the link plus eligibility state for each transaction on the receipt. Slightly more surface area, but it keeps the receipt payload unchanged for everyone who doesn't need it.
3. Minimum viable: eligibility fields only, no link.
Even without a URL, exposing whether an order is currently reviewable would be valuable:
{
"is_review_eligible": true,
"review_window_end_timestamp": 1791234567,
"has_review": false
}
Today an integration has no way to know whether a given order is inside its 100-day window, whether it has an open case, whether it was a guest order that was never claimed, or whether the buyer already reviewed. So any seller-side reminder is fired blind, and a share of them necessarily go to buyers who can't act on them. That's noise for the buyer and wasted sends for the seller. Option 3 alone would remove most of it.
Explicitly not asking for
To be clear about scope, this is not a request for a write endpoint. No programmatic review creation, no review editing, no bypassing any existing rule.
A link should behave exactly as the current flow does:
* requires the buyer to be signed in
* respects the 100-day window from estimated delivery
* respects the open-case restriction
* respects the guest-order-must-be-claimed rule
* shows nothing if the transaction was canceled or is otherwise ineligible
The ask is to remove a navigation step, not to grant a new capability. Anyone holding the link can already reach the same composer today by signing in and clicking through Purchases.
Happy to give more detail on the use case, or to test any of this if it reaches a beta.
—
Reply to this email directly, view it on GitHub<#1694?email_source=notifications&email_token=AFKGDF6NCTG5VAVSMHJXKDD5KOPQBA5CNFSNUABBM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63RPGEYDMMZVGM3TLJTSMVQXG33OVJZXKYTTMNZGSYTFMSSWK5TFNZ2KYZTPN52GK4S7MNWGSY3L>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AFKGDFZQ2VQCNP77XRE5QVT5KOPQBAVCNFSNUABIKJSXA33TNF2G64TZHMZTGMRQGMZTOMZZHNCGS43DOVZXG2LPNY5TCMBWGM2TGNZVUF3AE>.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
0 replies
|
I agree that it would allow the seller to create a link for the buyer asking them to leave a review. However, it doesn't enable anything outside of the Etsy app layer. This would enable sellers to create a QR code to include when shipping a package asking for a review, or send a message through existing Etsy channels with a link to request a review. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Expose a per-transaction review link (or review-eligibility fields) on ShopReceipt / ShopReceiptTransaction
Category: Ideas
What's missing
There is currently no way for a seller's integration to point a buyer at the place where they'd leave a review for their order.
The v3 API has exactly two review endpoints, both read-only:
That's enough to read reviews after the fact. It's nothing to act on before one exists.
The only buyer-facing URL is
https://www.etsy.com/your/purchases, which is account-scoped, not order-scoped. A seller can put that in an email, but it drops the buyer on their full order history and asks them to find the right item themselves. For a buyer with a lot of Etsy orders, that's a real drop-off, and the link is identical for every customer, so it can't be personalized or tracked.Why a URL can't be constructed today
This isn't something a developer can work around by building a URL by hand.
TransactionReviewis keyed ontransaction_idandbuyer_user_id, so a review is scoped to a specific ShopReceipt Transaction. There is no shop-level or listing-level review composer to deep-link to, the way Google Business Profile and Yelp both expose one. The review object doesn't exist without the purchase, so the entry point has to come from Etsy.Proposal
In rough order of preference. Any of these would solve it.
1. A
review_urlfield onShopReceiptTransaction.A deep link that lands a signed-in, eligible buyer on the review composer for that transaction. Read-only, available under the existing
transactions_rscope, no new write surface. Something like:{ "transaction_id": 1234567890, "listing_id": 987654321, "receipt_id": 2345678901, "review_url": "https://www.etsy.com/your/purchases/review/1234567890", "...": "existing fields" }2. A dedicated endpoint.
returning the link plus eligibility state for each transaction on the receipt. Slightly more surface area, but it keeps the receipt payload unchanged for everyone who doesn't need it.
3. Minimum viable: eligibility fields only, no link.
Even without a URL, exposing whether an order is currently reviewable would be valuable:
{ "is_review_eligible": true, "review_window_end_timestamp": 1791234567, "has_review": false }Today an integration has no way to know whether a given order is inside its 100-day window, whether it has an open case, whether it was a guest order that was never claimed, or whether the buyer already reviewed. So any seller-side reminder is fired blind, and a share of them necessarily go to buyers who can't act on them. That's noise for the buyer and wasted sends for the seller. Option 3 alone would remove most of it.
Explicitly not asking for
To be clear about scope, this is not a request for a write endpoint. No programmatic review creation, no review editing, no bypassing any existing rule.
A link should behave exactly as the current flow does:
The ask is to remove a navigation step, not to grant a new capability. Anyone holding the link can already reach the same composer today by signing in and clicking through Purchases.
Happy to give more detail on the use case, or to test any of this if it reaches a beta.
All reactions