Expose Fan Support contributions and per-supporter engagement in the public API
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- javascript, openapi
- 領域
- api
調査の方向性
Start with the documented API definition in openapi/api.yaml and review the existing /me endpoints, then read related issues #596 and #68 for context. The issue proposes new contribution and supporter endpoints, per-supporter engagement, privacy constraints, or a UI fallback, but does not identify implementation entry points or settle the scope. Done would require an agreed approach that respects the stated privacy limits and documents the resulting API or UI.
索引モデルが issue の本文から書いたものです。
説明
Scope: this is only for my own tracks. Everything below, API or UI, covers only how fans engage with the authorizing artist's own tracks. Nothing about what fans listen to from other artists.
Please expose Fan Support data through a documented public developer API, so artists can build dashboards that connect fan contributions with listening behavior. Access must require OAuth authorization from the artist and must be limited to that artist's own account, own supporters, and own tracks. No data about other artists, and no listening activity on other artists' tracks.
Today Fan Support payments are only visible in the Fan Support Dashboard, and the documented API (openapi/api.yaml) has no endpoints or fields for contributions or supporters. Artists who want to understand and thank their supporters have to copy figures by hand.
Use case
An artist wants to see, per supporter:
- How much they have contributed (total, count, first and most recent contribution).
- How they engage with the artist's own catalog: plays, likes, reposts, comments.
- Which of the artist's tracks they listen to most.
This lets artists find which tracks turn listeners into supporters, thank top supporters personally, and plan releases around what their supporters actually play.
Requested endpoints (artist's own account only)
GET /me/fan-support/contributions: paginated list of contributions received, with amount, currency, timestamp, and supporter (user object, or an anonymous marker when the supporter chose not to be shown).GET /me/fan-support/supporters: paginated list of supporters with totals (sum, count, first and last contribution date). Ideally sortable by total, matching the public Top Supporters leaderboard.GET /me/fan-support/supporters/{user_id}/engagement: that supporter's engagement with the artist's own tracks only: play counts per track, likes, reposts, comments, over a stated reporting period.
Privacy
- Only the authorizing artist can read their own supporters, and only engagement with that artist's own tracks.
- Supporters who contributed anonymously, or who opted out of the leaderboard, should be returned without identity, or with aggregate engagement only.
- If per-supporter listening history is not acceptable, an aggregate version would still cover most of the use case: total plays of each of the artist's tracks by their supporters as a group, versus all listeners.
Fallback: build it into the SoundCloud UI
If public API access is not possible, please build this into the SoundCloud UI instead, especially where artists message fans.
The main reason I want this is to start real conversations with supporters. When a fan supports me and I open a DM to thank them, I want to see which of my tracks they actually listen to, so I can open with something personal ("glad you've been playing X on repeat") instead of a generic thank-you. Right now there is no way to know that from the messaging screen or the Fan Support Dashboard.
Concretely:
- In the DM / Messages screen: when messaging a fan, a small panel showing their top played tracks of mine, plus whether they've liked, reposted, or commented on my tracks, and their Fan Support history with me (total and most recent contribution).
- In the Fan Support Dashboard: a per-supporter view with contribution history next to which of my tracks they play most, with a "Message" button that opens the DM with that panel, plus a CSV export.
Same privacy limits as above: only my own tracks, only fans who interact with me, anonymous supporters stay anonymous.
Related: #596 (Repeat Listeners, scoped to the artist's own tracks), #68 (broader Insights API access).
SoundCloud documents Fan Support here: https://help.soundcloud.com/hc/en-us/articles/45965135036443-Fan-Support
- 主要言語
- JavaScript
- スター
- 259
- フォーク
- 54
- 平均マージ
- 1分
- マージ済み PR(30日)
- 1
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
soundcloud/api のほかの issue
-
enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 40/100
soundcloud/api#596 · コメント 2 件 · リアクション 1 件 ·
-
question
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
soundcloud/api#595 · コメント 4 件 ·
-
documentation
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
soundcloud/api#583 · コメント 1 件 · リアクション 1 件 ·
-
widget
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
soundcloud/api#557 · コメント 1 件 ·
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 38/100
soundcloud/api#548 ·
似ている issue
-
Notifications pagination accepts NaN and negative LIMIT/OFFSET対応中かも @Senthil455 が今日担当しました。 オープンBUGS MEDIUM
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
elixpo/blogs.elixpo#419 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
immich-app/immich#32426 ·
メンテナーはふだん 1 日以内に返信
-
automated issue report
難易度 1/5 1時間未満 初心者へのやさしさ 70/100
lirantal/discoprint#45 ·
メンテナーはふだん 1 日以内に返信