Hi!
Sorry for the delay.
GET
/1/recommendation/feedback/user/(*user_name*)
is used for providing feedback on recommendations LB generates. This is not the same as loving/hating a track. We have not sketched out all the details yet so it remains to be seen how this feedback will interact with normal feedback.
GET /1/feedback/user/(user_name )/get-feedback
is the one that is used for loving/hating a track. Its not possible to get recording msid from a recording mbid. We don’t have an endpoint to expose that but also msid to mbid is a many to one relation. The recording msid generated for a listen by LB is included in the payload returned by `GET 1/user/(user_name)/listens. Eg:
{
payload:{
count: 1,
latest_listen_ts: 1641490465,
listens:[
{
inserted_at: "Thu, 06 Jan 2022 20:42:36 GMT",
listened_at: 1641490465,
recording_msid: "987257dc-e539-46da-8942-68484cc9d444",
track_metadata: {...},
user_name: "amCap1712"
}
],
user_id: "amCap1712"
}
}
We are working on adding support to give track feedback using recording mbids. There are still a few issues to be ironed out but you can track https://github.com/metabrainz/listenbrainz-server/pull/1794 for progress updates.
Regarding the richer metdata, you can pass the metadata=true query param i.e. GET 1/feedback/user/amCap1712/get-feedback?metadata=true
. And the resulting payload will include commonly useful track metadata fields.