Both T162357 and T115248 (partially already deployed) which allows an identifier to be interpreted in multiple ways badly breaks the refToolBar use case, because in refToolBar there is no ability to select from several options.
So, currently we are returning both a pmcid and a pmid. For refToolBar's purposes, you might enter a PMID in the PMID field, and fill the template with the results from a PMCID, a totally different paper. Or vice versa. Despite refToolBar knowing what id has been selected, citoid does not and will give either. This is bad.
Adding OCLC and other search strings will worsen the problem. We need a way of allowing the consumer to specify the id being asked for, and return a single citation for that id.
I was thinking something like keeping api/ for the ambiguous searches and also providing the following endpoints:
api/isbn
api/oclc
api/pmcid
api/pmid
api/url
api/doi
For each of these we can provide a definitive citation.
Alternatively, we can have it be a param.
api?id=pmcid
etc.
Obviously in restbase this param would be mapped to an endpoint anyway.
Opinions? I think it also might make sense to reverse the pmc/pmid feature we've already added until this can be resolved. The front end of that needs some work anyway...