Problem: Most of the Plex population users a master account with a pin to manage their server, but a managed user for general viewing. Trakt does not include items watched by the managed users in its scrobbling.
Solution: Add an option in the browser interface to specify which users by name of ID to accept scrobbling from.
Alternative: someone creates a scrobble proxy that would let us modify the JSON data and/or relay the webhook once it has been modified to make the trakt server accept it as the main user.
Questions: What specific piece of the JSON payload is the scrobble server using to determine if the webhook is accepted or not?
Breakdown:
Because webhooks are a Plex server side function and aren’t user specific, they trigger for every user. Plex expects the receiver of the webhook to do any filtering on whether or not to pay attention to the notification.
Here’s an example from the Plex Media Server.log file showing what happens on its side when the main Plex user triggers a webhook vs when a managed user does it.
Successful Scrobble from main plex user
Unsuccessful Scrobble from managed user
Based on the example from the plex support article on webhooks:
it’s clear that the payload is including “Account” information identifying the user ID, name and thumbnail. Which tells me that the Trakt side of things has to be rejecting things BASED on that account information. Otherwise our trakt history would be full of all of our shared user’s viewings.
So the question is 1) which data from the JSON file is being used to determine if it should accept the scrobble, and 2) what’s the best way to accomplish scrobbling for multiple accounts.
I used a third party website to capture some JSON payloads of a few webhooks and found that there seems to be only one distinct difference between events triggered by the main account and managed users/shared users
The managed user or share user includes: "user":false
While the master account includes: "user":true
Both instances include the “Account” data which include an ID , name, title, and thumbnail. Which means all of the relevant data is present. I’m assuming that the “user” true/false flag is likely one of the determining fields used to decide if the data should be recorded on the trakt user or not since at no point does trakt ask for the plex user ID or account name (presented as “title” in the data).
What I propose is to add a text box to the scrobble settings page in the web interface to specify the name of the users that might appear in the JSON data as the “title” to determine if it should accept.
I recognize that this would add some additional filtering and therefore processing requirements on the scrobbling server side, but I think the system would overall gain a lot more acceptance with this ability in place. I know that I personally can’t make use of it in its current form and will have to stick with a 3rd party API tool for the time being.
Thoughts?