unitedworldwrestling / arena-public

14 stars 5 forks source link

Can I get a Person by customID with Arena REST API? #8

Closed futaz closed 3 years ago

futaz commented 3 years ago

Which application you are interested about Arena REST API

Your question I am a developer of an application which is communicating a locally hosted Arena instance via it's REST API. In our application every person have a unique ID with type of String. I can set this ID on the Edit Person view on the web interface of Arena, and Arena sends it back in the response of api/json/person/get/{arenaId} in customId JSON property.

Could you please tell me how can I get a person by this customId? My goal is to synchronise our people one by one with Arena so I have to know which person exists in Arena and which one is new so I can create it.

Can I somehow filter the result of /api/json/person/ by customId to check whether the person exists or not?

Thank you in advance!

csabavirag commented 3 years ago

As of version 1.5.53 you can only filter the query to athenaId on the /api/json/person endpoint. Therefore please use it like /api/json/person?athenaId=555 to search for a person with AthenaID 555.

I believe that is reasonable to have the same filter for customId attribute as well, so I mark it as an enhancement.

futaz commented 3 years ago

Thank you for the solution! I have to convert our ID because it's a String, but it's not a problem, so it works perfectly.

csabavirag commented 3 years ago

Excellent! In the next version you will be able to use the customId as well.

csabavirag commented 3 years ago

ahh, it's neither a problem to have the ID's as string. Having a number in the description above was just an example. So it could have been /api/json/person?athenaId=CC-555.

futaz commented 3 years ago

Oh, I thought it's a numerical field. Thanks for the info as well as the feature in the next version!

futaz commented 3 years ago

Hm, in my Arena version (1.5.53) neither the Update person rest request, nor the Edit person form on the web interface accept String values in athenaPrintId property / Athena ID field and I guess /api/json/person?athenaId=CC-555 searches in this attribute.

csabavirag commented 3 years ago

I apologise. I was going to refer customId as string. You are absolutely correct, athenaId accepts integer.

csabavirag commented 3 years ago

@futaz Arena version 1.5.70 has this feature included, filter the results with customId. Closing this issue.