I’ve been talking with @haugstrup about what might be a good way to facilitate cross linking between all those tournament player resources the community has been coming up with lately. IPDB IDs seem like a good idea, but for the purposes of players, as opposed to collectors, there’s too much fragmentation there, with different runs of the same machine having different IDs.
For this reason, I’ve started to maintain a simple API that takes in an IPDB ID and responds with an IPDB group ID, where an IPDB group is just a collection of all the IPDB entries that are basically the same machine.
Example link: http://pinballvideos.com/api/ipdb_group/5753
This will look up the group ID for Transformers LE (IPDB 5753), which you can then use to link to resources that are based on group IDs, e.g. http://pintips.net/ipdb/5709 or http://pinballvideos.com/?m=5709. The other way round, if you’re storing actual IPDB IDs and want to facilitate incoming links from applications that are using the group ID, the response will also give you a list of all IPDB entries belonging to that group.
Disclaimer:
Feel free to use this in any way you like, but please be aware of some pitfalls:
To keep things simple, the IPDB group ID is just the lowest IPDB ID of all the machines belonging to the group. On one hand, this makes things easier, in that every machine automatically comes with a group, on the other hand, this means that the group ID might be subject to change for a couple of reasons:
At the moment, I’ve got all the machines listed on pinballvideos.com covered, but there’s lots of others that are not assigned to their actual groups yet, so those might switch groups in the future.
Also, whether two IPDB entries can be considered “basically the same machine” for players’ purposes can be a difficult decision at times, so this might also be a reason for future group changes.
Basically, this means that if you’re using this API for linking purposes, it would be best to not cache the results for very long, if at all.
Apart from that, I think this should work pretty well to connect different pinball resources – I’m currently using it to accept IPDB ID links to pinballvideos.com myself.